Home About Experience Projects Case studies Resources Articles Briefs Playbook Tools FAQ How we start Security Get in touch

Finance automation

Expense Capture at the Till, Not at Month End

Expenses are a small problem that consumes disproportionate attention, mostly because they are handled at the worst possible moment. Here is the ten-second version.

Expenses are a small problem that consumes a disproportionate amount of attention, mostly because they are handled at exactly the wrong moment.

CAPTURE AT THE MOMENT, NOT AT MONTH END Month end A shoebox of faded receipts, half missing, and nobody remembers what the one from the 8th was for. At the moment Photographed at the till, extracted, categorised by rule, and attached to a client if billable. Ten seconds. The information exists for about a day. After that you are reconstructing.
Figure 1: an expense is easy to record while you remember why you incurred it, and hard afterwards.

The window that closes

An expense carries its context for about a day. Who the lunch was with, which client the taxi was for, why the software was bought. After that you are reconstructing from a card statement, and reconstruction is both slow and inaccurate.

Everything in this automation is aimed at collapsing the gap between incurring an expense and recording it.

The cost of expenses is not the money. It is a monthly reconstruction exercise that produces worse data than a ten-second capture would have.

EXTRACTION IS A MODEL JOB. CATEGORISING IS A RULE JOB. Let a model read the receipt Merchant, date, total, tax, currency. Unstructured input, structured output. Let a rule assign the category This merchant is always this account. One correct answer, every time. Do not let a model choose the account code. It will be right most of the time, which is the worst possible outcome in something an accountant later relies on.
Figure 2: the same split as everywhere else in this series, applied to a receipt.

How to build it

1. Capture at the point of spend, on a phone

Photograph the receipt at the till. Everything else can be automated; this cannot, and it is the only behaviour change the whole system requires. Make it a single action with no form to fill.

2. Let a model extract, and show its working

Merchant, date, total, tax, currency from an image is exactly what vision models are good at. Display the extracted values for confirmation rather than accepting them silently, because a wrong total in an accounting system is expensive to unpick later.

3. Categorise with rules, never with a model

This merchant maps to this account, always. Rules are auditable, repeatable and correct. A model assigning account codes will be right most of the time, and most of the time is the worst possible standard for something an accountant later relies on.

4. Ask the one question a rule cannot answer

Which client, or which project, if billable. It has to be asked at capture because nobody remembers in three weeks, and it is the field that turns an expense into recoverable revenue.

5. Flag exceptions rather than blocking

Missing receipt, unusual amount, duplicate-looking entry, or a merchant with no rule yet. Route those to a small review queue and let everything else flow through.

6. Reconcile against the card feed automatically

Card transactions without a matching receipt should surface by themselves. This is the check that finds the ones nobody submitted, and it is the whole reason the shoebox exists.

Tools and what they cost

OptionWhat it costsHonest trade-off
Accounting software mobile capture (Xero, QuickBooks)Included in your existing subscription.Already paid for and adequate for most small businesses. Categorisation rules are usually basic.
Receipt tools (Dext, Hubdoc, AutoEntry)Typically tens per month for small volumes.Strong extraction and rule handling, and they integrate with the main ledgers. Another subscription for a narrow job.
Spend management with cards (Ramp, Brex, Pleo)Often free with the card product.Card and receipt in one system, which removes the matching problem entirely. Requires moving your card spend, which is a bigger decision.
Apps Script with a vision model over a shared folderFree with Google Workspace, plus small model API usage.Full control of extraction and rules. You build it, and it is a genuinely small project.

What it is actually worth

Time is the obvious measure and it is modest: count hours spent on expenses monthly, across everybody, and remember that the finance person is not the only one paying that cost.

Recovered billable expenses are usually the larger number. Expenses that were incurred for a client and never invoiced because nobody recorded which client they belonged to. Ask your finance person how often that happens; the answer in most agencies is often.

And the compliance dividend: complete records with attached receipts, categorised consistently, is what makes a year end straightforward rather than a reconstruction project.

I am not going to quote a per-expense processing cost. Those figures come from expense software vendors, vary by an order of magnitude, and are usually built on enterprise assumptions that do not apply to a twenty-person business.

How it breaks

People do not photograph receipts. The whole system depends on one behaviour, so make it genuinely one action, and use the card reconciliation flag to catch the misses rather than nagging.

A model assigns account codes and is quietly wrong. The error surfaces at year end, in aggregate, and is tedious to unpick.

The billable field is skipped. If it is optional it will be empty, and empty means unbilled. Make it required at capture with an explicit not-billable option.

The exception queue grows. Unreviewed exceptions mean incomplete books. Keep it small and work it weekly.

How to tell whether it worked

The share of expenses recorded within a day of being incurred, which is the leading indicator for everything else. Then card transactions with no matching receipt, target zero, and billable expenses actually invoiced, which is where the money is.

Sources. Pricing is list price at time of writing. This article describes a design pattern; I have deliberately not quoted per-expense processing cost figures, because they come from expense management vendors, vary by an order of magnitude between sources, and rest on enterprise assumptions that do not transfer to small businesses.

Paul Prado Pacardo is a Senior Executive Assistant and Operations professional with over ten years supporting C-level leaders, and the solo founder of a multi-product software studio. Available for remote Chief of Staff, Operations, Senior Executive Assistant and Project Manager roles.