Skip to content

Stock ledger

Upscale records every movement of stock: what moved, when, at which location, and which document moved it. The reports below read that record.

Opening and closing stock

For any period and any location, you can see per item:

  • opening stock, what was on hand when the period began
  • in and out, what moved during it
  • closing stock, what was on hand at the end

There is no limit on the length of the period. A quarter, a financial year or a five year comparison are all the same query.

Two things worth knowing about this report:

Items that did not move still appear. A product that sat on the shelf all month shows with opening equal to closing. This sounds obvious, but a report built by scanning documents cannot do it: with no document, there is nothing to scan, and the item vanishes from the report exactly when you might be looking for it.

The arithmetic always foots. Opening plus in minus out equals closing, on every row, by construction rather than by coincidence.

Consecutive periods join cleanly. One quarter's closing stock is the next quarter's opening stock, with no boundary day counted twice.

The item stock ledger

For a single item, every movement in order, with a running balance after each one.

Each row shows the business date, whether it was a receipt, an issue or a reservation, the document that caused it, and the quantity in your own unit as well as the base unit. Where cost has been recorded, the unit cost and total are shown too.

The opening and closing balances match the summary report for the same item, location and period. That is the point of having both: the summary tells you what changed, and this tells you why.

If you use bins, each row also shows which bins the movement touched, and a move between shelves reads 'Main shelf to 16GB / 1TB SSD'. You can narrow the whole ledger to a single bin, which answers 'what happened on that shelf'.

Reservations

Not every movement is physical. A sales order commits stock without moving it, and a transfer reserves stock at the source before it is dispatched.

These appear as reservations rather than as receipts or issues, so "what actually moved" and "what is spoken for" stay separate questions with separate answers.

Business date and posting date

Every movement carries two dates: the business date it belongs to, and the moment it was recorded.

Reports use the business date, so a delivery note entered on Monday for goods received on Friday lands in the right week. The posting date orders movements that share a business date, so a running balance is stable rather than shuffling between page loads.

Historical accuracy

For organizations that used Upscale before the stock ledger existed, movements have been reconstructed from the documents that caused them. Where stock cannot be attributed to any document, because it was imported as an opening figure or the document was deleted, the difference is recorded as a single opening entry dated before that item's earliest known movement.

The practical consequence: opening stock is exact for every period after that date. For periods before it, the report says so rather than showing a confidently wrong number.