Get started
Turn an invoice into structured data.
Temlavo is an API-first invoice extraction service. Submit one invoice as a PDF, JPEG, or PNG, and receive an immutable invoice.v1 result with checks for inconsistent values and possible duplicates. You do not need to set up templates, and your documents are not used for training. The API supports invoices, not receipts or bookkeeping workflows.
On this page
What Temlavo extracts
One upload represents exactly one invoice resource. Supporting material such as a purchase order page may accompany the invoice, but it never supplies missing invoice fields. Multiple distinct invoices in one upload are unsupported, and a clearly non-invoice document fails as unsupported without a billable extraction.
The structured result covers the invoice header (number, dates, currency, purchase order), vendor and customer identities, totals with discount/shipping/other-charge roles, line items, and taxes. Monetary values are decimal strings, never floating-point numbers. Missing or ambiguous facts stay null; nothing is invented. See the invoice.v1 schema reference.
The lifecycle
Processing runs in the background. The SDK, HTTP API, and n8n workflow all follow these four steps:
- Create
POST /v1/documentswith one stable idempotency key returns document identity plus a signed direct-upload capability. - Upload
Source bytes go directly to private storage, never through the public API. Follow the returned method, URL, and headers exactly.
- Confirm
POST …/upload-completeverifies the stored object and admits the document for processing. Uploading alone never starts processing. - Collect
Poll the document resource until a terminal status, or receive an optional per-document callback as an untrusted wakeup hint.
Terminal outcomes
A terminal status is one of completed, needs_review, or failed. These statuses mean processing has finished, not that every extracted value is correct:
completed: no blocking issue under the document's policy. Warnings may remain; correctness is not certified.needs_review: a usable structured result exists, but a material issue requires a human or policy decision. Automation should stop here.failed: no usable result. Documented genuine processing failures are non-billable.
Checks and review
Each result includes checks for totals, tax calculations, required fields, and line items under your chosen policy. Tax checks cover arithmetic, not legal compliance. When there is not enough information to run a check, it returns not_evaluable, never a guessed pass.
When enabled, duplicate checks look for earlier matches within your account and accounting-entity scope. A possible match is flagged for review; your workflow decides what to do next.
How review, errors, and retention interactPrivacy by default
Confirmed source files and processing intermediates have a 24-hour default expiry from each stored object's creation; structured results expire seven days from completion by default. Result expiry ends API access to the result. Explicit document deletion ends document API access and clears stored results; storage deletion is attempted immediately and retried if needed.
The processing path requires provider zero-data-retention controls, disabled prompt/content logging, and no invoice content in normal application logs. These requirements alone do not verify deployed provider settings. See Security for the data-handling boundaries, including separate operational records and provider logs.
Read about security and privacy