Extract data from cargo manifests
A cargo manifest is what a customs authority reads before a ship is allowed to unload. It is the advance cargo declaration a carrier or its appointed agent lodges with customs ahead of arrival, and it is the document a border agency runs risk assessment against: which goods are aboard, who shipped them, who receives them, and under which tariff classification each consignment clears. Where a carrier's operational departure manifest is an internal loading record, the customs cargo manifest is the regulatory filing, structured on the WCO Data Model and, in the European Union, the EU Customs Data Model, that ties every consignment to an exporter and a consignee with their EORI numbers, a commodity code, a country of dispatch and destination, and a declaration status the customs office moves from filed to cleared to released. Brokers lodging a manifest for a vessel arriving 2026-05-08 at Rotterdam, and the customs unit screening it, work from the same grid: the vessel and its IMO number, the voyage, the ports of loading and discharge, and a repeating consignment block. One manifest can declare a single consignment or several hundred, and each line carries the customs data the border cares about rather than only the shipping data a carrier tracks. Each consignment keeps its Combined Nomenclature or HS commodity code, its net and gross mass, its customs value and valuation method, and a preference code claiming preferential or non-preferential tariff treatment. Container numbers follow ISO 6346 and seal numbers travel beside them, package types follow UN/ECE Recommendation 21, and the EORI identifiers on the exporter and the importer are exactly what a customs system matches against its registrations. Held or inspected consignments carry a status the rest of the manifest does not. Talonic reads the cargo manifest and returns the declaration header once, then every consignment as a structured row carrying its exporter and consignee with EORI, container and seal, commodity code, net and gross mass, customs value, preference, and status, so a broker or a customs team loads the filing rather than re-keying it. A 71,300.00 EUR customs value stays in one currency, and the declaration status is preserved per consignment. Declaring hundreds of consignments, the filing arrives as a row per consignment that a customs entry or a port community system can ingest, whether the source is a carrier PDF or a scanned agent copy.
What gets extracted from cargo manifests
How extraction works for cargo manifests
Cargo manifests reach a customs system and a broker as carrier declarations, port community system exports, and scanned agent copies, structured on the WCO Data Model and the EU Customs Data Model but laid out differently by each carrier and administration. Talonic classifies the manifest and binds it to the customs schema in the Field Registry, which keeps the declaration header once and returns the consignments as a linked array instead of a flattened table. Each consignment holds its Combined Nomenclature commodity code, its country of origin and destination, its net and gross mass, its customs value and valuation method, and a preference code, while the exporter and importer EORI identifiers are retained for matching against a customs registration. ISO 6346 check digits validate each container number, net and gross mass are standardized to numeric values with an explicit unit, and the declaration status is read as filed, cleared, released, or held. Per-value confidence and a pixel-region pointer under DIN SPEC 91491 let a customs officer or a broker verify a commodity code or an EORI against the source manifest before the goods are cleared. The extraction structures what the manifest declares and does not determine admissibility or the duty owed.
Sample extraction
A customs cargo manifest with two consignments for one import voyage
{
"document_number": "CMF-2026-0508-NL",
"document_date": "2026-05-08",
"declaration_type": "IM",
"vessel.name": "COSCO FORTUNE",
"vessel.imo_number": "IMO9702314",
"voyage_number": "048E",
"port_of_loading": "CNNGB Ningbo",
"port_of_discharge": "NLRTM Rotterdam",
"country_of_dispatch_export": "CN",
"country_of_destination": "NL",
"consignee": "Hansa Import GmbH",
"importer_identification_no": "DE1234567890123",
"exporter": "Ningbo Meridian Electronics Co.",
"currency": "EUR",
"total_packages": 680,
"total_weight": 9290,
"weight_unit": "kg",
"status": "released",
"line_items": [
{
"line_number": 1,
"commodity_code": "8504.40.90",
"description": "Solar inverters",
"quantity": 420,
"unit_of_measure": "pcs",
"net_mass": 4650,
"gross_mass": 5310,
"item_price_amount": 52400,
"country_of_origin": "CN",
"preference": "100"
},
{
"line_number": 2,
"commodity_code": "8507.60.00",
"description": "Lithium-ion battery modules",
"quantity": 260,
"unit_of_measure": "pcs",
"net_mass": 3450,
"gross_mass": 3980,
"item_price_amount": 18900,
"country_of_origin": "CN",
"preference": "100"
}
],
"containers": [
{
"container_number": "HLBU3389471",
"container_type": "40HC",
"seal_number": "4471902",
"seal_type": "customs",
"status": "sealed"
},
{
"container_number": "OOLU8842156",
"container_type": "40HC",
"seal_number": "4471938",
"seal_type": "shipper",
"status": "sealed"
}
]
}Frequently asked
How is a customs cargo manifest different from a carrier departure manifest?
A carrier departure manifest is an operational loading record. The customs cargo manifest is the regulatory declaration lodged with the border authority for risk assessment and clearance, so it carries the commodity codes, EORI identifiers, customs values, and preference codes a customs system adjudicates. Talonic reads each on its own schema.
Does it declare each consignment separately?
Yes. The consignment block returns as an ordered array, so a manifest covering 300 consignments comes back as 300 rows, each with its exporter, consignee, commodity code, net and gross mass, customs value, and status.
Are the EORI numbers and container identifiers captured for matching?
The exporter and importer EORI identifiers are captured so the declaration reconciles against a customs registration, and container numbers are validated by their ISO 6346 check digit, with a mismatch flagged in the confidence output.
Does it decide whether goods are admissible?
No. The extraction returns what the manifest declares: its consignments, codes, values, and status. Whether goods are admissible and what duty is owed are determinations the customs authority makes, not the extraction.
Ready to extract from your own cargo manifests?
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-07