Changelog

What changed in CoSplit, and the problem that prompted each change.

August 4, 2026

Readable item names

Receipts print item names abbreviated and in capitals — a jar of Kirkland Signature organic peanut butter comes out as something like KS ORG PNT BTR. That is fine while you are standing at the till holding the jar. It is much less fine three hours later, when somebody has to work out which of thirty such lines were theirs.

After a receipt is read, CoSplit now makes a second pass over the item names on their own, expanding abbreviations it recognises and putting the text back into ordinary sentence case. Names that are already clear come back untouched.

On the receiptAfter the pass
KS OMEGA 3Kirkland Signature Omega 3
ESKA LEMONEska Sparkling Water Lemon
AMBROSIA APPAmbrosia Apples
ORG SPINAOrganic Spinach
SPARKLING WTRSparkling Water
MILK 2%left alone
BANANASleft alone

The original text is kept, and it is what you see while you are checking the extracted items against the paper receipt — comparing the two is easier when the words match exactly. The readable names appear at the next step, when you are working out who had what.

Translation is a separate thing and it is off unless you turn it on. Left alone, the rewrite stays in whatever language the receipt was printed in.

March 25, 2026

Receipt-level rounding

The obvious way to split a receipt is one line at a time: work out what each person owes for an item, round it to the nearest cent, move to the next line, add it all up at the end. That is how CoSplit worked at first, and it goes wrong on long receipts. Any item that doesn't divide evenly leaves a spare cent, and that cent kept landing on the same person.

Take sixteen items, $141.34, three people, with every price picked so it leaves exactly one cent over when you split it three ways. Rounding line by line, one person eats that spare cent sixteen times.

Rounding each item

Alice
$47.06
Ben
$47.06
Chris
$47.22
Widest gap16¢

Rounding once

Alice
$47.11
Ben
$47.11
Chris
$47.12
Widest gap
Sixteen items totalling $141.34, split three ways.

Real receipts are never that tidy — this one is a worst case, built on purpose. But the direction is real, and the longer the receipt, the wider the gap.

CoSplit rounds once, at the end. It works out each person's exact share of the receipt total, adds everything up first, and only then rounds. Whatever cents are left over get handed out one each. However many items there are, no two people end up more than a cent apart.

Splitting the receipt total also means discounts and tax are already inside the number being divided, instead of something to add back afterwards.

If there is a spare cent, whoever paid the store is last in line for it. They already fronted the money.