01 — The problem
Counting cash on paper is where the day goes wrong
Kirana stores, food stalls, salons, pharmacies, petrol-pump shift handovers, event volunteers — anyone who closes a drawer knows the three ways it breaks. The denomination arithmetic is error-prone by hand. A spreadsheet has no running record of which days ran short. And a generic web counter wants an account, or quietly phones your numbers home.
Paper slips
3 × ₹500 + 7 × ₹100 in your head, at 11pm, tired. One slip and the till is "short".
Spreadsheets
They add up today, but nobody scrolls back to see the pattern of shortages building.
Cloud counters
Sign up, log in, and your daily takings sit on someone else's server. For a cash count.
02 — Step one
Count the drawer by denomination
The grid is the drawer, seen from above: one well per note and coin. Tap the steppers or type a quantity, and each well shows its own subtotal while a grand total runs live at the bottom. Five verified currency presets — INR, USD, EUR, GBP, PHP — plus a free "other amount" row for a withdrawn ₹2000 note or a commemorative coin.
Every rupee is computed in integer paise — never floating-point — so a decimal-currency count can't drift by a rounding cent.
03 — Step two
Reconcile against what the drawer should hold
The expected total is simple and honest arithmetic you enter yourself:
Payouts are a small labelled list — "milk vendor ₹350", "auto fare ₹80". The app can't read your POS, bank, or UPI, and never pretends to. The variance is only ever as good as the numbers you type.
04 — The verdict
Counted minus expected — tallied, short, or over
One subtraction gives the whole answer, stamped in words and colour so the state is never colour-only. Here the drawer is a little light.
Tap a state to see how the same band reads for each verdict.
05 — The record
A dated log makes the pattern visible
Save one closing per date and the history strip does the rest — days closed, how many were short, the net variance, and the worst day highlighted. A slow leak nobody noticed on paper shows up here on the first read.
06 — The guarantee
Privacy the browser enforces, not a promise it makes
Most apps say "we don't sell your data". tillclose ships a single line that makes it
impossible to send anything at all — a Content-Security-Policy with connect-src 'none'.
The browser refuses every network call the page could try to make.
- No network, ever. No fetch, no analytics, no cloud sync — the policy blocks it, so it can't happen by accident either.
- No accounts. Nothing to sign up for. Your counts and closings live only in this browser's local storage.
- Works with no signal. With zero network dependencies it runs at a stall, a basement counter, a power cut.
07 — At a glance
Everything tillclose does — and nothing it doesn't
Denomination grid
5 verified currency presets as drawer wells with steppers, live subtotals, and a running total in integer minor units.
Expected-cash panel
Opening float + cash sales − a labelled payouts list. Every figure hand-entered — no fake POS import.
Variance verdict
TALLIED / SHORT / OVER to the paise, in words and colour, never colour alone.
Dated history
One closing per date, a summary strip, and the worst day flagged so shortages surface.
Printable sheet
A clean close sheet with "Counted by / Verified by" sign-off lines for the physical till file.
CSV export
RFC-4180 history for the accountant, plus a per-day denomination breakdown. Your only backup.
Float carry-forward
One tap prefills today's opening float from the last saved closing.
Light & dark
Both WCAG-AA legible, system-preference aware, with a manual toggle.
Close today's till in your own browser
Free, open source, and offline. No install, no account, no network — just open it and count.
Open tillclose →Runs 100% offline · figures never leave the browser · MIT licensed