Workflow Automation · Read + Write

OCR: Purchase Order → Sales Order

Automate Rep · High Reason · Med

The problem

Customers email PO PDFs in 20+ layouts. Sales ops re-types each one — 4–6 min per PO, 200+ POs/day. Errors leak into shipments.

The AI approach

Layout-agnostic IDP: vision-LLM reads the PDF, normalises into a JSON line-item schema, and validates totals + part numbers before posting.

The outcome

~95% touchless

Re-keying time falls from 5 min → 30 sec. Ops review only the 5% that fail validation.

Try itInput → Process → Output

Input — Inbound PO
Purchase OrderP-2451
VendorAcme Plastics Co.
Date2026-05-02
BuyerSirikit M.
ItemQtyTotal
PVC pipe 4"504,250
PVC elbow 4"1203,600
End cap 4"40800
Process — AI pipeline
1OCR documentReadPredictive
2Extract fields (vision-LLM)ReadGenerative
3Validate totals + SKURulesSymbolic
4Post Sales OrderWriteSymbolic
Output — Sales Order in SAP
Click Run demo to watch the AI pipeline turn the PO into a Sales Order.
SALES ORDERSAP · created
SO-2026-04812
CustomerC-1138 · Acme Plastics
PO refP-2451
Ship date2026-05-09
SKU · itemQtyTotal
PVC-P4 · pipe 4"504,250
PVC-E4 · elbow 4"1203,600
PVC-C4 · cap 4"40800
Validation✓ totals match · 8,650

Three AI types in this use case

SymbolicCatalog lookup, totals-match check, customer-known check; SAP posting via deterministic mapping.
PredictiveOCR text detection; layout classification picks the field-extraction strategy.
GenerativeVision-LLM extracts free-form fields (vendor name variants, multi-line addresses) into structured JSON.

The stack

  • OCR · Textract / DocAI / Azure FR
  • Vision LLM · Claude Sonnet
  • Validation · Python + catalog lookup
  • Sink · SAP iDoc / OData

When this works

  • POs follow a library of layouts (≤ 100)
  • Master data (customer, SKU) is clean
  • Volume ≥ 50 POs/day
  • SLA allows 5–10 min latency

When it fails

  • Hand-written annotations override printed values
  • Brand-new layout — first-time accuracy drops
  • Duplicate SKUs in master — too many flags
  • Rare line items not in catalog — model hallucinates a match