Invoice Extraction API

Extract invoice data.Catch the ones that don’t add up.

Get accounting JSON with line items, plus checks that send total mismatches, missing required fields, and possible duplicates to review.

  • No sign-up neededprocess your own invoice in the browser
  • 100 free pages30 days · one-time · no card
Download JSON
Vendor
EXAMPLE HARBOR SUPPLY LLC
Invoice
SYN-1002
Currency
USD

Line items

DescriptionQtyTotal
Automation setup2USD 720.00
Integration review3USD 240.00
Subtotal
USD 960.00
Tax
USD 76.80
Total
USD 1006.80
bad-total-us.pdf1 / 1

Synthetic demo invoice

EXAMPLE HARBOR SUPPLY LLC

100 Example Avenue

Austin, TX 78701

Invoice

SYN-1002

Issue date: 2026-08-01

Due date: 2026-08-31

Bill to
SAMPLE AUTOMATION STUDIO200 Demo StreetDenver, CO 80202
Terms
Net 30
Purchase order
PO-EXAMPLE-2049
DescriptionQtyUnit priceAmount
Automation setup2$360.00$720.00
Integration review3$80.00$240.00
Subtotal
$960.00
Sales tax (8.00%)
$76.80
Total
$1,006.80
Balance due
$1,006.80

Outcome: needs_review. Review required under this policy.

needs_review

Review required under this policy.

Default advisory policy

Invoice-total mismatch

Subtotal + tax: USD 1036.80; reported USD 1006.80.

Synthetic invoice · prepared example response. Live results may differ.

Inspect this sample Try your own invoice

Why Temlavo

More than extracted fields.

A bare model callTemlavo
A bare model callReturns values.You shape them into records.TemlavoReturns invoice.v1 JSON.Line items report complete, partial, or unavailable.
A bare model callArithmetic is yours to re-check.Line totals, tax and the invoice total.Temlavo15 built-in checks.Findings point to the values involved.
A bare model callOne prompt for every client.Rules live in prompt text.TemlavoA review policy per request.Require a PO for one client, line items for another.
A bare model callNo memory between calls.A resent invoice looks new.TemlavoDuplicate detection on every plan.Within each account and client scope.
A bare model callYou decide when it is done.Free text, no status to branch on.TemlavoOne explicit outcome.completedneeds_reviewfailed

Catches, not just fields

Line arithmetic, totals, tax, currency, and dates are checked, fields you require are enforced, and field findings point to the values involved.

validation.checksSYN-1002
  • document_classificationpass
  • line_item_arithmetic×2pass
  • tax_arithmeticnot_evaluable
  • total_consistencyfail
  • line_items_sum_consistencypass
  • currency_consistencypass
  • date_consistencypass
statusneeds_review

15 checks cover

  • arithmetic
  • currency and dates
  • duplicates
  • document type
  • extraction issues
  • required data
  • line-item coverage
See all checks
policy
"required_fields": [
  "/data/invoice/purchase_order_number"
]
required_field_unresolvedneeds_review

Your rules, per invoice

Require a PO number for one client and usable line items for another. The policy travels with each request, with no prompts or templates to maintain.

Earlier invoiceEXAMPLE HARBOR SUPPLY LLCSYN-1001 · USD 1036.80
New uploadEXAMPLE HARBOR SUPPLY LLCSYN-1001 · USD 1036.80possible_invoice_duplicatefail

Duplicate checks on every plan

Flag the same document or a likely duplicate invoice within each account and client scope, with no duplicate history to build yourself.

How it fits

From invoice to the next step in your workflow.

Temlavo turns invoices into structured data and an explicit outcome. Your workflow decides what happens next. Checks compare extracted values, so completed means no blocking check was found, not that the source was independently verified.

Your workflow receives an invoice

  • Inbox
  • Upload
  • Shared drive
  • Portal

From an inbox, upload, shared drive, portal, or another source you connect.

Temlavo

Temlavo processes it

  • Extract fields and line items
  • Return predictable invoice.v1
  • Run practical checks
  • Flag possible duplicates

Get an explicit outcome

completed
Useful data
needs_review
Data + reason
failed
No usable result

Continue into your systems

completed
Continue automation
needs_review
Send to review
failed
Handle failure

Send the data you accept into your accounting system, database, ERP, application, or other workflow.

Explore the playground

Explore sample results now. Start a free trial to process your own invoice.

Who it’s for

Built for agencies and developers alike.

For agencies

One account for all your clients.

Tag each invoice with your client’s accounting_entity_id. Pages draw from one plan allowance, duplicate checks stay scoped to each client, and the usage API reports processed pages per client so you can rebill.

Example usage · Pro plan2,400 / 3,000 pages
accounting_entity_idprocessed_pages
client-01200
client-02200
client-03200
+ 9 more clients1,800

12 clients × 200 pages a month = 2,400 pages. That fits within one Pro plan’s 3,000 included pages: $149 a month, about $12.42 per client.

One bill and one pooled allowance. No per-client plans or subaccounts.

See usage per client
For developers

Add invoice import to your app with one call.

process() creates the document, uploads the file, confirms it, and waits for the result. Switch on the status: save completed data, show review reasons to your users, and handle failures.

