Skip to content
Methodology

How PräferenzPilot calculates — verifiable.

“Verified engine” should not be a marketing phrase. This page shows the path of every rule from the official source to the verdict — with figures taken straight from the system, and a source register with checksums.

EU agreements
20
destination countries
78
verified list rules
9,433
rule entries (per commodity code)
21,092
official source documents
20

Two figures, because they measure different things: a list rule is one set of rules from the official annex for one heading of one agreement. A rule entry is how it is stored per commodity code — a heading rule applies to every subheading beneath it and is therefore held several times in the database. The entry is what matters for a check; the list rule is what matters for the question of how much official text lies behind it.

The path of a rule

From the official source to the verdict — in four steps

01

Official source

Every list rule comes from the official annex of its agreement (EUR-Lex / Official Journal of the EU). On ingestion, a SHA-256 fingerprint of the source document is recorded — years later it is still provable which document a rule came from. Currently: 20 source documents, all listed in the register below.

02

Deterministic ingestion — without AI

The annexes are read by software parsers, not by a language model: same input, guaranteed same result, nothing is “interpreted”. Rules whose structure cannot be mapped beyond doubt are marked as drafts — they never feed into a verdict.

03

Independent verification

A second, separate checking program compares every ingested rule entry against its official wording: is the percentage stated verbatim in the text? Is the change of heading covered? Is an additional condition missing? Only entries that pass this cross-check are given the status “verified” — currently 21,092 of 26,668 entries, which amounts to 9,433 distinct list rules. The rest stays a draft and honestly leads to “review manually”.

04

Three honest answers

The engine knows three verdicts: passed, not passed — and “review manually”, when a rule cannot be mapped with certainty or details are missing. Missing data is neither a yes nor a no. This third verdict is the heart of the methodology: no answer is better than a wrong one.

The principle

No false “passed” — by design

The system is built so that the most dangerous error — origin wrongly confirmed — is structurally ruled out: only verified rules give verdicts. If the engine finds no verified rule, it says “review manually” instead of falling back on a more lenient catch-all rule.

If an agreement offers an alternative rule that cannot be mapped with certainty, failing the main rule also becomes “review manually” — because the alternative might well be met. Honesty in both directions.

So-called ex headings (a rule applies to only part of an HS heading) are something no serious system answers from the HS code alone — here PräferenzPilot always says “review manually”.

The limit of AI

AI explains. The engine decides.

The AI assistant reads documents, explains results in plain language and suggests entries. What it can never do: reach an origin verdict, set a rule status or soften a failure. The binding verdict comes exclusively from the deterministic engine.

This limit is not a promise but technically enforced, and secured by a dedicated adversarial test suite that runs on every change.

Standing guards

Four automatic controls — and one official cross-reference

Guard cases (golden master)

For every combination of agreement and rule type, test cases with their expected result are frozen. If a code change alters even one of those verdicts unintentionally, the test fails — before anything goes live.

Coverage guard

The number of verified rules must never quietly fall for any agreement. A snapshot comparison on every test run prevents creeping loss of quality.

AI safety invariants

A dedicated adversarial test suite makes sure no AI output can ever set a verdict, raise a status to “verified” or soften a failure — the limit is technically enforced, not merely promised.

Weekly source monitoring

13 of the 20 official sources are automatically re-fetched and their fingerprint (SHA-256) compared — if the EU amends a document, the check catches it and the affected rules are re-ingested instead of quietly going stale. The remaining 7 sources do not provide a file that can be fetched reliably by script (access protection or a broken text layer in the official document); they are registered with fingerprint and file size and are cross-checked manually.

Official cross-reference: WuP online

Our verification runs against the EU official texts (EUR-Lex/CELLAR). As an independent second reference we use WuP online of the German customs administration: it lets you look up the preferential arrangement, the type of proof and the cumulation matrix for each country officially — every article analysis links straight there, so you can cross-check every result independently of us.

Coverage

Verified rules per agreement

All 78 countries with an EU preferential agreement in force are covered. How often the engine can give a verdict differs by agreement — where a rule is not (yet) verified, the answer is “review manually”, never an estimate. This table is deliberately unvarnished.

AgreementDestination countriesVerified rulesSource as of
EU–Mercosur46,5882026-08-02
EU–Canada13,7732026-06-30
EU–New Zealand13,2352026-08-02
EU–UK (TCA)11,7932026-06-30
EU–Japan11,5602026-06-30
EU–Chile18842026-08-02
EU–South Korea13632026-06-30
EU–SADC62712026-08-02
EU–Central America62522026-08-02
PEM zone232432026-06-29
EU–Ghana12422026-08-02
EU–Andean countries32382026-08-02
EU–Pacific42372026-08-02
EU–ESA52192026-08-02
EU–Singapore12172026-07-01
EU–Mexico12062026-08-02
EU–CARIFORUM142062026-08-02
EU–Cameroon/Kenya21922026-08-02
EU–Côte d'Ivoire11912026-08-02
EU–Vietnam11822026-06-30
Source register

Every source document, with its checksum

The SHA-256 fingerprint proves which document an agreement's rules came from — byte for byte. For the sources checked automatically every week you can download the official file and recompute the fingerprint yourself. The documents marked “checked manually” do not return a byte-stable file when fetched (access protection or dynamic delivery) — their fingerprint documents exactly the version we ingested.

EU-Mexiko Globalabkommen, Beschluss Nr. 2/2000, Anhang III, Appendix II — Liste der erforderlichen Be- oder Verarbeitungen (EUR-Lex, konsolidierte Fassung 01.01.2021)

checked automatically every weekAs of: 2026-08-02SHA-256: 207b5d5506ebcec77c35e6b5df55dba64061d3bebc0c6d4f65111795ff3090b3Official source

EU-Mercosur Interims-Handelsabkommen, Anhang 3-B — Produktspezifische Ursprungsregeln (OJ L 2026/184)

checked automatically every weekAs of: 2026-08-02SHA-256: 4ff77dee8d17f66504c32ac97155299003c4ccc8799e01a36df37d0e49fbfe06Official source

EU-Côte d'Ivoire Interim-WPA, Beschluss Nr. 2/2019, Protokoll 1, Anhang II (ABl. L 49/2020)

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: be5a3561c1e9b94484279ea94c83b64e19fbd5434656b9c09c82a24d8d6abeafOfficial source

EU-Ghana Interim-WPA, Beschluss Nr. 1/2020, Protokoll Nr. 1, Anhang II (ABl. L 350/2020)

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: cedad5dd306971396d7765803cd6db100fcf01f4e1a9710bde41c4227f3fefbeOfficial source

Marktzugangsverordnung (EU) 2016/1076, Anhang II, Anlage 2 — maßgeblich für Kamerun und Kenia (ABl. L 185/2016)

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: a4844cb15023acd13e5c20294ee48da9ec70d2b86ee5607486bfb98ee270f6d8Official source

EU-Pazifik-WPA, Beschluss Nr. 1/2026 des Handelsausschusses, Protokoll II, Anhang II (ABl. 18.03.2026)

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: 17e945c2ad42d904d06013426d1f461a10a7763d0d9adcb580557ed7a4c037cdOfficial source

EU-ESA Interim-WPA, Beschluss Nr. 1/2020 des WPA-Ausschusses, Protokoll 1, Anhang II (ABl. L 93/2020; XHTML-Fassung — der PDF-Textlayer ist defekt)

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: 707bdcad47736b1443c70aae0aec0bc71b14274ebde4373defdcd685e684555dOfficial source

EU-CARIFORUM WPA, Protokoll I, Anhang II (ABl. L 289/2008; XHTML-Fassung von CELLAR, CELEX 22008A1030(01))

checked manually — fetch not byte-stableAs of: 2026-08-02SHA-256: fdd759a22e2dd49e64cd304cbe9ce56049b3124838b80dde2567429f115e18d3Official source

EU-Zentralamerika Assoziierungsabkommen, Anhang II zu Anlage II — Liste der erforderlichen Be- oder Verarbeitungen (EUR-Lex, OJ L 346/2012)

checked automatically every weekAs of: 2026-08-02SHA-256: 5f50a30920ed0a3f43b115c1b315d35720cad4e3f6028408142433de640bd939Official source

EU-Kolumbien/Peru/Ecuador Handelsübereinkommen, Anhang II zu Anlage II — Liste der erforderlichen Be- oder Verarbeitungen (EUR-Lex, OJ L 354/2012)

