Skip to main content

Bin Operations

Learn the core warehouse operations for managing inventory across bins.


Putaway Operations

Move received inventory from receiving area to storage bins.

PUTAWAY WORKFLOW
═══════════════════════════════════════════════════════════════════════════════

Step 1: Receive Items Step 2: Putaway
┌────────────────────────────────┐ ┌────────────────────────────────┐
│ Item Receipt │ │ Bin Transfer │
├────────────────────────────────┤ ├────────────────────────────────┤
│ Item: Widget A │ │ From Bin: RCV-01 │
│ Qty: 100 │ → │ To Bin: A-02-03 │
│ Location: Main Warehouse │ │ Qty: 100 │
│ Bin: RCV-01 (Receiving Dock) │ │ │
└────────────────────────────────┘ └────────────────────────────────┘

Putaway Methods:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Method │ Description │
├─────────────────────┼───────────────────────────────────────────────────────┤
│ Direct Putaway │ Receive directly to storage bin (skip receiving bin) │
│ Staged Putaway │ Receive to staging bin, then transfer to storage │
│ System-Directed │ System suggests optimal bin based on rules │
│ Manual Selection │ Operator chooses bin at time of putaway │
└─────────────────────┴───────────────────────────────────────────────────────┘

Putaway Bin Selection Strategy

BIN SELECTION LOGIC
═══════════════════════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────────────────────┐
│ PUTAWAY BIN SELECTION │
│ │
│ 1. Preferred Bin Available? │
│ │ │
│ ├── YES: Has capacity? → Put in preferred bin │
│ │ │
│ └── NO: Check other bins │
│ │ │
│ ├── Same item exists? → Put with existing inventory │
│ │ │
│ └── Empty bin available? → Put in empty bin │
│ │
│ Priority Order: │
│ 1. Item's preferred bin │
│ 2. Bin with same item (consolidate) │
│ 3. Empty bin in same zone │
│ 4. Any available bin │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Picking Operations

Retrieve items from bins to fulfill orders.

PICKING WORKFLOW
═══════════════════════════════════════════════════════════════════════════════

Sales Order → Pick List → Bin Pick → Fulfillment

┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Sales Order │ → │ Pick List │ → │ Pick │ → │ Fulfillment │
│ SO-1234 │ │ │ │ │ │ IF-5678 │
│ │ │ Widget A: 50 │ │ From: A-02-03│ │ │
│ Widget A:50 │ │ Bin: A-02-03 │ │ Qty: 50 │ │ Ship to │
│ │ │ │ │ │ │ customer │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘

Picking Strategies

PICKING STRATEGIES
═══════════════════════════════════════════════════════════════════════════════

FIFO (First In, First Out):
┌─────────────────────────────────────────────────────────────────────────────┐
│ Pick from bins with OLDEST receipt date first │
│ │
│ Bin A-01-01 (Received: 12/01) ← Pick first │
│ Bin A-01-02 (Received: 12/05) │
│ Bin A-01-03 (Received: 12/10) ← Pick last │
└─────────────────────────────────────────────────────────────────────────────┘

FEFO (First Expired, First Out):
┌─────────────────────────────────────────────────────────────────────────────┐
│ Pick from bins with EARLIEST expiration date first │
│ (Requires lot tracking with expiration dates) │
│ │
│ Bin B-01-01 (Expires: 01/15/2025) ← Pick first │
│ Bin B-01-02 (Expires: 02/28/2025) │
│ Bin B-01-03 (Expires: 03/31/2025) ← Pick last │
└─────────────────────────────────────────────────────────────────────────────┘

Preferred Bin First:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Pick from item's designated preferred bin first │
│ Fall back to other bins if preferred bin doesn't have enough qty │
└─────────────────────────────────────────────────────────────────────────────┘

Zone Picking:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Assign pickers to specific zones │
│ Each picker handles only their zone's bins │
│ Consolidate picks at packing station │
└─────────────────────────────────────────────────────────────────────────────┘

Multi-Bin Picking

When order quantity exceeds single bin quantity:

SPLIT PICK EXAMPLE
═══════════════════════════════════════════════════════════════════════════════

Order: 100 units of Widget A

Available Inventory:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Bin │ Available Qty │ Pick Qty │ Remaining │
├───────────┼───────────────┼──────────┼──────────────────────────────────────┤
│ A-01-02 │ 60 │ 60 │ 0 (depleted) │
│ A-01-03 │ 50 │ 40 │ 10 │
├───────────┼───────────────┼──────────┼──────────────────────────────────────┤
│ TOTAL │ │ 100 │ │
└───────────┴───────────────┴──────────┴──────────────────────────────────────┘

Item Fulfillment Lines:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Line │ Item │ Location │ Bin │ Quantity │
├──────┼──────────┼────────────────┼─────────┼────────────────────────────────┤
│ 1 │ Widget A │ Main Warehouse │ A-01-02 │ 60 │
│ 2 │ Widget A │ Main Warehouse │ A-01-03 │ 40 │
└──────┴──────────┴────────────────┴─────────┴────────────────────────────────┘

Bin Replenishment

Move inventory from bulk storage to picking bins.

REPLENISHMENT WORKFLOW
═══════════════════════════════════════════════════════════════════════════════

