Inventory Module
Inventory keeps the stock ledger, the running total each stock-moving document changes when finalised, and the applets that count, move, plan, pick and deliver against it. For the stock controller and the accountant who answer for a stock number, routes by job come first.
Start here
- Setting a company up? Configuration, then Stock Management.
- Moving, counting, closing the month? The inventory guides.
- The why? Core concepts.
When stock looks wrong, start from what you see
Inventory in Depth’s symptom table gives ten, with cause and first check. “50 physical but 0 available” has its own page: Stock shows zero but there is stock.
How you know the stock is right, before the month is closed
Before Month End Processing: nothing in transit overdue, every accepted count adjusted, every adjustment journalled, purchases and sales agreeing with the ledger (Inventory in Depth’s four-step month-end check, with who checks each).
Applets in this module
Looking at stock
- Stock Balance: quantity and cost per item, company and location. Read only.
- Stock Availability: the balance plus the open documents that will change it, down to bin, serial and batch; it can exceed what is on the shelf.
- Stock Report: thirteen reports, from movement and aging to batch expiry.
- Stock Level Monitoring: e-mails people when stock is outside optimal or maximum levels; changes nothing.
Moving stock
- Stock Transfer: out, then in, between locations of one company.
- Stock Adjustment: writes stock on or off; a job just after FINAL posts its value. Also resets a wrong average.
- Stock Conversion: re-packing and kitting at one location (limits below).
- Consignee Stock Transfer: your stock on a partner’s shelf.
- Consignment GRN and GIN: a consignor’s stock arriving and leaving.
Asking for stock, and planning it
- Stock Requisition: a branch’s request, met by a transfer.
- Stock Reservation: holds a quantity for a customer until a date.
- Stock Replenishment: minimum and maximum levels become purchase orders or transfers; create them as drafts.
- Pdg: display quantities per category and outlet type.
The warehouse floor
- Warehouse Management System: layouts to bin level, containers, receiving, putaway, picking from sales orders, packing, then a draft delivery order or transfer.
- Stock Take: counts by scan or by hand, compared with the system within a tolerance.
- Barcode Generator: label sheets.
Getting it to the customer
- Delivery Installation: jobs onto trips with a driver and vehicle.
- Delivery And Installation Driver: the driver’s trips and proof of delivery.
- Driver Delivery Order: vehicle, date and time slot on delivery orders.
- Goods Delivery Note: the paper that travels with the goods.
- Non Stock and Trade In: trade-ins and non-stock items, outside the ledger.
Tracking is by serial, batch with expiry, or bin; bundles draw on their parts. Cost is moving and weighted average, plus FIFO where its job is on (costing).
Which documents actually move stock
flowchart LR
subgraph IN["Stock in (+1)"]
PI["Purchase Invoice"]
GRNSI["Purchase GRN <b>Stock In</b>"]
SR["Sales Return"]
SRN["Sales Refund Note"]
TIN["Transfer In"]
CGRN["Consignment GRN"]
CCIN["Customer Consignment In"]
end
subgraph OUT["Stock out (−1)"]
SI["Sales Invoice"]
CB["Cash Bill"]
GINSO["Sales GIN <b>Stock Out</b>"]
PR["Purchase Return"]
PRN["Purchase Refund Note"]
TOUT["Transfer Out"]
CGIN["Consignment GIN"]
CCOUT["Customer Consignment Out"]
end
ADJ["Stock Adjustment<br/>direction from the line"]
CONV["Stock Conversion<br/>direction from the tab"]
IN --> LEDGER[["Stock ledger"]]
OUT --> LEDGER
ADJ --> LEDGER
CONV -.->|"built, not yet switched on"| LEDGER
LEDGER --> BAL["Stock balance<br/>item × company × location"]
NONE["Sales Order · Purchase Order · Quotation<br/>Stock Requisition · Purchase Requisition · Delivery Order<br/>Goods Delivery Note · Packing Order · Jobsheet<br/>Credit Note · Debit Note<br/>plain GRN · plain GIN<br/>Invoice No Stock In / No Stock Out"] -.->|"no stock quantity"| NOTHING(["nothing reaches the ledger"])
Receive on one pair: a GRN then a Purchase Invoice (stock arrives on the invoice), or a GRN Stock In then a Purchase Invoice No Stock In. Mixing the pairs counts the stock twice, or not at all.
What the module does not do, and what to do instead
| It does not | Instead |
|---|---|
| Warehouse applet: move stock, wave-pick, check availability or reserve when a picking list is built, check a pallet against a shelf’s maximum weight, or run as a native handheld app | Stock moves on the finalised GRN Stock In or purchase invoice, outbound transfer or sales invoice; one picking list per order; check Stock Availability and reserve first; the person slotting checks the recorded maximum; a browser on phone, tablet or PC (what the floor team does instead) |
| Turn a stock take into an adjustment | One Stock Adjustment per accepted variance, keyed or CSV-imported as drafts; the count’s Excel export needs re-laying out |
| Approve transfers or adjustments | Give each stock applet only to those who may move or write off stock, and review the adjustments |
| Move stock on a Stock Conversion: not yet switched on | Two Stock Adjustments: components out, kit in, at your cost |
| Transfer between two companies | A sale from one, a purchase into the other |
| Check GL codes when an adjustment is finalised | Map the stock GL codes first; Missing Journal lists adjustments left without a journal |
| Post cost of sales on each sale | Month End Processing posts it, after the month-end check |
| Keep LIFO, manual or replacement cost | Value closing stock at moving average, weighted average or FIFO |
| Mark delivered on arrival | Status is set when lines go on a trip; the driver’s proof of delivery confirms arrival (the web app’s photos and signature are not viewable in the office) |
More in Inventory in Depth.
One transfer, two lorries: why moving stock takes two documents
Between Transfer Out and Transfer In the goods sit in the company’s stock-in-transit location, so a load can arrive in parts once the outbound-to-inbound document flow is set up (the two-lorry example).
What it touches elsewhere
What must exist first
Inventory items and locations from Core (a line with no inventory item never reaches the ledger), and stock GL codes from Financial Accounting (what must exist first).
What a stock movement sets off elsewhere
Adjustments post journals just after FINAL, cost of sales posts at month end, and marketplaces read this balance (what it sets off).
Which of two neighbours to use
Count with Stock Take, then change the balance with Stock Adjustment (four pairs).