Extract data from packing lists
A packing list is the document that tells a receiving dock and a customs broker exactly what is inside a shipment, carton by carton, before anyone opens a box. It travels alongside the commercial invoice and the Bill of Lading, but it answers a different question: not what the goods are worth, but how they are physically packed. A warehouse receiving a 12-pallet container from Shenzhen needs to confirm that carton 4 of 40 holds 24 units of SKU AX-1180 at 18.4 kg gross, and a broker filing entry needs the net and gross weights and the package count to reconcile against the carrier's manifest. Freight forwarders, importers, and 3PL operators all read the same lines: shipment reference, seller and buyer, total cartons, total net and gross weight, and a per-line breakdown of items, quantities, and package numbers. The trouble is that packing lists are tables, and the tables are messy. One supplier lists every carton on its own row; another groups by SKU and notes a carton range like 1 to 12. Weights appear in kilograms on an Asian supplier's form and pounds on a domestic one, and net versus gross is sometimes only distinguished by a column header that wraps. Dimensions are quoted as L x W x H in centimeters. Marks and numbers stenciled on the cartons sit in a free-text block. A consolidated shipment can carry several purchase orders on one list, so PO 88231 and PO 88244 interleave across the rows. Talonic reads the packing list and returns the shipment header plus an itemized line array with quantities, package numbers, and both net and gross weights. Units are normalized to a canonical value with an explicit unit, so receiving and brokerage systems get counts that reconcile against the invoice and the BoL. A 40-carton shipment from Shenzhen to Long Beach, declared 2026-04-12 at $48,200, clears US customs once the HS code, the SKU counts, and the gross weight reconcile against the BOL and the commercial invoice in the importer's ERP.
What gets extracted from packing lists
How extraction works for packing lists
Packing lists are produced by supplier ERP modules, forwarder TMS platforms, and manual spreadsheets, so the row granularity (per carton versus per SKU) and the weight units differ on every form. Talonic classifies the document and maps it to the shipping-document schema in the Field Registry, which separates the shipment header from the per-line carton detail. Carton ranges such as 1 to 12 are expanded into a count, and net versus gross weight columns are kept distinct rather than merged. Weight units are normalized to a canonical numeric value plus an explicit unit (KG, LB), so figures reconcile against the commercial invoice and the Bill of Lading. Multiple purchase orders on one consolidated list are tagged per line. Every value returns with a confidence score and pixel-region provenance under DIN SPEC 91491 conformity, so receiving and brokerage teams can verify a count or weight against the source.
Sample extraction
A packing list for a 40-carton ocean shipment from Shenzhen
{
"shipment_reference": "PL-2026-04412",
"seller_name": "Shenzhen Anchor Electronics Co.",
"buyer_name": "Acme Imports LLC",
"total_cartons": 40,
"total_net_weight": 620,
"total_gross_weight": 736,
"weight_unit": "KG",
"line_items": [
{
"description": "Bluetooth speaker module",
"sku": "AX-1180",
"quantity": 288,
"carton_from": 1,
"carton_to": 12,
"related_po": "PO 88231"
},
{
"description": "USB-C cable assembly",
"sku": "CB-204",
"quantity": 600,
"carton_from": 13,
"carton_to": 40,
"related_po": "PO 88244"
}
]
}Frequently asked
Does it expand carton ranges into counts?
Yes. A line that covers cartons 1 to 12 is captured with the range and a derived carton count, so the package total reconciles against the carrier manifest without manual counting.
How are net and gross weight kept separate?
Net and gross are mapped to distinct fields even when the source column headers wrap or abbreviate, because a customs broker needs net weight for tariff calculations and gross weight for the carrier reconciliation.
Can it handle a consolidated shipment with several purchase orders?
Yes. When one packing list covers multiple POs, each line is tagged with its related purchase order, so a receiving team can match deliveries back to the right order.
Ready to extract from your own packing lists?
Author note
Reviewed by Talonic engineering, schema review · last reviewed 2026-06-09