DEV Community

Michael Lip
Michael Lip

Posted on

Export a Telegram Group Expense Ledger to CSV: The Reconciliation Step Most Bots Skip

Reconciliation is the part of group expense tracking nobody writes about. The trip is over, the ledger in your Telegram group looks roughly right, and then someone asks: "can you send me the actual numbers?"

If your ledger lives in SplitTabsBot, the answer is /export — and the numbers leave the chat as a plain CSV file that opens in Google Sheets, Excel, or Numbers without any special software.

What /export does

[COMMAND VERIFIED: /export — "Pro: export the group's ledger as a CSV file." — content.ts slug "split"]

Run /export in the group and SplitTabsBot produces a CSV of everything logged so far. No arguments, no format flags. The file reflects whatever the group has logged up to that point via /add, so run /balance or /settle first if what you actually want is the current state or the minimal payment plan — /export is for taking the data somewhere else entirely.

The part that matters: export is a group-level unlock

CSV export is a Pro feature, but it's scoped to the group, not to the person who pays. Run /pro in the group chat and a one-time 150 Stars invoice unlocks unlimited expenses and CSV export for everyone in that chat. Once upgraded, any member can run /export — not just whoever paid. That distinction matters for trips and flatshares, where the person maintaining the ledger is often not the person who'd pay for the tool.

When you actually need this

  • Reconciling after the fact. The chat is archived, but you still want a sortable spreadsheet of who paid for what.
  • A shared budget record. Keep a running CSV alongside the chat so the numbers survive even if the group goes quiet.
  • Doing your own math. /balance and /settle give you the built-in answers; /export gives you the raw rows if your group splits things differently.

The honest boundary

If you don't need a file outside Telegram, you don't need /export. /balance shows each member's net balance and /settle shows the minimal set of transfers that squares the group up — both free, both instant. Export exists because "give me the data" and "show me the state" are different questions.

If you're building out a group's expense workflow, the related guides cover the rest of the loop:

The full command reference for SplitTabsBot lives at tg.zovo.one/bots/split.

Top comments (0)