Finance Document Processing

Extract data from purchase orders

Unstract reads the purchase orders your customers send, as emailed PDFs, spreadsheets, scans or order emails, maps their part numbers to your SKUs and creates the sales order in your ERP or order management system.

harlow-po-77318.pdf · customer purchase orderstructured data
{  "customer": "Harlow Fabrication",  "po_number": "HF-PO-77318",  "po_date": "Oct 26, 2026",  "required_by": "Nov 9, 2026",  "terms": "Net 45",  "currency": "USD",  "subtotal": 3050.9,  "freight": 95,  "order_total": 3145.9,  "confidence": 0.96}

Trusted by finance teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
What arrives

Every customer sends its own purchase order

A tidy PDF out of a large customer's procurement system is the easy case. The order desk inbox also gets these.

Purchase orders still faxed from the customer's plant

PART #ITEM NO.CUST. P/N

Three customers, three names for the part number

QTYREQ. DATE40PARTIAL OK?YESNO

Quantities changed and dates added by hand before sending

PODWGQUOTECHG1 EMAIL · 4 ATTACHMENTS

PO, drawing, your quote and a change order in one email

RELEASE SCHEDULE · 26 WEEKS

Blanket orders sent as a release schedule in a spreadsheet

Order entry staff retype each customer's PO line by line and look up every part number, so orders sit in the inbox, acknowledgments go out late, and a wrong price or ship-to reaches the invoice.

Unstract reads each purchase order in the customer's own layout, extracts the header and every line, checks parts, prices and dates against your records, and creates the sales order in your ERP or order management system.

Book a consultationFree consultation worth $1,000. Bring a week of customer POs and watch them become orders.
How it works

Read, check and enter customer orders on one platform

Parse the purchase order, extract its fields, run order intake around it. Use one product on its own, or stack all three so clean orders enter themselves.

Purchase order OCR

Parse purchase orders with part numbers, quantities and dates in place

Get the full text of a customer purchase order, whether it came as a PDF from the buyer's procurement system, a fax from the plant, a phone photo or a list typed into an email, with its line table kept. The customer's part number stays beside its description, a line that wraps stays one item, and a requested date printed per line stays on that line.

Pass the text to your own LLM, or make parsing the first step of your order intake workflow.

Learn more about LLMWhisperer
CUSTOMERHarlow FabricationPO NO.HF-PO-77318PO DATEOct 26, 2026REQUIRED BYNov 9, 2026TERMSNet 45LINES5 itemsORDER TOTAL3,145.90
AI data extraction

Turn customer purchase orders into sales order records

List the fields a sales order needs, from customer and ship-to down to each line's part number, quantity, price and requested date, and every PO returns in one JSON structure whatever the buyer's layout. Teams that went looking for a sales order parser get the checks as well: a price below your current list or a part number with no SKU mapped comes back flagged with the reason.

Call it as an API from your order entry screen, run it as an ETL pipeline from the orders mailbox, or make it one step in an orchestrated order intake process.

Learn more about Document Studio
po_numberHF-PO-77318✓customer_partHF-31502⚑price_HF-4461012.60⚑required_byNov 9, 2026✓order_total3145.90✓⚑ no SKU mapped⚑ price list: 13.40
Agentic process automation

Run customer order intake from the inbox to a sales order

Describe your purchase order intake in plain English and Flow's agents build the workflow. Customer POs arrive as PDFs, spreadsheets and email bodies or come down from customer portals; each one is read, its part numbers are mapped to your SKUs, prices are checked against the contract or price list, and the ship-to is matched to the customer master. Clean orders become sales orders in your ERP or order management system, such as NetSuite or SAP S/4HANA, and the customer gets an acknowledgment by email. You approve the workflow once, and it runs identically on every PO.

Set the conditions for a person to step in: a price mismatch, an unknown part, a ship date you can't meet, or a new ship-to address. Only those POs stop, and the customer service rep sees the PO beside the draft order with the reason marked.

Learn more about Flow
1
Order intakePDFs, spreadsheets, email bodies and portal orders in each customer's format
2
Read and extractParseHeader and line table as textExtractCustomer, ship-to, part numbers, prices and dates
3
Check against your recordsPart numbers to SKUs, prices to the price list, ship-to to the customer master
4
Review the exceptionsPrice mismatches, unknown parts and dates you can't meet go to customer service
5
Create the sales orderClean orders enter as sales orders and the customer gets an acknowledgment

Extract purchase order data now. Automate order entry when you're ready.

Start for free lets you parse and extract your own customers' POs today. Automating SKU mapping, price checks and order creation starts with a consultation.

Supported documents, processes & fields

Customer purchase orders and the order paperwork around them

