Reactive icon

Shipping Container Number Validation

Stable version 1.1.0 (Compatible with OutSystems 11)
Uploaded on 16 December 2020 by 
 (2 ratings)

Shipping Container Number Validation

The Shipping Container Number Validation allows operators, terminals, depots and other parties in the supply chain to automatically validate container numbers and easily identify incorrect container numbers introduced through a data-entry error or an erroneous OCR (optical character recognition) reading.
Read more

ISO 6346 is an international standard covering the coding, identification and marking of intermodal (shipping) containers used within containerized intermodal freight transport.[1] The standard establishes a visual identification system for every container that includes a unique serial number (with check digit), the owner, a country code, a size, type and equipment category as well as any operational marks. The standard is managed by the International Container Bureau (BIC).

Example of an ISO 6346 compliant container number:

Example of an ISO 6346 compliant container number

How to calculate?

The owner code consists of three capital letters of the Latin alphabet to indicate the owner or principal operator of the container. Such code needs to be registered at the Bureau International des Conteneurs in Paris to ensure uniqueness worldwide (per ISO 6346).

The equipment category identifier consists of one of the following three capital letters of the Latin alphabet

  • U for all freight containers
  • J for detachable freight container-related equipment
  • Z for trailers and chassis

The serial number consists of 6 numeric digits, assigned by the owner or operator, uniquely identifying the container within that owner/operator’s fleet.

The check digit consists of one numeric digit providing a means of validating the recording and transmission accuracies of the owner code and serial number.

 Calculation Step 1

An equivalent numerical value is assigned to each letter of the alphabet, beginning with 10 for the letter A (11 and multiples thereof are omitted):

The individual digits of the serial number keep their numeric value.

 Calculation Step 2

Each of the numbers calculated in step 1 is multiplied by 2position, where the position is the exponent to basis 2. Position starts at 0, from left to right.

The following table shows the multiplication factors:

 Calculation Step 3

a) Sum up all results of step 2
b) Divide them by 11
c) Erase all decimal digits of the division (i. e. make the result an integer value)
d) Multiply the integer value by 11
e) Subtract the result of d) from the result of a): This is the check digit!

If the final difference is 10, then the check digit becomes 0.

Steps b) to e) is a calculation of the remainder found after the division of a) by 11. 11 is used as divisor because a container number has 11 letters and digits in total. In step 1 the numbers 11, 22 and 33 are left out as they are multiples of the divisor.

Release notes (1.1.0)


  • Added the option to run the Client Action as a separate action (independent of the web block).
  • Added the validation messages to specify the validation mismatch in the event output
    • LENGTH_MISMATCH: The length of the container number is incorrect
    • FORMAT_MISMATCH: The text format of the container number is incorrect
    • CHECKDIGIT_MISMATCH: The check digit of the container is incorrect
  • Added the container number to the event output of the web block.


  • Updated the demo to  work together with the latest OutSystems UI
  • Implemented the new features into the demo page
  • Removed the unused references from the demo application
Reviews (1)
in version 1.1.0
works fine.