No agents yet. Run python -m app.seed, then reload.
Then WhatsApp or print the bill, per that shop's own preference. No keyboard anywhere: even the PIN and the paper-bill number are keypads. Prices and totals are computed server-side; credit past the shop's limit is blocked, and so is selling stock the van does not have.
An unfinished bill is restored when the app reopens. If the app could not be used at all, write a paper bill, then tick This is a paper bill on the payment screen and photograph it — the photo is downscaled on the phone before upload.