Skip to main content

How to Import a Splitwise Group into RFok Split (CSV Guide)

Moving from Splitwise doesn’t mean re-typing a season of expenses by hand. A Splitwise group exports to CSV, and that file imports straight into RFok Split: paste it into the import dialog and every rebuildable row becomes an exact-split expense in its original currency. This guide shows what the file looks like, how each row is converted, and which rows get skipped — on purpose, and reported honestly.

Why move a group

If Splitwise is working for you, keep using it — switching always has a cost, and we say exactly that in our alternatives comparison. The usual reason to move an active trip is the combination Splitwise doesn’t give you: every expense kept in its original currency, and settlement with the fewest transfers. The good news is that moving is a copy, not a re-entry — your Splitwise history can stay where it is.

What the CSV looks like

Export a Splitwise group and you get one row per expense under a header like Date,Description,Category,Cost,Currency, followed by one column per member, optionally ending in a Total balance column:

  • Date / Description / Category — land on the expense’s date, note, and category as-is.
  • Cost + Currency — the amount and the currency it was paid in.
  • One column per member — that member’s signed net for the row: positive means they lent (paid), negative means they owe.
  • Total balance — an aggregate column; ignored on import.

Detection is automatic: a pasted file whose header carries date, description, cost, and currency is recognized as a Splitwise export. There is no mode to pick — cost is the one token our own export format never uses, so the two can’t be confused.

From nets to exact splits

Each row is rebuilt as an exact split: the single positive-net member becomes the payer, every negative-net member owes their absolute net, and the payer’s own share is whatever the lent amount didn’t cover — cost − Σ owed, included only when positive. Nothing is approximated: the parts either sum to the cost, or the row doesn’t import at all.

A worked example

A dinner row: cost 90, with member nets A +90, B -30, C -30. A is the payer (the only positive net); B and C owe 30 each; A’s own share is 90 − 60 = 30. The row imports as one expense of 90 paid by A, split exactly A:30, B:30, C:30.

“You” is you

Splitwise exports the exporting account as You. On import, that column maps to your display name in the group. Every other member column matches group members by name — and a name that matches nobody is reported back to you rather than silently pinned on the wrong person. A failed match is a fixable mapping problem, never a misattribution.

Rows that get skipped, on purpose

Three row shapes are left out, and you are told which:

  • No usable cost — a missing or non-positive amount can’t back a split.
  • Not exactly one lender — zero or multiple positive nets (Splitwise multi-payer rows) don’t map to a single payer.
  • Owed more than the cost — the negative nets sum past the cost by more than a 0.02 rounding tolerance.

Skipped rows are counted and reported, never imported as dirty data — and totals are validated to the cent (a 0.01 tolerance), so a row that doesn’t add up stays out of your ledger.

Currencies come along

Every row imports in the currency it was paid in — the same original-currency discipline as our multi-currency guide. Once the group is in, net balances and settlement with the fewest transfers take over, in one settlement currency. Ready to move a group? Try RFok Split free.

Ready to split your trip?

Create a group, log as you go, and get fair balances plus the fewest transfers automatically.