Skip to content
buzinov.tech, home page
Client
Open source
Industry
Accounting and e-invoicing

Invoice extraction checked against EN 16931

A PDF invoice becomes structured data, and every field is checked against the European e-invoicing standard before it is saved.

business rules on every field
EN 16931
XML validated against OASIS schemas
UBL 2.1

Why it exists

Language models read invoices well enough for a demo and fail quietly in accounting: a total that does not add up, a VAT rate from another line, a supplier tax number that was never on the page. This project shows how to put a model inside rules instead of trusting it.

How it works

  1. OCR (PaddleOCR or Tesseract) turns the PDF into text.
  2. A language model extracts fields into a typed structure.
  3. Every field is checked against EN 16931 business rules, and each field carries a confidence value.
  4. A value the model did not see stays empty instead of guessed.
  5. The result is written as UBL 2.1 XML, validated against the OASIS schemas, and as JSON.

An ERP adapter interface takes the validated invoice into the accounting system. How such checks fit into a company's accounting and what they cost is on the call and document analysis page.

Code

github.com/SaintsFlow/invoice-en16931

Solution behind it

Pipelines with LLMs

Call and document analysis with LLMs

Pipelines that transcribe sales calls and score them against your checklist, or turn invoices and contracts into validated structured data.

  • Python
  • FastAPI
  • OpenAI API
  • Yandex SpeechKit

from$500

A process still runs on copy and paste?

Describe it in a few paragraphs. You get the approach, the first risk and a fixed estimate within 24 hours.