ExpenseBot

How do I check whether a receipt uploaded from Zapier actually processed?

Use the Get Receipt Processing Result search step. Map the exact Submission ID that Upload Receipt returned — not the Source Event ID, not the file name, not a timestamp. They are different values.

Use the Get Receipt Processing Result search step. Map the exact Submission ID that Upload Receipt returned — not the Source Event ID, not the file name, not a timestamp. They are different values.

Read Terminal Result Found first

The step returns Terminal Result Found. While it is false, the submission has not finished. That is not a failure — it means you asked too early. Add or lengthen the Delay before the step and check again.

Treat the upload as complete only when Terminal Result Found is true.

Two different fields, and which one to route on

The step returns both a submission-level Receipt Verdict and, for each file, a Per-file Outcome. They are not the same field and they do not share a vocabulary. Routing on the wrong one is a common mistake.

Receipt Verdict — the whole submission:

VerdictWhat it meansWhat the Zap should do
addedEverything read and written as expense rowsContinue — notify, tag, post to Slack
duplicateRecognized against existing expenses; nothing written twiceContinue, or notify. A success, not an error
skippedNot turned into a confident expense — often a bank or card statement, which goes through the bank-connection flow insteadRoute to the Review Expenses URL
erroredProcessing failedRoute to the Review Expenses URL
mixedA batch where some files were added and others were duplicatesHandle both — do not let this fall into an error branch
unknownProcessing finished but the outcome is unclearRoute to the Review Expenses URL

Per-file Outcome — one per file inside the submission, and a shorter list: added, duplicate, skipped, failed.

For a single-file upload, route on the verdict. For a batch, route on the per-file outcomes.

Treating "not added" as a hard failure is the most common way a working integration ends up looking broken. Duplicate is the system doing its job, and mixed is a normal result for a batch.

Batch uploads

The step also returns per-file counts — submitted, added, duplicates, skipped, errors — alongside the per-file outcomes, so a Zap handling several receipts at once can route each one rather than collapsing the batch into a single pass-or-fail. A Per-file Outcomes Available flag tells you whether that attribution is present for this submission; when it is false, fall back to the verdict and the counts.

Routing pattern

Add Paths (or a Filter) after the result step:

  • Path A — verdict is added: continue the workflow.
  • Path B — verdict is duplicate or mixed: notify, or continue quietly.
  • Path C — verdict is skipped, errored, or unknown: send the Review Expenses URL to whoever owns the books. A person decides; the Zap does not guess.

Related

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