Skip to main content

Bin API

Manage warehouse bins/locations for advanced bin management and warehouse organization.

Endpoints

MethodEndpointDescription
GET/record/v1/binRetrieve list of bins
GET/record/v1/bin/{id}Retrieve a specific bin
POST/record/v1/binCreate a new bin
PATCH/record/v1/bin/{id}Update an existing bin
DELETE/record/v1/bin/{id}Delete a bin

Key Fields

FieldTypeDescriptionRequired
binNumberStringUnique bin identifier/numberYes
locationObjectLocation reference {"id": "1"}Yes
memoStringDescription or notes about the binNo
isInactiveBooleanWhether the bin is inactiveNo

Example: Create Bin

Request

POST /record/v1/bin
Content-Type: application/json
{
"binNumber": "A-01-001",
"location": {"id": "1"},
"memo": "Aisle A, Row 1, Position 1 - Standard Storage"
}

Response

{
"id": "56789",
"binNumber": "A-01-001",
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"memo": "Aisle A, Row 1, Position 1 - Standard Storage",
"isInactive": false,
"links": [
{
"rel": "self",
"href": "https://{{account}}.suitetalk.api.netsuite.com/services/rest/record/v1/bin/56789"
}
]
}

Example: Create Multiple Bins

Request - Bin for Refrigerated Storage

POST /record/v1/bin
Content-Type: application/json
{
"binNumber": "R-01-001",
"location": {"id": "1"},
"memo": "Refrigerated Section - Aisle R, Row 1, Position 1"
}

Request - Bin for High-Value Items

POST /record/v1/bin
Content-Type: application/json
{
"binNumber": "SECURE-001",
"location": {"id": "1"},
"memo": "Secured Storage - High Value Items"
}

Example: Update Bin

Request

PATCH /record/v1/bin/56789
Content-Type: application/json
{
"memo": "Aisle A, Row 1, Position 1 - Standard Storage - Reserved for Widgets",
"isInactive": false
}

Response

{
"id": "56789",
"binNumber": "A-01-001",
"memo": "Aisle A, Row 1, Position 1 - Standard Storage - Reserved for Widgets",
"isInactive": false,
"links": [
{
"rel": "self",
"href": "https://{{account}}.suitetalk.api.netsuite.com/services/rest/record/v1/bin/56789"
}
]
}

Example: Deactivate Bin

Request

PATCH /record/v1/bin/56789
Content-Type: application/json
{
"isInactive": true,
"memo": "Aisle A, Row 1, Position 1 - INACTIVE - Under Maintenance"
}

Response

{
"id": "56789",
"binNumber": "A-01-001",
"isInactive": true,
"memo": "Aisle A, Row 1, Position 1 - INACTIVE - Under Maintenance",
"links": [
{
"rel": "self",
"href": "https://{{account}}.suitetalk.api.netsuite.com/services/rest/record/v1/bin/56789"
}
]
}

Sublists/Line Items

Bins themselves don't have sublists, but they are referenced in other transaction sublists:

Referenced in Bin Transfer

{
"item": {
"items": [
{
"item": {"id": "789"},
"quantity": 25,
"fromBins": {
"items": [
{"binNumber": {"id": "56789"}, "quantity": 25}
]
},
"toBins": {
"items": [
{"binNumber": {"id": "56790"}, "quantity": 25}
]
}
}
]
}
}

Referenced in Item Receipt

{
"item": {
"items": [
{
"item": {"id": "789"},
"quantity": 100,
"binNumbers": {
"items": [
{
"binNumber": {"id": "56789"},
"quantity": 50
},
{
"binNumber": {"id": "56790"},
"quantity": 50
}
]
}
}
]
}
}

Referenced in Item Fulfillment

{
"item": {
"items": [
{
"item": {"id": "789"},
"quantity": 30,
"binNumbers": {
"items": [
{
"binNumber": {"id": "56789"},
"quantity": 30
}
]
}
}
]
}
}

Query Filters

Filter by Bin Number

GET /record/v1/bin?q=binNumber = 'A-01-001'

Filter by Location

GET /record/v1/bin?q=location.id = 1

Filter by Active Status

GET /record/v1/bin?q=isInactive = false

Filter by Inactive Status

GET /record/v1/bin?q=isInactive = true

Search by Bin Number Pattern

GET /record/v1/bin?q=binNumber LIKE 'A-01-%'

Filter by Location and Active

GET /record/v1/bin?q=location.id = 1 AND isInactive = false

Complex Query with Sorting

