Invoice parsing is only half a step without validation behind it

Updated

Invoice parsing takes a document and returns fields, and on its own that is a component rather than an improvement. What decides whether parsing helps or hurts is what happens immediately afterwards: whether the returned values are checked against things you already know before anything downstream trusts them. Parsing without validation moves errors rather than removing them.

What parsing returns

Supplier details, invoice number and date, currency, tax breakdown, totals and, where it can, line items. Better parsers also return a confidence value and the position on the page each value came from, which is what makes a review screen quick rather than tedious. Ask for both, because they change how the correction step feels.

The validation that has to follow

Does the supplier exist in your records. Do the lines sum to the net, and does net plus tax equal the total. Has this invoice number been seen for this supplier. Is the date plausible. Do the bank details match what you hold. These checks are cheap, they catch a good share of parsing errors, and they are usually the caller's job rather than the parser's.

Then the human path

Whatever survives validation but carries low confidence needs a person and a screen where correction takes a keystroke. Design that path before the integration, because it is where your team will spend its time. A parser with excellent accuracy and a poor correction path relocates work into a less structured place.

Questions people ask about invoice parsing

Build or buy a parser?

Buy, unless parsing is your product. The validation rules and the review path are yours to build either way and are where the value is.

How do we measure parser quality?

By field, on your own documents, and by the review minutes you still owe afterwards rather than by an aggregate accuracy claim.

What about line items?

Hardest and most valuable, since the match needs them. Test on a genuine multi-line invoice with partial deliveries against one ordered line.

Sources

Related answers

Start Threewayly ProKeep the match, not the spreadsheet