Skip to content

veritas6161/clawsplit

Repository files navigation

ClawSplit

Free, open-source group expense splitting for WhatsApp trips.

ClawSplit launch illustration

ClawSplit is the "give this skill to your Claw" version of Splitwise: send receipts, messy group-chat instructions, or custom rules, and your AI assistant keeps a clean ledger, asks clarifying questions, publishes running balances, and produces the final settlement.

Built for the exact moment when Splitwise says you have hit a daily limit in the middle of a trip.

Why This Exists

Group trips generate real-world expense chaos:

  • One person pays for dinner.
  • Someone had drinks, someone did not.
  • One receipt has individual meals, shared appetizers, tax, tip, and a weird discount.
  • People want updates every couple of days, not accounting homework every night.

ClawSplit turns that into a durable ledger and settlement plan.

What It Does

  • Logs expenses from receipt images or plain text.
  • Supports equal, excluded, fixed, itemized, proportional, and mixed splits.
  • Keeps a Markdown ledger as the source of truth.
  • Publishes group summaries during the trip.
  • Produces a minimum-transfer settlement at the end.
  • Works as an OpenClaw skill, so your assistant can run it inside WhatsApp or Telegram.
  • Keeps the math deterministic and testable.

The Pitch

Splitwise asked me to watch ads and capped my entries on a trip. In the age of AI, that felt insane. So I made ClawSplit: a free, open-source WhatsApp trip splitter. Give the skill to your Claw, add it to the group, send receipts, and it keeps the ledger no matter how weird the split gets.

Quick Start

Clone the repo:

git clone https://github.com/Joeyp1061/clawsplit.git
cd clawsplit
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Run the tests:

pytest

Try the demo:

clawsplit demo

Calculate settlement from the example ledger:

clawsplit settle examples/dallas-trip-ledger.json

Install As An OpenClaw Skill

Copy the skill folder into your OpenClaw skills directory:

cp -R skill/clawsplit ~/.openclaw/workspace/skills/clawsplit

Then tell your assistant:

Use the ClawSplit skill for this trip. Participants are Alex, Priya, Marco, and Jamie. Default split is equal unless I say otherwise.

In the WhatsApp group, use messages like:

Log this dinner receipt. Alex paid. Food split 4 ways, cocktails only Alex and Marco, tax and tip proportional.
Uber was $38.40, Priya paid, split Alex/Priya/Jamie only.
Where are balances right now?
Final settlement.

Split Types

Split type Use when Example
Equal Everyone shares the cost Dinner, $120, split 4 ways
Exclusions Some people are excluded Drinks, no Jamie
Fixed amount Someone owes a known amount Priya owes $18, rest split 3 ways
Itemized Receipt lines map to people Alex had burger, Marco had tacos
Proportional Tax/tip should follow item totals Restaurant receipt with tax and tip
Mixed Different categories use different rules Food 4-way, cocktails 2-way

Ledger Model

The ledger stores expenses as structured JSON so the math can be verified:

{
  "participants": ["Alex", "Priya", "Marco", "Jamie"],
  "expenses": [
    {
      "date": "2026-06-22",
      "merchant": "Stadium Tacos",
      "payer": "Alex",
      "total": "86.40",
      "shares": {
        "Alex": "31.20",
        "Priya": "18.40",
        "Marco": "18.40",
        "Jamie": "18.40"
      },
      "notes": "Alex covered extra drink"
    }
  ]
}

Balances are always computed from the ledger:

net_position = paid - owed
positive = others owe this person
negative = this person owes others

WhatsApp Flow

  1. Add your Claw/OpenClaw assistant to the trip group.
  2. Set participants and default rules once.
  3. Send receipt images or expense text.
  4. The assistant asks only when needed.
  5. Every two days, ask for a balance summary or schedule one.
  6. At the end, ask for final settlement.

Recommended assistant behavior:

  • Ask for payer if missing.
  • Default to equal split if no rule is given.
  • Ask one clarifying question for ambiguous receipts.
  • Never mutate past entries silently; add corrections.
  • Verify balances sum to zero after every entry.

Example Group Summary

ClawSplit update — Dallas Trip

Tracked: 14 expenses, $1,842.55 total

Running balances:
Alex: +$312.10
Priya: -$84.70
Marco: -$102.25
Jamie: -$125.15

Everyone nets to $0.00. Clean.

Final Settlement Example

Final settlement — Dallas Trip

To close this out:
- Jamie pays Alex $125.15
- Marco pays Alex $102.25
- Priya pays Alex $84.70

Three transfers. Done.

What ClawSplit Is Not

  • Not a hosted payment service.
  • Not a bank connector.
  • Not a replacement for legal/accounting records.
  • Not a full consumer app yet.

It is a clean open-source skill and engine for AI-native group expense tracking.

Roadmap

  • Receipt OCR adapter examples.
  • WhatsApp webhook reference bot.
  • Markdown ledger publisher.
  • Multi-currency conversion notes.
  • Scheduled trip summaries.
  • CSV export.
  • Splitwise import/export helper.

Name

Use ClawSplit.

OpenSplitClaw is descriptive, but it is too long and sounds like infrastructure. ClawSplit is short, product-shaped, and obvious enough: a Claw that splits expenses.

License

MIT

About

Open-source AI-native group expense splitting for WhatsApp trips.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages