EU TARIC Daily Measures Corpus — Methodology
Corpus lines 18688 · extract vintage 2026-10-20 19:28 · daily delta channel
This site's EU tariff measures family is generated directly from the normalized DDS2/TARIC daily delta corpus maintained by our pipeline (scripts/fetch_taric_daily.py + taric_extract_lib.py). The corpus stores the raw column layout pinned against the official change files; this page documents exactly what we add, filter and join.
Normalisation contract
- Dates: every
*_DATEcolumn gains an ISO twin (START_DATE_ISO,END_DATE_ISO); originals retained. - Tombstones: rows with
publish_op=DELETEnever reach the pages (currently zero, guarded for the future). - Replays: repeated INSERT/UPDATE deliveries collapse on
(code, measure type, order number, start date,
regulation); the highest
REC_SEQ_NUMwins. - Joins: measure_conditions rows attach to measures via
ORDER_NUM↔ORD_NUMB; unmatched condition rows stay visible in the per-heading condition tables rather than being silently discarded. - No invented fields: English goods descriptions are not present in the delta corpus (verified EN coverage 0/321), so detail pages identify goods by code alone instead of fabricating names.
Freshness & licensing
The pipeline re-runs after every daily extract; pages regenerate wholesale
from the accumulated corpus, so the watermark you see on each page equals the
newest publication_date. Redistribution follows
CC BY 4.0
with the attribution footer required by the source terms.
Frequently asked questions
Where do these EU duty and quota records come from?
From the European Commission's DDS2 TARIC daily extract (https://ec.europa.eu/taxation_customs/dds2/taric/taric_management.jsp?publicationDate=2026-10-19 19:14&message=extract), fetched 2026-10-20T20:27:28Z; every record keeps its publication_date, source_url and fetched_at provenance triple.
What normalisation does ExportSonar apply?
Date columns are converted to ISO form (*_START_DATE_ISO/*_END_DATE_ISO), publish_op=DELETE tombstones are dropped, replayed INSERT/UPDATE rows collapse on (code, type, order number, start date, regulation) keeping the highest REC_SEQ_NUM, and no field value is otherwise altered.
How do certificate and quota-condition rows join the measures?
Condition rows carry ORDER_NUM and are attached to measure lines whose ORD_NUMB matches; rows without a matching order number stay visible in each heading's condition table instead of being dropped.
Under what licence may these duty records be redistributed?
The upstream TARIC extract is reused under CC BY 4.0 with attribution to the European Commission, DG TAXUD; each page footer carries the full attribution line and the extract URL.
Source: European Commission, DG TAXUD/DDS2, TARIC daily extracts · publication_date 2026-10-20 19:28 · fetched_at 2026-10-20T20:27:28Z · normalized by exportsonar.com · extract: DDS2 measures.jsp (CC BY 4.0 attribution preserved)