Intelligent document processing
Turn business documents into structured data you can trust.
Document AI classifies invoices, receipts, statements and other business documents, extracts their content with configurable OCR and AI engines, validates it against your schema, and delivers JSON and CSV through a web application and an API.
- Document types out of the box
- 9
- Extraction engines
- OCR · VLM · LLM
- Model providers via one gateway
- 5
Product overview
One engine for the web and the API
Your team works in a review workspace; your systems call the API. Both use the same processing pipeline, the same schemas and the same audit trail.
For people
Upload → Classify → Extract → Validate → Review → Export → Publish. Uncertain fields are highlighted on the page, corrections are recorded, and approved data goes to your accounting software.
For systems
Authenticate → Upload → Track → Download → Integrate. Five REST endpoints with API keys, idempotency keys and predictable errors.
Capabilities
Everything between a scan and your ledger
Automatic classification
Each document is recognised by type and subtype — invoice, receipt, bank statement, purchase order, quotation, utility bill, payslip, tax form, contract — with a confidence score. Low-confidence results go to a person.
Configurable extraction
Choose OCR-based extraction (PaddleOCR, RapidOCR or Tesseract with layout and table structure), a vision language model, or a multimodal LLM, per organisation and per document type.
Schema-driven output
Every result is validated against a versioned schema (Pydantic and JSON Schema). Values keep their printed form, and tables keep their rows and columns.
Review workspace
The original and the extracted data side by side, with field overlays on the page. Correct, approve, or rerun a document — every change is recorded.
API platform
Upload, Status, Download, Health and Rerun endpoints with API keys, idempotency keys, rate-limit headers and problem-JSON errors. The same engine serves the web app and the API.
Accounting integrations
Publish bills, sales invoices and expenses to accounting software through MCP servers. Nothing is written until a person confirms the exact payload.
Security and isolation
Organisations and their client workspaces are isolated in the application and by database row-level security. Roles, API-key scopes and an append-only audit log.
Observability and cost control
Every model call is traced (OpenTelemetry and Langfuse) and priced. Budgets, plan quotas and alerts keep token spend predictable.
How it works
Eight steps from upload to publication
Each document moves through the same steps, and you can see where it is at any time. See each step in detail.
- Step 1 of 8
Upload
One file, many files, or a ZIP archive — in the browser or through the API.
- Step 2 of 8
Classify
The document type and subtype are identified, with a confidence score.
- Step 3 of 8
Extract
Fields and tables are read with the engine you configured.
- Step 4 of 8
Validate
The result is checked against the document type's schema and business rules.
- Step 5 of 8
Structure
Values become clean JSON and CSV, as printed on the document.
- Step 6 of 8
Review
A person checks anything uncertain, corrects it and approves.
- Step 7 of 8
Export
Download JSON, CSV or a ZIP of a whole batch, or fetch it through the API.
- Step 8 of 8
Publish
Send the data to your accounting software after you confirm the exact payload.
Architecture
Built on a controlled, observable AI pipeline
Specialised agents run inside an Agent Harness, reach models only through an LLM Gateway, and are checked by guardrails at every step.
Clients
Web application
Upload, review, export and publish in the browser
API consumers
Upload, Status, Download, Health and Rerun with an API key
Platform
API service
Authentication, tenancy, quotas, rate limits, audit
Async pipeline
Celery queues for ingest, OCR, AI and publishing
AI layer
Agent Harness
Runs every agent with limits, retries and human approval
Multi-agent workflow
LangGraph: classification, extraction, validation, QA, publishing
Guardrails
Input, output and tool-call checks on every model step
LLM Gateway
One OpenAI-compatible entry to five providers, with fallback
Data
PostgreSQL
Records, results and audit, with row-level security
Object storage
Originals and outputs per organisation and workspace
Vector store
Chroma, pgvector or Qdrant for retrieval context
Around it
Observability
OpenTelemetry traces and metrics, Langfuse for every model call
MCP integrations
Accounting software, reached only after confirmation
Accounts payable
Keying invoice numbers, dates, line items and tax into the books by hand is slow and error-prone.
Expense management
Receipts arrive as phone photos in every layout and language.
Bookkeeping practices
Each client's documents must stay separate and land in that client's ledger.
Bank statement processing
Statements are long, multi-page tables that copy badly out of PDFs.
Tenant isolation, twice
Each organisation and client workspace is filtered in the application and enforced again by PostgreSQL row-level security.
Encryption of credentials
Accounting credentials are encrypted with AES-256-GCM under a rotatable key and never returned to the browser.
A complete audit trail
Sign-ins, uploads, downloads, corrections, configuration changes and publications are recorded in an append-only log.
AI safety controls
Guardrails check model input, output and tool calls; side-effecting actions need a person's approval of the exact payload.
Integrations
Publish to your accounting software
Through MCP servers, with a confirmed preview of every record before it is written.
TallyPrime
Not yet verified liveTally Solutions' accounting software. Vouchers are created through the platform's TallyPrime MCP server, which reaches your TallyPrime at the gateway URL you give.
Publishes
- Supplier bills
- Sales invoices
- Expenses
Zoho Books
Not yet verified liveZoho's accounting software, reached through the Zoho Books MCP server you create in the Zoho MCP console.
Publishes
- Supplier bills
- Sales invoices
- Expenses
QuickBooks Online
Not yet verified liveIntuit's accounting software, through Intuit's official QuickBooks Online MCP server.
Publishes
- Supplier bills
- Sales invoices
- Expenses
Basic
For individual users and small workloads.
$29 / month
- 500 documents per month
- 3 users
- 1 accounting connections
- 60 api requests per minute
- 30 days data retention
Standard
Most chosenFor professional users and small-to-medium businesses.
$199 / month
- 10,000 documents per month
- 25 users
- 5 accounting connections
- 300 api requests per minute
- 1 year data retention
Enterprise
For organisations with high-volume document processing requirements.
Custom
- Unlimited documents per month
- Unlimited users
- Unlimited accounting connections
- 3,000 api requests per minute
- 7 years data retention
FAQ
Questions we are asked
Which documents can Document AI process?
Invoices, receipts, bank statements, purchase orders, quotations, utility bills, payslips, tax forms and contracts out of the box, as PDF or image files, singly or in a ZIP. Administrators can add document types and schemas of their own.
Which AI models does it use?
Your choice. The platform reaches OpenAI, Google Gemini, Ollama Cloud, a local Ollama or an OmniRoute endpoint through its own LLM Gateway, with fallback routes. OCR-based extraction can run without any language model for the reading step.
Is my data used to train models?
Document AI does not train models on your documents. When you use a hosted model provider, its own data terms apply to the requests the gateway sends; a local Ollama keeps everything on your infrastructure.
How are organisations kept apart?
Every record carries its organisation and client workspace. The application filters by them, and PostgreSQL row-level security enforces the same rule a second time, so one customer's request cannot read another's data.
What happens when the extraction is uncertain?
Fields below the confidence threshold, or that fail validation, are flagged and the document goes to the review queue. A person confirms or corrects them; nothing is silently guessed.
Can I rerun a document?
Yes. A finished, failed or review-required document can be rerun up to two times, from the web app or the Rerun endpoint, for example after changing the extraction engine. Earlier results stay in its history.
About us
Document processing you can audit
We build Document AI for teams who need extracted data to be right, traceable and under their control — not a black box.
Process your first documents today.
Create an organisation, try the bundled sample documents, and call the API with your own key — in a few minutes.