CSV Compare & Reconcile Skill

Two exports that should match but don't: see exactly which rows and cells changed, and what makes up the gap in the totals.

CSV Compare & Reconcile Skill product illustration

What it does

Two exports that should match but don't: last month's and this month's price list, yesterday's and today's inventory, invoices and payments. This tool answers two questions in one command:

  • What changed? It matches rows by a key (SKU, email, ID; detected automatically) and lists added, removed and changed rows, cell by cell, with the change in amount and percent.
  • Why don't the totals match? It sums an amount per key in each file and lists amounts that differ and keys found in only one file. A check line shows the differences add up to the total gap.

It runs on your computer with Python 3.9+ and no installs, and it's a Claude Code skill (skills/csv-compare/).

$ python3 -m csvcompare examples/products-2026-10.csv examples/products-2026-11.csv --out compare/
- Rows: 35 -> 37
- Key: SKU (detected)
- Added: 3, removed: 2, changed: 11 rows (11 cells)
- Same value, different format (not counted): 3 cells
- Columns only in new file: Supplier
- Repeated keys (only the first row is compared): old none; new HK-1011
- Leading zeros lost in 2 cells (often a file saved from Excel): HK-1018 Barcode 049028987155->49028987155, ...
| HK-1003 | Price | 24.00 | 27.00 | +3.00 (+12.5%) |

$ python3 -m csvcompare reconcile examples/invoices.csv examples/payments.csv --key invoice_number --key-b Invoice --amount amount --amount-b Amount --ignore-case
- Totals: 32,910.00 vs 32,775.00 (difference -135.00)
- Matched: 26, amount differs: 2, only in A: 2, only in B: 1
| INV-2026-0027 | 1,200.00 | 2,400.00 | +1,200.00 | 1/2 |      <- paid twice
| INV-2026-0015 | 780.00 | 755.00 | -25.00 | 1/1 |              <- short paid
Check: mismatches +1,175.00, only in A -1,950.00, only in B +640.00 = -135.00 (total difference -135.00)

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 5 tests OK on Python 3.13 and 3.10.

Real terminal output from CSV Compare & Reconcile Skill: demo and passing tests

What it handles

  • Columns in a different order or with different capitalization; columns found in only one file are listed.
  • Values that differ only in format count as the same: 1,299.00 vs 1299, $1,200.00 vs 1200, 2026-11-09 vs 11/09/2026, extra spaces. Use --exact to turn this off, --tolerance 0.01 for rounding and --dayfirst for dd/mm dates.
  • Leading zeros lost (zip codes, barcodes, employee IDs after a trip through Excel) are reported separately instead of as changes.
  • Repeated keys, rows with an empty key or an unreadable amount, split payments (several rows per key in reconcile), and comma, semicolon, tab or pipe files in UTF-8, UTF-16 or Windows-1252.
  • No key column? Whole rows are compared, and the report says to pass --key.

Options

OptionUse
--key SKU or --key "First name,Last name"match rows on these columns (compare) or this column (reconcile)
--key-b, --amount-bthe column name in the second file, when it differs (reconcile)
--ignore "Updated,Notes"skip columns that always change
--ignore-case, --exact, --tolerance, --dayfirsthow values are compared
--out DIRwrite report.md plus changes.csv, added.csv and removed.csv (compare) or reconciliation.csv (reconcile)
--jsonmachine-readable result

Exit code 0 when the files match, 1 when there are differences, 2 on an error. So it works in scripts and scheduled checks.

Excel files

Save each sheet as CSV (File > Save As > CSV UTF-8) and compare the CSVs.

./demo.sh runs both modes on the examples. ./run_tests.sh runs the tests.

The tool does arithmetic on the files you give it. It isn't accounting advice, and a person decides what to do about each difference.

Related: CSV Data Quality Checker (free) cleans each file first: https://youraitools.co/marketplace/csv-data-quality-checker. Bank Reconciliation Exceptions Skill covers bank statements against the ledger: https://youraitools.co/marketplace/bank-reconciliation-exceptions-skill

Honest limits

  • Save each Excel sheet as CSV (File > Save As > CSV UTF-8) and compare the CSVs.
  • The tool does arithmetic on the files you give it.
  • It isn't accounting advice, and a person decides what to do about each difference.

Format and license

Zip, 19 KB, v1.0, 16 files. You may use and modify this kit for your own work and for clients you serve, including paid client work. Not affiliated with or endorsed by Microsoft.

FAQ

Does it work with Excel?
Save each sheet as CSV UTF-8 first.
Do the columns need to be in the same order?
No, they're matched by name.
Does it upload my files?
No, it runs on your computer.
How do I get the files?
Right after payment, Stripe’s confirmation page shows your download link.
Refunds?
Email hello@youraitools.co within 14 days if it doesn’t work and we can’t fix it.
Can I pay with crypto?
Yes. Pay the same price in USDC or USDT on Base, Ethereum, Arbitrum, Optimism, Polygon or Solana from the "Pay with crypto" button, with no account or KYC. We check the payment on-chain and show your download links as soon as it confirms.

Get CSV Compare & Reconcile Skill

Compare two CSV files by key: added, removed and changed cells with % change, format-only differences ignored. Reconcile invoice and payment totals. Local tool.

Pairs well with

Download$19

Org Chart Builder Skill

Create an org chart from a CSV or HRIS export: HTML, Mermaid, draw.io and Graphviz. Finds missing managers, reporting loops and duplicate IDs. Runs locally.

View Org Chart Builder Skill
Download$119

Agent Builder Bundle

Swarm Operator Kit + x402 Builder Skills + MCP Starter Kit. $119 instead of $157.

View Agent Builder Bundle
Download$89

Swarm Operator Kit

Run a team of AI agents as a business: charter, 5 roles, 6 skills, routines and scripts.

View Swarm Operator Kit

Related