Case Study · Document Intelligence

Turning business documents into trusted structured data

How DocPro transforms invoices, receipts, bank statements, KYC documents, purchase orders and custom documents into structured information ready for downstream workflows.

Woman reviewing a printed document on a clipboard next to her laptop at an office desk

Case study 02 · The challenge

What a mixed document intake has to replace

Invoices, receipts, statements and KYC packs rarely arrive in separate, tidy queues. They arrive together, in every format, and someone sorts and types them before any real work starts. This case study follows that intake through DocPro, from the mailbox to data a downstream system can trust.

This page describes a representative workflow rather than a customer deployment. These case studies illustrate PTAS AI product and solution architectures and representative business workflows. They are not presented as customer deployments or independently measured customer results.

Today

Which pile does this go in?

One shared mailbox receives supplier invoices, expense receipts, bank statements and onboarding packs in the same stream. Someone opens every attachment to decide where it goes before anyone can work on it.

Today

Keyed twice, checked once

Fields are typed from the PDF into a system, then checked by a second person against the same PDF. The check catches typing errors. It does not catch a total that never agreed with the lines.

Today

The scan nobody wants

A photographed receipt, a fax-quality invoice, an address proof with a stamp across it. These sink to the bottom of the pile because they take longest, and they are often the ones that matter.

Underneath

One tool per document type

OCR for invoices, a separate template set for statements, manual handling for KYC. Each has its own exceptions, its own queue and its own idea of done.

Underneath

Text with no view on itself

Extracted text arrives with no sign of which values are uncertain. So either everything is checked again, or nothing is.

Underneath

The record ends at the spreadsheet

When someone later asks where a value came from, the answer is a file name and a person's memory. What was read, what was corrected and by whom was never kept.

The PTAS AI approach

One intake, classified before it is read

DocPro understands documents. In this workflow it does all four moves on its own: it works out what each document is, reads it with the agent built for that type, checks what it read, and delivers a record that says how sure it is about every field.

  1. 01

    Understand

    DocPro classifies each document before reading it: invoice, receipt, bank statement, purchase order, KYC pack, or a type you defined. It routes the document to the agent built for that type, which reads the fields in context and scores each one.

    One stream in, sorted by type

  2. 02

    Decide

    Each record is tested against the rules for its type: lines against the invoice total, opening balance plus lines against closing on a statement, names and dates across the documents in a KYC pack, the vendor against your master. A field below your threshold or a failed check is marked for a person, with the reason.

    Checked before anyone reads it

  3. 03

    Act

    Clean records go out as structured JSON, by webhook, API or file, to the system that needs them: FinSuite for payables and reconciliation, your ERP, a case system or an onboarding workflow. Held fields go to the review queue for that document type.

    Delivered where the work happens

  4. 04

    Verify

    Every record keeps what was read, the score on each field, the checks that ran, any correction and who made it, and the original document. Fields you classify as sensitive are masked on export.

    A record you can query later

The figure is one morning's intake after classification. Six agents take their own document types, and the three documents that fitted none of them wait for a person. The counts are illustrative.

One morning's intake, classified before it is read · Illustrative example

Arrived asRouted toDocuments
Supplier invoices, PDF and scanInvoice Agent138
Receipts and UPI slipsReceipt Agent57
Purchase ordersPurchase Order Agent24
KYC packs, split into documentsKYC & Identity Agent16
Lorry receiptsCustom agent11
Bank statementsBank Statement Agent9
Fitted no known typeHeld for a person3
Received this morningSix agents, one queue258
3 held Three documents matched no known type. They went to a person, not to whichever agent looked closest.

Illustrative data. Classification is the step intake tools most often skip, and it is what stops a bank statement being read as an invoice.

Classified first

A statement is never forced through the invoice pipeline. An unknown type goes to a person.

Scored per field

The record says which values it is sure of, so review covers only the ones it is not.

Shaped for the next system

JSON in the schema agreed for each type, with scores and check results attached.

The workflow

Ten steps from mixed intake to trusted data

