Expense Report
The card statement lands around the 3rd with fifty lines on it, and most of them are a merchant string, a date, and an amount. This agent reads receipts as they arrive, matches each one to its charge, codes it against your chart of accounts, and assembles the report. The lines it can't explain stay on the report as open questions with a name attached, not as a guess.
Yours outright — no required subscription.
Every agent is built for your business — your systems, your approval chain, your way of working. We scope it on the call.
If this sounds too technical, don't worry. We take care of everything for you.
- Private VPS deployment. This agent runs on a server that belongs to you, not a shared cloud tenant. Your receipts, your card data, your box.
- A technician agent alongside it. Every hire ships as a pair: the Expense Report Agent doing the reading and coding, and a VPS-technician agent on the same box keeping it patched, backed up, and monitored. You're not hiring one thing, you're hiring a small team of two.
- Receipt capture where receipts actually land. Wired into the inbox people forward to, the shared folder they drop photos in, and the chat channel they already use — so nobody has to learn a new place to send a picture of a receipt.
- Coding that matches your chart of accounts. Your categories, your class or location split, your customer and job list, and your billable rule — configured during setup, not a generic template. It reads vendor, date, and amount off the receipt, then codes the line the way you would.
- A running missing-receipt list. Every charge without a receipt or a business purpose sits on a live list with the cardholder's name against it, and the reminder goes out while people still remember. Instead of finding four gaps at close, you know which four on day two.
- 14 days of priority support after launch, to work through the edge cases your real card mix throws at it. After that window we remove our own access.
- You own everything — the server, the agent, the code it runs on, and the keys. We keep the playbook we built it from.
Not sure it fits? Check fit in 90 seconds in the free assessment chat.
Who this is for
- You run an 18-person shop where four or five field guys carry company cards, and every fuel, hardware, and rental charge needs a job number that only exists in a foreman's head for about a week.
- You rebill client travel and production costs, and at invoicing time somebody reconstructs which trip belonged to which client from a calendar — and the ones nobody can place quietly stop being billable.
- You're the office manager for a firm with three locations, and every charge has to be split to the right one before the P&L means anything — which means you're the only person who knows how the warehouse run on the 9th should break.
- You've stopped trying to tie the card statement to your books, and whatever's still unexplained at close gets parked in a catch-all account until your accountant asks about it eight months later.
How it earns trust
The failure mode of AI on expense work isn't that it misreads a faded thermal receipt — people misread those too. It's that a wrong number arrives looking exactly like a right one, sitting in a finished report. This agent makes the opposite bet: every line shows you what it read and where it came from.
The report ties to the statement
Reconcile the totals yourself: the agent's report should match the raw card statement line-for-line and to the penny. Any difference is either an exception it flagged or a bug. There is no third explanation.
Every line opens its source
Pull any line and click through to the receipt image, the forwarded email, or the statement row it came from, with the extracted fields shown next to it and a plain reason for the category it chose. If it can't show you the receipt it read, it shouldn't have written the line.
Status and approval sit on the line
Each line carries its state — receipt matched to charge, receipt missing, low-confidence read, awaiting a business purpose from a named person — and the approval is recorded against it. Three weeks later you can see not just what the number was, but who said yes and what they were looking at.
Nothing reaches your accounting system without a named person approving it, and how much of your card volume comes through clean depends entirely on your merchant and receipt mix — we'll size that with you on the call rather than promise a number up front.
Pairs well with
These share a workflow with this role. Tick any to add them to your setup.
I'm still chasing receipts from June. Will this stop that?
It won't make anyone respond. If a tech ignores four pings, the report is still short four receipts at close, and no software changes that. What changes is timing: the missing-receipt list is current from day two with a name on each line, so you're asking while the answer is still in someone's head instead of reconstructing June in August.
By the time I see a charge, it's too late to ask anyone what it was for.
Business purpose is the one field no document contains. A hardware store receipt does not say which job. The agent can suggest one from timing, crew location, or how similar charges were coded before, but a guessed job number is the most confident-sounding wrong answer this role can produce, so it asks instead. That means it will sometimes ask about things a person on site would have known instantly.
Is it going to reimburse people or post to my books on its own?
No. It never moves money — no reimbursement, no ACH, no payroll addition, no card payment. Its authority ends at a drafted report and drafted entries waiting on a person to approve. It doesn't post to your books on its own, doesn't close a period, and never alters or deletes an original receipt image. The file stays exactly as it arrived, attached to the line it produced.
My bookkeeper dumps half of it into a catch-all and I deal with it in March.
This agent won't invent a receipt, an amount, or a business purpose to close a gap. A missing receipt stays on the report as a missing receipt, named and attributable, rather than being smoothed over so the report looks finished. It also doesn't decide what's reimbursable, deductible, or billable — whether a client dinner is a partial meal deduction or something else, whether a mixed warehouse run has personal items in it. It applies the policy you gave it, flags the edge, and the call stays with whoever makes it today.
I'm not buying per-seat expense software for eight guys who use a card twice a month.
There are no seats here. It's a flat $1,997 one-time setup, and the people who use a card twice a month just forward a photo or an email receipt the way they already would. The setup covers one company, one system of record, and one approval chain. Multiple entities or a genuinely different coding model per location is a scoped conversation on the call, not a price adjustment.
What does "I own it" actually mean, and how long does this take?
You own the server, the code, and the keys. We keep the playbook we used to build it. Typically about seven days from kickoff to a working agent reading real receipts, including a live walkthrough of both agents so nothing is a black box on day one. Setup is scoped on a free 15-minute call. Your existing approval chain stays yours — the agent adds a step, it never removes one.
Hiring more than one? A department on tap — the subscription puts a build team behind every request, agent after agent.