checkunpaidinvoices.com

ABOUT THIS TOOL

Why this exists.

Most accounting tools assume you only collect payments through them. In reality freelancers and small businesses get paid by bank transfer, Wise, Stripe payout, Revolut, manual ACH — half a dozen channels. None of them show up as "paid" in your invoicing tool. So you reconcile manually. Every month.

I built this because I had 200+ invoices a month spread across two banks and three invoicing tools. Excel reconciliation took 3 hours. After the third month of doing it I wrote a script. After the tenth month I made the script a website.

That's the whole story.

What this is

A web tool. Drop a bank statement CSV. Drop an invoice list CSV. It tells you who paid, who didn't, who's late, and flags anomalies (duplicates, recurring charges, suspicious round amounts).

The matching is deterministic — same input always produces the same result. We don't use AI to guess. We use a configurable parser and a rule-based match engine. If the parser doesn't recognize your bank's CSV format, a 30-second wizard maps it once and remembers — for you and every future user with the same bank.

What this is NOT

Pricing philosophy

Free covers single-bank, single-month freelancer use forever. Pro ($24/mo) unlocks unlimited rows, anomaly details, multi-bank merge, PDF + shareable link. There is no Enterprise tier and there is no trial — Free is the trial.

Who built this

One developer. I write code, answer support emails, and verify the parser configs that the system can't auto-confirm. If you email hi@checkunpaidinvoices.com you'll reach me directly. No support tier, no ticketing system, no chatbot.

Privacy in one paragraph

Your files are encrypted in transit and at rest, processed on Cloudflare's EU infrastructure, and deleted within one hour of processing. They are never used to train any model. The full disclosure of sub-processors (including the LLM we use for parsing unknown formats from anonymized samples) is on the privacy page.

Try the tool — no signup, no credit card, takes 30 seconds with sample data.

Try with sample data →

Last updated: 2026-05-11