Blog

# Document and extraction agents

Use cases / September 10, 2026 / Krishna Bhatnagar

Invoices, receipts and contracts into fields. Reading stays with the model; what comes after is the repeated part.

Extraction agents read documents, invoices, receipts and contracts, and turn them into fields: amounts, dates, parties, terms. Then they decide where each field goes and write it to the right system.

Reading a messy document is real model work, and it stays with your agent's model. What comes after it is the same every time: where the fields go, what to check, what to write. That's the part that runs compiled.

## What you get

- Your model reads the document, as it does today.
- The steps after it run compiled, the same way every time.
- Anything that doesn't fit goes to your agent, unchanged.

This sits close to what AgentCompile does today, and it's where we're looking next.

## Two kinds of work in one agent

An extraction agent does two different things. Reading is the hard part: a scanned invoice, a receipt photographed at an angle, a contract with clauses in odd places. That's real model work and it stays with your model. Then comes the routine part: check the vendor exists, match the purchase order, file the fields, flag anything that doesn't add up. That part is the same every time.

Without AgentCompile:

- The model reads the document, then reasons through every step after it.
- Each invoice is filed by a fresh round of reasoning.
- The routine part costs as much thought as the reading.

With AgentCompile:

- The model reads the document, exactly as today.
- The steps after it run compiled, the same way every time.
- Anything unusual (a new vendor, a mismatch) goes to your agent.

## An invoice, walked through

1. A new invoice arrives. Your model reads it into fields, as it does today.
2. Look up the vendor, match the purchase order, check the amounts: this part repeats, so it can run compiled.
3. Writing to your accounting system is a change, and it follows your approval rules.
4. An invoice that doesn't match goes to your agent, with everything found so far.

## Where we are

This is close to what AgentCompile does today, and it's where we're looking next. We haven't published results for extraction agents yet.
