Inventory
Track inventory items, costing methods, physical counts, and valuation with ASC 330 compliance.
Overview
The Inventory module provides full inventory management for tracking stock levels, costing, receiving, sales, and valuation. It supports multiple costing methods, physical count reconciliation, and lower-of-cost-or-market (LCM) adjustments per ASC 330.
Setting Up Inventory Items
Before receiving or selling inventory, create item records with the required configuration.
Item Fields
| Field | Description |
|---|---|
| SKU | Stock-keeping unit; unique identifier for the item |
| Name | Display name for the item |
| Costing method | FIFO, LIFO, weighted average, or specific ID |
| Reorder point | Minimum quantity that triggers a reorder alert |
| Preferred vendor | Default vendor for purchase orders |
| Inventory account | Ledger account for inventory asset |
| COGS account | Cost of goods sold expense account |
Reorder Points
Set a reorder point to receive alerts when stock falls below the threshold. Navigate to Finance > Inventory > Items and edit an item to set the reorder point. Alerts appear on the Inventory dashboard when quantity on hand drops below the configured level.
Receiving and Selling Inventory
Receiving Inventory
When inventory arrives:
- Go to Finance > Inventory > Receive
- Select the purchase order or create a manual receipt
- Enter quantities received per line item
- Enter unit cost (or use PO price)
- Post the receipt
A receipt creates a journal entry that debits Inventory and credits Accounts Payable (or Cash if paid at receipt). The cost is recorded according to the item's costing method.
Selling Inventory
When inventory is sold:
- Create a sales invoice or record a sale
- Link line items to inventory items
- Post the sale
The system automatically reduces inventory quantity and records COGS based on the costing method. The journal entry debits COGS and credits Inventory for the cost of units sold.
Physical Counts and Variance Posting
Reconcile system quantities with actual stock through physical counts.
Running a Physical Count
- Navigate to Finance > Inventory > Physical Count
- Create a new count and select the count date
- Enter counted quantities for each item (or by location, if using multi-location)
- Save the count
Variance Posting
After the count is complete, the system compares counted quantities to system quantities:
- Variance = Counted quantity - System quantity
- Positive variance — more on hand than system; typically indicates unrecorded receipts or prior count errors
- Negative variance — less on hand than system; typically indicates shrinkage, theft, or unrecorded sales
Post the variance to adjust the ledger. The system creates an adjustment journal entry that debits or credits Inventory and offsets a variance expense account. Document the reason for the variance for audit purposes.
Valuation Methods
Choose a costing method when setting up each inventory item. The method determines how cost flows when units are sold.
FIFO (First In, First Out)
Cost is assigned to sales in the order units were received. The oldest units are considered sold first. FIFO is common when inventory is perishable or when physical flow matches cost flow.
LIFO (Last In, First Out)
Cost is assigned to sales in reverse order of receipt. The most recently received units are considered sold first. LIFO can reduce taxable income in inflationary periods but is not permitted under IFRS.
Weighted Average
Cost is the average of all units on hand at the time of sale. Each receipt updates the average cost: (prior total cost + new receipt cost) / (prior quantity + new quantity). Simple to apply and smooths cost fluctuations.
Specific ID
Cost is tracked per individual unit or lot. Each unit has a unique cost. Used for high-value items (e.g., jewelry, machinery) where individual identification matters.
| Method | Best For | Complexity |
|---|---|---|
| FIFO | Perishables, natural flow | Low |
| LIFO | US tax optimization | Medium |
| Weighted average | Homogeneous goods | Low |
| Specific ID | High-value, traceable items | High |
LCM and NRV Adjustments (ASC 330)
Under ASC 330, inventory must be stated at the lower of cost or market. When market value (or net realizable value) falls below cost, a write-down is required.
Net Realizable Value (NRV)
NRV = Estimated selling price - Estimated costs to complete and sell
LCM Rule
- Market is defined as replacement cost, bounded by NRV (ceiling) and NRV minus normal profit margin (floor)
- If cost > market, reduce inventory to market and record a loss
Recording LCM Adjustments
- Go to Finance > Inventory > Valuation
- Run the LCM analysis for the period
- Review items where NRV or market is below cost
- Post the adjustment
The adjustment debits a loss account (e.g., Inventory Write-Down Expense) and credits Inventory. Reversals are permitted when market recovers, subject to the ceiling that inventory cannot exceed original cost.
API Reference
| Action | Method | Description |
|---|---|---|
| List items | GET /api/inventory?entityId=...&view=items | All inventory items with current quantities |
| Item detail | GET /api/inventory?entityId=...&view=item&itemId=... | Single item with cost layers |
| Create item | POST /api/inventory with action: "create_item" | Create inventory item |
| Update item | POST /api/inventory with action: "update_item" | Update item configuration |
| Receive | POST /api/inventory with action: "receive" | Record inventory receipt |
| Sell | POST /api/inventory with action: "sell" | Record inventory sale (or link to invoice) |
| Physical count | POST /api/inventory with action: "create_count" | Create physical count |
| Post variance | POST /api/inventory with action: "post_variance" | Post count variance |
| LCM adjustment | POST /api/inventory with action: "lcm_adjustment" | Post LCM write-down |
| Valuation report | GET /api/inventory?entityId=...&view=valuation&asOfDate=... | Inventory valuation by item |