In short
Your stock report and your accounts disagree because they are updated separately, by different people, at different times and often at different costs. The usual culprits are receipts without invoices, cut-off timing, stock adjustments without journals, costing differences and manual journals. An inventory reconciliation with general ledger balances finds each gap and explains it. 1flux prevents most of the drift by posting the stock quantity, its cost layers and a balanced journal in one step.
Why don’t the two numbers match at month-end?
The stock report and the balance sheet answer the same question from two different records. The storekeeper’s report multiplies quantities on hand by a unit cost. The accountant’s balance sheet shows the balance of the inventory account in the general ledger, built from journals. Each record is right about what it saw. Neither saw everything.
In many growing trading companies, the stock records live in an inventory tool or a spreadsheet and the ledger lives in an accounting package. Stores update stock when a delivery arrives. Accounts update the ledger when the supplier invoice arrives, sometimes weeks later. A write-off happens on the shop floor and never reaches a journal. By month-end the two numbers are tens of thousands apart, and someone spends days finding out why.
The good news is that the causes repeat. Once you know them, the reconciliation becomes routine, and most of them can be designed out.
What are the root causes of stock and ledger differences?
Almost every difference falls into one of five causes, plus one that accountants create themselves.
1. Stock and the books live in separate systems
When stock and the ledger are two records, every transaction must be entered twice. Each double entry is a chance to miss one side, enter a different quantity or post a different date. The drift isn’t a sign of careless people; it is what two records do over time.
2. Goods received without invoices, and invoices without goods
Stock goes up the day goods arrive. If the ledger only records a purchase when the supplier invoice is posted, received but uninvoiced goods sit in stock with nothing in the books. The reverse happens too: an invoice posted for goods that haven’t arrived yet. Accruing goods received not invoiced (GRNI) at the moment of receipt closes this gap. We explain it fully in our GRNI guide.
3. Timing and cut-off
A delivery dispatched on 30 September but recorded in stock on 1 October, or a receipt counted on the last day but booked next month, creates a difference that reverses itself later. Timing items are harmless if you can list them. They become dangerous when nobody can.
4. Stock adjustments without journals
Damaged goods, samples, shrinkage, a found pallet, a count correction: stores update the quantity, but no journal entry follows. Every inventory write-off and stock count variance changes the value of stock, so each one needs a journal.
5. Costing differences
The two records may value the same units differently. The stock system uses a running average or the last purchase price; accounts post the supplier invoice price. Freight or duty is added in the ledger but not to item costs. A foreign-currency purchase is converted at different rates. The quantities agree, the value doesn’t. Choosing and applying one inventory valuation method in one place solves this; we compare the options in weighted average vs FIFO.
And one more: manual journals to the inventory account
Accountants sometimes post accruals, reclassifications or corrections straight to the inventory account. Each one changes the ledger with no stock movement behind it. Keep these rare, documented and visible in the reconciliation.
How to do an inventory reconciliation with general ledger balances
An inventory reconciliation with general ledger balances compares the value of stock in your stock records with the balance of the inventory accounts on the same date, then explains every difference. Do it at every month-end close, in this order.
- Fix the cut-off. Agree the date. Make sure every receipt, delivery, transfer and adjustment up to that date is posted, and nothing after it.
- Take the stock valuation. Run the valuation report at that date: quantity × unit cost for every item and warehouse, totalled for the legal entity.
- Take the ledger balance. Take the closing balance of every inventory account for the same entity and date.
- Calculate the difference. If it’s zero, sample-test a few items anyway. Two errors can cancel each other out.
- Roll both sides forward by movement type. Opening balance + receipts − issues ± adjustments = closing balance, once from the stock records and once from the ledger. The movement type whose totals disagree is where your difference lives.
- List the documents behind the gap. For that movement type, find documents on one side with nothing on the other: receipts with no purchase or GRNI entry, write-offs with no journal, journals with no stock movement.
- Classify each item. Is it timing (it will reverse), a missing posting, a valuation difference, an error or still unexplained?
- Correct with approval, never with a plug. Post the missing journal or the stock adjustment, with a reason and an approver. Carry anything unexplained forward as an open item with an owner.
- Fix the root cause. A reconciling item that appears every month is a process problem, not an accounting one.
Worked example: a month-end reconciliation template
Here is a fictional trading company in Saudi Arabia, reconciling one legal entity at 30 September. Copy the layout into your own close file.
| Line | Description | SAR |
|---|---|---|
| A | Inventory per general ledger (accounts 1200 and 1210), 30 September | 1,284,600 |
| B | Inventory per stock valuation report, 30 September | 1,262,150 |
| C | Difference (A − B) | 22,450 |
| # | Reconciling item | Root cause | Side to correct | Explains (SAR) |
|---|---|---|---|---|
| 1 | Goods-in-transit accrual debited to inventory; goods arrive on 3 October | Manual journal, no stock movement | Ledger: move to a goods-in-transit account | 8,750 |
| 2 | Supplier invoices at prices above the purchase order posted to inventory; stock kept at order price | Costing difference | Decide the policy (see below) | 12,600 |
| 3 | 64 damaged bags of cement written off in the stock system; no journal | Adjustment without a journal | Ledger: post the write-off | 3,200 |
| 4 | Goods received on 29 September; supplier invoice booked in October; no GRNI accrual | Receipt without an invoice | Ledger: accrue GRNI | (6,400) |
| 5 | Not yet explained | — | Investigate; do not plug | 4,300 |
| Total reconciling items | 22,450 |
What to do with each item
- Item 1 is a classification issue, not a loss. Goods you own but haven’t received belong in a separate goods-in-transit account until they arrive.
- Item 2 needs a policy decision. The supplier’s price is the real cost of purchase, so either revalue the units still on hand and send the rest to cost of goods sold, or post every price difference to a price variance account. Pick one and apply it every month.
- Item 3 is a missing journal: debit an inventory adjustment or write-off expense account and credit inventory.
- Item 4 is the classic GRNI gap. Accrue it now: debit inventory, credit GRNI. The October invoice then clears the accrual instead of adding stock value twice.
- Item 5 stays open with a named owner and a date. It is the one that tells you whether the process is under control.
How does posting stock and the journal together prevent drift?
Posting stock and the journal together removes the second record. If every stock document writes its own journal at the moment it’s posted, the ledger can’t miss a receipt, a delivery or a write-off, because there is no separate step to forget. This is what accountants call a perpetual inventory system with integrated posting.
| Root cause | What integrated posting does |
|---|---|
| Separate systems | One record: the stock document creates its own journal |
| Receipts without invoices | The receipt posts Dr Inventory / Cr GRNI; the invoice later clears GRNI |
| Timing and cut-off | Stock and journal share the same posting date; closed periods refuse late entries |
| Adjustments without journals | A write-off or count can’t move stock without posting its journal |
| Costing differences | One cost source: the same cost layers value the stock report and the journal |
| Manual journals | Still possible, so they remain the main item to review |
It doesn’t make reconciliation unnecessary. Physical stock still goes missing, and counts still find it. But the reconciliation shrinks from a hunt to a check.
How 1flux handles this
1flux posts stock and the ledger together, through one posting gateway, so the stock report and the books start from the same transactions.
Related product
1flux Inventory
Counts, transfers, write-offs and costing that post to the ledger in the same step as the stock.