Back

Reasons the Inventory Ledger Account Doesn’t Match the Inventory Value Report

You may find that the Inventory account balance in the ledger doesn’t equal the total of the Inventory Value report. This is usually because the two aren’t calculated the same way: the report multiplies the current quantities by the current average cost, while the ledger is the sum of the journal entries actually recorded at their values at the time of each transaction. This guide explains how each one is calculated, how to compare them correctly, and then every cause of a mismatch and how to check and fix it.

Inventory value reportReports → Store Reports → Inventory Value.
Inventory accountChart of Accounts → the Inventory account (the main account that the warehouse accounts branch from) → Account Ledger.

How the report and the ledger are calculated

Inventory value report Inventory account in the ledger
Quantity The sum of processed stock transactions only for each product in the selected warehouses. Doesn’t deal with quantities; it only adds up journal entry amounts.
Value Quantity × the product’s current average buy price (or the Buy Price if you choose it, or if the average is zero). Total debit minus credit of the journal entries recorded at the value of each transaction when it happened.
Date The date changes the quantities only; the price is always today’s average. The balance on a given date = the journal entries up to that date at their historical values.
Scope Products whose stock is tracked and whose status is Active or Suspended, in active or suspended warehouses you have permission to view, and in the current branch. All journal entries on the account, whether automatic or manual, and for any product.

🛈

Note: Each warehouse has its own sub-account under the Inventory account in the chart of accounts. So compare the report with the main Inventory account (or with the total of the warehouse accounts), not with a single warehouse’s account.

Compare correctly first

Many differences disappear as soon as you set up the comparison correctly. Before looking into the causes:

  1. Open the Inventory Value report and leave Warehouse, Category, Brand, and Supplier on all.
  2. In Calculate Using, choose Average Buy Price, not Buy Price.
  3. Leave the start of the Date Range empty, and set only its end if you want a balance on a past date, or leave both empty to compare with the current balance.
  4. Click Generate Sheet, and take the total of the Total Buy Price column; this is the inventory value.
  5. View the balance of the main Inventory account in the ledger up to the same date, without a branch or cost center filter that differs from the report.
  6. Run the comparison as the owner, or as a user with permission to view all warehouses.

🛈

Warning: A comparison on a past date usually won’t match even if all the data is correct, because the report prices that date’s quantities at the current average cost, while the ledger keeps the cost at that time. The most accurate comparison is with the current balance.

Causes related to how you compare

1. Different dates

  • Comparing the ledger on one date with the report on another date.
  • If you set a start date in the report, it shows the net movement for the period only, not the balance at its end, so it can’t be compared with the account balance.
  • The report prices any date at the current average cost, as in the previous warning.

2. Filters and the pricing basis

  • The report is filtered by a warehouse, category, brand, or supplier, and the ledger isn’t (or the other way around). The category filter includes the selected category and its direct subcategories only.
  • The report is calculated using Buy Price instead of Average Buy Price. A product with a zero average is priced in the report at the buy price even when the average is selected.
  • Comparing the report with a single warehouse’s account instead of the main Inventory account.

3. Warehouses and branches the report doesn’t include

  • Inactive warehouses don’t appear in the report, while their account balance stays in the ledger.
  • An employee sees in the report only the warehouses they have permission to view. And anyone who has only the View His Own (Created) Products permission sees only their own products.
  • When branches are enabled, the report shows only the products of the current branch and the branches shared with it.

4. Warehouse account routing

From Accounting Settings → Accounts Routing → Inventory, you can route each warehouse to a specific account. If a warehouse is routed to an account outside the Inventory tree, its value appears in the report but isn’t included in the account you’re comparing with. Routing here is at the warehouse level only; account routing at the product level is for the sales and cost of sales accounts, and doesn’t change the inventory account.

Transactions that affect only one side

5. Manual journal entries on the inventory account

Any manual journal entry on the inventory account or the warehouse accounts changes the ledger balance, but it doesn’t change the products’ quantities or their value in the report. To actually adjust the inventory, use a Manual Stock Adjustment or a stocktaking sheet instead of a manual journal entry.

6. Opening balance

  • The opening quantity you enter in the Quantity field in the stock section when adding a product is recorded as a stock transaction at the purchase price, with an automatic journal entry: debit the warehouse account, credit Other Credit Balances.
  • If you also recorded a manual opening journal entry for the same inventory, the value is duplicated in the ledger. And if you recorded only the manual journal entry without opening quantities for the products, the value appears in the ledger and doesn’t appear in the report.
  • If the opening quantity was added for a product whose Purchase Price is empty, the quantity enters the report without any journal entry in the ledger.

7. Automatic journal entries stopped or accounts cancelled

  • When Disable Automatic Journal Entries for Invoices is enabled, the cost of sales journal entry isn’t created, so the product leaves the inventory in the report without being deducted from the inventory account.
  • If the account routing for Purchases or Purchase Returns is set to cancel, the goods enter the inventory and the purchase invoice journal entry isn’t created on the inventory account.

