Splix WhatsApp-native · self-hosted

Split the bill by saying so.

Splix sits in the WhatsApp group you already argue about dinner in. Talk to it like a person. It keeps the ledger — exact to the paisa.

Goa Trip 4 members today
Sneh @Splix paid 1840 for dinner, split all
👀
Splix dinner₹1,840, paid by Sneh ↳ ₹460/head × 4 (Sneh, Ravi, Anu, Vidya) e19 · reply "wrong" or "delete e19" to fix

Plain language

No syntax to learn

There is no app. There is no form.

Mention Splix and say what happened, the way you'd say it to a friend. It works out who paid, who's sharing, and how to divide it.

  • paid 1840 for dinner Split equally across the whole group
  • paid 1200 for cab, everyone except Anu Whole group minus Anu
  • spent 600 on chai, split with Ravi Just the two of you
  • Ravi paid 2000 for the hotel Log what someone else paid
  • Ravi paid 900 and I paid 600 for the cab Two payers, one expense
  • I paid Ravi 500 Records a repayment, not a shared cost
  • balance · hisab Who owes what, and the shortest way to square up

Bill photos

Item-aware

Photograph the bill. Say who had what.

Splix reads the receipt — every line item, the printed subtotal, each tax and charge. Then it works out who owes what, spreading the taxes across people in proportion to what they actually ordered.

CAFE ARANYA
Indiranagar, Bengaluru

2 × Paneer Tikka640
1 × Veg Biryani320
2 × Mojito440
1 × Gulab Jamun140

Subtotal1,540
CGST 2.5%38.50
SGST 2.5%38.50
Service charge 5%77

GRAND TOTAL1,694

Sent with the caption:
“@Splix split this — mojitos only me & Ravi”

What Splix computed
Person Ordered Tax share Owes
Sneh495.0049.50₹544.50
Ravi495.0049.50₹544.50
Anu275.0027.50₹302.50
Vidya275.0027.50₹302.50
Total1,540.00154.00₹1,694
📋 Shown back to the group mojitos split 2 ways, rest 4 ways, taxes pro-rata

The mojitos were ₹440 between two people; everything else was split four ways. The ₹154 of tax and service follows the same proportions, so the four shares add back to exactly the ₹1,694 printed on the bill — not ₹1,693.99.

Trust

Where the model stops

The model reads. Arithmetic does the splitting.

Language models are good at understanding a messy sentence and a crumpled receipt. They are not good at money. So Splix doesn't let it near the maths: the model's job ends at reading, and every rupee after that is computed.

It copies totals, never computes them

The grand total is taken exactly as printed. The printed subtotal is then used to check the reading back against the bill.

Whole paise, always

Money is stored as integer paise, and shares are reconciled so a split always sums to the total. No floating-point drift, ever.

It asks instead of guessing

An unfamiliar name gets a question, not an assumption — “🤔 I don't know 'pran' yet — who do you mean?” Answer once and it remembers.

It won't invent an amount

A figure that appears nowhere in your message, or an unusually large one, stops and waits for you to confirm before anything is written.

In practice

The awkward parts

Real groups are messier than a form.

Which is most of why the chat box beats a set of dropdowns.

make that 1840

Corrects the last entry in place. “wrong” deletes it, “it was Ravi who paid” changes the payer.

call me Sneh

Sets what it calls you. Nicknames and short forms are learned as it goes — “sneh” resolves to Snehith next time without asking.

what do I owe overall?

In a DM, your net position across every group at once — not just the one you're standing in.

dashboard

A read-only web page for the group: balances, settle plan, full history. “new link” invalidates it if it leaks.

/balance

Every core action has a plain command that works with no AI at all — and costs nothing to run.

The honest part

Run your own

It's a personal project, and it's yours to run.

Splix isn't a company and there's nothing to sign up for. It's open source: point it at your own spare WhatsApp number and it's yours. The entire ledger is one SQLite file on your machine — back that up and you've backed up everything. Group chatter that isn't about money never leaves the box.

View the source MIT · Node 20+ · SQLite
One caveat, stated plainly. Splix connects through an unofficial WhatsApp library, which is against WhatsApp's terms — the number you use can be banned. Run it on a spare SIM, never your personal number. It's built for a group of friends who all know what it is, not as a product.