Feature

Every unit, accounted for

When a stock figure looks wrong, the question is always what happened. The movement ledger answers it directly.

Append-only, with a running balance

Each movement carries a signed quantity, the balance after it, the unit cost involved and the weighted average after it. Nothing edits or deletes a row. A reconciliation view checks the ledger against the stock figure on every product and must report zero drift, permanently.

Every way stock can move

Sales and refunds, purchase receipts, opening stock, manual adjustments and physical count variances — all of them, including the ones written by the product form and the spreadsheet importer, which are caught at the table so no future write path can bypass the ledger.

Filter it, then export what you filtered

Filter by product, kind of movement and date. The export takes the filtered rows and writes the filter state and the row limit into the file, so nobody can be misled by a spreadsheet that silently covers more or less than the screen did.

It posts to the ledger too

Opening stock, adjustments and count variances each post a journal entry — inventory against opening balance equity, or against inventory write-off. Without that, stock could move without ever touching an account, and the inventory account would drift from the shelves it is supposed to represent.

See it on your own numbers

Fourteen days with every feature unlocked, no card required.