User Guide
Turn invoices, receipts, contracts, CVs and other business documents into clean, reviewable, export-ready data, with the source text shown behind every value.
This guide covers using DocAI in the browser. Calling DocAI from code? See the API documentation.
What DocAI does
You upload a document, process it through the API, or route an email attachment into DocAI. DocAI reads it, figures out what kind of document it is, and pulls out the fields that matter: invoice number, totals, line items, names, dates, and so on. Every value is:
- Scored for confidence, so you can see what to trust at a glance
- Traceable: the exact text it came from is highlighted on the page
- Editable: fix or add anything before you save or export
- Exportable to JSON, CSV, Excel, or PDF, and shareable with a secure link
Supported uploads: PDF, PNG, JPG/JPEG, HEIC/HEIF, AVIF, TIFF, BMP, WEBP. Multi-page PDFs are supported; the AI reads up to the first 3 pages for field extraction.
How a document is processed
-
1
Receive or upload
Drag a file in, use the API, or send an attachment through a configured email provider.
-
2
Read (OCR)
The page is scanned into text and the position of every word, so values can be mapped back to the page.
-
3
Classify
DocAI detects the document type (and region) with a confidence score. You can override either if you know better.
-
4
Extract
The AI fills in the fields for that type. If the AI is unavailable, DocAI falls back to pattern-matching so you still get a result.
-
5
Review, approve & export
Check highlighted values, correct anything, complete review, and approve controlled accounting handoffs.
Trust: confidence & evidence
DocAI never asks you to take a value on faith.
Evidence. Click any field and the snippet it was read from is highlighted on the page. The annotated-PDF download shows the same boxes.
Confidence colours. Field values and their boxes are colour-coded so your eye goes straight to what needs checking:
- High (β₯ 80%) Very likely correct
- Medium (β₯ 50%) Worth a glance
- Low (< 50%) Check this before you rely on it
- Unknown No score available. Verify manually.
Faint grey boxes on the preview mark all text DocAI recognised, so you can confirm nothing was missed, not just the fields it matched.
Supported document types
DocAI auto-detects the type, or you can pick one before analysing. Typed documents have a fixed, well-known field set: key fields are always present in the result (shown empty if not found). General documents don't have a fixed shape, so DocAI returns whatever labelled fields it finds.
| Document type | Family | Best for |
|---|---|---|
| Invoice | Typed | Sales/purchase invoices, bills, VAT/GST invoices |
| Purchase order | Typed | POs, order confirmations |
| Delivery note / packing slip | Typed | Goods-received notes, shipping dockets |
| Receipt | Typed | Till receipts, fuel & restaurant receipts |
| CV / rΓ©sumΓ© | Typed | Candidate CVs and rΓ©sumΓ©s |
| Structured form | General | Application forms, questionnaires |
| Contract | General | Agreements, terms |
| Identity document | General | ID cards, passports, licences |
| Bank statement | General | Account statements |
| Other / unknown | General | Anything else |
Legend below: Key field (always extracted) and Also captured (when present).
Invoice: field details
Full financial extraction with a line-item table and automatic totals checks.
Key fields: invoice number, issue date, seller name, buyer name, total amount, VAT/tax amount, line items
Also captured: due date, subtotal, currency, payment method, seller & buyer tax numbers, seller & buyer addresses, per-line VAT rate
Line items table: description, quantity, unit, unit price, net amount, VAT rate, VAT amount, gross amount
Regional variants add VAT/GST/sales-tax details. See Regional variants.
Purchase order: field details
Key fields: PO number, order date, seller name, buyer name, total amount, line items
Also captured: delivery date, delivery address, currency, payment method
Delivery note / packing slip: field details
Quantity-focused: no totals or VAT (prices are usually absent on delivery documents). Packing slip is handled identically to delivery note.
Key fields: delivery-note number, delivery date, seller name, buyer name, line items
Also captured: related order number, delivery address
Receipt: field details
Tuned for till receipts, and sub-classified automatically:
Receipt kind: fiscal, non-fiscal, simplified invoice, return/correction
Merchant type: grocery, fuel station, restaurant, retail, pharmacy. Fields adapt accordingly.
Key field: total amount
Also captured: VAT amount, seller/buyer tax number, currency, payment method, line items
Fuel receipts: fuel type, litres, price per litre, pump number
Restaurant receipts: table number, waiter, service charge, tip
CV / rΓ©sumΓ©: field details
CV and rΓ©sumΓ© are the same type.
Key fields: full name, email, phone, skills, work experience
Also captured: location, professional summary, education, certifications, languages, LinkedIn, GitHub, total years of experience
Work experience table: role, company, start date, end date, highlights
Education table: institution, degree, field of study, start, end
Other documents: forms, contracts, IDs, statements
For structured forms, contracts, identity documents, bank statements, and anything else, DocAI returns the labelled fields it finds on the page as label β value pairs. There's no fixed schema, so coverage depends on the document, but evidence, confidence, editing, and export all work the same way.
Need a fixed shape for one of these? Create a custom type with exactly the fields you want.
Regional variants
The same document type can carry different details by country/region. DocAI auto-detects the region (from tax IDs, currency, and wording) and adds the relevant fields, or you can select a region yourself before analysing.
| Base type | Region | Extra fields added |
|---|---|---|
| Invoice | EU (VAT) | Company registration number, reverse-charge/exemption note, IBAN, VAT breakdown by rate |
| Invoice | US (sales tax) | Ship-to address, remit-to address, sales tax, tax-exempt certificate |
| Invoice | India (GST) | Place of supply, IRN, GST breakdown (CGST/SGST/IGST/Cess), HSN/SAC per line |
| Purchase order | US | Ship-to address, Incoterms, vendor number |
| Delivery note | EU | Carrier, tracking/waybill number, package count, gross weight, ordered vs. delivered quantity per line |
Auto-detection recognises EU, US, and India for the above types and applies the matching regional schema. Choosing a region that has no variant simply uses the base type; it's never an error.
Build your own type (custom templates)
Got a document DocAI doesn't model out of the box (a lab report, an internal form, a specific contract)? In a workspace, create a custom type with exactly the fields you need, then pick it when you analyse.
- Field types: text, number, date, list, table (with your own columns)
- Tiers: mark each field critical, recommended, or optional so the completeness check knows what matters
- Optionally extend a built-in type so you keep all the invoice/PO/etc. fields and add your own on top
- Per workspace & reusable: templates belong to the workspace; any member can create one, and the creator (or a workspace admin) can edit it
Languages
DocAI's interface and extraction work in English, German, French, Spanish, Polish, and Italian. Documents in these languages are read and extracted natively (field labels like Rechnung, Faktura, Facture are understood). Switch the interface language from the language menu; your choice is remembered.
Reviewing & correcting results
- Edit any value inline: click, type, done
- Confirm a field to mark it checked
- Add a missing field the AI didn't surface
- Line-item editor for invoices, POs, and delivery notes: add, remove, and edit rows in a table
- Click a field to jump to and highlight its source text on the page
- Your edits are what get saved, exported, and shared, not the raw AI output
Exporting
From any result you can download:
| Format | Contents |
|---|---|
| JSON | Full structured result, including confidence and evidence |
| CSV (fields) | One row per field |
| CSV (line items) | The line-item table |
| Excel (XLSX) | Fields and tables in a spreadsheet |
| Annotated PDF | The original with confidence-coloured boxes over each value |
=, +, -, or @ are escaped so they're treated as text, not formulas.
Sharing safely
Need to send a result to a colleague, client, or auditor?
- Secure link: create a temporary public link to a saved result
- Choose exactly what's shared per field: shown in full, masked, or hidden
- Sensitive-data scan flags emails, phone numbers, IBANs, tax IDs, national IDs, and dates of birth before you share, so nothing leaks by accident
- Expiry: links expire (default 7 days, up to 365) and can be revoked instantly. Expired links stop working
- Team-only links: share with workspace members only, with no public token
- Redacted PDF preview: when enabled, the review step shows a page-by-page preview of exactly how the shared PDF will look, with auto-redacted fields already blacked out. You can drag on any page to black out additional areas; drawn boxes are baked into the shared file when you create the link
Field filtering happens on the server, so a public link can never return data you didn't choose to share.
Processing many files at once
Use Batch upload to drop in many documents at once. They're processed in the background, and you can watch progress and collect results per file when they're done. Each file is validated on upload; anything unsupported or over the size limit is reported back to you individually so the rest still go through.
Email intake & approval automation
DocAI can accept attachments forwarded by Postmark, Mailgun, SendGrid, Amazon SES, Make, n8n, or another adapter. DocAI does not host a mailbox or parse provider-specific email payloads itself: the provider receives the message, filters spam, extracts the attachments, and sends them to DocAI's email-ingestion API.
- Create an API key with the
extractandhistoryscopes in Developer Settings. - Configure the email provider or automation flow with a stable message ID and a stable provider/account namespace.
- Optionally include a workspace so attachments enter that workspace's review and approval queue.
- Review uncertain fields, complete the review, and let an authorized approver approve the document.
- Use the signed
document.approvedwebhook (notdocument.completed) to start an accounting write or export.
Webhook delivery is durable and retried automatically. If a durable event cannot be queued after repeated attempts, it appears under Developer Settings β Events needing attention, where you can replay it after fixing the cause.
For multipart fields, response examples, signature verification, and Make/n8n setup, see the API documentation.
Tips for the best results
- Upload the original PDF when you have one. Text-based PDFs read more accurately than photos.
- For photos/scans: good lighting, the whole page in frame, minimal skew
- Pick the type/region if you already know it. It removes guesswork.
- Trust the colours: green is safe to skim, red/orange deserves a look
- Use a custom type for recurring in-house documents to get consistent, named fields every time
Pages & allowance
DocAI meters usage in pages: analyzing one page of a document uses one page of your allowance. Every new account starts with 100 free pages, a one-time starter allowance with no expiry. Paid plans add a monthly page allowance that resets on the 1st of each month.
- Every processed page counts once: web upload, batch, email ingestion, or API all meter at the same rate. Provider retries do not charge a completed attachment twice.
- An AI sensitivity scan when sharing costs one page per document (shown before you trigger it).
- Viewing, exports (JSON, CSV, XLSX), dashboards, and sharing without an AI scan are free.
- When your balance reaches zero, analyses are refused and you see an upgrade prompt. Nothing is deleted. Your saved results stay until you remove them.
Limits at a glance
| Thing | Limit |
|---|---|
| File types | PDF, PNG, JPG/JPEG, HEIC/HEIF, AVIF, TIFF, BMP, WEBP |
| Pages rasterized per document | Up to 5 pages |
| Pages read by the AI | First 3 pages per document (rasterized pages beyond that are available for bounding-box work but not sent to the AI) |
| Interface & extraction languages | EN, DE, FR, ES, PL, IT |
| Custom template fields | β€ 60 fields, β€ 30 columns per table |
| Share-link expiry | 1β365 days (default 7) |
Upload size limits, batch limits, and monthly quotas depend on your plan and the instance configuration.
FAQ
Does it work without the AI?
Yes. If the AI provider is unavailable, DocAI falls back to pattern-matching and flags the result so you know. You'll still get fields to review.
Can I force a document type or region?
Yes. Select them before analysing; otherwise DocAI auto-detects both.
Why are some fields empty?
For typed documents, every key field is always listed. Empty means it wasn't found on the page (it may genuinely be absent). For general documents, only found fields appear.
What happens to my documents?
Saved results are stored per user and kept until you delete them. There is no time-based automatic deletion. You can delete any result, or all of them, at any time. Shared links can be revoked.
Your plan's document and storage limits are the practical ceiling: when you reach one, saving is blocked until you upgrade or delete. Export anything you need to keep for statutory retention to your own system of record. DocAI is not an archive.
Can DocAI receive documents by email?
Yes, through a configured inbound-email provider or automation tool. The provider extracts accepted attachments and sends them to DocAI; DocAI handles validation, duplicate-safe job creation, extraction, review routing, and webhooks.
Where's the developer/API documentation?
See the API reference.