Split Expenses

Open-source agent skill · MIT

Say who paid.
Settle in the
fewest payments.

Describe a shared cost the way you'd say it out loud. Your assistant keeps the running balance, and works out the smallest set of payments that makes everyone even.

  • No account
  • No server
  • Two files

01 In conversation

Just say what happened.

No forms, no categories, nobody else to onboard. Hand over a photo of the receipt, add the part a receipt can't know — who was in on the wine — and the table comes back updated. It always sums to zero, so a mistake has nowhere to hide.

A receipt photo and a sentence become a balanced ledger A photo of a receipt totalling 124 euro is attached and read, next to a plain-language message — Brand paid for dinner, the wine was just two of them, split the food with Cooper. It becomes two line items: wine at 32 euro shared by Brand and You, and food at 92 euro shared by all three. The balances that follow are You at minus 46.67, Brand at plus 77.33, and Cooper at minus 30.66, drawn as bars either side of a zero axis whose two halves are equal, and summing to zero. PARIS · EUR 3 PEOPLE RECEIPT PHOTO €124.00 Brand paid for dinner. The wine was just us two — split the food with Cooper. LINE ITEMS TOTAL 124.00 Wine brand · you 32.00 Food brand · you · cooper 92.00 BALANCES owes owed SUM 0.00 You −46.67 Brand +77.33 Cooper −30.66 ALWAYS SUMS TO ZERO NO APP TO JOIN
Fig. 1 — Receipt photo in, balances out

02 At the end of it

The fewest payments that exist.

When the trip is over, ask it to settle up. You get the shortest list of payments that clears everyone — fewer payments than there are people, every time.

Four balances settled in three payments Four people hold balances: You at plus 268.33, Brand at minus 241.67, Cooper at minus 215.66, and Doyle at plus 189.00. Six pairs among them could exchange money, shown as faint lines. Three of those lines are drawn solid: Brand pays You 241.67, Cooper pays You 26.66, and Cooper pays Doyle 189.00 — after which every balance is zero. SETTLEMENT 4 PEOPLE You +268.33 Y Brand −241.67 B C Cooper −215.66 D Doyle +189.00 SIX POSSIBLE PAIRS THREE PAYMENTS PAYMENTS 3 TOTAL Brand You 241.67 Cooper You 26.66 Cooper Doyle 189.00 EVERY BALANCE AT 0.00
Fig. 2 — Four balances, three payments

03 Install

One file, two ways in.

Download it once. Unzip it for an agent with filesystem access, or upload the very same file to the Claude or ChatGPT apps.

  1. A — A coding agent

    Unzip it into the skills folder your agent already reads.

    unzip split-expenses.zip \
      -d ~/.claude/skills/
  2. B — The Claude or ChatGPT app

    Upload the zip under Settings → Skills, on a plan with code execution.

    Download the skill ZIP · 6 KB

Python 3.9 or newer. No other dependencies, and nothing to configure — start talking about a shared cost.