Retail Cigarette Distribution development / local
Not signed in
Field Billing
Test logins (seeded)

No agents yet. Run python -m app.seed, then reload.

The 3 taps
  1. Pick the shop on the beat
  2. Usual order pre-fills — adjust, add extras
  3. Pick how it was paid

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.

If the phone dies

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.