ExpenseBot

How do I route receipts that ExpenseBot could not process to someone who can fix them?

Capture automations fail quietly unless you build the unhappy path. This recipe is that path: anything that is not a clean capture goes to a human, with enough context to act on.

Capture automations fail quietly unless you build the unhappy path. This recipe is that path: anything that is not a clean capture goes to a human, with enough context to act on.

What counts as Action Needed

The result step returns a terminal state for the exact submission ID you uploaded. Route these to a person:

  • skipped — the file was not treated as a receipt. Usually a screenshot, a statement page, or an unrelated document that slipped past your filter.
  • errored — processing failed outright.
  • unknown — the outcome could not be determined. Treat it like errored; do not assume it worked.
  • a failed per-file outcome — a batch where one file did not make it. The batch as a whole is not a pass.

added and duplicate are the other branch — success notification.

The workflow shape

  1. Filter or path on the outcome not being added or duplicate.
  2. Notify the finance channel, not the individual submitter — the person who dropped an unreadable photo usually cannot tell why it was unreadable, and the person who reconciles the books can.
  3. Include the context that makes it fixable: the outcome, the filename, who submitted it, when, and a link to Review expenses.
  4. Optionally park the file — move it to a needs-attention folder or leave it in the intake channel so it stays visible until handled.

Do not auto-retry blindly

A skipped result will keep being skipped, so a retry loop just spams the channel. Retry is for transport failures — a platform timeout, a download that did not complete — and there it is safe, because writes are retry-safe: replaying the same action creates exactly one spreadsheet row, verified in live QA. Retry the request, not the verdict.

The division of labour

ExpenseBot supplies structured expense data and Gmail receipt capture to Make workflows — extraction, duplicate detection, review, and the spreadsheet record. Make handles external triggers, routing, reminders, and notifications.

The boundary

This routes a problem to a person; it does not fix one. ExpenseBot previews changes and asks before anything is saved, so the correction still happens under review rather than by unattended write.

Where to build it

Share:

Try ExpenseBot Free

AI extracts every receipt into a Google Sheet you own. Gmail scan, mileage, tax reports, profit-by-client. No credit card needed.

No credit card required · Setup in 30 seconds