client.documents.process()
  1. Create the document
  2. Upload the file
  3. Confirm the upload
  4. Wait for the result
completedneeds_reviewfailed

Start with 100 free trial pages, then $49 a month for 500 pages. Self-serve, no sales call.

Open the SDK guide

Connect your workflow

Ready to automate?

Try your own invoice in the playground, no account needed, then start a free trial when you want more. When you’re ready to automate, connect with n8n, the TypeScript SDK and CLI, or the HTTP API.

  1. $ npm exec --yes --package=@temlavo/sdk@1 -- temlavo process ./bad-total-us.pdf > result.json
  2. $ jq -r '.status' result.json
  3. needs_review
  4. $ jq -c '.validation.checks[] | {code, status}' result.json
  5. {"code":"document_classification","status":"pass"}
  6. {"code":"line_item_arithmetic","status":"pass"}
  7. {"code":"line_item_arithmetic","status":"pass"}
  8. {"code":"tax_arithmetic","status":"not_evaluable"}
  9. {"code":"total_consistency","status":"fail"}
  10. {"code":"line_items_sum_consistency","status":"pass"}
  11. {"code":"currency_consistency","status":"pass"}
  12. {"code":"date_consistency","status":"pass"}
HTTP / other languages

Call the HTTP API.

  1. POSTCreate document
  2. PUTUpload directly
  3. POSTConfirm upload
  4. GETRetrieve result

While pending, poll using Retry-After.

Open HTTP guide

These integrations use an API key. Browser evaluation in the playground needs no API key setup.

The API extracts invoice data, checks the numbers, and flags possible duplicates within your account and entity scope. You decide how to use, review, and store the results. Duplicate detection is disabled for live playground processing. Test duplicate behavior through the API or n8n.

Review policy

Customize what should require review.

Configure line-item handling, required fields, and duplicate detection for each document.

policySent with each document
  • Line items

    advisory (default)review_on_failurerequired

  • Required fields

    PO number required → unresolved → needs_review

  • Duplicate detection

    true (default), or false for an intentional resubmission.

Review policies change acceptance behavior, not extraction accuracy or effort.

See all review policy settings

Short-lived by default

Your invoice data doesn’t need to linger.

Temlavo keeps invoice content short-lived by default. Source files and processing intermediates expire automatically, structured results are retained for 7 days, and you can explicitly delete a document when you no longer need it.

  • 24 hours

    Source files & processing intermediates

    Automatically expire within 24 hours.

  • 7 days

    Structured results

    Retrieve or save the result into your own system before it expires.

  • Delete on demand

    Document content

    Explicit deletion removes retained content for that document.

Default customer-content retention periods

Security & retention details

Straightforward pricing

Choose a plan for your page volume.

Every plan includes the same features. Pricing is based on processed pages. All prices in USD.

Trial

$030 days · one-time · no card
  • 100 processed pages
  • Stops at 100 pages or 30 days
  • Only processes documents that fit your remaining pages

Pro

$149per month
  • 3,000 pages included
  • $0.05 per additional page
  • Keep processing at the extra-page rate

Scale

Contactaround 10,000+ pages per month
  • Pricing for higher volumes
  • Contact us for a quote
  • Same extraction capabilities on every plan

Worked examples · monthly costSee full pricing

  • Solo app$49300 pages a month on Starter
  • Starter with overage$991,000 pages: $49 + (500 × $0.10)
  • Agency$14912 clients × 200 pages on Pro

Completed results and results that need review count toward usage. Paid plans keep processing at the extra-page rate. The trial stops at its limit. You are not charged for processing failures.

Product fit

A few things to know.

Can I try my own invoice without writing code?

Yes. Upload it in the playground: no account or API key needed, up to 2 invoices a day. The file and result are deleted once you’ve seen the result. For more, start a free trial with 100 pages and use your account’s playground. Existing users can sign in to the playground.

Which documents are supported?

Invoices as PDF, JPEG, or PNG files, up to 20 MiB and 20 pages, with one distinct invoice per upload. You can include supporting pages, such as a purchase order. We focus on English-language US invoices, though the parser can accept other countries and currencies. Receipts and uploads containing multiple invoices are not supported.

Are line items included?

Yes. Every mode returns the available line items and reports the list as complete, partial, or unavailable. Choose a line-item policy for your workflow. Each policy uses the same extraction process.

What happens when review is needed?

You still get the extracted data and checks explaining what needs attention. Send these to your own review process; Temlavo does not include a review inbox or human review service. Even a completed result is not a guarantee of accuracy or approval to pay. See result and error handling.

Does this post to accounting software?

Temlavo provides an API, a TypeScript SDK, and a published n8n template. You connect the results to your accounting software and decide what happens next. Follow the integration sample guide to get started.

See what Temlavo extracts from your invoice.

Upload a PDF or photo in the playground: no account, result in about a minute.

One-time trial · 100 processed pages · 30 days · No card required

In the playground you get

  • Accounting JSON with line items
  • 15 checks, with findings that point to the values involved
  • One explicit outcomecompletedneeds_reviewfailed

PDF · JPEG · PNG · up to 20 MiB and 20 pages