Every document type takes the same route. What changes is the agent at step three and the checks at step six. Every step writes to the same record, so the output carries its own history.

  1. 01

    Intake

  2. 02

    Classify

  3. 03

    Route to agent

  4. 04

    Extract

  5. 05

    Confidence

  6. 06

    Validate

  7. 07

    Human review

  8. 08

    Structured output

  9. 09

    Downstream system

  10. 10

    Audit

DocPro classifies → the right agent reads → your systems receive checked data

How DocPro works

Step by step

What each step does, and who owns it

DocPro owns nine of the ten steps. The seventh belongs to your people, and they see only what a rule or a threshold could not settle.

StepOwned by
01 Intake. Documents arrive through a watched mailbox, an upload, a scanner folder or the API, in whatever mix the day brings. Each is logged on arrival with its source, so its age counts from the moment it landed. DocPro intake
02 Classify. The document type is settled before anything is read. A pack combining an identity document and an address proof is split into its parts. A document that fits no known type is held for a person, and never sent to the agent that looks closest. DocPro classification
03 Route to agent. Each document goes to the agent built for it: Invoice, Receipt, Bank Statement, Purchase Order, KYC & Identity, or a custom agent for a type such as a lorry receipt. DocPro agents
04 Extract. The agent reads the fields in its schema by layout and context: header, line tables and totals, transaction rows, identity fields. A new supplier layout is read on its first document, without a template. The agent for that type
05 Confidence. Each field carries its own score. A field below the threshold you set for that field and document type is marked for review. The others pass. Field-level confidence, DocPro
06 Validate. The checks for the type run: lines against totals and tax on an invoice, the running balance on a statement, names, dates and expiry across a KYC pack, the vendor against your master, duplicates against everything already received. DocPro validation
07 Human review. Only held fields reach a person, with the value, the score, the page region and the failed check. The reviewer confirms or corrects, and the decision is recorded against the field. Human-in-the-loop review
08 Structured output. One JSON record per document, in the schema agreed for its type, carrying every score and check result. Masked fields stay masked on export. DocPro API
09 Downstream system. The record goes to the system that needs it through native, API, file or custom integration: FinSuite for payables or reconciliation, an ERP, an onboarding or case system. DocPro integrations
10 Audit. The original, the extracted values, every score, every check and every correction stay on the record for the retention period your policy sets, and deletion is recorded. DocPro security

Step eight, seen from the outside. Four documents of four types arrive; the invoice comes back as typed fields, each with its own score. The values and percentages are illustrative.

Illustrative workflow · documents in, fields out

Documents receivedFour types
InvoiceINV-2291 · 2 pages
ReceiptFuel · phone photo
Bank statement7 pages · PDF
Purchase orderPO-55102 · 1 page
Structured extractionInvoice INV-2291
Invoice numberINV-229198%
Vendor nameMaster V-118797%
Invoice date12 Oct 202696%
Total amount₹ 84,96098%
Ready for workflow Extracted → validated → ready for workflow. Each score belongs to one field, not to the document.

Illustrative data. The percentages show how confidence is reported per field; they are not a measured accuracy.

Human review

Where a person comes in, and what they see

Review is a control, not a failure state. A person is asked about a field DocPro could not read with confidence or a check that failed. In a mixed intake the reasons differ by document type, and so do the people best placed to settle them.

One morning's onboarding batch · Illustrative example

PositionApplicationsWhy
Packs read and cross-checked340—
Cleared to the next stage311All checks passed
Held — document expiring12Inside review window
Held — data mismatch9Typed name differs
Held — image unreadable8Re-capture requested
29 to a reviewer Each arrives with the field that failed named, rather than the whole pack sent back.

A reviewer opening a held case sees one line to settle. That is the difference between a queue that clears and one that grows.

The figure is the KYC part of the intake, with illustrative numbers. Each held case names the field that failed, so the reviewer settles one line and leaves the rest of the pack alone. Other types have their own queues: a low-confidence invoice total goes to accounts payable, a failed statement balance to the account owner. The human-in-the-loop guide covers how to design queues that shrink.

Products used

DocPro and the six agents in this intake

