Free agents + LAUNCH30: 30% off paid agents until 31 Dec 2026 (one-time purchases only) See free agents
Oarsman AI Sign in

Shop Statement P&L Pro / Docs

Shop Statement P&L Pro: setup guide

Several months of statements become one P&L with a column per month, every fee type split out, cost of goods subtracted and gross margin per item.

Who it is for: Handmade or print-on-demand seller on Etsy who does their own books and downloads the monthly payment account statement.

Format: Claude skill pack · Version: 1.1.0 · Tested on: Python 3.13.5 (standard library only)

What it does

Each statement row is placed by its type and title: sales, refunds, transaction, processing, listing, offsite ads and regulatory fees, ads, shipping labels, currency conversion and subscriptions. Fee credits net off their fee line. Taxes collected and deposits to your bank are kept out of profit and shown apart. A sale exported twice counts once; repeated fee rows such as two listing renewals are kept. Months sit side by side. With the sold order items CSV and a cost list, units sold times unit cost gives cost of goods per month and margin per item.

What you need

  • Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
  • Your monthly statement CSVs (Shop Manager > Finances > Monthly statements)
  • Optional: the sold order items CSV and a cost list
  • For the included extra: pandas and openpyxl (Claude.ai has them)

5-minute setup

  1. Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick claude-ai-upload/shop-statement-pnl-pro.zip.
  2. Claude Code: copy the folder skills/shop-statement-pnl-pro into ~/.claude/skills/.
  3. Start a new chat. Attach your file and say: "Use shop-statement-pnl-pro. Build a P&L from my October and November statements and show margin per item with these costs".
  4. 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 and November 2026 statements):

python3 skills/shop-statement-pnl-pro/scripts/core.py samples/statement-2026-10.csv samples/statement-2026-11.csv --items samples/sold-order-items.csv --costs samples/costs.csv --out out

You should see October profit before cost of goods $64.45 and after $24.95, November $43.19 before cost of goods, and the mug with $73.00 gross margin.

Settings you can change

Option Default What it is
statements (required) One or more monthly statement CSVs
--items (none) Sold order items CSV for cost of goods
--costs (none) Cost list CSV: SKU or item name, unit cost
--out out Output folder

What goes in and what comes out

Inputs: One or more monthly statement CSVs; Optional: sold order items CSV and your cost list

Outputs: report.md with profit per month; pnl.csv with a column per month; items.csv with revenue, cost and margin per item; fees.svg chart; unclassified.csv

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: - Reads the monthly statement CSV layout; other marketplaces need the same columns. - One currency per run. - Cost of goods uses your unit costs; stock levels are not tracked. - Bookkeeping help, not tax or accounting advice.

Not tested by us: - statements in languages other than English - XLSX files in the shipped tests (CSV only) - shops paid out in several currencies

Included extra: weekly store report (Shopify, WooCommerce, Amazon)

From version 1.1.0 this product also includes the four skills that were sold as the E-commerce Weekly Report pack, in the weekly-report/ folder. They are separate from the main skill above and need pandas and openpyxl (Claude.ai already has them; matplotlib is optional, for charts). The in-browser "Use it here" runner on the product page covers the main skill only, not this extra.

Skill What it does
store-export-normalizer Reads Shopify, WooCommerce and Amazon order exports (or any store via a column map) into one clean order-lines file with a data-quality report.
weekly-kpi-report Weekly revenue, orders, average order value, refunds and platform mix, with charts, as weekly_report.md and .xlsx.
sku-profitability Contribution margin per SKU after fees and product costs (before ads, salaries and overheads), with a ranked action list.
sales-anomaly-watch Flags leaked discount codes, refund spikes, stock-outs and sales spikes, each with a what-to-check line.

Set up: Claude.ai: upload each zip in weekly-report/claude-ai-uploads/ under Settings → Capabilities → Skills. Claude Code: copy weekly-report/skills/* into ~/.claude/skills/. Then ask, for example: "Use the weekly-kpi-report skill on these Shopify and WooCommerce exports for last week."

Try it with the samples: weekly-report/samples/ holds sample files; weekly-report/README.md has the full guide and weekly-report/TROUBLESHOOTING.md the fixes.

Tests: python weekly-report/tests/run_tests.py (33 checks, needs pandas). python tests/run_all.py runs the main tests and this extra together.

Files

  • oarsman-shop-statement-pnl-pro-v1.1.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
  • weekly-report/ (included extra)

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.