Skip to content

The Financial Boundary — what the stock domain hands to the books

What this covers. This system is deliberately not an accounting system. The operator's books — the general ledger, the journal entries, the chart of accounts, the tax filings — live in their accounting package (QuickBooks, Xero, or whatever their accountant runs). What the stock domain does instead is emit a small, fixed set of conceptual accounts: named money buckets with stable meanings that an export can map onto any chart of accounts. This chapter names those buckets, defines what each one means, and says what produces it — so that every "this lands in the cost of goods sold" claim elsewhere in these docs has a precise destination, and so the export to the books is designable without guessing.


1. Not an accounting system — on purpose

A restaurant operator already keeps books, and already pays someone to keep them right. Running a second general ledger inside the inventory system would mean two books making claims about the same money — and two books that can disagree are how small-business accounting quietly goes wrong. So the boundary is drawn deliberately: the stock domain owns the facts only it can know — what stock is physically worth at each warehouse, what every plate cost, how much purchase VAT is waiting to be reclaimed, what each oven is worth after wear — and the accounting package owns everything else: double-entry postings, the chart of accounts, payroll, rent, the tax return.

The handover is a vocabulary. A conceptual account is a named bucket with a stable meaning — "food cost," "input-VAT receivable" — not a row in a general ledger. The operator's accountant decides which real account each bucket maps onto; the stock domain guarantees only that a bucket's meaning never shifts under them. The buckets below are the complete set.


2. The buckets, one by one

2.1 Inventory on-hand value — the asset

What it means: the value of the stock physically held, per warehouse — the quantity on hand times the blended average cost, derived from the movement journal and the valuation entries, never stored as an editable number. On a balance sheet this is the inventory asset. The figure each warehouse reports is two numbers kept apart: the value of its stock pools — the goods carried under perpetual inventory — and, beside it, the value of its small-tools pool (the treatment that expenses a unit on write-off, §2.6). They are held separate so small tools still awaiting write-off never read as the stock pools' value: one warehouse, two on-hand values that must not be added together as if they were the same kind of thing. (A counted consumable's book holds quantity and no value, so it adds nothing to either figure.)

What produces it: every stock movement and valuation entry touching the warehouse keeps the running figure current; the period close snapshots it as the authoritative balance, reconciled by the physical count.

Tiny example. A warehouse that just received €424.00 of flour and €106.00 of wine (net of recoverable VAT) reports €530.00 of stocked on-hand value — until something is consumed, wasted, transferred, or counted. If the same warehouse also holds €360.00 of frying pans, that €360.00 rides alongside as the small-tools pool value, reported as its own per-warehouse figure rather than folded into the €530.00.

2.2 Cost of goods sold — split into food cost and packaging cost

What it means: the cost of goods sold (COGS) is the cost of the stock consumed to make the period's sales. It is emitted as two buckets: food cost and packaging cost, split by the item's packaging role. The split is the entire reason the role exists: the food-cost percentage is the most-watched number in a restaurant's economics, and it must not be polluted by the price of the box the dish ships in.

What produces it: every consumption movement and every shrinkage movement, valued at the warehouse's price for the period — a dish sale exploded through its recipe to leaf ingredients, a direct sale of stock, and outright losses (waste, expired stock, count shortages) all land here for stock items. The routing is by the item's accounting treatment: a small tool's shortage routes to the small-tool write-off bucket, not here, and a counted consumable's losses carry no value at all. Shrinkage needs no separate mechanism to reach this bucket: the count's shortage is an ordinary issue priced like any other, so what silently vanished — theft, spoilage, over-portioning — flows into COGS rather than hiding in a side pocket.

Tiny example. A dish leaves the line carrying €2.40 of ingredients and a €0.80 kraft clamshell: €2.40 to food cost, €0.80 to packaging cost. A 2 kg batch of ingredients spoils and is written off at the €0.84 pool price: €1.68 to food cost — the same bucket, the same logic as a sale. At the close, a further 10 kg of flour the book expected is nowhere to be found: the shortage carries roughly €8.34 (10 kg at the €0.8343 period price) into COGS.

2.3 Price-difference expense

What it means: money the books cannot honestly put on a shelf — because the pool it belongs to holds nothing, or because attaching it would contradict a figure already settled — is recognized as expense here rather than parked somewhere it would quietly distort what stock is worth.

What produces it: two things. Late value news with nothing to land on — a sending warehouse's price struck after the receiving warehouse has closed the period the transfer landed in, arriving at a pool whose open period holds no stock and expects none, or concerning history already summarized by the warehouse's initial balances. And what a close cannot seal — where the arithmetic would leave a pool holding value behind no stock, or negative value behind real stock, the close books that money out here so the period's identity still closes and the figure is visible (see Period close).

Tiny example. A transfer of 500 kg reaches warehouse B in June at the sender's provisional €0.80/kg, and B closes June. The sender then strikes €0.84/kg — €20.00 more. If B's open July still holds or expects that item, July's stock absorbs the €20.00 and its price is struck over the larger total; if B's pool has since been emptied and nothing is arriving, the whole €20.00 is price-difference expense.

2.4 Input-VAT receivable

What it means: in the EU regime, the VAT paid on purchases that the tax authority owes back — a receivable (money owed to you), routed out of stock value at receipt so inventory stays valued net of recoverable tax.

What produces it: the recoverable part of each goods-receipt line's tax, line by line. Tax that is not recoverable never fills this bucket: it capitalizes into the goods instead.

