Introduction
The eTIR international system is based on web services that are exchanged between the different stakeholders. The messages exchanged using these web services are specified and used according to the rules detailed in the eTIR Specifications. When the eTIR international system receives and processes a request message sent by an eTIR stakeholder, it performs a series of validation on the message itself, on the context of related guarantee, holder or transport and issues a response to the system which has sent the message in the first place. If anything goes wrong during these validation and processing steps, an error is sent back in the response. This error is presented as an Error code with a Pointer which can be used to point towards a specific field of the message. The list of all error codes is available in the Code List 99 and is also reproduced on this page for ease of reference, and as a living document, representing the latest version of these codes.
In addition, when the eTIR international system sends request messages to an eTIR stakeholder, this recipient should perform the same validations and use the same error codes to send back any error it might find in the request message.
Specifications of the Error Codes
- This list of error codes is specific to the eTIR system and it allows IT teams to better understand errors while implementing the interconnection to the eTIR international system. This should result in a faster implementation overall and more accurate responses to errors from the system sending messages to the eTIR international system.
- Furthermore, a detailed error code system will also greatly simplify the communication between the stakeholders and the eTIR service desk, in case of issue, to identify and correct the underlying issue.
- The list of error codes is based on best practices from the IT industry. Like the list of HTTP status codes, all error codes have three digits, and the first digit of the status code defines the class of response:
- 1XX - Validation: validation of the message and if its parameters
- 2XX - Workflow: workflow related errors
- 3XX - Functional: other functional errors
- 4XX - Internal: eTIR international system internal errors
- 5XX - Customs: errors raised by Customs
- Each class of response has a default error code which indicates at least the class of the error if it cannot be more precise.
List of error codes
In the following list, the following terms are used:
- Message: An XML message
- Field: An XML element or attribute
- Value: The value mentioned in an XML element or attribute
1XX - Validation errors
Error code |
Error name |
Description |
Pointer is set to |
Observations |
---|---|---|---|---|
100 |
Invalid message | The message is invalid, and no additional details are available for this error | Root of the message | This is the default error code for this class |
101 |
Missing field | A required field is missing in the message | The pointer is set to the missing field | All requests |
102 |
Invalid domain for the value | The value is outside a defined list of acceptable values | The pointer is set to the invalid field | All requests |
103 |
Malformed date | A field containing a date value cannot be properly converted | The pointer is set to the invalid field | I1/I2, I7/I8, I9/I10, I11/I12, I13/I14, I17/I18, E1/E2, E3/E4, E9/E10, E11/E12, E13/E14 |
104 |
Not an integer | A numeric field contains a value that is not numeric | The pointer is set to the invalid field | I7/I8, E9/E10, E11/E12, E13/E14 |
105 |
Field value length exceeded |
A String field contains a value with too many characters |
The pointer is set to the invalid field | All requests |
106 |
Invalid pattern | A String field does not match the pattern for the field defined in the XML Schema Definition of the message | The pointer is set to the invalid field | All requests |
107 |
Invalid field | The specified field does not follow the order defined in the XML Schema Definition of the message | The pointer is set to the invalid field | All requests |
108 |
Missing XML attribute | The specified XML tag is missing a required attribute (e.g. formatCode for all date fields) | The pointer is set to the invalid field | I1/I2, I7/I8, I9/I10, I11/I12, I13/I14, I17/I18, E1/E2, E3/E4, E9/E10, E11/E12, E13/E14 |
109 |
Invalid XML attribute | The specified XML tag has an invalid attribute value (e.g. formatCode for all date fields) | The pointer is set to the invalid field | I1/I2, I7/I8, I9/I10, I11/I12, I13/I14, I17/I18, E1/E2, E3/E4, E9/E10, E11/E12, E13/E14 |
110 |
Too many digits | The number has too many digits | The pointer is set to the invalid field | I7/I8, E9/E10 |
111 |
Too much precision | The number has a decimal part with too many digits | The pointer is set to the invalid field | I7/I8, E9/E10 |
120 |
Invalid eTIR specifications version | The version specified in the metadata fields is not the one(s) approved to function in the eTIR system | The pointer is set to the invalid metadata field | All messages |
151 |
Condition C001 failure | The condition C001 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
152 |
Condition C002 failure | The condition C002 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
153 |
Condition C003 failure | The condition C003 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
154 |
Condition C004 failure | The condition C004 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
155 |
Condition C005 failure | The condition C005 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
156 |
Condition C006 failure | The condition C006 is not satisfied | No pointer | This condition applies to all response messages |
157 |
Condition C007 failure | The condition C007 is not satisfied | No pointer | This condition applies to response messages: E9/E10, E13/E14 |
158 |
Condition C008 failure | The condition C008 is not satisfied | The pointer is set to the invalid field | I7/I8, E9/E10 |
159 |
Condition C009 failure | The condition C009 is not satisfied | No pointer | This condition applies to response messages: E11/E12 |
160 |
Condition C010 failure | The condition C010 is not satisfied | The pointer is set to the invalid field | I15/I16, E11/E12 |
181 |
Rule R001 failure | The rule R001 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10 |
182 |
Rule R002 failure | The rule R002 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10 |
188 |
Rule R008 failure | The rule R008 is not satisfied | The pointer is set to the invalid field | I7/I8, I15/I16, E9/E10, E11/E12 |
190 |
Rule R010 failure | The rule R010 is not satisfied | The pointer is set to the invalid field | I17/I18, E11/E12 |
192 |
Rule R012 failure | The rule R012 is not satisfied | No pointer | I7/I8 |
193 |
Rule R013 failure | The rule R013 is not satified | No pointer | I7/I8 |
2XX - Workflow errors
Error code |
Error name |
Description |
Pointer is set to |
Observations |
---|---|---|---|---|
200 |
Invalid state | The state of an internal object is invalid, and no additional details are available for this error | Root of the message | This is the default error code for this class |
201 |
Invalid guarantee status | The guarantee is not in a state that allows to perform the required operation | Root of the message | I1/I2, I9/II10, I11/I12, I13/I14 |
203 |
Guarantee not cancellable | The guarantee is not in a state that allows to cancel it | Root of the message | E3/E4 |
204 |
Guarantee already registered | The guarantee has already been registered | Root of the message | E1/E2 |
205 |
Guarantee already cancelled | The guarantee is already cancelled or the request to cancel it has already been sent | Root of the message | E3/E4 |
210 |
Operation already started | The operation is already started | Root of the message | I9/I10 |
211 |
Operation already terminated | The operation has already been completed | Root of the message | I11/I12 |
212 |
Operation already discharged | The operation is already discharged | Root of the message | I13/I14 |
213 |
Operation not yet started | The operation is not yet started | Root of the message | I11/I12, I13/I14, E11/E12 |
214 |
Operation ID already registered | The "refusal to start" is an operation on its own and must have a unique operation ID | Root of the message | I17/I18 |
215 |
Operation sequence already registered | The "refusal to start" is an operation on its own and must have a unique operation sequence | Root of the message | I17/I18 |
216
|
Refusal to start not authorized | The "refusal to start" cannot be performed because of the current guarantee status or because it is the first operation for this transport | Root of the message | I17/I18 |
220 |
Declaration not yet received | The operation cannot be started because the declaration was not received | Root of the message | I9/I10 |
221* |
Invalid operations number | Declared number of operations exceeds the authorized maximum operation number for that specific guarantee | Root of the message | I7/I8, E9/E10, E11/E12 |
299 |
Duplicate message | The same message was already received from the same source | Root of the message | I9/I10, I11/I12, I13/I14 |
3XX - Functional errors
Error code |
Error name |
Description |
Pointer is set to |
Observations |
---|---|---|---|---|
300 |
Invalid operation | An invalid operation was performed, and no additional details are available for this error | Root of the message |
This is the default error code for this class |
301 |
Guarantee not found | The guarantee was not found in the database | To the guarantee reference (if applicable) | I1/I2, I5/I6, I7/I8, I9/I10, I11/I12, I13/I14, I17/I18, E3/E4, E5/E6, E9/E10, E11/E12, E13/E14 |
302 |
Guarantee chain not found | The guarantee chain was not found in the database | Root of the message | I9/I10, I11/I12, I13/I14, I17/I18, E1/E2, E3/E4 |
303 |
Guarantee type not found | The guarantee type was not found in the database | Root of the message | I9/I10, I11/I12, I13/I14, I17/I18, E1/E2, E3/E4 |
304 |
Customs office not found | This error code is not used in the eTIR specifications v4.3, except in the context of the message pair I19/I20 | Root of the message | I19/I20 |
305 |
Country not found | The country was not found in the database | Root of the message | I7/I8, I9/I10, I11/I12, I13/I14 |
306 |
Control type not found | The control type was not found in the database | To the control type field, if applicable | I9/I10, I11/I12, I17/I18 |
307 |
Declaration not found | The related declaration was not found in the database | I7/I8 | |
308 |
Forward information not found | The eTIR international system could not find information on whom to forward the message to | Root of the message | E9/E10 / E11/E12, E13/E14 |
309 |
Seals information already registered | The information received about the mentioned seal was already recorded in the database | TransportEquipment/Seal/ID | I9/I10, I11/I12 |
310 |
Seals information should not be sent | The seal's information should not be sent in the record declaration data message | TransportEquipment/Seal/ID | I7/I8 |
311* |
Invalid sender information | Incorrect or missing information about the sender |
Root of the message | E9/E10, E11/E12,E13/E14 |
320 |
Holder/Guarantee mismatch |
The holder id value and the guarantee reference value do not match what is recorded in the database |
Root of the message | I1/I2, I7/I8, E3/E4 |
321 |
Holder not authorized | The holder is not authorized in the International TIR Data Bank (ITDB) | Root of the message | E1/E2, I1/I2, I9/I10, I11/I12, I13/I14 |
322 |
Holder not found | The holder is not found in the International TIR Data Bank (ITDB) | The holder/Principal ID | E1/E2, E5/E6, I1/I2, I3/I4, I5/I6, I9/I10, I11/I12, I13/I14 |
330 |
Guarantee chain not authorized | The guarantee chain is not authorized in the database | Root of the message | I1/I2, E1/E2, E5/E6 |
331 |
Guarantee chain/Guarantee mismatch | The guarantee chain code value and the guarantee reference value do not match what is recorded in the database | Root of the message | I1/I2, E3/E4 |
332 |
Guarantee type/Guarantee mismatch | The guarantee type value and the guarantee reference value do not match what is recorded in the database | Root of the message | I1/I2, E3/E4 |
333 |
Declaration reference not found | The FunctionalReferenceID value does not match what is already recorded in the database |
Declaration/FunctionalReferenceID | E11/E12, E13/E14 |
334 |
Declaration already cancelled | The declaration could not be modified because it was already cancelled |
Declaration | E11/E12, E13/E14 |
335 |
Transport equipment not registered | The transport equipment not found in the database |
Consignment/TransportEquipment/ID | I9/I10, I11/I12 |
336 |
Declaration already received | The declaration could not be registred because it was already received |
InterGov/Declaration | I7/I8 |
337* |
Missing forward information | A required forward information is missing |
Root of the message | E9/E10, E11/E12,E13/E14 |
4XX - Internal errors
Error code |
Error name |
Description |
Pointer is set to |
Observations |
---|---|---|---|---|
400 |
eTIR internal error | An internal error in the eTIR international system occurred and no additional details are available for this error | Root of the message | This is the default error code for this class |
401* |
File handling issue | Issue in processing the attached documents | Root of the message | I5/I6, I7/I8, I15/I16 |
5XX - Customs errors
Error code |
Error name |
Description |
Pointer is set to |
Observations |
---|---|---|---|---|
500 |
Customs declaration processing error | The message was not accepted by customs and no additional details are available for this error | Root of the message | This is the default error code for this class |
501 |
Advance TIR data not accepted |
Customs did not accept the advance TIR data | Root of the message | E9/E10 |
502 |
Advance amendment data not accepted |
Customs did not accept the advance amendment data | Root of the message | E11/E12 |
503* |
Connection issue |
Service is not available | Root of the message | This is the default error code for this class |
*Pending TIB approval