Purchase order OCR

Orders in. Order data out.

Upload a purchase order, forward it by e-mail or send it to the API. Parsevix returns the order number, dates, buyer, supplier, line items with SKUs, totals and delivery address as structured data, for order entry or for matching against invoices.

  • Line items with SKU, quantity and unit price
  • Buyer, supplier and ship-to kept apart
  • Personal data masked automatically before the AI step

No credit card · 20 free pages every month

What you get back

Every part of an order, already defined.

The built-in Purchase Order category returns 34 fields: the order, the buyer and the supplier, the line items as a table, the totals and the delivery address. Use it as it is, or change it in your project.

Dates come back as ISO dates and amounts as plain numbers, however the order prints them. A field the order doesn't show, such as an approver, is left out, not guessed.

Order

  • po_numberstring
  • po_datedate
  • delivery_datedate
  • currencystring
  • statusstring
  • payment_termsstring

Buyer

buyer_infoobject

  • company_namestring
  • contact_namestring
  • addressstring
  • phonestring
  • emailstring

Supplier

vendor_infoobject

  • vendor_namestring
  • vendor_contactstring
  • vendor_addressstring
  • vendor_phonestring
  • vendor_emailstring

Line items

line_itemsarray

  • descriptionstring
  • quantitynumber
  • unit_pricenumber
  • amountnumber
  • skustring
  • unit_of_measurestring

Totals

totalsobject

  • subtotalnumber
  • tax_amountnumber
  • shippingnumber
  • totalnumber

Delivery address

shipping_addressobject

  • ship_namestring
  • ship_addressstring
  • ship_citystring
  • ship_countrystring
  • ship_zipstring

Approval and notes

  • requested_bystring
  • approved_bystring
  • notesstring

Your own fields

A name, a type and one sentence on what it is.

  • cost_center
  • incoterms
  • project_code
  • contract_number

Made for orders

From the order to the invoice that bills it.

Orders arrive in every customer's layout and have to agree with the delivery and the invoice later. This is what Parsevix gives you for that.

01

Orders and invoices, same field names

The Purchase Order and Invoice categories name their line items the same way: description, quantity, unit price, amount. The invoice's po_number field carries the order number it quotes. Your system can match both documents line by line and flag what differs before anyone pays.

Parsevix extracts both documents; the comparison itself runs in your system or your automation.

  • 02

    SKUs, units and unit prices

    Each line comes with its SKU, quantity, unit of measure, unit price and amount, as the order prints them, ready to look up in your product list.

  • 03

    Delivery date and ship-to

    The requested delivery date and the delivery address are fields of their own, so receiving and planning see them without opening the order.

  • 04

    Buyer and supplier kept apart

    The category has separate blocks for the buyer and the supplier, each with company, contact, address, phone and e-mail.

  • 05

    Your customers' orders, too

    Selling? Give customers your project's e-mail address. Each order they send in their own layout becomes structured data for your order entry, without a template per customer.

  • 06

    Any language, the same fields

    The language is detected on every page. An order from abroad fills the same fields, with ISO dates and plain numbers.

  • 07

    Every value linked to the page

    Each value is linked to the spot on the order it came from. Click it in the dashboard to see where it was printed.

How orders get in

Upload them, forward them or send them from your system.

Dashboard

Upload orders as they arrive. Check each result next to its page, with every value marked where it was printed, and approve it.

E-mail address

Paid plans

Every project gets its own address. Forward orders to it, or let customers and colleagues send them there: each attachment becomes a document.

API

Send orders from your purchasing or ERP system and get the JSON in the same response, or receive results by signed webhook or through Zapier.

Request

curl https://parsevix.com/api/v1/extract \
  -H "X-API-Key: $PARSEVIX_API_KEY" \
  -F file=@purchase-order.pdf \
  -F category="Purchase Order"

The request stays open until the document is read and answers with the JSON.

  • POST /documentsUpload without waiting; the result arrives by webhook or callback.
  • POST /extract-autoNo category: every field Parsevix finds, named as in the document.
  • POST /classifyOnly the document's category, for 1 credit.
Full API reference

Response · trimmed

{
"status": "Completed",
"category": "Purchase Order",
"pageCount": 1,
"language": "en",
"extracted": {
"po_number": "PO-2026-0418",
"delivery_date": "2026-10-02",
"line_items": [
{
"sku": "LED-600",
"description": "LED panel light",
"quantity": 4,
"unit_price": 542.55,
"amount": 2170.20
},
{
…
}
],
…
},
…
}

Security & compliance

  • PII maskedautomatically, before the AI step
  • Encryptedin transit and at rest
  • No AI trainingon your documents
  • API files deletedafter processing

Priced per page, not per feature.

Every plan reads, sorts and masks documents the same way. Picking the category is included, and a document that fails costs nothing.

See pricing
credit per page
1
free pages every month
20
a month for 500 pages
$39

Purchase order FAQ

Purchase orders,
answered.

What teams ask before they send their first orders.

Still have a question?

Write to us. A person reads every message.

PDF, Word (DOCX), PNG, JPG and TIFF, up to 10 MB and 30 pages each. Scans and phone photos work too; every page is read as an image.

No, it extracts both. The two categories use the same field names for line items, and the invoice's po_number field holds the order number it quotes, so the matching is a short step in your own system, your ERP or an automation tool such as Zapier.

No. Parsevix reads documents made for people: PDF, Word and images. EDI and XML messages are already structured data and need no extraction.

Yes. Change the Purchase Order category in your project and add the fields you need, such as a cost centre, the Incoterms or a contract number, each with a sentence on what it is. A field is filled only from what the order shows.

One credit per page: a two-page order uses two. Choosing the category is included, and if a document fails, its credits are given back.

Orders uploaded in the dashboard or sent by e-mail stay in your project until you delete them. Files sent through the API are deleted after processing unless you turn on keeping them for the project. Your orders are never used to train AI.