MOD 11 Check Digit

A check digit is a number that is used to validate a series of numbers whose accuracy you want to insure. Frequently the last digit of a number string such as identification number is a check digit. Lets say the identification number starts out at 6 digits. A calculation is done using the six digits and a seventh digit is produced as a result of the calculation. This number is the check digit. There are many calculations that can be used - this example illustrates the logic of the MOD11 check digit.

Steps to calculate the MOD11 check digit for a number such as an id #:

- Assign weights to each digit of the id #. The weights in MOD11 are from 2 through a maximum of 10 beginning with the low order position in the field.
- Each digit in the id # is multiplied by its weight
- The results of the multiplication are added together
- This product is divided by the modulus number 11
- The remainder is subtracted from the modulus number 11 giving the check digit

Example: find the check digit for the number **036532**

0 |
3 |
6 |
5 |
3 |
2 |

x7 |
x6 |
x5 |
x4 |
x3 |
x2 |

0 |
18 |
30 |
20 |
9 |
4 |

0 + 18 + 30 + 20 + 9 + 4 = 81

81/11 = 7 remainder 4

11 - 4 = 7

**7 is therefore the check digit**.

**PROBLEMS:** If the remainder from the division is 0 or 1, then the subtraction will yield a two digit number of either 10 or 11. This won't work, so if the check digit is 10, then X is frequently used as the check digit and if the check digit is 11 then 0 is used as the check digit. If X is used, then the field for the check digit has to be defined as character (PIC X) or there will be a numeric problem.

Steps to verify if the check digit is included as part of the number:

- The entire number is multiplied by the same weights that were used to calculate and the check digit itself is multiplied by 1.
- The results of the multiplication are added together.
- The sum is divided by 11 and if the remainder is 0, the number is correct.

**PROBLEM:** Note that if the check digit is X then 10 is used in the multiplication. Code for this occurrence must be included.

Example of verifying the number **0365327** where 7 is the calculated MOD11 check digit:

0 |
3 |
6 |
5 |
3 |
2 |
7 |

x7 |
x6 |
x5 |
x4 |
x3 |
x2 |
x1 |

0 |
18 |
30 |
20 |
9 |
4 |
7 |

0 + 18 + 30 + 20 + 9 + 4 + 7 = 88

88/11 is 8 remainder 0

Since the remainder from this calculation is 0, the check digit 7 is valid.