checked automatically every weekAs of: 2026-08-02SHA-256: 47021529e929e34e23b2b5e043e7d4f17f9f525cf97386036d787d268fc523d9Official source

EU-Neuseeland Freihandelsabkommen, Anhang 3-B — Produktspezifische Ursprungsregeln (EUR-Lex, OJ L 2024/866)

checked automatically every weekAs of: 2026-08-02SHA-256: ee074a0ebcd0c3c5c2968826cabe57bf6f32ae60a3ac73d0bebbc559f5f14eb9Official source

EU-Chile Interims-Handelsabkommen (ITA, ABl. 2024), Anhang II — Produktspezifische Ursprungsregeln (Europäische Kommission, GD TAXUD)

checked automatically every weekAs of: 2026-08-02SHA-256: ff6e505a73ff4826d0963f15afecac856076456be0aeacd1a427d13c2775e657Official source

EU-SADC Wirtschaftspartnerschaftsabkommen, Protokoll 1, Anhang II — Liste der erforderlichen Be- oder Verarbeitungen (EUR-Lex, OJ L 250/2016)

checked automatically every weekAs of: 2026-08-02SHA-256: dd5d09beca072593613bbd0236bf532bd3ffc15b590cfd7c7bae47713248c7cbOfficial source

Revidierte PEM-Konvention (Beschluss Nr. 1/2023), Anhang II — HS2022-Transposition (EU-Kommission, GD TAXUD)

checked automatically every weekAs of: 2026-06-29SHA-256: f0b274c8ece39e277ccec6f02800abab16273567bf0b90483615d18289c7eb7cOfficial source

EU-UK Handels- und Kooperationsabkommen (TCA), Anhang 3 / ORIG-2 (EUR-Lex, konsolidiert 2024)

checked automatically every weekAs of: 2026-06-30SHA-256: 26e9602f38234005b99b80a5ee775caaabbfc37b996d99170553cb5dcaa01c84Official source

CETA (EU-Kanada), Protokoll über Ursprungsregeln, Annex 5 — Product-Specific Rules (saubere Annex-5-Fassung, Government of Canada, 2016)

checked manually — fetch not byte-stableAs of: 2026-06-30SHA-256: 13584c38594f8f5185758eb6265d2601a6dd5ce8897f0bdc95377737cb07bea5Official source

EU-Vietnam Freihandelsabkommen, Protokoll 1, Annex II — List of working or processing required (EUR-Lex, OJ L 186/2020)

checked automatically every weekAs of: 2026-06-30SHA-256: c1a85248c90c0a6e0d5d0fa9a0884f2f904a936e27e4fc164c4cbd7c10e6b3deOfficial source

EU-Singapur Freihandelsabkommen (EUSFTA), Protokoll 1, Annex B — List of working or processing required (EUR-Lex, OJ L 294/2019)

checked automatically every weekAs of: 2026-07-01SHA-256: ec883450c92f8b3f01f03b4b9f15705da9d82c44337063fa5c9e84113a9426ddOfficial source

EU-Japan Wirtschaftspartnerschaftsabkommen (EPA), Anhang 3-B — Product Specific Rules (Access2Markets / EU-Kommission, tradoc_157231) (ABl. L 330/2018)

checked automatically every weekAs of: 2026-06-30SHA-256: 496a085b828f0486dd23bb30d0d182d85f579424668bac618c8e388c2d05c729Official source

EU-Korea Freihandelsabkommen, Protokoll über Ursprungserzeugnisse, Anhang II (EUR-Lex, OJ L 127/2011)

checked automatically every weekAs of: 2026-06-30SHA-256: c0ee616e517145b92b25376867b31e144f45c4880b6bca28d6f0d75f791ce705Official source

Limits — named honestly

What PräferenzPilot cannot do

  • · Results are only as good as the inputs: the bill of materials, values and origin details come from the user. The system calculates deterministically on that basis — it cannot guess that an input is wrong.
  • · Ex headings and unverified rules are always answered by the engine with “review manually” — deliberately.
  • · PräferenzPilot produces review-ready drafts and calculations, but not legal or customs advice. Approving a proof remains the user's own responsibility.

We are happy to answer questions about the methodology: kontakt@praeferenzpilot.de