NewOctober clinic dates announced:find out if it is for you →

We read 1,641 invoices for $40. Here is what broke.

25 August 2026. 2 min read.

A plain account of a three-year invoice backlog run through an AI reader, including the 69 it could not handle and the 93 it caught.

The run took about 90 minutes and cost $40.55 in model usage. That is the headline, and it is true. The more useful part is the list of what went wrong.

The setup

A builder, one residential project, revised budget $17.6M. Every supplier invoice had been attached to a Procore direct cost as a PDF over three years. Nothing had been extracted. The direct cost totals had been typed in by hand at the time.

We pulled every attachment through the Procore API, sent each one to a vision model with a strict output format, and ran three checks on the result in code: do the lines sum to the total, does the total match Procore, and was the document readable.

What went through

1,479 invoices matched on both checks. Lines extracted, totals right, Procore right. Those went straight into a cost catalog.

What it caught

81 invoices where the Procore amount did not match the invoice. Most were transposed digits and GST keyed inclusive when the invoice was exclusive. A handful were a different invoice entirely, attached to the wrong record.

12 invoices where the supplier's own lines did not add up to their own total. Two of those were overcharges. The rest were rounding on the supplier's side, but you want to know either way.

What it could not do

37 attachments came back as unreadable. Photos of dockets taken in a ute, faxed statements, a scan of a scan. The model was asked to return a confidence, and below a threshold we stopped trusting it. Those 37 went to a person with the image alongside.

32 direct costs had no attachment at all. That is not an extraction failure. It is a finding about the record keeping.

What surprised us

Progress claims are the hard case, not invoices. A claim has a contract sum, work to date, previous claims, retention, and this claim, often across three pages, and the number you want is rarely the biggest one on the page. We wrote a separate prompt for claims and it needed several rounds.

GST is the second hard case. Suppliers are inconsistent about whether unit prices are inclusive. We normalised everything to ex GST and flagged any invoice where the GST line did not equal ten percent of the ex GST total.

What it cost, honestly

$40.55 in model calls. Perhaps two days of our time to build the reader and the checks, most of it on claims and GST. Then a few hours of the finance manager's time working through the 69 that needed a person, which is a few hours rather than a few weeks.

The reader now runs on new invoices as they land. It is the same code.

Got a pile like this? Bring one month of it.

Twenty minutes. We will show you what we would have caught.

Book a demo