OperationsFeatured

Document Data Extractor

Returns the fields it can actually read, and says so about the rest

Version 3Published Sep 2, 2026
Watch it work▶ Try it on your own figures — free

5 of 8 extracted documents need attention.

8 extracted documents checked. 5 flagged.

Start with CV-78. CV has the most flagged.

Whether a filled value is right is for the reviewer to check against the document; the list only counts what is empty or unchecked.

10
5/8
Flagged
5
8
Fields missing
10
Longest (days)
4
Share flagged
63%

Why rows were flagged

5
  • Not reviewed by a person50%
  • Under 70% of required fields filled38%
  • Some required fields missing13%

Value flagged by Type

  • CV1
  • Invoice1
  • Purchase order2
  • Expense claim1

Items to act on, worst first

ItemTypeValueFields missingWhy
CV-78CV44Under 70% of required fields filled, Not reviewed by a person
INV-2202Invoice33Under 70% of required fields filled, Not reviewed by a person
PO-311Purchase order22Under 70% of required fields filled
EX-52Expense claim11Some required fields missing, Not reviewed by a person
PO-310Purchase order00Not reviewed by a person

What to do this week

  • Resolve CV-78 first: it is the most urgent on the list.
  • Fix the data or the status on every flagged row, then re-run.
  • Re-run this check every time the list changes, before it reaches a decision.

Do

  • Fix the highest-risk item first, then run the check again on fresh data.

Don't

  • Don't act on one row alone: open the source record first.

How to improve

  • Add more detail per row (owner, date, source) so the next report can trace each item.
  • Add a second period of data so the next report can show whether things are improving.

Demo

Try it now — free

Type your figures (or fill in samples) and get the answer in a minute.

Start from a template

Make it decision-ready

Also include

No card · no API key · your figures are not stored

Overview

Turning documents into rows is the most-copied automation on every platform, and almost all of it fails the same way: every field comes back filled. A total it could not read becomes a plausible number, a date it guessed becomes a date, and the row enters your ledger looking identical to the rows that were read correctly.

Extraction is only worth anything if you know which fields to trust. This agent scores every field it returns, refuses to supply a value it cannot support, and distinguishes a field that is absent from the document from one that is present and unreadable — because the first needs a question and the second needs a better scan.

It also checks the document against itself: lines that do not sum to the stated total, a date after the document's own issue date, a currency that changes mid-page. Those are the errors that survive every confidence score, because each individual field looked fine.

Benefits

Only review what needs it

Low-confidence fields are flagged; the rest pass.

Nothing silently wrong

The failure mode of every other extractor is a wrong number that looks right.

Catches the sender's mistakes too

Internal inconsistencies are found on the way through.

What it does

  • A confidence on every field

    You know which values to trust before they reach a ledger, not after an audit.

  • Blank rather than plausible

    A field it cannot read comes back empty. A guessed total is worse than a missing one.

  • Absent and unreadable are different

    One needs a question to the sender, the other needs a better scan.

  • Checks the document against itself

    Lines that do not sum, a date after the issue date, a currency that changes mid-page — errors every field-level score misses.

  • Your schema, not ours

    It extracts the fields you asked for, and says which of them the document does not contain.

  • Writes nowhere

    It returns data. Putting it into your systems is a step you control.

What this changes

What this changes about your week

It takes over
Typing documents into a system, field by field.
Done today by
Whoever is cheapest, which is why the errors are found late.
How often
Every invoice, form and statement that arrives.
Typical manual effort
A few minutes per document, multiplied by everything that comes in.

Why Operations in particular. It leaves blank what it cannot read. Every other extractor returns a plausible number that looks exactly like a correct one, and nobody checks.

  • Runs unattended

    Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.

  • The same standard every time

    The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.

  • It cannot act on its own

    Document Data Extractor has no path to sending, spending or committing. That limit is why its output is safe to act on.

How it runs

This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.

  1. 1InputValidated against the agent input schema
  2. 2Modelclaude-opus-5 with automatic fallback
  3. 3Toolsextract_structured_data
  4. 4PermissionsRuns READ actions automatically; anything higher waits for approval
  5. 5OutputStructured result matching the output schema
  6. 6LoggingTokens, duration and every step recorded

Requirements

Integrations

No integrations required.

Before you start

  • The document text
  • The fields you want, as a schema
  • Requires the Starter plan or higher

Use cases

Supplier invoices

Into rows, with the ones needing a human marked.

Forms and applications

Structured, with missing fields listed rather than invented.

Statements and remittances

Reconciled against their own totals as they are read.

Pricing

Starter

Billed monthly through your PROMIVO subscription. Cancel at any time.

Runs consume your plan allowance for agent executions and tokens. See plan limits

FAQ

Does it read scanned images?

It works from the text you supply, including text produced by your own scanning. Where that text is garbled it reports the field as unreadable rather than guessing what it probably said.

Why leave fields blank?

Because a plausible wrong value is the expensive failure. A blank field asks a question; a guessed one answers it wrongly and nobody checks.

Can it write into our system?

No. It returns structured data with confidences. What you do with a low-confidence row is a decision, and it should be yours.

Reviews

Reviews open once customers have run this agent.

Need this agent to work differently?

Tell us what to change and our team will scope a customised version for your business.

Customize this agent