Skip to main content
skill CX Codex

smart-split — Claude Code skill: split one transaction by category

Splits a single transaction into several categories with custom amounts. Handy when one receipt covers groceries, household supplies and electronics at once.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openaccountant/skills --skill smart-split -a claude-code
Open on GitHub

What smart-split does

The skill takes one transaction and turns it into child entries. It first asks which transaction to split — by description, date or amount — then finds it with transaction_search. You supply the proportions: fixed dollar amounts or percentages.

The parts have to add up to the original amount exactly. If they don't, the skill warns you. The original transaction stays in place with a split: true flag, so reports can show either the consolidated or the split view. Each child keeps the parent's date and description plus a category suffix, and categorize assigns the category.

Nesting is off the table: you can't split a split. Undoing takes one request — ask the skill to merge the entries back into the original. Without Wilson the same job works in a spreadsheet: edit the row for the first portion, insert rows for the rest, then verify with =SUMIF(B:B,"COSTCO*",C:C) and a shared group ID column.

What it helps with

  • split a warehouse-store receipt into groceries, household and electronics
  • mark the deductible part of a business meal
  • check that the parts sum to the original amount
  • flag the original transaction as the parent
  • undo a split and merge the entries back

Example prompts for the agent

  • split the COSTCO transaction from March 15: 50 to Groceries, 30 to Household, 20 to Electronics
  • find the transaction by description and split it 50% Groceries, 30% Household, 20% Electronics
  • merge the split entries of this transaction back into one

How to install smart-split

1Skills CLI (Vercel)

npx skills add openaccountant/skills --skill smart-split -a claude-code

2Manually: put the files in place

~/.claude/skills/smart-split/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/smart-split/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about smart-split

How do I install smart-split in Claude?

Run npx skills add openaccountant/skills --skill smart-split -a claude-code. The skill file lands at ~/.claude/skills/smart-split/SKILL.md.

What does smart-split do?

It splits one transaction across multiple categories by amount or percentage. The original entry is kept with a split: true flag, and each portion becomes a child transaction.

Can I split a transaction that was already split?

No, splits can't be nested. To undo one, ask the skill to merge the split entries back into the original transaction.

Source text

SKILL.md · MIT
---
name: smart-split
description: >
  Split a single transaction across multiple categories with custom amounts.
---

# Smart Split

## Overview
Split one transaction into multiple category allocations. Useful for mixed-purpose purchases like a Costco trip that includes groceries, household supplies, and electronics — or a business meal that's partially deductible.

## Wilson Tools Used
- `transaction_search` — find the transaction to split
- `categorize` — assign categories to the resulting split entries

## Workflow
1. Ask the user which transaction to split (by description, date, or amount).
2. Use `transaction_search` to find and confirm the target transaction.
3. Ask how the transaction should be split:
   - By specific dollar amounts (e.g., "$50 groceries, $30 household, $20 electronics")
   - By percentage (e.g., "50% groceries, 30% household, 20% electronics")
4. Validate that split amounts sum to the original transaction amount.
5. Mark the original transaction as a parent/split transaction.
6. Create child transactions for each split portion with:
   - Same date and description as the parent (with category suffix)
   - The allocated amount
   - The assigned category
7. Confirm the split with a summary table.

## Without Wilson
To split transactions manually in a spreadsheet:

1. Find the transaction row (e.g., "COSTCO" for -$100.00).
2. Change the amount in that row to the first split portion (e.g., -$50.00) and set its category (e.g., "Groceries").
3. Insert new rows below for each additional portion:
   | Date | Description | Amount | Category |
   |------|-------------|--------|----------|
   | 2025-03-15 | COSTCO (Groceries) | -50.00 | Groceries |
   | 2025-03-15 | COSTCO (Household) | -30.00 | Household |
   | 2025-03-15 | COSTCO (Electronics) | -20.00 | Electronics |
4. Verify the split: `=SUMIF(B:B,"COSTCO*",C:C)` should equal the original -$100.00.
5. Add a "Split" or "SplitGroup" column with a shared ID so you can trace splits back to the original.

### In YNAB or Mint
- **YNAB**: Click the transaction > "Split" button > add category lines with amounts.
- **Mint (now Credit Karma)**: Click the transaction > "Split transaction" > add categories and amounts.

## Important Notes
- Split amounts must sum exactly to the original transaction amount. Wilson will warn if there's a discrepancy.
- The original transaction is preserved with a `split: true` flag so reports can show either the consolidated or split view.
- Splits cannot be nested (you can't split a split).
- To undo a split, ask Wilson to merge the split entries back into the original transaction.

© openaccountant · MIT · openaccountant/skills

Similar skills

Everything for Finance and business →

From the same set28

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor