Haeminway haemin/way
한국어
3 min read

Tap Ledger: log a coffee in two taps, total it in Sheets

A small expense app with presets, a month view and on-device receipt reading. Export to CSV and rebuild the same monthly totals in Google Sheets with SUMIFS.

Takeaway

Tap Ledger saves a coffee in two taps, reads a receipt total on your device and exports cents-based CSV. I loaded that CSV into Google Sheets and four SUMIFS formulas matched the app’s month total to the cent.

Expense apps don’t lose to bad math. They lose to the moment you’re holding a coffee and the app wants a form. My Tap Ledger demo tries to stay out of the way: tap a preset, check it, save.

Everything in it is fictional: the expenses, “Sam” and the Willow Coffee receipt. No account, no login.

Two taps for a coffee

Today screen with Coffee and Transport presets and recent expenses

Today shows what you spent today and this month, two Quick add presets and your recent expenses.

New expense sheet prefilled with $3.50, Coffee, Food, Today

Tap Coffee $3.50. A sheet opens with the amount, note, category and date already filled in. Tap Save expense. That’s the two taps.

When I ran it, “Spent today” went from $16.25 to $19.75 and the month from $158.28 to $161.78.

The review step is on purpose: a preset that saved on the first touch would also save every accidental touch. If the coffee was $4.10, fix it on the keypad before saving.

A month you can read in five seconds

Month screen with daily spending bars and category totals

Month has a bar per spending day, the highest day and totals by category. With the demo data plus my coffee: Home $73.49, Food $42.10, Transport $27.20, Other $18.99. The CSV button lives at the top of this screen.

The receipt is read on your phone, not uploaded

Review receipt sheet showing $12.40 read from TOTAL 12.40

Scan has a Try a sample button with a fake Willow Coffee receipt. In my test it showed “Found $12.40”, then opened a review sheet quoting the line it used: TOTAL 12.40.

The text recognition runs in the browser with Tesseract.js. The browser downloads the recognition files, but the photo itself is not sent to a server.

Recognition can be wrong, so it never saves by itself. You check the amount, fix it if needed, then save.

From CSV to Google Sheets totals

This is the part I care about most. An app you can’t leave is a trap with nice buttons.

The export has five columns: id, date, category, amountCents, note. Money is stored as whole cents (350 = $3.50), so totals don’t drift from decimal rounding.

Exported CSV rows next to the October category totals rebuilt in Google Sheets

Import the CSV into a sheet (File → Import, or paste it in). Put category names in G1:G4, then in H1:

=SUMIFS($D$2:$D, $C$2:$C, G1,
        $B$2:$B, ">="&DATE(2026,10,1),
        $B$2:$B, "<"&DATE(2026,11,1)) / 100

Fill it down to H4 and add =SUM(H1:H4) under it. In my scratch sheet that gave Food 42.10, Home 73.49, Transport 27.20, Other 18.99 and a total of 161.78, the same as the app’s month screen.

Three things that bit me or almost did:

  • Divide once, at the end. amountCents is an integer. Sum the cents first, then /100. Don’t convert every row.
  • Check the dates are real dates. =ISDATE(B2) returned TRUE in my sheet (US locale). If yours says FALSE, the date filters quietly match nothing and every total shows 0.
  • Use < the first of next month, not <= the 31st. Then you never have to remember which months have 30 days.

What the demo does not do

  • Expenses live in this browser’s storage. Clearing site data or switching phones leaves them behind. CSV is your copy.
  • There is no live sync to Google Sheets and no Apps Script backend in the public demo. The CSV is a snapshot; export again for newer rows.
  • I tested it in desktop Chrome at phone size, not on a physical iPhone.

If you wanted the save button to land straight in a private Google Sheet, that would be an Apps Script web app sitting in the middle, checking who is sending rows before appending them.

That’s a different build from this demo, and I’d scope it with you first.

Try Tap Ledger and log a fake coffee. Want a tiny app like this that feeds your own sheet? Tell me what you track and who needs to see it.

New posts

Get an email when a new post is out.

Just the link and a one-line summary. No ads.