Tiny example. One delivery: flour at 6% VAT (€24.00) and wine at 13% (€13.00), both fully recoverable — €37.00 of input-VAT receivable, while the stock is valued at the €530.00 net.

2.5 Expense-on-receipt expense

What it means: the full cost of consumables and counted consumables, recognized the day they are received — one line for both, because the expense is the same nature; only the quantity book differs.

What produces it: goods-receipt lines whose item is a consumable or a counted consumable — oil, salt, gloves, cleaning supplies. (Such an item still costs into recipes at a reference price, but that is a costing convention for the theoretical side of variance, not a stock value.)

Tiny example. €6.50 of salt on a delivery is €6.50 of expense that day — and the last anyone asks the books about that salt.

2.6 Small-tool write-off expense

What it means: the cost of small tools — pans, knives, trays — recognized the day a unit dies, not the day it was bought and not spread over time. Small tools accumulate in a quantity-and-value pool by purchases; this bucket is their only exit for value.

What produces it: every outflow of a small tool, valued at its pool's blended average — an explicit write-off (broken, lost, worn out), or the shortage a periodic count (commonly annual) finds. Routed by the item's treatment, so it never lands in cost of goods or shrinkage: a dead pan is not a kitchen-efficiency signal, and the food-cost percentage must not be polluted by it.

Tiny example. Twelve €40 frying pans were received during the year (€480 into the small-tools pool, no expense). Two burned out and were written off, and the annual count found one more missing: €120 of small-tool write-off expense for the year; €360 of pans remain on the books.

2.7 Depreciation expense, and gain or loss on asset disposal

What they mean: depreciation expense is the slice of a capitalized asset's cost recognized each month as it is used up; gain or loss on disposal is proceeds minus book value when an asset is retired or sold.

What produces them: the fixed-asset sub-ledger. The monthly straight-line run posts each in-service asset's slice — evenly over its useful life, the only depreciation method the stock domain runs (jurisdiction-grade methods are the external accountant's job, on the other side of this boundary). A disposal computes its result against the asset's remaining book value.

Tiny example. A €4,500 combi oven on a five-year life posts €66.67 of depreciation expense each month. Sold after two years for €3,000 against a €2,900 book value, it recognizes a +€100 gain on disposal.


3. The buckets at a glance

Conceptual account What it means Produced by
Inventory on-hand value what stock is worth, per warehouse — the stock pools' value and the small-tools pool value as two distinct figures every movement + valuation entry; snapshotted at the close
COGS — food cost the food consumed for the period's sales consumption at the period price; shrinkage through the count's own shortage
COGS — packaging cost the packaging consumed with those sales consumption of packaging-flagged items
Price-difference expense money that can't be attached to stock a transfer's late value news arriving at a pool with nothing to absorb it; value a close cannot seal into a snapshot
Input-VAT receivable reclaimable purchase VAT (EU regime) each goods-receipt line's recoverable tax
Expense-on-receipt expense consumables and counted consumables at receipt their goods-receipt lines
Small-tool write-off expense dead small tools, at the pool average write-offs + count shortages of small tools
Depreciation expense the monthly straight-line slice the depreciation run over the asset register
Gain/loss on asset disposal proceeds − book value an asset disposal

4. How the export works

The operator queries the export for any date window — the period close is the natural rhythm (that is when the authoritative balances are struck), but mid-month cuts for tax purposes or year-end reconciliation are equally valid; a day inside a closed period is answered at that period's settled quantities and struck price, whatever calendar the period ran on (Period close §2). Every figure derives live from recorded artifacts — stock movements, valuation entries, posted documents, asset-register rows — so it can be reconstructed, tied out, and audited at any time. There is no stored export snapshot to go stale.

Inventory on-hand value is always per warehouse, because each warehouse closes independently. Each warehouse row also carries a "closed through" date — the most recent accounting period that has been formally closed there. A warehouse that has never been closed shows none. This marker tells the operator's accountant how authoritative each warehouse's figure is: a closed figure has been tied to a physical count; an unclosed figure is still a running estimate. All the cost-flow buckets (COGS, price-difference, expense-on-receipt, small-tool write-offs) are company-wide, with no warehouse qualifier, because the cost of what was consumed is a company-level question, not a warehouse-level one.

Late corrections change figures on re-export. The export has no snapshot ledger of its own — it reads the documents as they stand. If a goods receipt is cancelled after the window was exported, re-exporting that window will show different expense-on-receipt and input-VAT numbers. The stock domain's answer to that situation is re-export, not a correction journal: run the export again and reconcile the difference with the accounting package. The period-close snapshot freezes on-hand value; the cost-flow buckets remain re-derivable from the live document history.

No general ledger, no journal entries, and no chart-of-accounts management lives in this system. Turning the buckets into double-entry postings against the operator's real accounts is the accounting package's job, on the other side of the boundary.


See also

  • Costing & valuation — the net-vs-gross split, the period price, and what becomes of value news that arrives about a period already closed.
  • Period close — the period close that snapshots on-hand value and prices the shortage that carries shrinkage into the cost of goods sold.
  • Item model & policies — the accounting treatments and the packaging role that decide which bucket a cost lands in.
  • Fixed assets — the asset register, the straight-line run, and disposal behind the two asset buckets.
  • Sales & consumption — the consumption that becomes the cost of goods sold.
  • Procurement — the goods receipt where the VAT split and the expense-on-receipt recognition happen.
Last updated · History