Cross-industry
Purchase orders document what a buyer is ordering: line items, quantities, prices, delivery terms, and payment conditions. Every company formats POs differently. Sensible converts PO data into structured JSON for order management, invoice matching, and procurement analytics.
Validated JSON
Schema-enforced output; every field matches your contract
Source coordinates
Every value links back to page + bounding box for audit
Per-document pricing
Predictable cost. No token-volatility surprises
Trusted by teams turning documents into production data






Every buyer designs their own PO, so line items, shipping terms, and conditions turn up wherever the layout puts them. We extract them into one schema your systems can read, whoever sent the order.
01
No two companies format POs the same way. SAP outputs differ from Oracle. Custom ERP exports look different still. Sensible's hybrid extraction adapts to each layout while enforcing your procurement schema.
02
SKUs, unit prices, quantities, discounts, delivery dates, freight class: sometimes all in one dense row. Every field per line item gets extracted, handling multi-page tables and varying column structures across companies.
03
Payment terms, Incoterms, ship-to addresses, and compliance clauses appear in different sections depending on the company. LLM parsing locates them; deterministic rules extract and validate each against your expected format.
Managed services
Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.
What's included
01Plan.Engineers review your samples and pick the right method
02Build.SenseML configs written from your samples
03Deploy.Same engine as self-serve, ready for production
04Adjust.We update configs when formats shift or new edge cases appear
05Integrate.Help with custom integration into your downstream systems
We configure every purchase order extraction to your exact schema, not a fixed field list. The fields below are the ones procurement teams pull most often — tell us what your ERP integration needs and we map the rest.
01
Header
Buyer name/address, vendor name/address, PO number, PO date, ship-to address, bill-to address, payment terms, shipping method
02
Line items
Line number, SKU/part number, description, quantity, unit price, unit of measure, discount, tax, extended amount, requested delivery date
03
Terms and totals
Subtotal, tax total, shipping cost, total amount, FOB point, freight terms, special instructions, approval signatures
config.json
SenseML
{ /* SenseML: purchase order extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "po_number", "description": "purchase order number, PO #, PO number, order number" },
{ "id": "po_date", "description": "PO date, order date, date issued" },
{ "id": "total_amount", "description": "total amount, PO total, order total, grand total" },
{ "id": "vendor", "description": "vendor name, supplier name, ship from, sold by" }
// + more fields, mapped to your schema
]
}
}
]
}Sensible processes POs from any company or procurement system. New formats can be configured in hours using SenseML. Extraction logic is explicit, version-controlled, and testable against sample documents.
SAP, Oracle, NetSuite, Coupa, Ariba, Jaggaer, QuickBooks, manual/handwritten POs
Standard POs, blanket/standing POs, contract POs, planned POs, drop-ship POs, government POs (SF-1449)
Answers about PO format support, line item extraction, and ERP integration.
Yes. Validation rules verify that line item extended prices sum to the subtotal and that tax and shipping charges produce the correct grand total. Discrepancies are flagged automatically.
Yes. Sensible captures requested delivery dates, ship dates, partial shipment allowances, and delivery location details for each line item when specified on the PO.
Payment terms, delivery terms (Incoterms), ship-to and bill-to addresses, required delivery date, FOB point, and special instructions are the defaults. POs differ by buyer and system, so these are a starting set you control in configuration. Add the terms your procurement workflow needs or drop the ones it ignores.
Sensible extracts each line item with item number, description, quantity, unit price, unit of measure, and extended price. Multi-page PO tables are stitched into a single array.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.
Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.
Start free
Free 14-day trial. No credit card required. Start extracting in minutes.