Travel Expense Split

If everyone had paid for everything equally, dividing the total by the number of people would be the whole job. What breaks that is the third day, when two people skipped the boat trip and one person put the gas on a card because nobody else had one on them.

Travel Expense Split — Who Paid, Who Owes, and the Fewest Transfers to Settle ItBuildFigure

Every expense carries its own list of people

Each line holds four fields separated by vertical bars: who paid, the amount, what it was, and who it covered. Leave the last field empty and the expense is shared by everyone, which is right for lodging, the car and the tank of gas. Fill it in with a comma-separated list and only those people carry it, which is right for the museum three of you went to and the coffee two of you bought. That is the whole reason this exists — a group where everyone shared everything needs no more than a division, and it is the uneven lines that make the arithmetic worth automating. Names are matched case-insensitively and by prefix, so Sam finds Samantha. A payer who never appeared on the name list is added to the group and flagged, since that is more often a typo than a real omission.

Paid, owed, and why they always agree

Two running totals are kept per person. One is what they actually handed over; the other is their portion of every expense they were part of. Subtract the second from the first and you have the balance: positive means money is coming back to them, negative means they owe. Every expense adds the same amount to both sides of the ledger, so the two columns necessarily add to the same figure, and the totals row prints both so you can see they match. That identity also means the amounts owed to people and the amounts owed by people are equal, which is what makes settlement possible at all.

Cents, and where the odd penny goes

Everything is converted to whole cents on the way in and stays there. Nothing is held as a fraction of a cent and nothing is rounded for display and then quietly re-added, which is the usual way a group settlement ends up a few cents from balancing. When an expense will not divide evenly — $100 between three people — each person is charged the floor, $33.33, and the remaining cent is handed to a specific person rather than dropped. The rule is simple and stated so you can check it: leftover pennies go one each to the people listed earliest on that expense. The Each column marks any line where this happened. Over a trip it amounts to a few cents in one direction, and the alternative is a total that does not reconcile.

Fewer transfers, and the rounding option

Balances say how much each person nets, not who should pay whom, and there are many ways to clear the same set of balances. Matching the largest creditor against the largest debtor repeatedly gets it done in close to the fewest payments: four people settling pair by pair could need six transfers, and this usually finishes in two or three. The consequence is that a transfer may go between two people who never bought each other anything. Nothing is wrong — each person still sends or receives exactly their balance. Leave the rounding on the exact cent and everything clears to zero. Round to whole dollars or to $5 and the transfers get tidier at the cost of a residue, which is reported as a figure so somebody can absorb it deliberately. For a trip paid in another currency, enter the local amounts as they were and ignore the dollar sign; the division is currency-agnostic. Mixing currencies on one list is the thing that actually breaks it, so convert first, ideally from the amounts your card statement posted rather than the rate on the day.

Questions people ask

How is this different from splitting the total by the number of people?

Only in that it handles expenses not everyone shared. If every cost really was shared by everyone, dividing the total is the same answer and quicker. As soon as some people skip an activity, or someone covers a friend, a flat division puts the cost in the wrong place and no amount of adjustment afterwards untangles it cleanly.

Someone paid for another person entirely. How do I write that?

Put the payer in the first field and only the person who used it in the covered field: Dana | 30.00 | Ticket | Marcus. Dana’s paid-out figure rises, her share does not, and the full amount comes back to her. If it covered both of them, put Dana,Marcus and it halves.

Why do the transfers pair people who never bought anything for each other?

Because the algorithm clears balances rather than reconstructing history. Matching the biggest creditor against the biggest debtor first minimizes the number of payments, and pairings fall out of the sizes involved. Check the balance table: every person still sends or receives exactly what they owe or are owed.

Is anything saved?

No. The arithmetic runs in your browser and a refresh empties it. To build the list as the trip goes, keep the expense lines in a notes app and paste them in at the end — order does not matter. Afterwards, the text output pastes straight into a group chat and the print sheet has a checkbox column for ticking off transfers as they land.

Related