Credit Card Statement Reconciler
Build an internal tool that imports your corporate card statement and your recorded expenses, auto-matches the charges, flags anything with no receipt or no entry, emails each cardholder for the missing backup, and exports coded GL entries plus a signed-off reconciliation report.
Import the card statement and your expense records, let the agent auto-match charges, flag every charge with no receipt or no entry, email each cardholder to chase the missing backup, review and sign off the reconciliation, then export coded GL entries and a clean reconciliation report - with a full audit trail.
Before you start
- A corporate / credit-card statement you can export as CSV (date, merchant, amount, cardholder/last-4)
- Your recorded expenses or receipts as CSV (date, merchant, amount, GL code, who submitted it)
- Optional: a cardholder list (name, card last-4, email) so the tool can route flags automatically
- Free Vercel, Supabase, and Resend accounts (all have free tiers)
- No coding experience required - you'll paste prompts into an AI agent
The problem this kills
Closing the corporate card every month is a scavenger hunt. The statement lands with a few hundred charges across a dozen cardholders, and your job is to prove that every single one has a receipt and the right GL code behind it. So you export the statement, export whatever expenses people actually submitted, and start the cross-check by hand: this $84.12 at the airport hotel probably matches Dana's receipt from the 9th, this $1,204 software charge has no entry at all, and that $50 refund on the 14th needs to net against the original charge from the 2nd. Half your time is chasing the same five people for the same missing receipts over email, one charge at a time.
The boring truth is that most charges match themselves - same merchant, same amount, obvious receipt. The real work is the exceptions: the charge with no receipt, the receipt with no charge, the pending authorization that posted at a slightly different amount, the partial refund, the personal charge someone needs to pay back. A spreadsheet makes you eyeball all of it anyway, and the chasing lives in your inbox where nothing is tracked.
This tool flips that. It does the obvious matching automatically, shows you only the charges that need a human, and turns "chasing receipts" into a tracked, emailed request to each cardholder - so the close becomes a review instead of a month-long hunt.
What you'll build
A private, login-gated web app where you (and only your team) can:
- Import a corporate card statement CSV and your recorded-expenses / receipts CSV for a period.
- Auto-match charges to expense entries - exact matches, near-date matches within a tolerance you set, and refund-to-original pairings - each with a confidence score and a plain-English reason.
- Group everything by cardholder, so each person's charges, matches, and gaps are in one place.
- Flag the exceptions - charges with no receipt, charges with no expense entry, missing GL codes, partial refunds, and possible personal charges - and track how long each has been outstanding.
- Email each cardholder the exact list of their charges that need a receipt or a code, with a link to confirm or supply the backup - no more one-off inbox chasing.
- Review, then sign off the reconciliation once the gaps are resolved or accepted.
- Export coded GL entries in your accounting system's column layout, plus a PDF reconciliation report.
Every match, flag, cardholder reply, and sign-off is written to an audit trail with who and when.
What's inside the Implementation Plan
- It interviews you first. Before it builds anything, the plan has the AI agent ask you about your card program, your expense records, your CSV column names, how your statement labels each cardholder (full name? card last-4?), your typical and peak charge volumes, your matching and coding rules, your receipt-required thresholds, and your messiest edge cases (pending vs posted, partial refunds, split charges, personal spend). It reads a short tailored spec back to you, you give a thumbs-up, and only then does it build - so you get a tool shaped to how you actually reconcile cards, not a generic template.
- A step-by-step build with a ready-to-paste prompt at the end of every step.
- The full data model: cardholders, statement charges, expense entries, match proposals, flags, cardholder requests, reconciliations, and an audit log.
- The matching engine - exact, near-date, and refund-to-original - with confidence scoring you can tune, plus a charge fingerprint so the same charge can't be processed twice.
- The cardholder request loop - per-person emails, secure confirm links, and missing-receipt aging.
- A "No API yet?" fallback so the whole thing works from CSV imports today, with no card-feed or ERP integration required, and exports coded entries straight to your GL format.
- A verification checklist so you know every charge is accounted for before you sign off.
The governance it includes (this is the point)
This isn't a throwaway script - it's an internal tool you can defend in an audit:
- Login so only your team can open it.
- Row-level security so each organization only ever sees its own cards, charges, and reconciliations.
- A complete audit trail - every auto-match, every human override, every cardholder confirmation, every flag resolution and sign-off, with the user and timestamp.
- A hard human-in-the-loop gate - the AI only proposes matches and drafts the cardholder requests; nothing is coded to the GL or written off until a person reviews and the reconciler signs off. Cardholders confirm their own flagged charges before anything is written off or recoded.
- Duplicate guards - a fingerprint on every charge means the same statement (or the same charge) can't be imported and reconciled twice.
Who it's for
Accountants, bookkeepers, and office managers who reconcile a corporate or business credit card every month and are tired of cross-checking charges against receipts in a spreadsheet while chasing cardholders over email. If you can export the statement and your expense records as CSV and you want the machine to do the obvious matching while you make the judgment calls, this is for you. No development background needed.
You've got this - paste the first prompt and let the agent interview you.