# Title 12

## PART 1003 APPENDIX C

## Appendix C to Part 1003 - Procedures for Generating a Check Digit and Validating a ULI

### 12:8.0.2.1.4.0.1.11.9 : Appendix C

Appendix C to Part 1003 - Procedures for Generating a Check Digit and Validating a ULIThe check digit for the Universal Loan Identifier (ULI) pursuant to § 1003.4(a)(1)(i)(C) is calculated using the ISO/IEC 7064, MOD 97-10 as it appears on the International Standard ISO/IEC 7064:2003, which is published by the International Organization for Standardization (ISO).

©ISO. This material is reproduced from ISO/IEC 7064:2003 with permission of the American National Standards Institute (ANSI) on behalf of ISO. All rights reserved.

Generating a Check Digit*Step 1:* Starting with the leftmost character in the
string that consists of the combination of the Legal Entity
Identifier (LEI) pursuant to § 1003.4(a)(1)(i)(A) and the
additional characters identifying the covered loan or application
pursuant to § 1003.4(a)(1)(i)(B), replace each alphabetic character
with numbers in accordance with Table I below to obtain all numeric
values in the string.

The alphabetic characters are not case-sensitive and each letter, whether it is capitalized or in lower-case, is equal to the same value as each letter illustrates in the conversion table. For example, A and a are each equal to 10.

A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 G = 16 H = 17 I = 18 J = 19 K = 20 L = 21 M = 22 N = 23 O = 24 P = 25 Q = 26 R = 27 S = 28 T = 29 U = 30 V = 31 W = 32 X = 33 Y = 34 Z = 35*Step 2:* After converting the combined string of
characters to all numeric values, append two zeros to the rightmost
positions.

*Step 3:* Apply the mathematical function mod =
(*n,*97) where *n =* the number obtained in step 2 above
and 97 is the divisor.

Alternatively, to calculate without using the modulus operator, divide the numbers in step 2 above by 97. Truncate the remainder to three digits and multiply it by 97. Round the result to the nearest whole number.

*Step 4:* Subtract the result in step 3 from 98. If the
result is one digit, add a leading 0 to make it two digits.

*Step 5:* The two digits in the result from step 4 is the
check digit. Append the resulting check digit to the rightmost
position in the combined string of characters described in step 1
above to generate the ULI.

For example, assume the LEI for a financial institution is 10Bx939c5543TqA1144M and the financial institution assigned the following string of characters to identify the covered loan: 999143X. The combined string of characters is 10Bx939c5543TqA1144M999143X.

*Step 1:* Starting with the leftmost character in the
combined string of characters, replace each alphabetic character
with numbers in accordance with Table I above to obtain all numeric
values in the string. The result is
10113393912554329261011442299914333.

*Step 2:* Append two zeros to the rightmost positions in
the combined string. The result is
1011339391255432926101144229991433300.

*Step 3:* Apply the mathematical function mod =
(*n,*97) where *n =* the number obtained in step 2 above
and 97 is the divisor. The result is 60.

Alternatively, to calculate without using the modulus operator, divide the numbers in step 2 above by 97. The result is 1042617929129312294946332267952920.618556701030928. Truncate the remainder to three digits, which is .618, and multiply it by 97. The result is 59.946. Round this result to the nearest whole number, which is 60.

*Step 4:* Subtract the result in step 3 from 98. The result
is 38.

*Step 5:* The two digits in the result from step 4 is the
check digit. Append the check digit to the rightmost positions in
the combined string of characters that consists of the LEI and the
string of characters assigned by the financial institution to
identify the covered loan to obtain the ULI. In this example, the
ULI would be 10Bx939c5543TqA1144M999143X38.

To determine whether the ULI contains a transcription error using the check digit calculation, the procedures are described below.

Step 1: Starting with the leftmost character in the ULI, replace each alphabetic character with numbers in accordance with Table I above to obtain all numeric values in the string.

Step 2: Apply the mathematical function mod=(*n,*97) where
*n=*the number obtained in step 1 above and 97 is the
divisor.

Step 3: If the result is 1, the ULI does not contain transcription errors.

ExampleFor example, the ULI assigned to a covered loan is 10Bx939c5543TqA1144M999143X38.

Step 1: Starting with the leftmost character in the ULI, replace each alphabetic character with numbers in accordance with Table I above to obtain all numeric values in the string. The result is 1011339391255432926101144229991433338.

Step 2: Apply the mathematical function mod=(*n,*97) where
*n* is the number obtained in step 1 above and 97 is the
divisor.

Step 3: The result is 1. The ULI does not contain transcription errors.

[80 FR 66316, Oct. 28, 2015, as amended at 82 FR 43135, Sept. 13, 2017]