A wrong ABN and a smudged one look the same to OCR. We made sure ours doesn't guess.

A wrong ABN and a smudged one look the same to OCR. We made sure ours doesn't guess.

Every Australian Business Number carries a checksum — a modulus-89 formula baked into the digits themselves, so a wrong ABN is usually mathematically detectable, not just “looks a bit off.” Which raises an uncomfortable question for any tool that reads receipts: when the number printed on the paper fails that check, what does your extractor actually do with it?

Our early test fixtures only covered two cases — a valid ABN, and no ABN at all. Neither one exercises the case that actually matters: an ABN that’s present but checksum-invalid, the kind of thing a genuine OCR misread or a real printing error produces all the time. So we added a fourth fixture built specifically to fail the check — one digit off a known-valid number — and ran it against the live API. The extractor transcribed the ABN exactly as printed and let checksum validation flag it downstream, rather than silently rounding it to the nearest valid-looking number. 4 out of 4 fixtures passed, including the one designed to break.

That distinction matters more than it sounds. A tool that “corrects” an invalid ABN to something plausible isn’t being helpful — it’s replacing what’s actually on your receipt with a guess, and you’d have no way to tell the difference. Ours transcribes first, validates second, and never quietly substitutes one for the other.

Try Receipt Extraction →

This reflects publicly documented ABN checksum rules and is provided as software output, not tax advice.

Related Posts

Build vs. buy: should your bookkeeping tool parse receipts with a raw LLM call?

Build vs. buy: should your bookkeeping tool parse receipts with a raw LLM call?

Here's the honest version of the pitch first: if all you need is vendor, date, and total off a receipt, you should probably build it yourself. A single vision-model call — GPT-4o-mini, Gemini Flash…

read more
Choosing a product categorization API: five questions that separate grounded from guessing

Choosing a product categorization API: five questions that separate grounded from guessing

If you're mapping a product feed to the Google Product Taxonomy, you have more options than you did a year ago — a raw LLM call, a handful of categorization APIs, a feed tool with categorization…

read more
Choosing a receipt extraction API: six questions that separate tax-aware from just-OCR

Choosing a receipt extraction API: six questions that separate tax-aware from just-OCR

Here's the honest version of the pitch first: if all you need is vendor, date, and total off a receipt, you should probably build it yourself. A single vision-model call — GPT-4o-mini, Gemini Flash…

read more
The GST rule your receipt scanner doesn't know exists

The GST rule your receipt scanner doesn't know exists

A restaurant receipt and a client dinner look identical to an OCR tool. Under Australian GST rules, they aren't: entertainment expenses have their input tax credit (ITC) denied by default — GST was…

read more
How to integrate the catalog attribute normalizer MCP server

How to integrate the catalog attribute normalizer MCP server

This guide covers the mechanical integration steps for the catalog-attribute-normalizer MCP server: client configuration, authentication, and tool usage, so you can normalize product catalogs against…

read more
How to integrate the ACJ Labs receipt extraction MCP server

How to integrate the ACJ Labs receipt extraction MCP server

This guide covers the mechanical integration steps for the ACJ Labs receipt extraction MCP server: client configuration, authentication, schema definitions, and error handling, so you can consume the…

read more
x402 Bazaar Listing Monitor: catch a vanished listing before your revenue does

x402 Bazaar Listing Monitor: catch a vanished listing before your revenue does

If you sell over x402, your buyers find you through Coinbase CDP's Bazaar discovery catalog. It's the directory that lets an agent or a buyer's client discover your payTo address and the resources…

read more
How accurate is "just ask the model to categorize it"? We measured — 1–2 of 12 checks.

How accurate is "just ask the model to categorize it"? We measured — 1–2 of 12 checks.

If you're mapping a product catalog into Google's Product Taxonomy, the obvious first move is to hand the title and description to a capable model and ask for the category. It reads well in a demo.…

read more
AI product classifiers hand you category IDs that don't exist. Here's how we stopped ours.

AI product classifiers hand you category IDs that don't exist. Here's how we stopped ours.

Ask a capable AI model to classify a product into Google's Product Taxonomy and it will do something unsettling: return an ID that looks completely valid — right format, plausible category name — and…

read more