Extract data from customs duty assessments
After a shipment is declared and cleared, a customs authority issues the bill: the duty assessment that liquidates what an importer owes on the entry. It is not the declaration and it is not the commercial invoice. It is the authority's own calculation, stating the customs value it accepted, the tariff rate it applied, the duty that results, the import VAT on top, and any inspection or handling charge, summed into one amount payable by a deadline. An importer of record and a customs broker both read it to reconcile the entry and to schedule payment.
The arithmetic is where an assessment has to hold together. Duty is the customs value multiplied by the rate for the goods' Combined Nomenclature code, so a 4.7% rate on a 120,000 EUR customs value produces 5,640 EUR of duty, and import VAT is charged on the duty-inclusive value rather than the goods value alone. The customs value itself depends on the valuation method and the Incoterms, since a CIF Hamburg basis folds freight and insurance into the figure. An EORI number identifies the importer, and the country of origin drives whether a preferential rate could apply.
Talonic reads the assessment and returns the header, the per-line tariff detail, and the charge breakdown as typed fields. An assessment from Hauptzollamt Hamburg against a CIF import from China, commodity code 8501.53.00, returns a 120,000 EUR dutiable value, 5,640 EUR of duty, 23,871.60 EUR of import VAT, and a total of 29,596.60 EUR due 2026-07-06, so a broker reconciles the charge against the entry from structured data.
What gets extracted from customs duty assessments
How extraction works for customs duty assessments
Duty assessments are issued by national customs systems and reach an importer as authority-issued PDFs and scanned notices, following the EU Customs Data Model but rendered differently by each administration. Talonic classifies the notice and maps it to the customs schema in the Field Registry, which separates the entry header from the per-line commodity detail and the charge breakdown. Each charge line keeps its type, rate, and basis, and the duty on a line is recomputed from the dutiable value and the rate so a transcription error surfaces before payment. Import VAT is read against its own basis, the valuation method and Incoterms that set the customs value are captured explicitly, and the EORI and country of origin are kept for reconciliation against the declaration. Every value carries a confidence score and a pixel-region pointer aligned with DIN SPEC 91491, so a compliance team can trace an assessed figure to the source notice. The extraction structures what the notice states and does not compute or advise on the duty owed.
Sample extraction
A customs duty assessment (liquidation notice) for one import entry
{
"document_number": "DE-LIQ-2026-0098231",
"document_date": "2026-06-22",
"declaration_type": "IM",
"additional_declaration_type": "A",
"importer": {
"name": "Hansa Import GmbH",
"tax_id": "DE1234567890123"
},
"customs_authority": "Hauptzollamt Hamburg",
"country_of_origin": "CN",
"incoterms": "CIF Hamburg",
"valuation_method": "transaction value",
"commodity_code": "8501.53.00",
"currency": "EUR",
"dutiable_value": 120000,
"duty_rate": 4.7,
"duty_amount": 5640,
"additional_charges": 85,
"total_amount_due": 29596.6,
"payment_due_date": "2026-07-06",
"payment_status": "pending",
"line_items": [
{
"line_number": 1,
"commodity_code": "8501.53.00",
"goods_description": "Three-phase AC motors, 75 kW",
"country_of_origin": "CN",
"quantity": 60,
"unit_of_measure": "pcs",
"net_mass": "4800",
"dutiable_value": 120000,
"valuation_method": "transaction value",
"duty_rate": 4.7,
"duty_amount": 5640
}
],
"duty_charges": [
{
"charge_type": "customs duty",
"amount": 5640,
"rate": 4.7,
"basis": 120000
},
{
"charge_type": "import VAT",
"amount": 23871.6,
"rate": 19,
"basis": 125640
},
{
"charge_type": "inspection fee",
"amount": 85
}
]
}Frequently asked
Does it check that the duty ties to the rate and value?
Yes. The duty on each line is recomputed from the dutiable value and the stated rate, and import VAT is checked against the duty-inclusive basis, so a figure that does not reconcile is flagged rather than returned as clean data. The extraction reports the numbers on the notice; it does not calculate what should be owed.
How is the customs value basis handled?
The valuation method and the Incoterms are captured, so a transaction value on a CIF basis, which folds freight and insurance into the customs value, is distinguished from an FOB basis where they sit outside it.
How is import VAT calculated on a customs duty assessment?
Import VAT is charged on the duty-inclusive value rather than on the goods value alone, so a 120,000.00 EUR customs value carrying 5,640.00 EUR of duty gives a 125,640.00 EUR basis, and 19% of that basis is the 23,871.60 EUR of import VAT stated on the notice. Each charge is returned as its own line with a type, an amount, and where stated a rate and basis, so customs duty, import VAT and an inspection or handling fee stay distinct rather than merged into a single total.
Does it capture the EORI and origin for matching?
The importer EORI number and the country of origin are captured, so the assessment reconciles against the customs declaration and any preferential-origin claim made on the entry.
What fields are extracted from customs duty assessments?
Talonic returns customs duty assessments as schema-validated, typed fields. Common fields include Assessment Number, Assessment Date, Importer / EORI, Customs Office, and more, each normalized (dates to ISO 8601, amounts as numbers) and mapped to a stable key so the output shape stays the same across layouts.
How accurate is extraction from customs duty assessments, and how is confidence reported?
Every extracted cell carries a confidence score from 0.0 to 1.0 and a provenance pointer back to the source page and region, so low-confidence values can be reviewed against the original before the data is trusted downstream. There is no single accuracy number: confidence is reported per field so you can gate on it.
Can I use customs duty assessments extraction in production?
Yes. The same engine behind this guide is available as a production REST API and Node SDK with sync, async, and streaming modes, schema versioning, signed webhooks, and EU-resident processing. Start free with an API key, then scale on usage-based pricing.
What does it cost to extract data from customs duty assessments?
There is a free tier for prototyping and agent evaluation with no credit card. Paid usage is credit-based at 1,000 credits per euro: page ingestion is 100 credits per page and registry-resolved queries are free. See talonic.com/pricing for current rates.
Ready to extract from your own customs duty assessments?
- GDPR
- HIPAA
- ISO 27001 / 42001 aligned
- DIN SPEC 91491 co-author
- EU-resident infrastructure
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-06