Feature
Receipts leave the truck the day they're spent.
A QR sticker in each vehicle. The crew member enters their PIN, snaps the receipt, taps the job, types the total and the vendor, and says whether it was the company card or cash. It reaches QuickBooks already tagged to the job with the photo attached — and if it was a card purchase, it attaches itself to the bank-feed line instead of duplicating it.
01 — The failure mode
The glovebox is the actual accounting system
-
Receipts show up in a shoebox in week three
By then nobody remembers which job the lumber run was for, so it gets coded to whichever job was busy that week. Job costing built on guesses isn't job costing.
-
Every app that "syncs receipts" makes duplicates
Company-card purchases already arrive in QuickBooks through the card connection. Post a Purchase for the same receipt and your accountant spends her month reconciling your software's mess by hand.
-
Asking the field to install an app is asking them to not do it
Personal phones, no company email, half the crew not wanting another login. Adoption dies at the app store page, and then you're back to the shoebox.
02 — In the truck
A sticker, a PIN, and a photo
Four taps in a parking lot, one-handed, on whatever phone the person already owns.
- One QR per vehicle, printable from the portalEach truck gets its own code and its own sticker. No app to install, nothing to log into, and the truck itself is part of the record.
- A four-digit PIN is the identityThe PIN names who bought it — crew set their own from their phone portal, and PINs are stored hashed. That's the whole authentication story for the field.
- Job, total, vendor, card or cashThose four fields plus the photo are everything the office needs. The card-or-cash answer is what decides how it reaches QuickBooks.
- Pre-coded on arrivalThe job carries its QuickBooks customer, so the transaction lands assigned to the job with a class and an expense category already on it — and the receipt image attached to the transaction itself.
- A job that isn't linked yet doesn't lose the receiptIt stays pending and posts itself once the job is mapped to its QuickBooks customer. The ledger marks before it pushes, so a retry never posts twice.
The same truck page carries the rest of the field's day — site check-in and the end-of-day log — so one sticker is the crew's whole interface, not a single-purpose gadget.
03 — The part that matters
A card receipt attaches to the bank feed. It never duplicates it.
This is the rule every receipt app gets wrong, and your accountant already knows it: a company-card purchase is coming into QuickBooks anyway, through the card connection. So a receipt app that dutifully posts a Purchase has just created a duplicate — and the duplicate is invisible to the software and obvious to the human, which means she reconciles it by hand, every week, forever. That's a net loss versus the shoebox.
There's a second wrinkle that makes naive matching fail: bank-feed items are invisible to the API until she accepts them. Only once she accepts a line does it become a real transaction anything can see. So the receipt has to be patient.
What actually happens with a card receipt:
- It lands in awaiting match — no Purchase created, photo and details held.
- An hourly pass looks for a bank-feed purchase with the exact same total inside a tight date window — widened for older backlog receipts and after several failed tries, because a 2024 receipt needs a 2024 window.
- Candidates are filtered hard: our own field-receipt postings are excluded by marker, cash purchases are excluded, and anything another receipt already claimed is excluded. Two $47.12 Home Depot runs on the same day can't both grab the same line.
- One candidate → matched automatically. That line gets coded: a blank job or class is filled in, the expense account is replaced only if it's sitting on “Uncategorized”, and the photo is attached. Her coding is never overwritten.
- Several candidates → the office picks. The choice is shown with the amounts and dates, and a human decides in two seconds.
- And there's an explicit post anyway exit, because a rule that can strand a receipt isn't a rule you can run a company on. If the line genuinely never arrives, you say so and it posts.
Cash receipts are the simple case and are left alone: nothing else will ever bring them into QuickBooks, so they post as purchases. The whole behaviour is one setting — match mode or post mode — per company.
04 — The backlog
The stack in the drawer, split and read page by page
Every firm adopting this has a year of paper sitting somewhere. You scan the stack on the office copier — one big PDF, receipts in whatever order they were stacked — and upload it. In the browser, before anything is sent, that PDF is split into one single-page PDF per receipt. That split matters for a boring reason: the attachment that ends up on the QuickBooks transaction has to be that receipt, not page 34 of a 200-page scan that nobody will ever open.
Then each page is read. No OCR service in the middle and no image rendering step — the PDF pages go to the model directly, in small batches, and come back as structured fields: vendor, date, total. Reading a page costs a cent or two.
What happens next is the whole design: nothing auto-posts. Pages read confidently queue as extracted. Anything doubtful — a crumpled thermal receipt, a total that could be a subtotal — goes to needs review. A person approves every one, and approval is the only path into QuickBooks, idempotent on the page so a double-click can't double-post. A slice that fails mid-run is marked failed and retried on the next pass instead of quietly stalling the whole batch.
Backlog receipts carry their real date through, so a 2024 card receipt matches a 2024 bank-feed line rather than hunting for one near today.
05 — Coding
Your chart of accounts is the category list
We didn't invent a category taxonomy. The printed chart of accounts your bookkeeper works from is the list — the COGS block marked “all for projects”, Job Materials with its “incl. Lowes / Home Depot” note beside it. Each category maps to a QuickBooks account once, by the owner, and the “codes” she tags with are QuickBooks classes.
Vendor rules do the rest of the work: a fragment like “Lowes”, “Home Depot”, a fuel chain or a rental house maps to a category, and the longest matching rule wins, so a specific rule beats a general one without anyone ordering a list. Resolution order for a category is an explicit pick, then the job's default, then the vendor rule. The class comes from the job, falling back to the employee. If none of it is configured, receipts fall back to the single expense account the company was using before — turning the feature on can't change how yesterday's receipts behaved.
Coded spend is what makes the rest of the stack worth having: the same purchases flow on to Autodesk Cost Management for the PM to classify against the budget, and the field's time and drive time land next to them via travel pay. The wider picture is on the construction solutions page, and what connects to what is on integrations.
06 — Questions
Straight answers.
Does the crew need an app or a login?
Neither. There's a QR sticker in each truck. The phone's camera opens that truck's page, the person enters their four-digit PIN, and they snap the receipt. No app store, no password, no company phone.
Won't posting a card receipt duplicate what the bank feed already brings in?
That's exactly why a card receipt doesn't post a Purchase. It waits and matches the bank-feed line — same amount, within a date window, excluding anything already claimed — then codes that line and attaches the photo. Cash receipts still post as purchases, because nothing else will bring them in.
Does the AI post anything to QuickBooks on its own?
No. Pages it read confidently queue as extracted, doubtful ones go to review, and a person approves every single one. Approval is the only path to QuickBooks and it is idempotent, so approving twice cannot post twice.
How does a receipt get the right expense account and class?
Your printed chart of accounts becomes the category list, and vendor rules map fragments like Lowes, Home Depot, fuel and rental chains to a category — longest match wins. Resolution order is an explicit pick, then the job's default, then the vendor rule. The class comes from the job, falling back to the employee.
07 — Next step
Bring a real receipt to the demo.
Twenty minutes: a receipt snapped on a phone, a card receipt waiting for its bank-feed line, the match queue, and a scanned stack split and read in front of you.
Construction is quoted per site and headcount · no contracts