Documents

  • Customer purchase orders
  • Buyer's orders
  • Blanket purchase orders
  • Release orders and schedules
  • Purchase order change requests
  • Client supply order forms
  • Order forms sent as spreadsheets
  • Orders typed in an email body
  • Insertion orders
  • Sales order acknowledgements
  • Purchase requisition forms
  • Material requisitions
  • Inventory requisition forms
  • Quotes referenced on the PO
  • Customer price agreements
  • Packing slips

Fields captured

Customer name and accountBuyer contactBill-to addressShip-to addressPO numberPO dateRevision or change numberQuote referencePayment termsIncoterms and ship viaRequested delivery dateCurrencyPartial shipment allowed
Who it's for

For the teams that turn customer orders into shipments

Customer service and order entry teams

POs arrive as draft sales orders with SKUs already mapped, so reps spend the day on the orders that need a call to the customer.

Sales operations teams

Order volume, pricing exceptions and time from PO to acknowledgment tracked by customer, so contract and price-list problems show up early.

Distributors and wholesalers

Hundreds of customers' layouts and part numbering read by one setup, so a new account starts ordering without a template or a portal.

Procurement and purchasing teams

A customer order for stock you don't hold reaches your buyers as soon as it is entered, so the supplier PO for a backorder goes out the same day.

Outcomes

Faster acknowledgments, fewer order errors

<3 minfrom purchase order received to a draft sales order
91%of customer POs entered without a rep's edit
54%fewer hours spent keying orders and looking up part numbers
2×faster from PO received to acknowledgment sent
LLM Whisperer has an unbeatable table recognition for extracting position lines from business documents such as invoices and delivery notes.
G2Kenan TrgicSenior Consultant, ELO Digital Office GmbH · Reviewed on G2
1 / 3
Security

Keep your customers' orders and prices confidential

Purchase orders show who your customers are, what they buy and the price you agreed with each one. In a competitor's hands, that's your price list.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Customer purchase orders are never used for model training.
  • Access by role, sales region and customer account, with every edit to an extracted order recorded.
  • You set retention: POs are kept as long as your order and audit records require, then deleted.
  • Self-hosted deployment for sellers who keep customer pricing and order history inside their own environment.
See how customer order data is protected in the Trust Center
Questions

What order desk and sales ops teams ask before they start

Three kinds: template OCR that maps fixed zones per customer, EDI for the few customers who can send it, and LLM-based extraction that reads any layout. Unstract is the third kind. LLMWhisperer parses the PO, Document Studio extracts the fields, and Flow runs the order intake around them.

Start with a week of real customer POs. Describe the fields your sales order needs, test the extraction on those files, then deploy it as an API your order entry screen calls or as a pipeline that watches the orders mailbox. Add SKU mapping and price checks once the extraction holds up.

It reads each value by what it means, not by where it sits. "PO #", "Order No." and "Your Ref" fill the same field, and a first-time customer's PO returns the same record as one from an account that orders every week, with no template built for it.

A purchase order parser alone gives you text and fields. The order desk still has to map each customer part number to your SKU and check the price. Unstract does both before the order is created, and stops only the lines that fail.

Yes. LLMWhisperer corrects skew and fax noise and reads handwriting, such as a quantity crossed out and rewritten or a date added in pen. Sales order OCR then carries on as it would for a clean PDF from the customer's procurement system.

Flow looks each customer part number up in your cross-reference table or item master. A known number maps silently; an unknown one stops for a customer service rep, and once the rep maps it, the next PO with that part goes straight through.

Clean orders post as sales orders in your ERP or order management system, such as NetSuite or SAP S/4HANA, through Flow's connectors or an import file you already use. The customer gets an order acknowledgment by email from the same run.

Yes. Each document is classified first, so a blanket PO, a release against it and a change request are each read as what they are. A change request updates the open sales order and shows the old and new quantity, price or date side by side.

The line is flagged with both prices, the PO's and your contract or list price, and the order waits for a customer service rep. The rep accepts the customer's price or confirms the correct one with the buyer before the acknowledgment goes out.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. POs are encrypted in transit and at rest, never used to train models, and kept only as long as you set. Sellers that need customer pricing to stay in-house can self-host; see the Trust Center.

In a consultation we set it up around your customers' PO layouts, your item master and price lists, and your exception rules, and most order desks create their first live sales orders within days. To try the extraction now, start for free and upload a customer PO.

Next step

Bring a week of customer purchase orders to the consultation

Clean PDFs, faxes, spreadsheet orders, change requests and the awkward ones, with your price list. We run them live and show every line, every SKU match and each exception.

Start for freeOr try it on your own customer POs today.