Inventory #inventory #stock #bins #valuation #wac #warehouse Raw .md

Inventory & Bin Management

Monitor multi-warehouse stock balances, manage bin hierarchies, execute stock adjustments, and audit perpetual ledger movements.

Routes: /inventory /inventory/locations /inventory/bins /inventory/ledger /demand/restock /demand/movement

Inventory & Bin Management

The Inventory & Bin Management module provides perpetual inventory visibility across all warehouse facilities, managing stock balances, multi-zone bin structures, and physical stock ledger movements.


Inventory Architecture & Bin Types

flowchart TD
    WH[Warehouse Location] --> Z1[Receiving / Staging Zone]
    WH --> Z2[Active Picking Zone]
    WH --> Z3[Bulk Storage Racking]
    WH --> Z4[Quarantine Isolation]

    Z1 --> B1[staging Bin]
    Z2 --> B2[pick Bin]
    Z2 --> B3[storage Bin]
    Z3 --> B4[bulk Bin]
    Z4 --> B5[quarantine Bin]

1. Bin Classifications (BIN_TYPE)

Bins are categorized by operational purpose:

  • storage: Standard shelving and pallet positions holding sellable inventory.
  • pick: Dedicated forward pick-face locations.
  • bulk: High-density overstock and reserve pallet racking.
  • staging: Temporary staging zones for dock receiving or outbound shipping.
  • quarantine: Isolated bins holding rejected or damaged stock excluded from sales availability.
  • in_transit: Virtual bin tracking stock moving between company facilities.
  • wip: Work-in-progress holding location for manufacturing assemblies.

2. Available Stock Calculation

The system dynamically computes sellable availability:

Available Quantity = On-Hand Stock - Allocated Order Reservations - Quarantine Stock
  • On-Hand: Physical inventory present in warehouse storage, pick, and bulk bins.
  • Allocated / Committed: Units committed to confirmed customer sales orders awaiting picking/dispatch.
  • Quarantine: Units in quarantine bins awaiting inspection or return.

3. On-Order Stock Calculation (Incoming POs)

The system tracks incoming inventory from suppliers based on active Purchase Orders:

On-Order Quantity = SUM(max(0, PO Line Ordered Qty - PO Line Received Qty))
  • Procurement State Scope: Only Purchase Orders in active incoming states (ordered, partially_received) contribute to On Order. Orders in draft, received (fully received), invoiced, cancelled, closed_short, or archived states are excluded.
  • Non-Negative Guarantee: Over-receipts (where delivered quantity exceeds ordered quantity) clamp at 0 remaining incoming units, guaranteeing that On Order balances never become negative.

4. Inventory Replenishment & Restock Calculation (/demand/restock)

The restock engine identifies products whose inventory position has breached minimum buffer thresholds and calculates optimal order quantities:

Projected Inventory Position = On-Hand Stock + On-Order Stock
  • Replenishment Trigger: An item is flagged for restock if:
    Projected Inventory Position < Min Quantity
  • Suggested Restock Quantity Formula:
    Target Maximum = Max Quantity > Min Quantity ? Max Quantity : Min Quantity
    Suggested Restock Quantity = max(0, Target Maximum - Projected Inventory Position)
  • Suggested Quantity vs. Restock Quantity:
    • Suggested Quantity (suggestedRestockQty): The algorithmically computed baseline quantity required to restore inventory to target levels without overstocking.
    • Restock Quantity (orderQty / Slide-Over Input): The user-editable order quantity in the Generate Purchase Orders slide-over drawer, allowing purchasing agents to adjust for supplier minimum order quantities (MOQs), carton/pallet pack multiples, or seasonal demand shifts.
  • Auto-Resolution: When draft Purchase Orders are generated, the ordered items shift to onOrder status (Projected Position >= Min Quantity), bringing the suggested restock quantity to 0 and clearing the items from the restock requisition list.

5. Stock Movement Reporting & Detailed Movements (/demand/movement)

The movement report tracks product velocity and physical stock changes across selected date ranges and facilities:

