Document extraction with source locations

Turn mountains of documents into verifiable data.

Excalitract reads invoices, contracts and reports, extracts the values according to your schema and shows the source location for every value – ready for Excel®, databases or your business application.

  • A source location for every value
  • Hosted in Germany
  • AI only via EU model routes
Excalitract pulls data out of documentsA stack of documents on a stone base from which a glowing blade is drawn. Three marked source locations on the front document are linked to a result table: invoice amount, service period and contract number, each reviewed.ResultInvoice amount€1,284.50Service period1 Jan – 31 Dec 2025Contract numberV-2041-7Source: page 1Excalitract pulls data out of documentsA stack of documents on a stone base from which a glowing blade is drawn. Three marked source locations on the front document are linked to a result table: invoice amount, service period and contract number, each reviewed.ResultInvoice amount€1,284.50Service period1 Jan – 31 Dec 2025Contract numberV-2041-7Source: page 1
The data layer in front of your business application

Excalitract does the groundwork – your tools do the rest

Tenders, controlling, contract review or databases: before your applications can do their job, the data has to get out of the documents. That is exactly where Excalitract comes in.

The Excalitract flow in six stations
1 / 6Intake

Documents arrive as a folder or ZIP – mixed or sorted, digitally created or scanned. Duplicates are detected.

Excalitract in 90 seconds

Tessa shows how documents become data

From the mixed stack to the reviewed export: schema, source location, review against the original and handover to your systems – explained briefly, with captions.

The process

From a stack to an evidenced data record

Optional

Make it readable first: state-of-the-art OCR

Excalitract makes scanned pages and photos machine-readable with state-of-the-art, AI-based text recognition (OCR) – including tables and multi-column layouts. If a PDF was created digitally, its existing text layer can be used directly.

Text recognition makes scanned pages readableA scan beam sweeps across a scanned, slightly skewed invoice page. It becomes machine-readable text: invoice number, date, net amount and VAT, including the recognized table structure. Digitally created PDFs can use their existing text layer directly.Scanned pageRecognized textAI text recognitionRECHNUNG RE-2025-0815Date: 02/14/2025Energy price1.102,40 €Standing charge182,10 €Net€1,284.50VAT 19%: €244.06Tables and layout recognizedText recognition makes scanned pages readableA scan beam sweeps across a scanned, slightly skewed invoice page. It becomes machine-readable text: invoice number, date, net amount and VAT, including the recognized table structure. Digitally created PDFs can use their existing text layer directly.Scanned pageRecognized textAI text recognitionRECHNUNG RE-2025-0815Date: 02/14/2025Energy price1.102,40 €Standing charge182,10 €Net€1,284.50VAT 19%: €244.06Tables and layout recognized

Sorting by document type

Each document type gets its own schema. Anything that cannot be assigned with confidence is not guessed but goes to a human for review.

Classifying a mixed stack of documentsA mixed stack is sorted by document type: invoices, contracts and reports each go into their own lane. A document that cannot be assigned with confidence goes into the “For review” lane instead of being guessed.InboxInvoicesSchema: InvoiceContractsSchema: ContractReportsSchema: ReportFor reviewUnsure? A human decides.Classifying a mixed stack of documentsA mixed stack is sorted by document type: invoices, contracts and reports each go into their own lane. A document that cannot be assigned with confidence goes into the “For review” lane instead of being guessed.InboxInvoicesSchema: InvoiceContractsSchema: ContractReportsSchema: ReportFor reviewUnsure? A human decides.

Every value with its source location

Excalitract links every extracted value to its location in the original. One click in the review view – and you see where the figure comes from.

Extracting a value with its source locationIn the original document, the location of a value is highlighted. A line connects the highlight to the extracted field “Consumption 2025: 48,210 kWh”, which carries the source location page 2, line 14.Page 2Field: Consumption 202548,210 kWhSource: p. 2, line 14From value to sourceHighlighted in the originalExtracting a value with its source locationIn the original document, the location of a value is highlighted. A line connects the highlight to the extracted field “Consumption 2025: 48,210 kWh”, which carries the source location page 2, line 14.Page 2Field: Consumption 202548,210 kWhSource: p. 2, line 14From value to sourceHighlighted in the original

Review, correct, approve

You confirm or correct values right next to the original. Every correction is saved as a revision – the original model value stays traceable.

Review and approval against the originalThe extracted fields are shown for review next to the original. Two values are confirmed and one value is corrected – the old value remains visible in the history. Only then is the document approved.ReviewInvoice numberRE-2025-0815confirmedInvoice date14 Feb 2025confirmedNet amount1.824,50 €€1,284.50correctedHistory: model value → manual correctionApprove document ✓Review and approval against the originalThe extracted fields are shown for review next to the original. Two values are confirmed and one value is corrected – the old value remains visible in the history. Only then is the document approved.ReviewInvoice numberRE-2025-0815confirmedInvoice date14 Feb 2025confirmedNet amount1.824,50 €€1,284.50correctedHistory: model value → manual correctionApprove document ✓

