Skip to main content

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

Assessment NumberDE-LIQ-2026-0098231
Assessment Date2026-06-22
Importer / EORIHansa Import GmbH / DE1234567890123
Customs OfficeHauptzollamt Hamburg
Commodity Code (CN)8501.53.00
Customs (Dutiable) Value120,000.00 EUR
Duty Rate4.7%
Duty Amount5,640.00 EUR
Import VAT23,871.60 EUR
Total Amount Due29,596.60 EUR
Payment Due Date2026-07-06

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.

Are duty, import VAT, and fees separated?

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.

Author note

Reviewed by Talonic engineering · last reviewed 2026-07-06