1 Morning · under the awning, going out
Pack out: list what you carry
Item, quantity, unit price — that's the whole morning count. One tap copies your last day at this market, so a regular Tuesday takes seconds.
No POS, no per-sale tapping, no spreadsheet at midnight. You count your stock twice — once going out, once coming back — and sold units, expected cash and variance fall out of the arithmetic. This page walks through exactly how, with the same numbers the app computes.
The market closes. You're tired, the light is going, the crates are half-packed — and one question hangs over the cash box: does the money match the stock?
Most vendors answer it one of three ways: they don't (and hope), they tap every sale into a POS app all day (and miss sales while tapping), or they rebuild the day in a spreadsheet at midnight. The "craft fair inventory spreadsheet" is a whole genre for a reason.
stallpack takes a fourth path, the one market sellers already half-do by hand: count twice, and let subtraction do the rest.
A real worked example — the same fixture the app's self-tests prove, to the paisa.
1 Morning · under the awning, going out
Item, quantity, unit price — that's the whole morning count. One tap copies your last day at this market, so a regular Tuesday takes seconds.
2 Evening · under the awning, coming back
The morning list reappears with big +/− steppers and a one-tap Sold out. Anything you don't touch defaults conservatively to returned = carried — zero sold, never an invented sale.
3 No typing — just subtraction
Every rupee is computed in exact integer paise — no floating-point drift, ever. The orange segment is your day: what left the crate and never came back.
4 The moment of truth
Count the cash box, add one digital-payments total (UPI/card), and the day sheet gives its verdict. Here: ₹140 short — maybe a discount, maybe a miscount. The band tells you that, never who.
Variance is arithmetic — discounts, haggling, freebies, miscounts and loss all look the same here. This is not theft detection.
One item, live. This demo runs the same integer-paise engine this page's self-tests verify — nothing is saved, nothing is sent.
Returned can never exceed carried — the app clamps it, so a slip of the thumb can't invent sales.
Your takings are nobody's business. stallpack doesn't just say it won't send your data — it ships a policy that makes the browser itself refuse to.
The page's Content-Security-Policy header includes:
default-src 'self'; connect-src 'none'
fetch, XHR and WebSockets are all refused by the browser, by policy.The honest flip side: clearing site data or switching devices loses your history. There is no cloud copy — by design.
Name your recurring markets — "Tuesday haat", "Sunday craft fair". Every day record is tagged to one, so history compares like with like.
One tap pre-fills today's pack list from your last day at that market. Regulars pack out in seconds.
Big steppers, one-tap "Sold out", a progress strip — and untouched items default to zero sold, never a guess.
Sold-per-day, sell-through %, and a "best day sold N" badge used as the suggested pack quantity next time. A history lookup — not forecasting, and no AI anywhere.
A pack checklist to tick while loading, a printable day sheet, and RFC 4180 CSV export — the one way data leaves, and your backup.
Integer paise everywhere, Indian digit grouping (₹1,23,456.75), display-only $/€/£ option, prices validated to 2 decimals.
A free market stall & craft fair inventory tracker for weekly-haat and street-market vendors, flea-market, craft-fair and pop-up sellers. You count going out and coming back; the app computes sold, expected takings and variance from those two counts.
Three lines of arithmetic in exact integer paise: sold = carried − returned per item; expected = Σ sold × list price; variance = (cash + digital payments) − expected. A miscount at either end shows up as variance.
No — and it can't. The page's Content-Security-Policy sets connect-src 'none', so the browser itself blocks every network request. No server, no account, no analytics; localStorage only, CSV export the only exit.
No. It's pure arithmetic, and the verdict band says so explicitly — discounts, haggling, freebies, breakage, miscounts and theft all look identical in it. It never accuses.
Free, offline, MIT-licensed. Works on the phone already in your pocket — even with no signal at the market.
Open stallpack →