DocsAPI LogoDocsAPI

Digitise Purchase Orders in Seconds

Transform paper and PDF purchase orders into structured data that seamlessly integrates with your procurement systems and inventory management for real-time stock visibility.

Book a PO OCR Demo

Field Reference

Our purchase order OCR extracts all essential data fields with exceptional accuracy

HHeader Fields

po_number
Purchase order identifier
vendor_code
Vendor/supplier code
issue_date
Date PO was issued
ship_to
Shipping address details
bill_to
Billing address details
delivery_date
Expected delivery date
payment_terms
Payment terms and conditions
buyer_name
Purchasing agent name
currency
Currency code
tax_id
Tax identification number

LLine-Item Fields

line_number
Line item sequence number
sku
Stock keeping unit code
description
Item description
qty_ordered
Quantity ordered
unit_price
Price per unit
unit
Unit of measure
delivery_date
Line item delivery date
discount
Discount percentage or amount
tax_rate
Tax rate applied
line_total
Total for line item

Accuracy Benchmarks

We have not published a purchase-order benchmark yet, so here are the closest figures we have measured

Clean Typed Text

Character Accuracy97-99%

Printed PO headers, vendor details and item descriptions read cleanly. Handwritten notes, stamps and poor scans score lower, and unclear fields are flagged for review.

Line-Item Tables

Invoice Line Items93%

PO line items look a lot like invoice line items: SKUs, quantities and unit prices in a table. Our closest measured figure is invoice line-item extraction.

Figures from our 2026 OCR accuracy benchmark. The best test is your own POs, so bring a few to the demo.

Automation Workflow

Our three-step process transforms purchase orders into actionable data for your procurement systems

Ingest PO

Upload purchase orders via API, email, or batch processing for immediate digitization.

Extract Header Fields and Line Items

PO number, supplier, dates, and every line item come back as JSON, with SKU and part numbers as printed.

Send JSON to Your Systems

Your ERP or AP software uses the data for three-way matching with invoices and receipts.

Where the Three-Way Match Happens

DocsAPI covers the first step of a three-way match: it reads the PO and returns clean data. The comparison of PO, goods receipt, and invoice, with the tolerances you set, runs in your ERP or AP software. Fields DocsAPI is unsure about are flagged for review, so a bad read is not mistaken for a real mismatch.

Where the Time Goes Back

How much time you save depends on your PO volume and how your team works today. Here is what changes.

Processing Time

Manual PO Entry:Keyed line by line
Automated Processing:About 1.1 s per page
Speed measured in our 2026 benchmark

Your team handles more purchase orders without adding people, and spends the time on supplier management instead of data entry.

Match Exceptions

Caught early
Fewer discrepancies between POs, receipts, and invoices
Reduced manual intervention for exception handling
Faster resolution of legitimate exceptions

Developer Output Example

Clean, structured JSON output ready for integration with your procurement systems

purchase-order-extraction-response.json
{
  "po_number": "PO-2023-5678",
  "vendor_code": "SUPP-001",
  "issue_date": "2023-06-15",
  "ship_to": {
    "name": "DocsAPI Warehouse",
    "address": "123 Logistics Way, Mumbai 400001"
  },
  "bill_to": {
    "name": "DocsAPI Technologies",
    "address": "456 Tech Hub, Bangalore 560001"
  },
  "line_items": [
    {
      "line_number": 1,
      "sku": "LAP-PRO-15",
      "description": "Laptop Pro 15-inch",
      "qty_ordered": 10,
      "unit_price": 85000.00,
      "unit": "EA",
      "line_total": 850000.00
    },
    {
      "line_number": 2,
      "sku": "MON-27-4K",
      "description": "27-inch 4K Monitor",
      "qty_ordered": 15,
      "unit_price": 32000.00,
      "unit": "EA",
      "line_total": 480000.00
    }
  ],
  "subtotal": 1330000.00,
  "tax_total": 239400.00,
  "total_amount": 1569400.00,
  "currency": "INR"
}

