A weekly AI agent that reconciles card receipts and learns from each run
Card statements are just one flavor of a chore every finance team dreads: matching one record against another, week after week, by hand. The fix travels because the mechanism does, not because card receipts are special. An agent that keeps its own reference files, reading and updating them on every run instead of leaning on one person's memory of the edge cases, can take on any recurring reconciliation the same way, as long as a person still holds the one step that actually needs judgment.
Category
Financial reconciliation automation.
What I was trying to accomplish
An agent that does the weekly match of corporate card charges to receipts on its own, finds what's missing, and hands over a clean input sheet for the accounting system.
The data challenges
Card statements rarely show a vendor's real name, so the design leans on a vendor-alias table and a special-cases file the agent reads fresh and updates itself every run. The scheduled prompt itself holds almost nothing, on purpose, so the process improves without anyone editing the schedule.
The result
A weekly run summary, a pending-entry note, and a check-request input sheet ready to key into the accounting system, plus a setup launcher so a second person could stand up their own copy. Two real mistakes turned into a hard rule: never fabricate or retype a receipt, only preserve originals.
Technical details
Tools: Claude Cowork scheduled task, Claude in Chrome, Python OCR, Microsoft 365, SharePoint
Every week the firm's corporate card charges had to be matched to receipts, missing receipts had to be hunted down, and the entries had to be prepared for the accounting system. The knowledge of odd vendors and edge cases lived in one person's head.
The first run was done together in one long session in June 2026. Midway through, we stopped and wrote down what we were doing: a runbook, a vendor-alias table, and a special-cases file. Then it became a weekly scheduled task in Claude Cowork. The design choice that made it work is that the scheduled prompt contains almost nothing; it points the agent at those reference files, which it reads fresh every run and appends to when it learns something. The agent works the card platform, email, and retailer order history through the browser, reads each receipt to write a one-line purchase summary, and pre-fills general ledger codes from a vendor-to-GL map built from more than a year of coding history. The final receipt-attach click stays with a person because it opens a native file dialog the agent cannot operate.
The challenges were real. Several runs stopped because a login had expired or the browser extension had disconnected, and the agent's rules told it to report the blocker rather than try to sign in. At first, when the agent could see a receipt but could not download the original, it rebuilt a copy from the order details. After that had to be corrected on two later runs, it became a hard rule: never fabricate or retype a receipt, only preserve originals. When it once navigated away from a login page I was in the middle of using, it wrote a standing memory note so future runs leave login screens alone.
Pull up a chair.
Let's talk through where things stand, and where they could go.