Extraction is the easy part. Knowing which results to trust is the product.
A model that reads 95% of fields correctly still leaves you checking 100% of documents. What makes document AI worth deploying is per-field confidence and a rule layer that decides what can post without a human.
Why document AI stalls at the pilot.
Accuracy is the number every pilot reports and the wrong one to optimise. The figure that decides whether anyone saves time is straight-through rate — the share of documents that post with nobody looking.
Extraction that is 95% accurate still needs every document checked
An average accuracy figure tells a reviewer nothing about the document in front of them. Per-field confidence combined with rule outcomes is what routes work: everything clearing the threshold posts automatically, and only the rest reaches a person.
A reviewer cannot trust a number they have to hunt for
Verification that means searching the page costs more than typing the value. Extraction returns the page region for every field, so review shows the document with the uncertain value highlighted in place and becomes a glance.
Template-based extraction breaks when a supplier changes layout
Coordinate-based templates make every new format an onboarding task. Layout-aware extraction handles a changed invoice without a template, so only genuinely new document types need attention.
Reprocessing a document posts it twice
Re-running is normal and must be safe. Posting carries an idempotency key derived from the document hash and the target system, so a reprocess updates the extraction record and cannot create a second entry downstream.
A model upgrade silently changes what gets auto-posted
A better average can still be worse on the fields that matter. Every extraction records the model version that produced it, and a new version runs in shadow against a labelled set before it takes traffic, compared on straight-through rate rather than accuracy.
A bad scan produces a plausible wrong number
Confidently wrong is the expensive failure. OCR word confidence gates the pipeline — below threshold, extraction is not attempted and the document routes to manual entry, because a missing value is recoverable and a wrong one is not.
How we build one.
A document pipeline is a routing problem wearing a machine-learning costume. The confidence gate is the part that makes it deployable.
- 01
Intake
Email, upload, SFTP and API ingestion with deduplication by content hash, so the same document arriving twice is one job.
- Content-hash dedupe
- SFTP
- API
- 02
OCR
Layout-preserving recognition with deskewing and per-word confidence, which is what gates everything downstream.
- OCR
- Per-word confidence
- 03
Classification
Document type and regional format detection with its own confidence score, so an unknown type is flagged rather than guessed.
- Type detection
- Regional formats
- 04
Extraction
Layout-aware field and line-item extraction that returns the page region for every value it produces.
- Layout-aware models
- Region provenance
- 05
Validation
Declarative business rules over the extracted structure, versioned independently of the model so a policy change is not a retrain.
- Rule engine
- Versioned rules
- 06
Review and posting
Human review of uncertain fields only, then idempotent posting into the system of record with the key derived from the document.
- Confidence routing
- Idempotent posting
We have already built this.
DOCFLOW is our document intelligence pipeline: OCR confidence gating, layout-aware extraction with page-region provenance, declarative validation rules versioned apart from the model, confidence-routed human review and idempotent posting. It is a MaatX demonstration rather than a client deployment, and the mechanisms above are running in it.

Questions we get asked.
What accuracy can we expect?
It is the wrong question, and we would rather give you the right one. Accuracy varies with scan quality and document variety and tells you little on its own; straight-through rate — the proportion posting without review — is what changes anyone's workload. That figure is tunable: tighten the rules and thresholds and it falls while trust rises, which is a decision for you rather than for the model.
Do we need labelled training data?
Not to start. Layout-aware extraction handles common document types without per-template onboarding. What a labelled set is genuinely for is evaluation and threshold calibration — deciding what confidence is high enough to skip review — and a few hundred representative documents is usually enough for that.
Can it post straight into our ERP or accounting system?
Yes, and the important part is that it cannot post twice. The idempotency key is derived from the document hash and the target system, so reprocessing is always safe. Which fields post automatically is decided per field by confidence and rule outcome rather than all-or-nothing.
What does an engagement look like?
Discovery and Architecture first, where the valuable output is usually the rule set and the threshold policy rather than the model choice. Build follows if you want us to do it.
What it costs, and what you are agreeing to.
The commercial answers in one place, so none of them has to wait for a call.
Typical route in
AI Engineering
Typically $25,000–120,000
Scoped per system
Retrieval that stays grounded, agents that are replayable, and evaluation that runs before anything ships. The model is one component with a contract, not the product.
A starting point for the scope described, not an estimate for your project. Ongoing engineering runs at $75 per hour blended.
Who owns what you build?
You do. On full payment of the fees for an engagement, the intellectual property in everything built specifically for you is assigned to you.
Our pre-existing tools, libraries and internal infrastructure stay ours — but where a deliverable uses them, you get a perpetual, worldwide licence to run, modify and extend it. Nothing we hand over needs us to keep operating it. Open-source and third-party components keep their own licences, and we tell you which ones and what they require.
We also will not name you as a client, describe your project, or publish a case study about it without your written agreement.
What happens if it does not work out?
Either of us can end an engagement with 30 days written notice, or immediately if the other commits a material breach and does not remedy it within 15 days. You pay for work properly performed up to that point, and we hand over completed work along with every deliverable you have paid for.
Two limits worth stating before you ask. We are engineers, not advisers: nothing we deliver is legal, regulatory, tax or financial advice, and a system built to your specification is not an opinion that it is lawful in your jurisdiction. And where our work includes reviewing or auditing code, the findings cover the scope and time agreed — an absence of findings is not a guarantee that nothing is there.
What do you need from me to start?
Not a specification. Discovery exists precisely because most people do not have one — an idea, or a technical problem you cannot yet size, is enough to begin.
What the work does assume: timely access to the people, systems, credentials and environments it touches; decisions and approvals at roughly the pace the timeline assumes, since delays on your side move both dates and cost; and that you have the right to give us whatever you give us, including data, code and third-party material.
Why you rather than the alternative?
Against hiring a senior engineer in-house: sourcing one takes months and commits you permanently. Discovery runs 1–3 weeks, and you keep the architecture whichever way you then go — including if the answer is to make that hire.
Against the cheapest contractor available: you will pay less per hour. Our argument is that the architecture decision is the one that is expensive to reverse, which is why we sell it first, separately, and at a price you can say yes to before committing to a build.
Against a larger firm: there is no account layer. The people who scope the work are the people who build it.
And when not to hire us: if a no-code or off-the-shelf tool still fits what you are doing, stay on it. We are worth paying once you have hit a ceiling you cannot engineer around from where you are.
These are summaries. The binding version of the ownership, exit and liability terms is in our Terms of Service. A person reads every enquiry. We usually reply within a few hours.
Start a technical assessmentProcessing documents where extraction has to be validated before anything reaches your ERP?
Send us the architecture or the problem. We will come back with the technical risks we can see and a sensible path forward, free, and tell you if we are not the right people for it.
