Confidence and why a field was flagged
A confident-looking wrong answer is worse than one that admits it isn't sure — a wrong ABN accepted without question quietly creates a GST credit you can't actually claim. This is why every field carries a confidence, and why acceptance depends on more than the model's own opinion of itself.
What confidence means
Every extracted field — the supplier name, the ABN, each amount, each line item — comes back with its own confidence, not one score for the whole document. A crisp, well-lit total can sit at high confidence right next to a smudged line item at low confidence on the same receipt.
Auto-accepted vs. needs review
A document is only auto-accepted — meaning a draft transaction is proposed without you needing to look at it first — when every field is highly confident and every deterministic check below passes. If either condition fails, it goes to needs review with the specific failing check attached, so you know exactly what to look at rather than re-checking the whole receipt.
The checks that run on every scan
These run in plain code, not in the model, which is why they're trustworthy even though the model that read the receipt is not always right:
- ABN validity — the standard ATO checksum, plus a lookup against the Australian Business Register to confirm the legal name and GST registration.
- GST arithmetic — the GST-exclusive amount plus GST equals the GST-inclusive total, and on an all-taxable document the GST is checked against exactly one eleventh of the total.
- Line total reconciliation — the line items add up to the document total.
- Mixed-GST reconciliation — a grocery receipt with both GST-free fresh food and taxable packaged goods is checked per category, not just at the bottom line.
- Tax invoice completeness — whether the document shows the elements the ATO requires for a valid tax invoice, which decides whether its GST can be claimed at all. See BAS and the unclaimable-GST report.
- Date sanity — not in the future, not implausibly old.
Why a field can come back blank instead of a guess
The model is instructed to leave a field blank, with a reason, rather than fill in something plausible it isn't sure of. A confident wrong figure is far more dangerous than a missing one, because a missing field asks for your attention and a wrong one doesn't.
Escalation to a stronger model
If the checks above fail on the first read, the document is automatically re-read by a stronger model before it ever reaches you as "needs review". Only a document that still doesn't check out after that lands in your queue.