---
title: "Why your stock report and your accounts never agree, and how to fix it"
description: "Stock report and accounts don't match? See the root causes, a step-by-step inventory reconciliation with general ledger method and a worked template."
url: https://1flux.ai/blog/stock-and-accounts-disagree
last_updated: 2026-10-11
---

Month-end close

# Why your stock report and your accounts never agree, and how to fix it

The five reasons stock and the ledger drift apart, a step-by-step inventory reconciliation with general ledger balances and how to stop most of the drift at its source.

Finance and accounting 7 min read Updated 10 October 2026

Example One legal entity · 30 September · SAR

Stock valuation report 1,262,150

Difference **22,450**

Inventory per general ledger 1,284,600

- Manual journal, no stock movement 8,750
- Costing difference 12,600
- Write-off without a journal 3,200
- Receipt without GRNI (6,400)
- Not yet explained 4,300

Two records of the same stock, one difference, and the reconciling items that explain it.

## 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](https://1flux.ai/glossary/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](https://1flux.ai/glossary/goods-received-not-invoiced) (GRNI) at the moment of receipt closes this gap. We explain it fully in [our GRNI guide](https://1flux.ai/blog/goods-received-not-invoiced-explained).

### 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](https://1flux.ai/glossary/journal-entry) follows. Every [inventory write-off](https://1flux.ai/glossary/inventory-write-off) and [stock count](https://1flux.ai/glossary/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](https://1flux.ai/glossary/inventory-valuation) method in one place solves this; we compare the options in [weighted average vs FIFO](https://1flux.ai/blog/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](https://1flux.ai/glossary/month-end-close), in this order.

1. **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.
2. **Take the stock valuation.** Run the valuation report at that date: quantity × unit cost for every item and warehouse, totalled for the legal entity.
3. **Take the ledger balance.** Take the closing balance of every inventory account for the same entity and date.
4. **Calculate the difference.** If it’s zero, sample-test a few items anyway. Two errors can cancel each other out.
5. **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.
6. **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.
7. **Classify each item.** Is it timing (it will reverse), a missing posting, a valuation difference, an error or still unexplained?
8. **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.
9. **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    |

Fictional example. Amounts in SAR.

| # | 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](https://1flux.ai/glossary/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](https://1flux.ai/glossary/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.

In 1flux

The Accounting overview opens on a Needs action list, including any difference between stock and the ledger.

View as text

1. The finance manager opens the Accounting overview.
2. The most severe row comes first: AED 96,400.00 overdue across 5 customers.
3. Then goods received not invoiced older than 30 days, and goods receipt reports still at provisional cost.
4. Then draft journals waiting to post and the month-end close reminder: 3 of 6 close steps done.
5. Each row opens exactly the records it counts.

- **Every stock posting writes three things at once:** the quantity, its cost layers and a balanced journal, in one step. That covers goods receipt reports (Inventory / goods received not invoiced), delivery notes (cost of goods sold), write-offs and stock counts.
- **One gateway, with checks.** Each posting checks that the period is open, the entry balances and the accounts are mapped. A repeated submit can’t post twice, and a missing account mapping blocks posting with a clear message.
- **Purchase invoices clear GRNI.** Any price difference needs a reason and posts to its own invoice price variance account, so it never leaks into stock value unexplained.
- **Corrections leave a trail.** Posted journal lines can’t be edited. Every ledger line links back to its source document.
- **Costing per legal entity:** weighted average, FIFO or standard cost. The stock valuation and the journal use the same cost layers.
- **Checks that run on screen.** The Inventory **Reconciliation** report compares each stock balance with the sum of its movements. The Accounting overview shows a **Stock vs ledger** check and a “Needs action” row when the inventory ledger differs from stock valuation, and a six-step close checklist that ticks itself.

[Automated posting in 1flux](https://1flux.ai/products/accounting/automated-posting) [Inventory costing and valuation](https://1flux.ai/products/inventory/costing-and-valuation)

Related product

### [1flux Inventory](https://1flux.ai/products/inventory)

Counts, transfers, write-offs and costing that post to the ledger in the same step as the stock.

FAQ

## Questions, answered

Still deciding? [Talk to sales](https://1flux.ai/contact)

### What is inventory reconciliation with the general ledger?

Inventory reconciliation with the general ledger is the month-end check that the value of stock in your stock records equals the balance of the inventory accounts in your ledger, on the same date, for the same legal entity. Where they differ, you list and explain every reconciling item, such as receipts without invoices, write-offs without journals or costing differences, then correct them with approval rather than posting a balancing figure.

### How often should we reconcile stock to the ledger?

Reconcile at least once a month, as part of the month-end close, before the period is closed. Reconcile more often in the first months after a system change or go-live, during peak trading or whenever the difference grows. Monthly reconciliation keeps each difference small enough to trace back to its documents while people still remember them. A quarterly reconciliation usually turns into a forensic exercise.

### Should we adjust the ledger or the stock records?

Adjust whichever record is wrong, and only after you know why. If stock moved but no journal was posted, correct the ledger. If an item was counted or valued wrongly, correct the stock records. A physical count is the best evidence for quantities. Your costing policy decides values. Never post a single balancing journal to force the figures to agree; it hides the problem and repeats it.

### What size of difference is acceptable?

There is no universal threshold. Agree a materiality level with your finance lead and auditor, based on your stock value and risk. Even then, an unexplained difference that keeps appearing is worth chasing, because it points to a broken process. The aim isn't a zero on one day. It is a list of reconciling items you can explain, each with an owner and a fix.

### How does 1flux keep stock and the ledger in step?

1flux posts every operational stock document, such as goods receipt reports, delivery notes, write-offs and stock counts, with its journal in the same step, so stock and the ledger stay in step. The Accounting overview's Stock vs ledger check shows the inventory ledger and stock valuation side by side, and raises a Needs action row if they ever differ, so any adjustment is caught before the close.

### Do we still need physical stock counts with integrated posting?

Yes. Integrated posting keeps the books in step with the stock records, but only a physical count tells you whether the stock records match the shelves. Theft, damage, mis-picks and unrecorded movements still happen. Count regularly, and post count variances as journals. In 1flux, a stock count posts its variance at cost in one posting and stops if stock moved during the count.

Related

## Keep exploring

### [Automated posting](https://1flux.ai/products/accounting/automated-posting)

Receipts, deliveries, invoices and payments post balanced journals through one gateway.

### [Costing and valuation](https://1flux.ai/products/inventory/costing-and-valuation)

Weighted average, FIFO or standard cost per company, with cost layers you can audit.

### [Inventory](https://1flux.ai/products/inventory)

One catalogue, live stock per warehouse and company, and every stock posting in the ledger.

### [Goods received not invoiced (GRNI), explained](https://1flux.ai/blog/goods-received-not-invoiced-explained)

The journals from goods receipt to supplier invoice, why the balance creeps up and a month-end routine that keeps it clean.

Last updated 11 October 2026
