Every payout split into sales, refunds, chargebacks and fees, checked to the cent, with a balanced journal per payout ready for your accountant to review.
Who it is for: Bookkeeper, accountant or owner of a small online business or SaaS that takes card payments and books each payout by hand every month.
Format: Claude skill pack · Version: 1.0.0 · Tested on: Python 3.13.5 (standard library only)
What it does
It reads the itemised export (one row per balance transaction with its payout id), skips a transaction listed twice and sets aside rows with no payout yet. Each row lands in sales, refunds, disputes, fees or other by its reporting category; fees include both the fee column and fee rows. Every payout is checked: sales + refunds + disputes + other - fees must equal the net paid out. Each payout becomes a balanced journal: bank, fees, refunds and disputes on the debit side, sales on the credit side.
What you need
- Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
- The itemised payout reconciliation CSV you downloaded
5-minute setup
- Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick
claude-ai-upload/payout-journal-builder.zip. - Claude Code: copy the folder
skills/payout-journal-builderinto~/.claude/skills/. - Start a new chat. Attach your file and say: "Use payout-journal-builder. Split my October payouts into sales, refunds, chargebacks and fees and give me a journal per payout".
- Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.
Try it with the sample
Run the sample (fictional October 2026 payouts):
python3 skills/payout-journal-builder/scripts/core.py samples/payouts-oct-2026.csv --out out
You should see 3 payouts with net paid out $414.88, sales $549.00, refunds -$40.00, disputes -$60.00 and fees $34.12, plus 1 duplicate skipped and 1 charge not yet paid out.
Settings you can change
| Option | Default | What it is |
|---|---|---|
payouts |
(required) |
Itemised payout reconciliation CSV or XLSX, one currency |
--out |
out |
Output folder |
What goes in and what comes out
Inputs: Itemised payout reconciliation CSV or XLSX (for example from Stripe), one currency
Outputs: report.md with totals per payout; payouts.csv with one row per payout; journal.csv with one balanced journal per payout; issues.csv with duplicates, unpaid and odd rows
What Pro adds
- Each payout found in your bank statement, with payouts not yet in the bank and stray bank lines listed
- Several currencies in one run, totalled per currency
- Journals in your own account names
Pro: https://oarsmanai.com/agents/payout-bank-reconciler-pro/
AI disclosure and limits
This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.
Limits: - One currency per run. - Reads the itemised payout reconciliation layout; other exports need the same columns. - Generic account names; map them on import. - Splitting and checking help, not accounting advice.
Not tested by us: - exports from processors other than Stripe in the shipped tests - connected-account (platform) payouts - XLSX exports in the shipped tests (CSV only)
Files
- oarsman-payout-journal-builder-v1.0.0.zip
- CHANGELOG.md
- QA-REPORT.json
- README.md
- SPEC.md
- SUPPORT.md
- TROUBLESHOOTING.md
- VERSION
- VIDEO-SCRIPT.md
- claude-ai-upload
- diagram.mmd
- diagram.png
- preview.png
- samples
- skills
- tests
Help
Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.