Professional Documents
Culture Documents
ISO 6346 - How To Find The Cheque Digit Number
ISO 6346 - How To Find The Cheque Digit Number
ISO 6346 is an international standard covering the coding, identification and marking of intermodal
(shipping) containers used within containerized intermodal freight transport. 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).
Contents
[hide]
1 Identification System
o 1.1 Owner Code
o 1.2 Equipment Category
Identifier
o 1.3 Serial Number
o 1.4 Check Digit
1.4.1 Calculatio
n Step 1
1.4.2 Calculatio
n Step 2
1.4.3 Calculatio
n Step 3
1.4.4 Example
1.4.5 Code
Sample
o 1.5 Practical Problems
5 References
6 See also
7 External links
[edit]Identification System
[edit]Check Digit
The check digit consists of one (Arabic) numeric digit providing a means of validating the recording and
transmission accuracies of the owner code and serial number.
[edit]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):
A B C D E F G H I J K L M
10 12 13 14 15 16 17 18 19 20 21 23 24
N O P Q R S T U V W X Y Z
25 26 27 28 29 30 31 32 34 35 36 37 38
The individual digits of the serial number keep their numeric value.
[edit]Calculation Step 2
Each of the numbers calculated in step 1 is multiplied by 2position, where position is the exponent to basis 2.
Position starts at 0, from left to right.
1. nbr 2. nbr 3. nbr 4. nbr 5. nbr 6. nbr 7. nbr 8. nbr 9. nbr 10. nbr
20 21 22 23 24 25 26 27 28 29
If the final difference is 10, then the check digit becomes 0. To ensure that this does not happen, the
standard recommends that serial numbers should not be used which produce a final difference of 10,
however there are containers in the market which do not follow this recommendation, so handling this case
has to be included if a check digit calculator is programmed.
Notice that step b) to e) is a calculation of the remainder found after division of a) by 11. Most programming
languages have a modulo operator for this. Attention should be paid on how it is working in the language
chosen; i. e. if it is giving back the decimal rest or the integer rest in order to get proper results. 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.
[edit]Example
C S Q U 3 0 5 4 3 8 Calc.
13 30 28 32 3 0 5 4 3 8
x x x x x x x x x x
= = = = = = = = = =
[edit]Code Sample
%% Step 1
char2num = [10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 34
35 36 37 38];
msk = logical([1 1 1 1 0 0 0 0 0 0 0]); % mask separating digits from numbers
cid( msk) = char2num(cid( msk)-'A'+1); % letters to numbers conversion
cid(~msk) = cid(~msk)-'1'+1; % digit characters to numbers
conversion
vec = double(cid);
%% Step 2
num = sum(vec(1:10).* 2.^(0:9));
%% Step 3
check_digit = mod(mod(num,11),10);
valid = (check_digit==vec(11));
[edit]Practical Problems
In day-to-day business it happens that containers do appear which do not follow the ISO 6346 identification
at all, however they are fully CSC safety approved containers. Usually these are "shippers owned"
containers, which means that they are not owned by the carrier but supplied by the cargo owners
(shippers). They may have no registered owner code and no category identifier and have no check digit.
Generally it is not advisable not to follow ISO 6346 as this causes problems for the carriers and container
terminals to correctly identify the equipment and to properly deliver the cargo, because computer systems
require ISO 6346 conformant naming and as such missing prefixes are invented. For example YYYY at the
carrier and XXXX at the terminal causes the equipment to mismatch.
ISO 6346 also gives size and type codes for containers. When displayed on the container, the size and
type codes shall be used as a whole.
28UT OPEN TOP (HALF HEIGHT) 28U1 OPEN TOP (HALF HEIGHT)
45UP HIGH CUBE HARDTOP CONT. 45U6 HIGH CUBE HARDTOP CONT.