“Not found” never becomes zero

If a value is not in the document, the field visibly stays open. Missing required values block approval until someone has resolved them.

“Not found” never becomes zeroA field that is not in the document is not filled with 0. The zero is crossed out, the field visibly stays open and is marked “Required value missing”. The document goes to review, and approval is only possible once the value has been resolved.no entryField: Meter number0— not foundRequired value missing→ to a human for reviewApproval blocked until the value is resolved“Not found” never becomes zeroA field that is not in the document is not filled with 0. The zero is crossed out, the field visibly stays open and is marked “Required value missing”. The document goes to review, and approval is only possible once the value has been resolved.no entryField: Meter number0— not foundRequired value missing→ to a human for reviewApproval blocked until the value is resolved

Out into your systems

Export approved data as Excel® with one sheet per list level, as JSON or via REST API to your business application – or let your AI agents pick it up directly through the MCP server.

See all features →
Export to your systemsApproved records flow from the result table into four targets: an Excel® file with one sheet per list level, JSON for further processing, the REST API for your business system and the MCP server through which AI agents work with Excalitract directly.Approved dataDocument · Field · Value · StatusXExcel®one sheet per list level{ }JSONincl. review statusREST APIfor your business appMCP serverfor AI agentsExport to your systemsApproved records flow from the result table into four targets: an Excel® file with one sheet per list level, JSON for further processing, the REST API for your business system and the MCP server through which AI agents work with Excalitract directly.Approved dataDocument · Field · Value · StatusXExcel®one sheet per list level{ }JSONincl. review statusREST APIfor your business appMCP serverfor AI agents
Our guardrails

No black box. Traceable down to the individual value.

Source locations, not blind trust

Every value carries its origin. Reviewing means checking, not believing.

Open stays open

Uncertain or missing values go to a human instead of being silently filled in.

Validation rules alongside the model

Schema validation and required-field checks run alongside the AI, not inside it.

One core, many document types

The same platform for invoices, contracts and reports – only the schema changes.

No lock-in

You can export results at any time in open formats – Excel®, JSON or via API.

Versioned and auditable

Schema versions are immutable; review decisions and corrections are logged.

AI agents and MCP

Built for AI agents from day one

Excalitract is not just an interface for people. Through its native MCP server (Model Context Protocol™) and the documented REST API, AI agents work with Excalitract directly – for example

Claude® · ChatGPT® · Codex™ · Gemini® · Grok®

  • Submit documents, start runs and fetch results – as tools inside the agent
  • Machine-readable results with review status, source location and the origin of every value
  • Anything uncertain still goes to people: approvals stay bound to roles
  • Per-tenant API keys, audit log and EU model routes apply to agents as well
AI agents work with Excalitract via MCPCommon AI agents connect through the Excalitract MCP server. They submit documents, start runs, fetch results and trigger reviews. They get back structured data with review status and source location.Claude®ChatGPT®Codex™Gemini®Grok®ExcalitractMCP serverSubmit documentsStart runFetch resultsTrigger reviewResultreviewedwith source{ … }AI agents work with Excalitract via MCPCommon AI agents connect through the Excalitract MCP server. They submit documents, start runs, fetch results and trigger reviews. They get back structured data with review status and source location.Claude®ChatGPT®Codex™Gemini®Grok®ExcalitractMCP serverSubmit documentsStart runFetch resultsTrigger reviewResultreviewedwith source{ … }

Product names mentioned are trademarks or registered trademarks of their respective owners. Naming them describes technical compatibility and implies no partnership.

Measure first, then replace

A good demo is not yet a decision

Whether Excalitract should replace your current solution is decided by figures – measured on a test set of your own documents: business-accepted fields and cost per accepted record.

  1. Test setfrom your documents
  2. Comparisonby business criteria
  3. Decisionbased on the figures
Benchmark on your test setSchematic illustration: several processing variants run on the same test set of your documents. They are compared by business-accepted fields and cost per accepted record. The decision is based on figures, not on a demo.Your test setComparisonBusiness-accepted fieldsVariant AVariant BVariant CCost per accepted recordVariant AVariant BVariant CDecision: BSchematic illustration, not measured valuesBenchmark on your test setSchematic illustration: several processing variants run on the same test set of your documents. They are compared by business-accepted fields and cost per accepted record. The decision is based on figures, not on a demo.ComparisonBusiness-accepted fieldsVariant AVariant BVariant CCost per accepted recordVariant AVariant BVariant CDecision: BSchematic illustration, not measured values
Demo

See Excalitract with your documents

No standard show: we prepare the demo for your documents and fields. Afterwards, you will know how Excalitract handles your document collection – and how you can measure it on a test set of your documents.