Document extraction is the foundation of Ottimate’s invoice automation platform. Ottimate uses a proprietary AI model trained specifically on invoices and purchase documents to extract structured data from uploaded files. This enables downstream automation including coding, approvals, and ERP synchronization.
The extraction pipeline begins when a document is uploaded to Ottimate. Documents can be uploaded via:
POST /invoices/upload endpointOttimate accepts the following file types:
Maximum file size is 25MB per file.
Understanding the distinction between uploads and invoices is critical when working with the Ottimate API.
When you upload a document to Ottimate, it creates an upload record, not an invoice. The upload represents the raw file awaiting extraction. An invoice is only created after extraction completes and structured data has been captured from the document.
This means:
Extraction is asynchronous. When you upload a document, Ottimate queues it for processing and returns immediately with an upload ID. The actual extraction happens in the background.
Depending on your account configuration during onboarding, uploaded files are processed through one of two pipelines:
Your account’s extraction pipeline is configured during onboarding based on the account tier.
To monitor the progress of your uploads, call the GET /invoices/uploads endpoint. This returns a list of uploads that have been submitted but not yet fully processed.
The response includes the status of each upload:
The preview_url field provides a direct link to the Ottimate extraction UI where users can:
Once an upload no longer appears in this list, extraction has completed and the invoice is available through the invoices API.