DEV Community

Michael Lip
Michael Lip

Posted on Originally published at tg.zovo.one

Split Bills and Track Expenses in a Telegram Group

Splitting a shared bill in a chat usually means mental math out loud or a spreadsheet nobody updates. Roommates and trip groups are the worst cases, because costs pile up fast and the people change day to day. The SplitTabsBot ledger keeps the whole record inside the Telegram group itself. You log each expense as it happens, and the bot works out who owes whom with the fewest possible payments, not everyone paying everyone else.

What the ledger does for a group

The bot only tracks numbers, not real money. There is no payment processing inside SplitTabsBot, just a shared ledger and a settlement calculation. That matters for a trip, a shared apartment, or a recurring group buy. The bot tells the group who should pay whom and how much, and the actual payment still happens however your group already pays each other, cash or a bank transfer.

A worked example makes the difference obvious. Four people on a weekend trip: Alice pays $120 for the rental, Bob pays $86 for groceries, Carol pays $40 for fuel, and Dave pays $18 for parking. That is $264 total, so each fair share is $66. A naive settlement would bounce five separate payments around the chat. Run /settle instead, and the group gets the short version: Dave and Carol each owe $48 and pay it to Alice and Bob, done in a handful of transfers.

The ledger is shared, not personal. Nobody's app is the source of truth and nobody has to remember what they paid three days ago. The group chat itself is the record, and anyone in the group can check /balance at any moment.

Logging an expense with one command

Adding an expense takes a single line. Type /add 42.50 dinner @alice @bob, meaning the amount, a short description, then every username sharing that cost. The payer is always included in the split automatically, so you never charge yourself for your own share twice. Log costs as they happen and the ledger stays current without anyone keeping notes on the side.

A real log line reads the way you would say it out loud, a description the group will recognise later. Got the amount wrong? /undo removes the most recent entry and you /add again. Balances are scoped per group, so a household chat and a holiday chat each keep a separate ledger without touching each other.

The settlement math and the calculator

When it is time to square up, /settle takes no arguments and returns the minimal settlement, the smallest set of transfers that clears every balance. Reading the math on how Telegram group expense splitting works helps if you want to check the bot's numbers by hand before money changes hands.

Two people splitting one bill exactly in half do not need a ledger at all. That math is trivial, and writing a number in the chat is enough. The ledger earns its keep when the group has several members and several overlapping costs, which is most roommates and nearly every trip.

Exporting the records to CSV

A running ledger works fine while the group is active, but sometimes you need the numbers outside the chat. Reconciling a finished trip or keeping a record for a shared budget are both good reasons to export. SplitTabsBot's /export command turns the group ledger into a plain CSV file you can open in Google Sheets, Excel, or Numbers.

Per a guide to exporting Telegram group expenses to CSV, /export is a Pro feature, and Pro is a one-time 150 Stars payment, roughly three dollars, scoped to the whole group rather than any one member. Once a group upgrades with /pro, any member can run /export, not just the person who paid. The free tier caps each group at 20 expenses and has no export at all. Export before you run /clear, because clearing wipes the ledger entirely and is not reversible.

Keeping money talk low-friction

Money is the fastest way to turn a good trip into an argument, usually over a difference nobody can reconstruct later. The point of the ledger is that the record is neutral and visible to everyone, so there is nothing left to argue about. Nobody has to remind anyone else what they owe, and nobody has to ask a favour to get the numbers. The bot just shows the minimal path to a clean slate.

Edge cases are worth knowing. /undo removes only the most recent entry, so fix mistakes immediately rather than three days later. A member who leaves mid-trip still shows in balances for expenses already logged against them, because leaving does not erase what they owe. Members are identified by their Telegram username, so if someone changes theirs, tag them exactly as they appear.

If you are planning the shared costs around an event rather than a running household, the event planning guide covers how to gather costs and contributions for a single occasion in the same group chat. All of the bot setup guides live at https://tg.zovo.one/guides/, step by step, ready to follow.

Related reading

Related fleet tools worth a look: the bot hub, whisper. Each one runs as a Telegram Mini App, so nothing to install.

Top comments (0)