A single command parses Flipkart, Meesho and Amazon.in invoices, reconciles them against payouts, and reports every GST, value and missing-order discrepancy — with the rupees at risk.
100 orders across three marketplaces, reconciled in ten seconds. Every discrepancy is typed, priced, and attributable to a specific invoice line.
$ invoice-diff reconcile --marketplace flipkart --in invoices/ --out report.json › scanning 3 marketplace invoices ... › parsing 100 orders ... ok › reconciling against bank statement ... ───────────────────────────────────────────────── RECONCILIATION REPORT 10s ───────────────────────────────────────────────── orders reconciled 100 / 100 discrepancies 5 (3 GST · 1 value · 1 missing) total impact Rs. 2,340.00 runtime 10s DISCREPANCY ORDER MARKETPLACE AMOUNT TYPE ────────────── ─────────── ───────────── ───────── ───── GST rate mismatch #FK-10482 Flipkart Rs. 620 gst GST rate mismatch #FK-10519 Flipkart Rs. 410 gst GST rate mismatch #MS-7731 Meesho Rs. 355 gst Invoice > payout #AM-99203 Amazon.in Rs. 855 value Payout not reconciled #FK-10677 Flipkart Rs. 100 missing ───────────────────────────────────────────────── exported → report.json report.csv report.md report.xlsx exit 0
Sellers move money between Flipkart, Meesho and Amazon every day. The gap between what a marketplace owes you and what actually lands in your bank is where margin goes to die — and it almost never shows up in the dashboard.
Opening three dashboards, exporting three CSVs, and matching rows by hand. A month-end reconciliation that should take minutes takes an afternoon.
~3–5 hrs / month, per sellerMarketplace GST is calculated at its own rate tables. A 5% line charged at 18% is invisible unless someone is watching every invoice line.
3 GST mismatches in the sample run alonePayouts that arrive a week late, short-paid invoices, orders that never hit the statement. Nothing pings. Nothing escalates. It just compounds.
Rs.2,340 walked away in one 10s runEach stage is a pure function of files in and files out. Wire them together in shell, or run the whole pipeline with one reconcile.
Reads marketplace-specific invoice formats, normalises currency, splits line items, and tags each row with its source marketplace and order id.
Matches invoices against payouts and classifies every gap into one of seven discrepancy types — each with a rupee impact and a severity.
Writes the full report — typed, priced, sorted — to the format your accountant, auditor or CI pipeline wants. All four at once if you like.
One binary, four verbs. Flags are consistent across verbs so muscle memory survives a rewrite.
invoice-diff reconcile --marketplace flipkart --in invoices/ --out report.json invoice-diff reconcile --marketplace meesho --in invoices/ --out report.csv invoice-diff reconcile --marketplace amazon --in invoices/ --out report.md invoice-diff reconcile --marketplace all --in invoices/ --out report.xlsx invoice-diff diff --marketplace flipkart --left a.csv --right b.csv invoice-diff export --from report.json --to report.xlsx invoice-diff init # writes a starter config.toml invoice-diff --help
Each marketplace has a dedicated parser with its own rate tables, tax conventions and payout schedules. Adding a fourth is a small change, not a fork.
# 1. requires Python 3.10+ pip install invoice-diff # 2. point it at your invoices invoice-diff init # 3. reconcile and export invoice-diff reconcile --marketplace all --in invoices/ --out report.xlsx
pip install invoice-diff — or straight from GitHub if you prefer.invoices/. Filenames don't need to match anything.reconcile. The command is idempotent — rerun it on new data without touching state.report.xlsx. Hand it to your accountant. Move on with your month.No. It never touches the internet. You download the CSV/XLSX exports yourself from each marketplace dashboard, and invoice-diff reads those files. Your credentials never leave your machine and your data never leaves your disk.
Flipkart, Meesho and Amazon.in — the three that cover the bulk of Indian seller payouts today. The parser layer is pluggable, so a fourth marketplace is a parser module plus a rate table, not a fork.
Any mismatch between an invoice line and its corresponding payout — classified into one of seven types: gst, value, missing, duplicate, late, rounding and unmatched. Each carries a rupee impact and a severity.
No. There is no telemetry, no analytics, no phone-home. Every stage reads from local files and writes to local files. The whole run is reproducible offline.
MIT. Use it, ship it, sell it against it. Attribution appreciated but not required.
Free, MIT licensed, and offline by design. If your marketplaces owe you money, invoice-diff will tell you exactly how much.