Extract data from sales orders
A sales order is the seller's confirmation that it accepts a customer's purchase order and will ship the goods on the stated terms, and it is the record that binds the order-to-cash cycle together on the supplier side. Order desks at manufacturers and distributors generate one for every accepted order: a distributor confirming 12 lines for a hardware retailer, a components maker acknowledging a blanket order with four scheduled releases, an exporter confirming an order priced in USD against a buyer PO written in a different ERP. Where the underlying commerce is standardized (UN/EDIFACT ORDERS in Europe, ANSI X12 850 and its 855 acknowledgement in North America, and the OASIS UBL Order and Order Response documents that most e-procurement platforms now speak), the paper the confirmation prints on is not, so it lands in a customer's inbox as a PDF that no downstream system reads without someone retyping it. Friction sits in the reconciliation between what was ordered and what the seller confirmed. A sales order references the buyer's order number, but the seller renumbers the lines, substitutes an in-stock SKU for a discontinued one, splits a single ordered line across two delivery dates, or confirms a unit price that differs from the quote by a rounding step. Delivery terms ride on an Incoterm such as FOB or EXW that decides who owns the freight. Tax applies to some lines and not others. Partial acknowledgements confirm 9 of 12 lines and backorder the rest. Each of those deltas is exactly what a buyer's procurement team has to catch before the goods ship. Talonic reads the sales order and returns the header (order number, order and delivery dates, buyer, supplier, ship-to address, currency, subtotal, tax, and total) alongside a line array that keeps each confirmed item, its quantity, unit price, line total, and its own requested delivery date. A confirmation for $18,400 across three lines reconciles against the referenced buyer PO from structured fields, so the order desk clears an acknowledgement instead of rekeying it.
What gets extracted from sales orders
How extraction works for sales orders
Sales orders leave seller ERPs (NetSuite, SAP, Microsoft Dynamics, Infor) and order-management add-ons in as many layouts as there are vendors, and a scanned fax from a smaller supplier looks nothing like a clean e-document. Talonic classifies the confirmation and resolves it against the sales-order model held in the Field Registry, which binds the header parties and the confirmed-line table to their meaning rather than to a fixed template. The buyer order reference is captured so the confirmation ties back to the originating PO, line renumbering and SKU substitutions are preserved rather than silently merged, and a line-level delivery date is kept per line when the seller schedules a split shipment. Currency is read as an ISO 4217 code, and the line totals are summed and checked against the stated order total so a confirmation that does not foot is surfaced. Each field returns with a confidence score and a pointer to its region on the source page, meeting the provenance expectations of DIN SPEC 91491, so a procurement analyst can check a confirmed price or quantity against the PDF before releasing the order.
Sample extraction
A supplier order confirmation in USD acknowledging three lines against a buyer PO
{
"document_number": "SO-2026-04417",
"document_date": "2026-04-06",
"buyer.name": "Ridgeline Instruments Inc.",
"buyer.address": "900 Foundry Rd, Akron, OH 44305, USA",
"supplier.name": "Cascade Components LLC",
"delivery_address": "Ridgeline Dock 2, 900 Foundry Rd, Akron, OH 44305",
"delivery_date": "2026-05-04",
"incoterms": "FOB Origin",
"currency": "USD",
"buyer_order_reference": "PO-88231",
"line_items": [
{
"line_number": 1,
"item_code": "CC-4120",
"description": "Precision bearing, 40mm",
"quantity": 200,
"unit": "EA",
"unit_price": 42,
"line_total": 8400,
"requested_delivery_date": "2026-05-04"
},
{
"line_number": 2,
"item_code": "CC-2075",
"description": "Drive shaft coupler",
"quantity": 120,
"unit": "EA",
"unit_price": 65,
"line_total": 7800,
"requested_delivery_date": "2026-05-04"
},
{
"line_number": 3,
"item_code": "CC-0990",
"description": "Mounting bracket kit",
"quantity": 100,
"unit": "EA",
"unit_price": 22,
"line_total": 2200,
"requested_delivery_date": "2026-05-11"
}
],
"subtotal": 18400,
"tax_amount": 0,
"total_amount": 18400,
"payment_terms": "Net 30"
}Frequently asked
How does the sales order reconcile against the original purchase order?
The buyer order reference is captured as its own field, so the confirmation links back to the PO it answers. Because sellers renumber lines and swap SKUs, each confirmed line keeps its own item code, quantity, and price rather than being forced to match the PO position, which lets a buyer spot a substitution or a price delta line by line.
Does it handle partial confirmations and backorders?
Yes. When a seller confirms 9 of 12 lines and backorders the rest, the confirmed lines return with their quantities and dates while the backordered ones are preserved as their own rows with the shortfall visible, so the buyer does not assume the whole order shipped.
Can it read EDI sales orders such as X12 855 or EDIFACT ORDRSP?
Talonic extracts PDF renders of EDI order acknowledgements, which is the usual form when the message is exchanged outside an integrated EDI channel. Native EDI flat-file ingest runs through the API on a separate path from PDF extraction.
Is the output ready to load into an order-management system?
The structured order exports to CSV for a spreadsheet or to JSON for an order-management system or ERP. The header appears once and the confirmed lines are a flat array; mapping into a specific destination happens in your integration layer.
Ready to extract from your own sales orders?
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-06