GET /record/v1/bin?q=location.id = 1 AND isInactive = false&orderby=binNumber ASC&limit=100

Important Notes

Bin Management Requirements

Prerequisites:

  • Advanced Bin / Numbered Bin Management must be enabled in NetSuite
  • Location must have bin management enabled
  • Items must be bin-enabled to use bins
  • Bin usage is location-specific

Bin Naming Conventions

Establish a consistent naming scheme for easy identification:

  • Aisle-Row-Position: A-01-001, B-02-015
  • Zone-Section-Slot: PICK-A-001, BULK-B-050
  • Floor-Aisle-Shelf: F1-A-S1, F2-B-S3
  • Special Purpose: STAGING-01, RETURNS-05, QC-01

Bin Types and Uses

Storage Bins:

  • Standard warehouse storage locations
  • Long-term inventory holding
  • Example: A-01-001 through A-10-999

Staging Bins:

  • Temporary holding areas
  • Pre-shipping staging
  • Example: STAGE-01, STAGE-02

Special Purpose Bins:

  • Quality control areas
  • Return processing
  • Damaged goods
  • Example: QC-01, RETURNS-01, DAMAGED-01

Pick Bins:

  • High-velocity picking locations
  • Optimized for order fulfillment
  • Example: PICK-A-001, PICK-B-010

Permissions Required

  • Create: Lists > Bins > Create
  • Edit: Lists > Bins > Edit
  • Delete: Lists > Bins > Delete
  • View: Lists > Bins > View

Best Practices

  1. Logical naming: Use systematic bin numbering for easy navigation
  2. Zone organization: Group bins by product type, velocity, or characteristics
  3. Reserve bins: Designate special bins for specific purposes
  4. Regular audits: Verify bin contents match system records
  5. Optimize layout: Place high-velocity items in accessible bins
  6. Document changes: Update memos when changing bin purposes
  7. Inactive handling: Mark damaged or under-maintenance bins as inactive

Limitations

  • Cannot delete bins with inventory in them
  • Cannot change bin number once created
  • Cannot change location once created
  • Inactive bins may still appear in some reports
  • Maximum number of bins may be limited by account settings

Bin vs Location

Location (Warehouse):

  • Physical warehouse or storage facility
  • High-level inventory tracking
  • Example: Main Warehouse, Distribution Center

Bin (Storage Position):

  • Specific position within a location
  • Detailed inventory tracking
  • Example: A-01-001 in Main Warehouse

Advanced Bin Features

Bin Capacity Management:

  • Some NetSuite versions support bin capacity limits
  • Track cubic feet, weight, or unit capacity
  • Prevent over-allocation

Bin Replenishment:

  • Set up replenishment rules
  • Automatic transfer suggestions
  • Maintain optimal stock levels in pick bins

Bin Strategies:

  • Fixed Bin: Specific items always in same bins
  • Random Bin: Items stored in any available bin
  • Zone Picking: Organize by pick zones

Data Validation

  • binNumber must be unique within the location
  • Bin number should follow established naming conventions
  • Location must have bin management enabled
  • Cannot use special characters that may cause sorting issues

Common Use Cases

  1. Warehouse Setup: Create bin structure when setting up new warehouse
  2. Reorganization: Update bin memos when reorganizing warehouse layout
  3. Expansion: Add new bins when expanding storage capacity
  4. Seasonal Storage: Create temporary bins for seasonal inventory
  5. Quarantine: Designate bins for quality control or quarantined items
  6. Returns Processing: Special bins for returned merchandise

Integration Tips

  • Validate location supports bins before creating
  • Check for duplicate bin numbers before creation
  • Use batch processing for creating multiple bins
  • Implement naming convention validation
  • Store warehouse layout maps in external system
  • Synchronize bin status with warehouse management system

Bin Status Management

Active Bins:

  • Available for inventory storage
  • Can receive and fulfill from these bins
  • Show in bin selection lists

Inactive Bins:

  • Temporarily disabled (maintenance, damaged)
  • Cannot receive new inventory
  • Existing inventory should be moved out
  • Hidden from most selection lists

Warehouse Optimization

Use bin data for:

  • Slotting Analysis: Optimize bin assignments based on velocity
  • Space Utilization: Track empty vs. occupied bins
  • Pick Path Optimization: Organize bins for efficient picking
  • Inventory Density: Monitor inventory concentration
  • Cycle Counting: Schedule bin-level cycle counts

Reporting and Analytics

Query bins for:

  • Bin utilization reports
  • Empty bin identification
  • Inventory by bin location
  • Bin occupancy rates
  • Pick path analysis