Purchase Order OCR API
4.8/5
(30+ reviews)
Purchase order OCR API that reads every line, from any buyer
Turn customer purchase orders, PDF, scan or email attachment, into structured JSON for your ERP. Buyer, ship-to, delivery date and every line item with SKU, quantity and price, each with a confidence score.
No credit card required
SOC 2 Type II & GDPR

Trusted by finance and product teams at




Why incoming orders pile up in the inbox
Every customer sends its own PO layout, with SKUs, quantities and ship-to addresses in different places. Order desk teams retype each line into the ERP, then check it twice before confirming.
PO received
Customer order lands in a shared inbox.
Manual keying
Each line typed into the ERP by hand.
Friction
Long SKUs and look-alike codes invite typos.
Price check
Unit prices compared with the price list.
Friction
Discrepancies get spotted after the order ships.
Confirmation
Order acknowledgment sent back to the buyer.
Friction
Every hour of delay pushes the ship date.
Order booked
Finally in the ERP, one PO at a time.
Every purchase order field you need, as structured JSON
Hover a group to see where it lands in the response. Every value comes back typed, normalised and located on the page.
See fields list
Order details
po_number, po_date, delivery_date
Buyer
buyer_name, buyer_address, buyer_contact
Ship-to
shipping_address
Line items
line_items[].sku, description, quantity, unit_price, total
Totals
total_net, total_tax, total_amount, currency
Terms
payment_terms, incoterms
{
"po_number": { "value": "PO-58213" }, "po_date": { "value": "2026-10-14" }, "delivery_date": { "value": "2026-10-28" },
"buyer_name": { "value": "Ridgeway Plumbing Supply" }, "buyer_contact": { "value": "Sam Patel" },
"shipping_address": { "value": "Dock 4, 900 Industrial Pkwy, Reno, NV 89502" },
"line_items": [ { "sku": { "value": "VLV-2041" }, "quantity": { "value": 120 }, "unit_price": { "value": 14.80 } }, … ],
"total_net": { "value": 6284.00 }, "total_amount": { "value": 6802.43 }, "currency": { "value": "USD" },
"payment_terms": { "value": "Net 45" }, "incoterms": { "value": "FOB" },
}
Ready to post, not just to read.
Dates come back in ISO 8601, quantities and prices as numbers, and every line item carries a confidence score and its position.
Built for real customer POs, not EDI feeds
Scanned faxes, PDFs exported from a buyer's ERP, multi-page orders with 80 lines. The model reads the table wherever it sits and keeps each SKU tied to its quantity.

Any buyer, any layout
Each customer sends its own PO format. The same schema comes back for all of them, with no template to build per buyer.

Every line item, in order
SKU, description, quantity and unit price for each line, even on long tables that run across several pages.

Ready for price checks
Unit prices and quantities come back as numbers, so comparing them with your price list and stock takes a few lines of code.

Orders sorted from the inbox
POs, invoices and delivery notes often land in the same mailbox. Each file is classified so only purchase orders reach order entry.
PDF / JPEG / PNG / WEBP / TIFF / HEIC, Multi-page orders, +50 languages / any currency, Scans & email attachments, Long line-item tables
Purchase order OCR accuracy you can measure, field by field
Measured on real customer orders, not curated samples. Run the same benchmark on your own purchase orders during the free trial.
96.1%
Field-level accuracy on header fields
PO number, buyer, dates
99.8%
Accuracy on line items
SKU, quantity, unit price
1.1s
Median time per order
Single page, synchronous call
A confidence score on every field
Send only real exceptions to a human

Document AI features, better than OCR
Prepare, classify and extract. Mindee delivers high-accuracy extraction for every document format, so you can automate workflows with speed and high reliability.
Data extractor
Classifier
Splitter
Edge detector
Pull the exact fields you need from any document
Pick a ready-made model or describe your own data schema. Every value comes back typed, normalised, located on the page and scored.
- Prebuilt models or your own custom schema
- Tables and line items, across pages
Know what each document is before you read it
The classifier labels every upload with your own classes, so an ID card goes to onboarding and an invoice goes to accounts payable.
- Your own document classes
- Route each type to the right model
One scanned batch in, separate documents out
Send a long PDF from the office scanner. Mindee finds where each document starts and ends, and returns them one by one.
- Page ranges for every detected document
- Up to 200 pages and 100 MB per file
Several documents on one photo? Each gets its own crop
Users photograph three receipts on a desk, or both sides of an ID. Mindee detects each border, returns its coordinates and reads them separately.
- Coordinates for every detected document
- Built for mobile capture flows
Prototype in minutes, go live with the API
Step 1 : Prototype
Run a proof of concept in Make, Zapier or n8n
No code, no IT ticket. Point a mailbox at Mindee and watch the data arrive in a spreadsheet.
Purchase order received
Gmail or Outlook attachment
Mindee extracts the order
Buyer, ship-to, line items
Sales order created
Your ERP, NetSuite or Google Sheets
Low-confidence fields sent for review
Slack or email alert to your team
Step 2 : Production
Integrate the API into your platform
Official SDKs, typed responses and webhooks for async processing. Most teams ship the integration in a day.
mindee docs
$ pip install mindee
Your app
Mindee API
Your ERP/CRM
.webp)
Integrate Mindee into your workflow in minutes with SDKs & no-code tools
Go live in minutes using our verified Zapier & Make.com app with zero coding, or integrate seamlessly via our well-documented REST API built for developers. SDKs available for Python, .NET, Node.JS, Java, Ruby, PHP.
Integrations

