xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Inventory/Troubleshooting inventory
TROUBLESHOOTING · Last reviewed

Troubleshooting inventory

Read the ledger before correcting stock

The Inventory Ledger is the evidence surface for a discrepancy. Scope it to the relevant branch, item and time range, then read Ledger Type, item or lot, quantity, source document and reversal state together. A populated row identifies the transaction that moved stock; a blank adjustment form cannot establish that cause.

Populated Inventory Ledger showing source documents, ledger types, branches, items, SKUs and item lots
Use populated ledger rows to trace a stock discrepancy back to the transaction and item or lot that moved it.UI captured
  1. 1

    Ledger Name opens the immutable movement record for deeper inspection.

  2. 2

    Source Document identifies the receipt, allocation, transfer or bill that produced the movement.

  3. 3

    Ledger Type explains the movement direction and business event before any correction is attempted.

  4. 4

    Read Item, SKU and Item Lot together when the discrepancy concerns tracked stock.

  5. 5

    Compare several populated rows to find the first movement where the observed history diverges from expectation.

Before adjusting, prove the discrepancy from source documents, ledger movements, lot buckets and physical evidence. Use the correct date and reason, then verify the posted adjustment and resulting balance; an adjustment should document a known difference, not conceal a routing, receipt, transfer or allocation defect.

Most inventory surprises in xMatix have short explanations, because stock is not a stored opinion — it is the sum of posted ledger entries, and the entries are all readable. This page gives the working method for the three complaints that cover most cases: a stock figure that looks wrong, a valuation that differs from expectation, and a posting refused because the period is closed. In each case the method is the same: find the authoritative record (the ledger, the policy, the fiscal calendar) and read it before changing anything.

Stock looks wrong

Work through these in order and stop when the figure explains itself:

  1. Read the item ledger. Open the Ledger console's Ledger tab for the company, branch and item, over a range that starts before the figure was last believed correct. The view shows the opening balance, every posted movement with a running balance, and the closing balance — the row where the running balance departs from expectation is the row to investigate, and it links to its source document.
  2. Look for unposted documents. A document that exists but has not posted moves nothing: an adjustment before Perform Inventory Posting, a transfer still pending outward release, or a received inward transfer whose Perform Inventory Posting action has not run. The document being visible in a list tells you nothing about stock — the ledger entry does.
  3. Check in-transit. Stock released outward on a transfer but not yet received inward is in neither branch's bins; it sits in the in-transit bucket. A branch-level check that ignores in-transit will look short by exactly the traveling quantity. See Transferring stock between branches.
  4. Don't double-count corrections. The ledger corrects by reversal: a changed or deleted posted line shows as the original entries, negated reversal entries, and fresh entries. Read such groups together — the pairs cancel.
  5. For lot-tracked items, read the buckets. A lot's in-hand quantity includes stock that is on hold, on inspection or allocated; "we have 100" and "100 are available" are different statements. See Item lots and lot types.

Valuation differs from expectation

  1. Confirm which accounting book you are looking at. A tax or management book legitimately values the same stock differently from the primary book. The valuation statement's book picker tells you; the default is the primary book.
  2. Find the policy that resolved. The costing method comes from valuation policy resolution — most specific scope wins, within the book. An item you expect on FIFO may be caught by a narrower moving-average policy or fall through to the default. The configuration reference has the resolution order.
  3. Remember carrying value is not quantity times latest price. Under FIFO, moving average or specific identification, the value depends on cost history. Decompose the figure in the Valuation console: the Valuation Lots tab shows the surviving receipt layers and their costs; Cost Consumption shows how each issue was drawn. The arithmetic is inspectable down to the lot.
  4. Check for NRV write-downs. At period close, stock is measured at the lower of cost and net realizable value; a write-down posted there lowers the carrying figure below cost. The NRV Assessment tab shows what was assessed and written down, per period.
  5. Rebuild period balances before trusting period comparisons. Period and year columns read a rebuilt cache; after heavy posting or backdated corrections, run the Rebuild action on the statement so the columns catch up. See Inventory period balances.

A posting is refused because the period is closed

Postings that create accounting entries resolve a fiscal period from the document date and require that period to be Open. Fiscal periods have three states: Open (posting allowed), Closed (posting blocked, but an administrator can reopen the period), and Locked (final — used once statements are published; not reopenable). The fiscal year has the same discipline: an open period under a closed year still blocks.

Your options, in order of preference:

  1. Date the document into an open period. If the transaction genuinely belongs to the current period, use a current document date.
  2. Ask an administrator to reopen the period when the posting genuinely belongs in it and the period is Closed (not Locked). Reopen, post, close again.
  3. For corrections to already-posted figures, use the reversal path: reversals post on a current date precisely so that they land in an open period even when the original's period has since closed.

What you should not do is force a back-dated posting into a locked period — the lock exists because statements were published from those figures.

Common questions

Why can't I just edit the wrong ledger entry?

The ledger is append-only by design: corrections post reversal entries rather than editing rows, which is what keeps the stock history auditable. Fix the source document — edit or delete the offending line, or post an adjustment — and the ledger produces the reversal and the corrected entries itself. The net stock effect is identical to an edit; the difference is that the trail survives.

The stock figure is genuinely wrong — the goods were miscounted. What now?

That is what adjustments are for. Post an adjustment for the discrepancy, using the excess/shortage/damaged/expired buckets so the reason is recorded, and the ledger carries the correction like any other movement. If miscounts are frequent rather than occasional, the structural answer is a cycle counting program (see the warehouse section of the documentation) rather than more adjustments.

Who can reopen a closed period?

An administrator with access to the fiscal calendar. Reopening is a normal, reversible action for a Closed period; a Locked period is deliberately final. If you find yourself reopening periods routinely, the process problem is upstream — documents are being dated or posted too late — and that is the thing to fix.