Understanding EAN Code

 

EAN-13.. 1

EAN-8.. 1

UPC-A (UPC-12). 1

UPC-E (UPC-8). 2

Conversion algorithm for UPC-E (UPC-8) to UPC-A (UPC-12). 2

Check Digit Calculation.. 4

On Carton code – Generating Carton Code.. 4

 

 

The purpose of this document is to provide an insight to the storage of the various EANwUCC barcode formats in the National Electronic Product Catalogue database and is purely for information only.

 

Singapore Article Number Council (SANC) currently administers 5 different types/formats of barcode. They are EAN-13, EAN-8, UPC-A (UPC-12), UPC-E (UPC-6) and ITF-14.

 

Apart from ITF14, EAN code inclusive of the check digit will be stored in a single field. The number of digits reserved for the data field will be 13-digits long. The value of the EAN code will be right-justified. As a result, for EAN-8, UPC-A (UPC-12), we need to enter extra number of zeros to convert into 13-digit format. As for UPC-E (UPC-8), we have to convert it into UPC-A (UPC-12) first and then add extra zero to become 13 digits.

EAN-13

EAN-13 is 13 digits in length (including the check digit). 

The first (high-order) digit is a non-zero digit.

 

Eg:       888 8247 13411 3

 

This EAN-13 barcode will be stored in NEPC database as:

 

EANCODE

888 8247 13411 3

EAN-8

EAN-8 is 8 digits in length (including the check digit).

The first (high-order) digit is a non-zero digit.

 

Eg:       50 28554 9

 

It will be stored in NEPC database as:

 

EANCODE

0000050285549

 

Note: Extra 5 zeros are padded to the front to form a 13-digit long format.

 

UPC-A (UPC-12)

UPC-A is 12 digits in length (including the check digit).

The first (high-order) digit is known as the Number System Character. Number System Character serves to identify the category of the item carrying the number.

 

The next ten digits are the information characters and the last (low order) digit is the modulo check character.

 

Acceptable Number System Characters are 0, 2, 3, 4, 5, 6, 7.

 

1, 8 and 9 have been reserved for uses and are unidentified at this point in time. Any product currently found with 1, 8 and 9 as the leading number on a UPC-12 digit barcode are therefore illegal numbers, not yet authorised for use.

 

Eg:       0 73390 00016 5

 

This UPC-12 barcode will be stored in database as:

 

EANCODE

0 07339000016 5

0 2xxxxxxxxxx C

0 3xxxxxxxxxx C

0 4xxxxxxxxxx C

0 5xxxxxxxxxx C

0 6xxxxxxxxxx C

0 7xxxxxxxxxx C

 

 

Note: An extra zero is padded to the front to form a 13-digit format

 

UPC-E (UPC-8)

UPC-E is 8 digits in length (including check digit). UPC-E is used on packages that are too small to use UPC-A (UPC-12).

 

The first (high-order) digit is always zero. Only UPC-A with leading ‘0’ can be expressed in UPC-E.

 

The next 6 digits are the information characters.

 

The last digit is the check-digit calculated over the full-length of converted UPC-A.

 

Eg:       01 98791 3 where the check-digit is calculated from the converted

            UPC-A (0 19100 00879).

 

This will be stored in the database as:

 

EANCODE

0 01910000879 3

 

The storage of a UPC-E number is first converted to UPC-A first based on a conversion algorithm described below.

 

Note: An extra zero is padded to the front to form a 13-digit format.

                                                                                                                                                                                   

Conversion algorithm for UPC-E (UPC-8) to UPC-A (UPC-12)

 

UPC-E :           0 a b c d e f C

 

            0         

 :     Prefix digit

            abcdef 

 :     UPC short version bar code

            C        

 :     Check-digit

 

The conversion depends on the f value. Zeros are inserted in order to reconstitute a full-length number (UPC).

 

f           Full-length Number

 

0          0 ab 000 00 cde C

1          0 ab 100 00 cde C

2          0 ab 200 00 cde C

3          0 ab c00 00 0de C

4          0 ab cd0 00 00e C

5          0 ab cde 00 005 C

6          0 ab cde 00 006 C

7          0 ab cde 00 007 C

8          0 ab cde 00 008 C

9          0 ab cde 00 009 C

 

The check digit is calculated over the full length reconstituted number.

Check Digit Calculation

The Check Digit is calculated by a modulo-10 algorithm from all other digits in the number through the following steps:

 

Step 1: Starting with the digit on the right of the number (excluding the check digit), sum all the alternative digit values, reading from right to left.

 

Step 2: Multiply the result of Step 1 by 3

 

Step 3: Starting with second number on the right, add remaining alternative numbers

 

Step 4: Add the results of Step 2 and Step 3.

 

