How BillSmart Works

BillSmart turns a messy pile of “who paid for what” into the shortest possible list of transfers. This page explains exactly what happens between the numbers you type and the settlement you get, including how exchange rates are handled and where rounding can bite.

Step 1 — Pick a base currency

Everything is settled in one currency. Pick the one your group will actually transfer money in, not the one you spent the most in. If four friends live in Taiwan and travel to Japan, the base currency should be TWD, because that is how they will pay each other back afterwards.

If you change the base currency after entering payments, BillSmart re-converts every existing payment rather than making you start over.

Step 2 — Add everyone in the group

Enter the number of people and fill in their names. Names are only labels used to attach payments to a person and to print the final transfer list. Everyone who either paid for something or benefited from something needs to be in the list, even if they never pulled out a wallet.

Step 3 — Log each payment

Every payment needs three things:

  • Who paid — the one person whose card or cash covered the bill.
  • How much, and in which currency — the amount exactly as it appeared on the receipt, in the currency it was charged in.
  • Who it was for — the “Pay for” multi-select. Pick one person, several, or everyone. This is what makes an uneven split possible.

There are no categories, no receipt uploads and no photos. The tool is deliberately narrow.

The most common mistake: logging a €120 dinner as “paid for everyone” when one person skipped dessert and drinks. Split it into two entries instead — one for the shared food, one for the items only some people had. Two entries take ten seconds and remove the argument entirely.

Step 4 — What happens to the exchange rate

When a payment’s currency differs from the base currency, BillSmart requests a rate for that specific currency pair and multiplies the amount by it. The rate that was used is shown next to each payment, so you can check the maths later rather than trusting a black box.

Rates come from three sources, in order:

  1. Frankfurter, which publishes European Central Bank reference rates.
  2. open.er-api.com, used when the first source has no data for that pair.
  3. A small built-in fallback table, used only if both live sources are unreachable.

Each pair is fetched once and reused for the rest of your session, so every payment in the same currency converts at the same rate. If no rate can be found at all, BillSmart shows an error instead of quietly saving a wrong converted amount.

Reference rates are not your bank’s rate. A card issuer typically adds a spread, and a foreign-transaction fee on top of that. Expect your statement to land somewhere around 0.5–3% away from what you see here. For settling up between friends that is close enough; for reconciling a company expense report, use the figure on the statement.

Step 5 — How the settlement is calculated

This is where most people expect something complicated, and it is genuinely simple. BillSmart never tracks “A owes B” per transaction. It only tracks one number per person.

For each person it computes:

  • Paid — the total of every payment where they were the payer, converted to the base currency.
  • Owed — their share of every payment they benefited from. A payment is divided evenly among the people it was for.
  • Net balance — paid minus owed. Positive means the group owes them; negative means they owe the group.

The net balances always sum to zero. BillSmart then repeatedly matches the largest debtor with the largest creditor and moves the smaller of the two amounts, until every balance is cleared. That pairing is what keeps the transfer count low — you end up with at most one fewer transfer than there are people, and usually fewer than that.

A worked example

Four friends — Ana, Ben, Chen, Dara — on a trip settling in USD:

PaymentPaid byForAmount
Hotel, 2 nightsAnaAll four$480
Rental carBenAll four$200
DinnerChenChen, Dara$80

Ana paid $480 and owes $170 (a quarter of the hotel and the car), so her net is +$310. Ben paid $200 and owes $170, so +$30. Chen paid $80 and owes $210, so −$130. Dara paid nothing and owes $210, so −$210.

Naively that looks like six possible debts between four people. BillSmart returns three transfers: Dara pays Ana $210, Chen pays Ana $100, Chen pays Ben $30. Everyone is square.

Rounding, and why a cent sometimes goes missing

Amounts are displayed to two decimal places. When a bill does not divide evenly — $10 split three ways — the underlying maths keeps the full precision and only the display is rounded, so the transfer list still balances to zero. What you may notice is a share showing as $3.33 three times against a $10 total. That is a display artefact, not an error in the settlement.

If your group cares about the last cent, round each transfer up for whoever is paying and let the difference sit with the person who is owed the most. Nobody has ever ended a friendship over three cents.

What BillSmart does with your data

There is no account and no database. The names and amounts you type live in the page while you have it open, and are gone when you close or reload the tab.

The one request that does leave your browser is the exchange-rate lookup, which contains only a currency pair such as JPY to TWD — no amounts, no names. Full detail is in the privacy policy.

The flip side of having no database: you cannot come back to a half-finished trip tomorrow. For a long trip, enter payments as you go and screenshot the settlement at the end, or keep the tab open.

When BillSmart is the wrong tool

Being honest about the limits saves you time:

  • Ongoing shared finances. For rent and bills every month with the same people, a dedicated app with an account and history serves you better.
  • Percentage or share-weighted splits. A payment is divided evenly among the people selected. To give someone a double share, enter the payment twice with different groups.
  • Bookkeeping and tax. Reference exchange rates are not the rates an accountant or a tax authority will accept.

Next steps

Open the calculator and log your first three payments — it takes about a minute. If something behaves unexpectedly, the FAQ covers the questions we get most, and the guides go deeper into the etiquette side of splitting money with people you like.