8. Stock requisitions and purchase invoices that aren’t received

  • When Requisitions for Purchase Invoices is enabled, or if the purchase invoice isn’t Received, the invoice journal entry is on the Purchases account, not the inventory. The amount moves to the inventory account only when the requisition is approved.
  • When Requisitions for Sales Invoices is enabled, the revenue is recorded on the invoice date, while the cost of sales journal entry and the deduction from inventory are recorded when the requisition is approved, on the requisition date.
  • A requisition Under Review doesn’t affect quantities or journal entries. But if you compare on a date between the invoice date and the requisition approval date, or if the requisition value differs from the invoice value, the difference appears between the inventory and purchases.

9. Inactive products or products whose stock isn’t tracked

  • A product whose status is Inactive doesn’t appear in the report, while its journal entries stay in the ledger. (A Suspended product appears in the report.)
  • A product whose Track Stock was turned off is excluded from the report entirely, even though its previous transactions have journal entries in the ledger.
  • You can’t delete a product that has stock transactions; the system asks you to make it inactive, so it falls under the first case.

Cost differences

10. Back-dated transactions

Adding or editing a purchase invoice or a stock transaction with a past date recalculates the average cost from that date for all following transactions, and updates the related cost of sales, requisition, and transfer journal entries. But a difference remains in the following cases:

  • Closed periods: The cost journal entries of invoices dated within a closed period aren’t updated, so they stay at the old cost while the average changes in the report.
  • Manual stock adjustment (outbound): When the average changes, the cost of the manual outbound transaction is updated, but its journal entry stays at the value it was first recorded with.
  • Background recalculation: If the transaction date is more than 3 days old, the calculations are redone in the background, and temporary differences may appear until they finish. Compare again a little later.

11. Negative balance

  • When selling with a negative balance, the cost is calculated at the last available average (or at the purchase price if there’s no average). When purchasing after that, the average becomes the new purchase price without repricing the sales made while the balance was negative.
  • In the report, the negative quantity is multiplied by the average, so a negative value appears and is deducted from the total.
  • The fix: record purchase invoices or additions with a date before the sale so the balance doesn’t become negative, or choose Disable Negative Inventory For All Items under Negative Inventory in the inventory settings so it doesn’t happen again.

12. Foreign currencies and rounding

  • The average cost is calculated at the exchange rate on the date the goods are received, while the journal entry is converted at the exchange rate on the journal entry date; the difference between them causes a difference in purchase invoices in a foreign currency.
  • The report shows each line rounded to two decimal places but adds up the original values, and journal entries are rounded to four decimal places; this causes only very small differences.

Example

You bought 10 pieces at 100 in January, and sold 5 in February, so a cost journal entry of 500 was recorded. Then in March you added a purchase invoice dated January for 10 pieces at 130, so the average became 115. If February is a closed period, the cost journal entry stays 500 and the ledger balance becomes 1300 + 1000 − 500 = 1800, while the report shows 15 × 115 = 1725. The difference of 75 is the cost difference of the five pieces sold (5 × 15).

Summary table: cause, how to check, and fix

Cause How to check Fix
Different date or filters Check the start of the date range, the filters, and the pricing basis in the report. Follow the steps in Compare correctly first.
Inactive warehouses or no permission Compare the warehouses in the report with the warehouse accounts under Inventory. Activate the warehouse temporarily, or compare as the owner.
Warehouse routed to another account Accounts Routing → Inventory. Add the routed account to the comparison, or correct the routing.
Manual journal entries In the account ledger, look for the non-automatic journal entries. Delete the journal entry and replace it with a manual stock adjustment or a stocktaking sheet.
Duplicated or missing opening balance Look for a manual opening journal entry on the inventory, and for products with an opening quantity and an empty purchase price. Use one method: the products’ opening quantities, and delete the duplicated manual journal entry.
Automatic journal entries stopped Check Disable Automatic Journal Entries for Invoices and the account routing for purchases and purchase returns. Re-enable the automatic journal entries and correct the routing.
Stock requisitions Look for requisitions Under Review, and check the Purchases account balance. Approve the pending requisitions, and compare after processing them.
Inactive or untracked products Filter the products list by the Inactive status, and check the products whose stock tracking was turned off. Bring their balance to zero with a manual stock adjustment before deactivating them or turning off their tracking.
Back-dated transactions Check the purchase invoices added or edited with a past date, and the closed periods. Wait for the recalculation to finish, or open the closed period and edit the document so its journal entry is recreated, or record an adjustment journal entry.
Negative balance Look for negative quantities in the report. Correct the purchase dates, or add the missing quantities with a date before the sale.
Currencies and rounding The difference is small and related to invoices in a foreign currency. Record an adjustment journal entry for the difference if needed.

FAQs

Why does the report total for a past date change even though I didn’t add transactions on that date?

Because the report always prices quantities at the current average cost, so any new purchase that changes the average also changes the value of past dates.

Do transfers between warehouses cause a difference?

No, if you compare with the main Inventory account; a transfer deducts from one warehouse’s account and adds to another at the same value. The difference appears only if you compare with a single warehouse’s account, or if one of the two warehouses is routed to an account outside the inventory.

Does a manual stock adjustment affect the inventory account?

Yes; an addition is recorded as a debit to the warehouse account and a credit to Other Credit Balances, and an outbound adjustment as a credit to the warehouse account and a debit to Other Debit Balances, unless you choose the Sub Account in the transaction form.

Do drafts affect either side?

No. Draft sales and purchase invoices don’t create journal entries, and the report counts processed stock transactions only.