text teresa, she keeps the tab
an expense tracker that lives in your whatsapp. alone, on a trip, or on set - no app, no forms, just text it.
text teresa on whatsappfood 1,240 ยท groceries 620 ยท transport 545 ยท fun 440
12% under july ยท receipts on 3 of 9 20:16
a private ledger. the ๐ธ is the only reply an expense gets - it talks when you ask.
ann
| date | description | receipt | amount |
|---|---|---|---|
| 28 Aug | cine | 180 | |
| 29 Aug | groceries | none | 620 |
| 29 Aug | coffee | none | 45 |
| + 6 more this month | |||
your month, receipts included, one link away - live, no login. yours alone unless you share it. open the live example โ
1 page ยท 2 KB ยท pdf9:13๐
ann is owed 2,100
milo owes 1,100 ยท ale owes 1,000
to settle:
- @milo โ ann 1,100
- @ale โ ann 1,000 22:30
nobody filled a form. the ๐ธ and the ๐ are the only signs it was listening.
mexico city trip
final balances
| date | description | paid by | receipt | amount |
|---|---|---|---|---|
| 27 Aug | breakfast | milo | 400 | |
| 26 Aug | airport uber | ale | none | 300 |
| 26 Aug | hotel for 2 nights | ann | 3,600 |
everything it logged, receipts included, one link away - live, no login. open the live example โ
production 6,800 ยท art 780
budget: 7,580 of 20,000 used ยท 12,420 left (38%)
by person: ale 4,500 ยท milo 2,300 ยท ana 780 18:05
nobody owes anyone here. it keeps the book, fills the columns you asked for, and watches the budget.
short film
by person
| description | paid by | payment | receipt | amount |
|---|---|---|---|---|
| tape + gels | ana | own | 780 | |
| catering | milo | company card | none | 2,300 |
| location permit | ale | own | none | 4,500 |
totals by person and category, the budget bar, the column you asked for - live, no login. the producer's spreadsheet, without the spreadsheet. open the live example โ
how it works
- say hi. tap the button above, or add it to a group. it introduces itself on the first message.
- text what you spent. "spent 300 on groceries" ยท "uber 89" ยท "cine 180 ayer". it reacts ๐ธ when logged. any language, no commands, no forms.
- fix mistakes in words. "that was 350" ยท "delete the tacos" ยท "the uber was yesterday".
- ask whenever. "summary" ยท "how much on food this month?" ยท "send me the xlsx for july".
three ways to use it
- just you. message it directly. a private ledger: what you spent, on what, receipts attached. summary and downloads whenever. see an example โ
- a trip that splits. a trip, a dinner, the flat - any group that shares costs. it remembers who paid, splits among everyone (or "just milo and me"), and posts who owes who when you close the tab. see an example โ
- with a budget. a film shoot, a house fund, one company card. say "no split" once and nobody owes anyone - it adds everything up by person and category. say "budget 20,000" and it warns you at 80% and at 100%; the page shows the bar. see an example โ
in a group
- it reads quietly, logs any expense someone mentions and remembers who paid.
- "@teresa new tab Trip" opens a tab; "@teresa close the tab" freezes it and posts the final numbers.
- splitting? @mention it for "who owes what", "settle up", "milo paid me 200".
- not splitting? "no split" turns the tab into a plain shared ledger; "split" turns it back.
- "budget 20,000" caps the tab. it posts a line at 80% and when you go over; "how much is left?" anytime. the page shows the bar.
the link
- every chat gets one page: live list, totals, csv/xlsx/pdf - and balances when the tab splits. no login.
- ask "send me the link" anytime.
- anyone holding the link can open it - say "new link" and the old one stops working.
- prefs live in chat too: "use USD", "timezone mexico city", "rename this to house".
- need another column? "add a payment method field: own, company card, cash - default own". it fills itself from what you write ("lunch 40 on the company card"), shows up here and in the exports, and "spend by payment method" just works.
that's the whole thing
no app to install, no account to make. text it what you spent and it keeps the book.
text teresa on whatsappfirst message says hi ยท the ๐ธ does the rest