Net Stock Movement = Total Stock In (+) - Total Stock Out (-)
Closing Stock = Opening Stock + Net Stock Movement
  • Stock In (+): Comprises Goods Receipts (PO_RECEIPT), Customer Sales Returns (SO_RETURN), Inbound Transfers (TO_RECEIPT), Manufacturing Output (WO_RECEIPT), and Positive Stock Adjustments (ADJUSTMENT_IN).
  • Stock Out (-): Comprises Sales Order Shipments (SO_SHIPMENT), Supplier Returns (PURCHASE_RETURN), Outbound Transfers (TO_DISPATCH), Work Order Component Issues (WO_ISSUE), and Negative Stock Adjustments (ADJUSTMENT_OUT).
  • Detailed Movement Ledger Slide-Over: Clicking any row in the Stock Movement table opens a detailed slide-over displaying the product’s metric summary cards, categorized activity breakdown, and full itemized ledger transactions with links to source documents.

Step-by-Step Workflows

1. Generating Restock Purchase Orders

  1. Go to Demand → Restock (/demand/restock).
  2. Review the read-only requisition table showing current On Hand, On Order, Min Qty, Max Qty, and Suggested Qty.
  3. Filter by warehouse facility or product group if needed.
  4. Select the checkboxes for the items you want to order, or click Generate POs to review all flagged items.
  5. In the slide-over drawer:
    • Items are automatically grouped into draft orders by Preferred Supplier and Deliver-To Warehouse.
    • Review stock metrics (On Hand, On Order, Min, Max), adjust Restock Qty or Unit Cost, or assign suppliers to unassigned items.
    • Delete any lines not needed for the current order run.
  6. Click Generate POs. Draft Purchase Orders are created in /purchase-orders, and the ordered items are cleared from the restock requisition list.

2. Inspecting Product Stock Movements

  1. Go to Demand → Movement (/demand/movement).
  2. Select the Product Group, Location, and date range.
  3. Click on any product row in the table.
  4. The Detailed Movements slide-over opens, displaying:
    • Summary cards: Opening Stock, Total Stock In, Total Stock Out, Net Movement, and Current On Hand.
    • Categorized activity breakdown by source type (PO Receipts, SO Shipments, Transfers, Work Orders, Adjustments).
    • Interactive transaction ledger with clickable links to related documents and trading parties.

3. Performing an Ad-Hoc Stock Adjustment

  1. Go to Inventory (/inventory).
  2. Search for the product SKU.
  3. Click Adjust Stock.
  4. Select the Warehouse and specific Bin Location.
  5. Enter the Quantity Change (+/-) and select a reason code (e.g. Found Stock, Breakage).
  6. Click Confirm Adjustment. The inventory ledger updates immediately, and the balancing expense posts to the General Ledger.

4. Auditing the Perpetual Inventory Ledger

  1. Go to Inventory → Ledger (/inventory/ledger).
  2. Filter transactions by date range, warehouse location, or transaction type (receipt, dispatch, adjustment, transfer).
  3. Inspect the audit trail of perpetual stock movements, unit cost valuations, and linked General Ledger journal entry IDs.

Field Reference

FieldDescription
Product SKUUnique catalog identifier.
Warehouse / LocationPhysical facility location.
Bin LocationShelf/rack address (storage, pick, bulk, staging, quarantine).
On HandTotal physical count present in pickable storage bins.
Committed / AllocatedUnits reserved for confirmed customer orders.
AvailableNet sellable stock (On Hand - Committed - Quarantine).
On OrderPending incoming units from open Purchase Orders (ordered, partially_received).
Min QtyMinimum inventory threshold triggering replenishment when On Hand + On Order < Min Qty.
Max QtyTarget inventory ceiling for replenishment calculations.
Suggested QtySystem-calculated optimal replenishment quantity: max(0, Target Max - (On Hand + On Order)).
Restock QtyEditable order volume specified in the draft PO slide-over drawer.
WAC Unit CostCurrent Moving Weighted Average Cost valuation.

Field Reference & Data Dictionary

Key database fields, input parameters, and definitions associated with this workflow screen:

Field / Parameter Display Name Description & Rules
location_id Warehouse Location Physical distribution center or branch facility.
bin_number Bin Identifier Coordinate location (e.g. A01-R02-S3-B).
bin_type Bin Classification Type of bin: storage, pick, bulk, staging, quarantine, in_transit, wip.
quantity_on_hand Quantity On Hand Total physical stock physically residing in warehouse bins.
quantity_available Quantity Available Stock available for new orders (On Hand minus Allocated Reservations).