Inventory & Stock Ledger
Track warehouse bin contents, perpetual stock ledger movements, physical counts, and location balances.
/inventory/bins /inventory/ledger /inventory/locations Inventory & Stock Ledger
The Inventory module tracks perpetual stock levels across warehouse locations, individual storage bins, valuation ledgers, and physical count adjustments.
Inventory Calculations & Valuation Rules
1. The Stock Availability Equation
Availability is calculated dynamically across warehouse storage bins using a strict pickability whitelist:
Available Stock = Sum(Pickable Storage Bins) - Allocated Committed Stock
- Pickable Bin Whitelist: Stock is only eligible for customer fulfillment if the storage bin meets three conditions:
bin_typeisstorage,pick, orbulk.is_unavailable = false(bin is not locked or under maintenance).is_bonded = false(stock is cleared for commercial release).
- Non-Pickable Bins: Items in
quarantine,dock/staging,in_transit, or locked bins are visible in physical On Hand totals but are strictly excluded from Available Stock. - Committed Stock: Units reserved for
Confirmedsales orders, active picking carts, and releasedIn-Progressmanufacturing work orders.
2. Perpetual Costing & Valuation Strategies
HeroBM supports two perpetual valuation models:
A. Moving Weighted Average Cost (WAC)
WAC is recalculated immediately whenever inbound goods are received at the dock:
New WAC = ((Current QOH * Current WAC) + (Qty Received * Actual Unit Cost)) / (Current QOH + Qty Received)
- Stored to 4 decimal places to eliminate fractional rounding drift over high-volume transactions.
- COGS at Dispatch: When goods are shipped to clients, the financial ledger posts:
Debit: Cost of Goods Sold (COGS) (Qty Shipped * Current WAC) Credit: Inventory Asset Account (Qty Shipped * Current WAC)
B. Standard Costing & Purchase Price Variance (PPV)
When using Standard Costing, inventory is capitalized at standard cost regardless of the supplier purchase price:
Inventory Value Added = Qty Received * Standard Cost
Purchase Price Variance (PPV) = (Actual Unit Cost - Standard Cost) * Qty Received
- If
Actual Cost > Standard Cost, the positive difference debits PPV expense. - If
Actual Cost < Standard Cost, the favorable variance credits PPV expense.
3. Stock Adjustments & GL Impact
Stock count corrections generate immutable entries in the Perpetual Stock Ledger and post directly to the General Ledger:
- Positive Count Adjustment (Surplus Found):
Debit: Inventory Asset Account Credit: Stocktake Variance Gain / Expense - Negative Count Adjustment (Shrinkage / Damage / Scrap):
Debit: Inventory Shrinkage / Loss Expense Credit: Inventory Asset Account
Step-by-Step Workflows
1. Checking Bin Contents and Availability
- Go to Inventory → Bin Contents (
/inventory/bins). - Filter by warehouse facility, SKU, or bin coordinate.
- Review physical On Hand, Committed reservations, and free Available units.
2. Performing a Stock Adjustment
- Go to Inventory → Stock Ledger (
/inventory/ledger). - Click Stock Adjustment.
- Select the Warehouse, Storage Bin, and Product.
- Enter the count variance (+/- quantity) and select a mandatory Adjustment Reason.
- Click Post Adjustment. Perpetual stock balances and GL inventory assets update immediately.
Field Reference
| Field | Description |
|---|---|
| Warehouse Location | Facility or site where stock is physically situated. |
| Bin Coordinate | Aisle, rack, and shelf storage location (e.g. A-04-B2). |
| Bin Type | Functional category (storage, pick, bulk, quarantine, dock). |
| On Hand | Total physical quantity residing in the facility. |
| Committed | Quantity reserved for open sales orders and work orders. |
| Available | Free stock in eligible pickable bins ready for new orders. |
| Movement Type | Transaction type in the perpetual ledger (RECEIPT, PICK, DISPATCH, ADJUSTMENT). |
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 warehouse building or site (e.g. Main Warehouse, Transit Depot). |
| bin_code | Storage Bin | Specific shelf, rack, or aisle coordinate (e.g. A-04-B2). |
| bin_type | Bin Type | Storage classification (storage, pick, bulk, quarantine, dock, in_transit). |
| quantity_on_hand | On Hand (OH) | Total physical units physically present in the warehouse facility. |
| quantity_committed | Committed | Stock allocated to confirmed customer orders and released production work orders. |
| quantity_available | Available (Avail) | Stock free for new customer orders (Pickable Bins minus Committed stock). |
| movement_type | Movement Type | Ledger transaction type: RECEIPT, PICK, DISPATCH, TRANSFER, ADJUSTMENT, RETURN_IN, RETURN_OUT. |