Trigger: Picking bin falls below minimum level

┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ Bulk Storage Bin Replenishment Pick Bin │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
│ │ BULK-A-01 │ → │ Bin Transfer │ → │ PICK-A-01 │ │
│ │ │ │ │ │ │ │
│ │ Qty: 500 │ │ Qty: 100 │ │ Qty: 20 → 120 │ │
│ │ → 400 │ │ │ │ │ │
│ └───────────────┘ └───────────────┘ └───────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Replenishment Triggers:
┌─────────────────────────────────────────────────────────────────────────────┐
│ • Pick bin quantity falls below reorder point │
│ • Pick list created that exceeds pick bin quantity │
│ • Scheduled replenishment run │
│ • Manual replenishment request │
└─────────────────────────────────────────────────────────────────────────────┘

Bin Inventory Count

Perform cycle counts at the bin level.

BIN CYCLE COUNT
═══════════════════════════════════════════════════════════════════════════════

Count Process:
┌─────────────────────────────────────────────────────────────────────────────┐
│ │
│ 1. Generate Count Sheet (by bin or zone) │
│ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ Bin │ Item │ System Qty │ Counted Qty │ Variance │ │
│ ├───────────┼──────────┼────────────┼─────────────┼─────────────────────┤ │
│ │ A-01-02 │ Widget A │ 60 │ [ ] │ │ │
│ │ A-01-02 │ Widget B │ 25 │ [ ] │ │ │
│ │ A-01-03 │ Widget A │ 50 │ [ ] │ │ │
│ └───────────┴──────────┴────────────┴─────────────┴─────────────────────┘ │
│ │
│ 2. Count physical inventory in each bin │
│ │
│ 3. Enter counts and review variances │
│ │
│ 4. Post adjustment to reconcile │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Adjustment Record:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Item: Widget A │
│ Location: Main Warehouse │
│ Bin: A-01-02 │
│ Adjustment Qty: -2 (count was 58, system showed 60) │
│ Reason: Cycle count variance │
└─────────────────────────────────────────────────────────────────────────────┘

Bin Transfer Types

BIN TRANSFER SCENARIOS
═══════════════════════════════════════════════════════════════════════════════

1. Putaway (Receiving → Storage)
┌─────────────────────────────────────────────────────────────────────────────┐
│ From: RCV-01 (Receiving Dock) │
│ To: A-02-03 (Storage Aisle A) │
│ Purpose: Store received goods │
└─────────────────────────────────────────────────────────────────────────────┘

2. Replenishment (Bulk → Pick)
┌─────────────────────────────────────────────────────────────────────────────┐
│ From: BULK-A-01 (Bulk Storage) │
│ To: PICK-A-01 (Pick Face) │
│ Purpose: Refill picking locations │
└─────────────────────────────────────────────────────────────────────────────┘

3. Consolidation (Multiple → Single)
┌─────────────────────────────────────────────────────────────────────────────┐
│ From: A-01-01, A-01-02, A-01-03 │
│ To: A-02-01 (Consolidated) │
│ Purpose: Free up bin space │
└─────────────────────────────────────────────────────────────────────────────┘

4. Staging (Storage → Shipping)
┌─────────────────────────────────────────────────────────────────────────────┐
│ From: A-02-03 (Storage) │
│ To: STAGE-01 (Shipping Staging) │
│ Purpose: Prepare for shipment │
└─────────────────────────────────────────────────────────────────────────────┘

5. Quality Hold (Any → QC)
┌─────────────────────────────────────────────────────────────────────────────┐
│ From: A-02-03 (Storage) │
│ To: QC-HOLD (Quality Hold) │
│ Purpose: Quarantine for inspection │
└─────────────────────────────────────────────────────────────────────────────┘

SuiteQL for Bin Operations

Items Below Minimum in Pick Bins

-- Find items needing replenishment
SELECT
b.binnumber AS pick_bin,
i.itemid AS sku,
i.displayname AS item_name,
ib.quantityonhand AS current_qty,
i.reorderpoint AS min_qty,
i.reorderpoint - ib.quantityonhand AS replenish_qty
FROM
inventorybalance ib
JOIN
item i ON ib.item = i.id
JOIN
bin b ON ib.binnumber = b.id
WHERE
b.binnumber LIKE 'PICK-%'
AND ib.quantityonhand < i.reorderpoint
ORDER BY
replenish_qty DESC

Bin Utilization Report

-- Bin utilization analysis
SELECT
l.name AS location,
COUNT(DISTINCT b.id) AS total_bins,
COUNT(DISTINCT CASE WHEN ib.quantityonhand > 0 THEN b.id END) AS used_bins,
ROUND(
COUNT(DISTINCT CASE WHEN ib.quantityonhand > 0 THEN b.id END) * 100.0 /
NULLIF(COUNT(DISTINCT b.id), 0), 1
) AS utilization_pct
FROM
bin b
JOIN
location l ON b.location = l.id
LEFT JOIN
inventorybalance ib ON b.id = ib.binnumber AND b.location = ib.location
GROUP BY
l.id, l.name
ORDER BY
l.name

Next Steps

GoalGo To
Lot number trackingLot Tracking →
Serial number trackingSerial Tracking →
Return to Bin overviewBin Management →