One product, one pipeline, and an agent for each document type. They share the classification step, the confidence model, the review queue and the audit trail, so a receipt and a KYC pack are governed the same way.

DocPro agent

Invoice Agent

Supplier invoices: header, every line with HSN, rate and tax, and totals recomputed against the lines.

Invoice Agent →

DocPro agent

Receipt Agent

Expense receipts and UPI slips, photographed badly as a matter of course. Image quality shows up as confidence.

Receipt Agent →

DocPro agent

Bank Statement Agent

Transaction rows with the running balance proved on every page, so a missing page is reported.

Bank Statement Agent →

DocPro agent

Purchase Order Agent

Order lines with units and codes normalised, ready for the match against an invoice.

Purchase Order Agent →

DocPro agent

KYC & Identity Agent

Identity and address documents read, cross-checked across the pack, with sensitive fields masked on export.

KYC & Identity Agent →

DocPro agent

Custom Document Agents

Types the standard agents do not cover, such as lorry receipts, built from a schema and real samples.

Custom Document Agents →

DocPro delivers each record as structured JSON through the API, by webhook as each document completes, or as a file. Where it goes next is your choice: FinSuite for payables and reconciliation, your ERP, or a case or onboarding system. Which integration method applies to each system is confirmed during assessment.

How records leave DocPro

Controls

What stops bad data reaching the next system

A wrong value read with confidence is more dangerous than a blank, because it travels. In this workflow the controls sit inside the chain, before delivery, and each one leaves a record. The DocPro security page has the detail.

Thresholds you set

Confidence thresholds per field and per document type, and the rules each type runs, are your configuration. Every change records who made it and when.

Unknown types stop

A document that fits no known type is held for a person. It is never read by the nearest agent and returned looking clean.

Redaction and retention

Identity numbers and any field you classify as sensitive are masked on export. Documents are held for the period your retention policy sets, and deletion is recorded.

Deployment and access

Role-based access, encryption and audit trails, with ISO/IEC 27001-aligned security practices. Cloud, private cloud, or on-premise and air-gapped deployment where supported.

What we would not automate here: deciding whether a KYC applicant is acceptable, or filling in a field the document does not show. DocPro extracts, checks and flags. Acceptance is your policy's decision, and a missing value comes back blank.

Next step

How to test this on your own intake

A folder of clean examples proves little. A morning's intake as it arrived, with the scans, the mixed packs and the document nobody can classify, is the test worth running.

The public document test runs the Invoice Agent and the Receipt Agent on one page at a time. Statements, purchase orders, KYC packs and custom types run in a demo on your own documents. Going live is typically four to twelve weeks for a single workflow, an indicative range that varies by document types, workflows, integrations and deployment. The IDP evaluation guide sets out how to test any document processing tool, ours included. The workflow on this page is representative; it is not presented as a customer deployment or an independently measured result.

FAQ

Questions teams ask about this case study

Is this a customer deployment?

No. This case study describes a representative workflow built from DocPro's agents and controls. It is not presented as a customer deployment or an independently measured result, and the numbers in the figures are illustrative.

What happens to a document DocPro cannot classify?

It is held for a person with the reason, and never sent to whichever agent looks closest. The reviewer assigns the type or rejects the document. If a new type keeps arriving, it becomes a candidate for a custom agent.

Do we need a template for each supplier or bank?

No. Fields are found by layout and context, so a new supplier's invoice or a new bank's statement is read on its first document. Where a layout lowers confidence on some fields, those fields go to review and the log names the source.

Can DocPro run without FinSuite?

Yes. DocPro delivers structured JSON by API, webhook or file to any system. FinSuite is the natural next step for invoices and statements, and case study 01 shows the two products together, but it is not required.

How are identity documents protected?

Identity fields can be masked on export per field and per destination, access is role-based, and documents are held for the period your retention policy sets, with deletion recorded. On-premise and air-gapped deployment are available where supported.

Next step

See what your own intake looks like once it is read

Send us a morning of mixed documents as they arrive. We will show you how they classify, which fields come back with confidence, and which would reach a person.