Enterprise-grade security
Our API has a SOC 2 Type II certified infrastructure and is GDPR Compliant to ensure your file information remains protected at all times.
EU or US hosting available
GDPR, CCPA Compliant
Security center
What teams build with purchase order OCR
The same API powers very different products. Here is where it usually starts.

Finance & Accounting
Accounts payable
Extract, match and post supplier invoices at any volume, without supplier templates.

Logistics
Customs clearance
Turn invoices, packing lists and transport documents into declaration-ready data, line by line.

Finance & Accounting
Expense management
Pre-fill expense lines from a photo of any receipt or invoice, right in your app
Rated 4.8/5 by developers and operations teams
4.8
4.9
Mindee is a software that helps us to convert all of our physical business data like bills, invoices, warranty cards, calendar, recipts received to us into a digital documents that can be stored in our drive and can be uploaded in different type of Excel sheets so that all the updates can be maintained and a proper analytics of transactions can be kept by the financial team
Mindee is a software that helps us to convert all of our physical business data like bills, invoices, warranty cards, calendar, recipts received to us into a digital documents that can be stored in our drive and can be uploaded in different type of Excel sheets so that all the updates can be maintained and a proper analytics of transactions can be kept by the financial team
Excellent. In addition to their great product, the sales team has always been proactive on how they could help us leverage the maximum results from their product. It was like having an additional product manager on our side
Mindee works reliably and delivers good performance. The OCR data is accurate, and the API is stable. It works like a charm.
FAQ about Mindee's Purchase Order OCR API
Can't find what you're looking for? Our team answers within one business day.
What is a purchase order?
A purchase order (PO) is a document a buyer sends to a supplier to order goods or services. It specifies what is being bought, in what quantities, at what prices and under what terms. It typically includes a unique PO number, the buyer and supplier details, the order date, the shipping and billing addresses, the line items (item reference, description, quantity, unit price) and the expected delivery date. Mindee extracts all these fields, including every line item, from a PDF, a scan or an email attachment and returns them as structured JSON, ready to be loaded into your ERP.
What’s the difference between a purchase order and an invoice?
A purchase order is sent by the buyer before the purchase to place an order. An invoice is sent by the supplier afterwards to request payment for what was delivered. In accounts payable, the two are compared during “three-way matching”: the PO, the goods receipt and the invoice must agree on items, quantities and prices before payment is approved. Mindee extracts both purchase orders and invoices with matching line-level detail, so you can automate this check and only review the discrepancies.
How do suppliers automate the processing of customer purchase orders?
Suppliers often receive purchase orders from many customers by email, in very different formats. Sales or customer service teams then retype them into the ERP to create sales orders. With Mindee, each incoming PO is sent to the API, through code or with no-code tools like Zapier, Make or n8n, and the customer details, references, quantities, prices and delivery dates come back as structured data. Orders with high confidence scores can be created automatically in the ERP, and the others are sent for quick review. This speeds up order processing and reduces entry errors that lead to wrong deliveries.
Is a purchase order legally binding?
In general, a purchase order is an offer from the buyer, and it usually becomes a binding contract once the supplier accepts it, either explicitly (through an order confirmation) or by fulfilling the order. Its exact legal value depends on the jurisdiction and on the terms and conditions attached. Because POs carry commitments on prices, quantities and delivery dates, having them as structured data helps you track what was agreed and compare it with what is delivered and invoiced. For framework agreements and longer contracts, Mindee’s contract extraction can capture key terms in the same way.
About Mindee
Is my data secured and protected during the conversion process?
Yes, your data is highly secured and protected during the entire conversion process. As an enterprise-grade OCR solution, Mindee takes data privacy very seriously. Here are the key security measures in place:
- Certified compliance: Mindee's infrastructure is SOC 2 Type II certified and fully GDPR compliant, ensuring strict industry standards for data protection.
- Encryption: All documents and extracted data are fully encrypted both in transit (during the API call) and at rest.
- Data localization: You have control over where your data is processed, with the option to host and process your data on either EU or US servers.
- Strict privacy: Mindee respects data confidentiality. Your processed documents are not shared with third parties, and your private data is not used to train global AI models.
In short, your sensitive documents are processed in a secure, isolated environment and remain completely under your control.
Is Mindee's OCR API free to use?
We provide a 14 days free trial so you can fully test any of our OCR models — no credit card required. After this, we offer different pricing tiers depending of the volume of pages processed and the features you might need. See the pricing page for more information.
What file formats are supported for JSON conversion?
The supported document formats are:
- PDF (
application/pdf) – While technically a document format rather than an image, it is natively supported for all extraction models. - JPEG / JPG (
image/jpeg) - PNG (
image/png) – Must be non-animated. - WebP (
image/webp) - TIFF / TIF (
image/tiff) – Both single-page and multi-page TIFFs are supported and processed similarly to PDFs. - HEIC (
image/heic) – Apple's High-Efficiency Image Container format.
📌 Important technical limitations to keep in mind:
To ensure the OCR pipeline runs smoothly and successfully returns your JSON, make sure your files adhere to the following constraints:
- Maximum file size: 100 MB per file.
- Maximum page count: Up to 200 pages per document.
- File state: The files cannot be encrypted, and PDFs must not be password-protected.
Ready to stop keying purchase orders?
Send your first purchase order to the API in minutes, with a full team of engineers dedicated to document processing behind it.
14-day free trial
No credit card required