Step 5: The modulo-10 check digit is the smallest number which when added to the result of Step 4 produces a multiple of 10.

 

Example

To calculate the check digit for 888 6451 73885 C.

 

Step 1 :           5 + 8 + 7 + 5 + 6 + 8             =          39

 

Step 2 :                                      x 3                 =          117

 

Step 3 :            8 + 3 + 1 + 4 + 8 + 8              =          32

 

Step 4 :            Add Step2 + Step3                 =          149

 

Step 5 :                                       C                 =          1

                                                                                    -----

                                                                                    150

                                                                                    ===

 

The complete number is therefore 888 6451 73885 1.

                                                                                                                                                                                   

On Carton code – Generating Carton Code

In general, one product item will have a corresponding packing or a carton code assigned to it. The carton code is used to facilitate purchasing and logistics management.

 

Carton Code used may be the ITF-14 or EAN-13 barcoding format.

 

Generating Carton Code

Assuming the EAN CODE is an EAN-8 number.

 

Eg:       0000050285549

 

Step 1:             Remove the check digit from the EAN-8 number which reads

 

                        000005028554

 

Step 2:             Append a numeric digit 1 in front.

 

                        1000005028554

 

Step 3:             Compute the check digit to form the ITF-14 number.

 

                        10000050285546 where 6 is the check digit generated.

 

Note:

====

In cases where companies have more than one pack size containing the same base item in a shipping carton, e.g. 1ctn 24pcs, 1ctn 36pcs, 1ctn 48pcs, etc.

 

In this case, the ITF-14 can be represented by 1 for ctn with 24pcs, 2 for ctn with 36pcs , 3 for 48pcs.

 

To derive the Check Digit, simply use the Module 10 Algorithm to generate the Check Digit using Step 3 for the respective pack size.

           

            E.g.      Carton of 24     :           1 000005028554 6

                        Carton of 36     :           2 000005028554 3

                        Carton of 48     :           3 000005028554 0


 

How to Form Zero-suppressed Numbers

 

Zero Suppression is the process of removing (suppressing) zeros from UPC Numbers which begin with a zero in order to reduce the area required for the symbol by using a UPC-E (Version E) symbol. Zero-suppression may be accomplished in number system ‘0’ only.

 

Only companies with Number System Character 0 (first digit of the U.P.C.)  can be zero suppressed. A U.P.C. Version E code is 8 digits in length (including the Number System Character and check digit). The six digits beneath the symbol represent a portion of the manufacturer identification number, as well as a portion of the item number. These six digits are determined based upon a formula dictated by the U.P.C Manufacturer Identification Number.

 

The six explicit characters in a UPC-E (Version E) are derived from the UPC-A (Version A) as follows:

 

·        If a manufacturer’s number begins with a zero and ends in 000 or 100 or 200, he has 1,000 item numbers between 00000 and 00999 available for use. The six characters are obtained from the first two characters (after the leading '0') of the manufacturer’s number followed by the last three characters of the item number and finally followed by the third character of the manufacturer's number.

 

·        If a manufacturer’s number begins with a zero and ends in 300, 400, 500, 600, 700, 800, or 900, he has 100 item numbers between 00000 and 00099 available for use. The six characters are obtained from the first three characters (after the leading ‘0’) of the manufacturer’s number followed by the last two characters of the item number and finally followed by ‘3’ of the manufacturer's number.

 

·        If a manufacturer’s number begins with a zero and ends in 10, 20, 30, 40, 50, 60, 70, 80, or 90, he has 10 item numbers between 00000 and 00009 available for use. The six characters are obtained from the first four characters (after the leading ‘0’) of the manufacturer’s number followed by the last character of the item number and finally followed by '4' of the manufacturer's number.

 

·        If a manufacturer’s number begins with a zero and does not end in zero, then five item numbers between 00005 and 00009 are available for use. The six characters are obtained from all five characters of the manufacturer's number (after the leading '0') followed by the last character of the item number.

 

 

 

 

NOT all UPC-A number with leading zero can be suppressed to become UPC-E number.

 

Eg:

(1) 0 11561 87201 2

(2) 0 13134 00719 7

(3) 0 79656 00062 7

 

However, UPC 011561, 013134 and 079656 do have Version E capability. The item number portion of the UPC code must be an item number of 00005, 00006, 00007, 00008 or 00009.

 

For example, the full UPC number that can be converted into a Version E symbol for the UPC Manufacturer Identification numbers listed above are as follows:

 

0 11561 00005 C

0 13134 00005 C

0 79656 00005 C

0 11561 00006 C

0 13134 00006 C

0 79656 00006 C

0 11561 00007 C

0 13134 00007 C

0 79656 00007 C

0 11561 00008 C

0 13134 00008 C

0 79656 00008 C

0 11561 00009 C

0 13134 00009 C

0 79656 00009 C