Purchase order OCR reads a PO (PDF, scan, or photo) and returns its header fields and line items as structured data, usually JSON, so your ERP or AP software can match it against the goods receipt and the supplier invoice. Extraction is the easy half. Most PO automation projects stall at the match, where the wrong PO line gets paired with the wrong invoice line. This page covers which fields to extract, where matching goes wrong, and how to test PO OCR on your own documents before you commit.

What to extract from a purchase order, and why each field matters

Header fields identify the order: PO number, supplier name or ID, order date, currency, payment terms, ship-to address, and buyer. The PO number is the join key to everything that follows, so a single wrong digit breaks the match for the whole order.

Line fields describe what was ordered: line number, item or SKU code, description, quantity, unit of measure, unit price, line total, and requested delivery date. Two of these cause most of the trouble. Unit of measure decides whether 12 means twelve items or twelve cases, and currency decides whether a unit price is comparable at all. Extract both explicitly instead of assuming them.

Where three-way matching breaks, and it is rarely the OCR

Matching on PO line number alone is the most common mistake. Suppliers consolidate lines, split them, and reorder them on the invoice, so line 3 on the PO is often not line 3 on the invoice. A sturdier key combines supplier, item code, and unit of measure, plus a sequence counter when the same item appears on more than one PO line.

Three other cases cause false mismatches. Partial shipments mean the invoice quantity is legitimately lower than the PO quantity. Revised POs mean an older version of the order may still be in your system, so capture the revision number or date when the document prints one. And price tolerance is your policy, not a standard: decide how far a unit price may drift before an invoice goes to review, and set that in your ERP.

How to test PO OCR on your own documents in an afternoon

Pull a sample that includes your worst documents, not your best: POs from several suppliers, a few poor scans, and at least one multi-page order. Decide up front which fields drive money or matching (PO number, quantity, unit of measure, unit price) and check those by hand against the source.

Score fields, not documents. A PO with one wrong quantity out of forty fields looks fine at the document level and still fails the match. Count two things separately: fields that were wrong and fields that were wrong while presented as certain. The second number is the one that decides how much human review you need. For how long to run a check like this, see the guide on sizing an invoice OCR parallel run, linked below.

What DocsAPI returns for a PO

Each PO comes back as JSON with header fields and line items. Fields the model is unsure about are flagged for review instead of passed along as certain. Reading runs at about 1.1 seconds per page, and pricing starts at $0.02 per page. In our 2026 benchmark, clean typed text read at 97-99% and invoice line items at 93%. We have not published a PO-specific accuracy figure, which is why we suggest testing with your own orders at the demo.

Frequently asked questions

What is the difference between a purchase order and an invoice for OCR?

A purchase order is issued by the buyer before the purchase and states what was ordered at what agreed price. An invoice is issued by the supplier afterward and states what to pay. For OCR, POs follow the layout of the buyer's own system, so they are consistent within one company, while invoices vary by supplier. Both carry a PO number, which is how the two are matched.

What is a three-way match?

A three-way match compares the purchase order, the goods receipt, and the supplier invoice before payment. It confirms that you are paying for what was ordered and delivered, at the agreed price. OCR supplies clean data from the PO and invoice; the comparison itself runs in your ERP or AP software.

Can OCR handle revised or amended purchase orders?

OCR reads each document as it is. Deciding which version of a PO is current is a job for your system, so extract the revision number or date when the document prints one and let your ERP keep the latest.

Frequently Asked Questions

Common questions about our purchase order OCR solution

Scanned and photographed POs go through the same extraction as PDFs, and accuracy follows the quality of the scan. In our 2026 benchmark, clean typed text read at 97-99%, handwriting at 78%, and phone-photographed receipts at 76%. Handwritten notes in a margin are the most likely thing to need a person to check. Scanning at 300 DPI or higher helps any OCR tool.

Item codes come back as text fields, exactly as they are printed on the PO. Matching them to your own item master is done in your ERP or AP software, not in the extraction step. If you need a mapping step, bring a few real POs to the demo and we will show you what the output looks like.

Yes. Line-item tables that continue across pages are read as one table. We publish 93% for invoice line items and 91% for multi-page bank statement tables. We have not published a PO-specific figure, so the best test is a few of your own multi-page POs.

Automate purchase orders now.

Transform your procurement process with our AI-powered purchase order OCR solution. Request a demo or contact our sales team to learn more.