You've probably lived this one.
Dinner with six friends. One card pays. Then the calculator comes out, someone says "wait, I only had the salad," and twenty minutes later you're still arguing about the shared bottle of wine.
So I built a WhatsApp bot for it.
Photograph the receipt. Say who had what — "Ana had the coffee, I had the sandwich, we split the juice." It tells you what everyone owes. No app, no signup.
Two things I learned building it:
The model reads, the code decides. A vision model extracts the receipt. Then a validation layer checks the work — tax ID checksum, VAT arithmetic, line items summing to the total. If the math doesn't hold, nothing gets saved.
I added that after watching the model return confidence: 1.0 on a receipt where it had extracted almost nothing. It was completely certain about knowing nothing.
The LLM never does arithmetic. Split €2.80 three ways and each share is €0.9333. Round it and your €12.00 total becomes €11.99 — a cent quietly vanishes. So the splitting runs in integer cents, and the leftover cent rotates, otherwise the same person pays extra every single time.
"This doesn't add up" is the one sentence that kills a tool like this.
Stack: n8n · WhatsApp Cloud API · Gemini · Google Sheets Handles real Croatian fiscalized receipts — OIB, JIR, VAT breakdown.