Stock Ledger Invariant Check
Checks each Stock Ledger Entry for rules that must always hold: balance quantity, valuation rate and stock value consistency.
In detail
Stock Ledger Invariant Check tests, for one item and warehouse, the rules every Stock Ledger Entry must obey: balance after a row equals the previous balance plus the movement; stock value equals balance times valuation rate; value difference equals this value minus the previous; and for FIFO items the queue quantity equals the balance. A row that breaks any rule is marked with the failing column, and the usual cause is a backdated entry or a cancelled voucher that the repost job has not yet processed. Nothing is changed by the report. Run it after backdated entries, after a Repost Item Valuation finishes, and when a report shows one quantity and the item page another.
Formula
Qty after = Previous qty after + Actual qty; Stock value = Qty after x Valuation rate; Value difference = Stock value - Previous stock value
How to record it in BRAccount
- 01Go to Financial Reports > Stock Ledger Invariant Check, or find it under Stock reports.
- 02Set Item and Warehouse, and optionally a date range.
- 03Read the rows in posting order; a failed check shows its name in the Invariant column.
- 04Open the voucher on the first failing row; later failures usually follow from it.
- 05Search Repost Item Valuation, create one for the item, warehouse and that posting date, and submit.
- 06Wait for the background job to finish, then rerun the check until every row passes.
When to use it
Run after backdated entries or repost jobs to confirm the ledger is clean.
Example from the demo books
A row flagged where balance value does not equal quantity times valuation rate.