Additional codes
- What additional codes are
- How additional codes work
- Additional Code Types
- Validation rules
- How additional codes apply
What additional codes are
Goods are usually identified by their 10-digit commodity code.
Sometimes additional context is needed, beyond just the type of good identified by the commodity code, to ensure that the apporpriate tariffs and/or restrictions are applied, in these cases additional codes are used. Additional codes identify:
- whether a company is subject to punitive measures, such as anti-dumping duties
- products which have reduced duties because they are for pharmaceutical use
- the route goods take into the UK and how different tariff or regulatory treatments apply
- stolen works of art, for example from Syria or Iraq as a result of military conflict
Additional codes can be applied to more than one commodity code.
How additional codes work
Additional codes are 4 digits combining the following 2 elements:
- a code type
- a 3-character ID (which can also include letters)
The additional code type defines the additional code that is being addressed.
For example, the additional code C233 is made up of type C and specific ID 233.
Numeric IDs from 001 to 999 can be reused across multiple additional code type IDs. Numeric IDs are unique only when they are used with a character code.
The list of addional codes is frequently updated, with tens of new codes being added each year.
Additional Code Types
Code Type | Description | Applicability |
---|---|---|
3 | Prohibition/Restriction/Surveillance | Additional codes |
8 | Anti-dumping/countervailing | Additional codes |
7 | Agricultural Tables (Meursing) | Meursing additional codes |
F | Reference prices fishery products | Additional codes |
D | Dual Use | Additional codes |
P | Refund for basic products | Export refund for processed agricultural goods |
B | Anti-dumping/countervailing | Additional codes |
6 | Agricultural Tables (non-Meursing) | Additional codes |
9 | Export Refunds | Export refund nomenclature |
2 | Tariff preference | Additional codes |
A | Anti-dumping/countervailing | Additional codes |
4 | Restrictions | Additional codes |
C | Anti-dumping/countervailing | Additional codes |
Last updated 29 Oct 2024 | ||
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT additional_code_types.sid AS "Code Type", additional_code_types.description AS "Description", CASE WHEN application_code = 0 THEN "Export refund nomenclature" WHEN application_code = 1 THEN "Additional codes" WHEN application_code = 3 THEN "Meursing additional codes" WHEN application_code = 4 THEN "Export refund for processed agricultural goods" END AS "Applicability" FROM additional_code_types INNER JOIN common_version_groups ON additional_code_types.trackedmodel_ptr_id = common_version_groups.current_version_id |
The list of additional code types is set by DBT, and rarely changes as it requires extensive updates to downstream systems. The only changes in the last two decades have been the addition of code type C in 2009, and the end of code type F in 2016.
Applicability indicates the data type the additional codes apply to. Only those labelled “Additional Codes” are still in use, however the remainder still appear in the data and are included here for completeness.
Entity-relationship diagram for additional codes
Validation rules
Additional Codes
Code | Description |
---|---|
ACN1 | Uniqueness for combination of fields additional code type, additional code ID and start date. |
ACN13 | Validity contained rule requiring that when an additional code is referred to in a measure, the validity period of the code must span the validity period of the measure. |
ACN14 | Deletion while in use for additional codes that are used in a measure. |
ACN17 | Validity contained rule for the additional code type the additional code belongs to. |
ACN2 | The referenced additional code type must exist and have as application code “non-Meursing” or “Export Refund for Processed Agricultural Goods. |
ACN4 | Validity overlaps with self rule stating the validity period of the additional code must not overlap any other additional code with the same additional code type, additional code ID and start date. |
ACN5 | Mandatory subrecord rule for additional code descriptions. The start date of the first description period must be equal to the start date of the additional code. No two associated description periods may have the same start date. The start date must be less than or equal to the end date of the additional code. |
CT1 | Uniqueness rule for additional code types. |
Read the validation rules for additional codes in the system documentation.
How additional codes apply
Additional codes can only be applied to particular types of measures. For example, types 8, A, B and C can only be used with trade remedies. The full lists of measure types that can reference additional code types are shown below for each code type.
Prohibition/Restriction/Surveillance (3)
Measure Type | Description |
---|---|
089 | The Washington Convention |
092 | The Washington Convention (export) |
143 | Preferential tariff quota |
146 | Preferential tariff quota under authorised use |
277 | Import prohibition |
278 | Export prohibition |
420 | Entry into free circulation (prior surveillance) |
462 | Posterior import surveillance |
463 | Posterior export surveillance |
465 | Restriction on entry into free circulation |
466 | Outward processing post. surveillance |
467 | Restriction on export |
468 | GSP Confidential Surveillance |
470 | Export surveillance |
473 | Export authorization |
474 | Entry into free circulation (quantitative limitation) |
475 | Restriction on entry into free circulation |
476 | Restriction on export |
477 | Entry into free circulation (outward processing traffic) |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "3" GROUP BY measure_types.sid |
Dual Use (D)
Measure Type | Description |
---|---|
476 | Restriction on export |
478 | Export authorization (Dual use) |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "D" GROUP BY measure_types.sid |
Agricultural Tables (non-Meursing) (6)
Measure Type | Description |
---|---|
630 | Differences in prices for basic products |
672 | Amount of additional duty on sugar |
673 | Amount of additional duty on flour |
674 | Agricultural component |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "6" GROUP BY measure_types.sid |
Tariff Preference (2)
Measure Type | Description |
---|---|
103 | Third country duty |
105 | Non preferential duty under authorised use |
112 | Autonomous tariff suspension |
122 | Non preferential tariff quota |
123 | Non preferential tariff quota under authorised use |
142 | Tariff preference |
143 | Preferential tariff quota |
144 | Preferential ceiling |
145 | Preference under authorised use |
146 | Preferential tariff quota under authorised use |
695 | Additional duties |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "2" GROUP BY measure_types.sid |
Restrictions (4)
Measure Type | Description |
---|---|
089 | The Washington Convention |
092 | The Washington Convention (export) |
277 | Import prohibition |
278 | Export prohibition |
420 | Entry into free circulation (prior surveillance) |
462 | Posterior import surveillance |
463 | Posterior export surveillance |
465 | Restriction on entry into free circulation |
466 | Outward processing post. surveillance |
467 | Restriction on export |
473 | Export authorization |
474 | Entry into free circulation (quantitative limitation) |
475 | Restriction on entry into free circulation |
476 | Restriction on export |
725 | Export control on ozone-depleting substances |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "4" GROUP BY measure_types.sid |
Anti-dumping/countervailing measures (8,A,B,C)
Measure Type | Description |
---|---|
166 | Provisional exclusion |
420 | Entry into free circulation (prior surveillance) |
464 | Declaration of subheading submitted to authorised use provisions |
465 | Restriction on entry into free circulation |
551 | Provisional anti-dumping duty |
552 | Definitive anti-dumping duty |
553 | Provisional countervailing duty |
554 | Definitive countervailing duty |
555 | Anti-dumping/countervailing duty - Pending collection |
561 | Notice of initiation of an anti-dumping or countervailing proceeding |
562 | Suspended anti-dumping or countervailing duty |
563 | Dump Undertakings |
564 | Anti-dumping or countervailing registration |
565 | Anti-dumping/countervailing review |
Last updated 29 Oct 2024 | |
See the SQL query that generated this tableThis table was automatically generated from the open SQLite database providing the UK Tariff. The following query was used to generate the table: SELECT measure_types.sid AS "Measure Type", measure_types.description AS "Description" FROM measure_additional_code_types INNER JOIN common_version_groups AS cvg0 ON measure_additional_code_types.trackedmodel_ptr_id = cvg0.current_version_id INNER JOIN common_tracked_models AS ctm1 ON measure_additional_code_types.measure_type_id = ctm1.id INNER JOIN common_version_groups AS cvg1 ON ctm1.version_group_id = cvg1.id INNER JOIN measure_types ON cvg1.current_version_id = measure_types .trackedmodel_ptr_id INNER JOIN common_tracked_models AS ctm2 ON measure_additional_code_types.additional_code_type_id = ctm2.id INNER JOIN common_version_groups AS cvg2 ON ctm2.version_group_id = cvg2.id INNER JOIN additional_code_types ON cvg2.current_version_id = additional_code_types.trackedmodel_ptr_id WHERE additional_code_types.sid = "8" OR additional_code_types.sid = "A" OR additional_code_types.sid = "B" OR additional_code_types.sid = "C" GROUP BY measure_types.sid |