The usual way
A copy per module
The sales report says one thing, the payout says another, and nobody can point at the order where they parted company. The cause is almost never explained to the restaurant.
Product
DineStack is not a suite of products that integrate. It is one event log with seven views onto it. Nothing stores a total — every figure on every screen is folded from the same events, every time it is asked for.
Evidence
The register, the pass and the same register with the network pulled. Same log, same money code, same order underneath all three.



The architecture
Most restaurant software keeps its own copy of the numbers in each module and reconciles them later. It works until the night it does not.
The usual way
The sales report says one thing, the payout says another, and nobody can point at the order where they parted company. The cause is almost never explained to the restaurant.
This way
An append-only log on a tamper-evident chain, and every screen a projection over it. When two figures disagree, one of them is a bug in a projection and we can find it.
Surfaces
Every surface reads the same events. What separates them is which ones they care about and what they are allowed to record.
Consequences
A tablet holds its own copy of the log. It can authenticate staff, price an order and record a cash payment with no connection at all, because the same code that runs on the server runs on the device. Reconnecting replays what happened, deduplicated by a key the tablet generated before it tried.
An order line carries the price and the tax rate it was rung up under. Change your menu tomorrow, or your tax rate next month, and last week’s orders still add up to exactly what the guest paid.