| Code | Scope | Length | Check digit | Confidence |
|---|---|---|---|---|
GT_DPI |
personal | 13 | mod-11 weighted | moderate |
GT_NIT |
tax | 2-13 (1-12 base + verifier) | mod-11 weighted | moderate |
GT_DPI — Documento Personal de Identificación / Código Único de IdentificaciónNational personal identity document issued by RENAP. The 9th digit is a mod-11 verifier; the trailing 4 digits encode departamento (01-22) + municipio. Persona natural may use the DPI/CUI in lieu of NIT for FEL invoicing post-2022.
0000 00000 0000mod-11 weighted, weights [2, 3, 4, 5, 6, 7, 8, 9] LTR over the first 8 digits. The verifier (9th position) equals sum mod 11. RENAP does not issue DPIs whose computed verifier would be 10, so that result is treated as invalid.
weights = [2, 3, 4, 5, 6, 7, 8, 9]
sum = sum(digit[i] * weights[i] for i in 0..7)
r = sum mod 11
valid iff r != 10 AND r == digit[8]
valid:
- 1234 56789 0101
- 9876 54322 0101
- 1000 00002 0101
- 0000 00019 0101
- 5555 55550 0101
- 1122 33449 0101
- 2000 00004 0101
invalid (format):
- "" (empty)
- 1234 (too short)
- 12345678901011 (too long)
- ABCDEFGHIJKLM (non-digits)
invalid (checksum):
- 1234567800101
- 1234567810101
- 9876543200101
moderate.GT_NIT — Número de Identificación TributariaTax identifier issued by SAT for both persona natural and jurídica. The DV may be a digit 0-9 or K. Body length varies (typically 6-9 digits + verifier).
0-9 or K)0000000-D (hyphen separates body from verifier)mod-11 weighted with weights 2, 3, 4, ... applied right-to-left over the body. The verifier is computed as:
sum = Σ (body_from_right[i] * (i + 2)) for i = 0..n-1
r = (-sum) mod 11
dv = "0123456789K"[r]
Equivalently: dv = 11 - (sum mod 11); if the result is 11 use '0'; if 10 use 'K'.
All-same-digit body sequences (e.g. 1111111-1) are rejected as placeholder values.
python-stdnum stdnum.gt.nitvalid:
- 1234567-9
- 9876543-4
- 87654321-2
- 12345678-9
- 100-7
- 12-4
- 37-K (DV computed as K)
invalid (format):
- "" (empty)
- X (single character)
- ABCDEFGH (non-digits)
- 12K34 (K outside the verifier slot)
- 12345678901234 (too long, body > 12 digits)
invalid (checksum):
- 1234567-0
- 9876543-0
- 37-1
GT_DPI when the value matches a 13-digit pattern.python-stdnum and SAT-certified billing providers in production. Confidence remains moderate.GT_PASAPORTE — PasaporteTravel document issued by the Instituto Guatemalteco de Migración (IGM), with civil-registry inputs from RENAP. The IGM 2024 numbering update (per Copa Air carrier notice) is documented but the exact regex was not extractable from the published PDF.
None on the printed number. MRZ check digit lives in
algorithms/icao-9303.ts.
low — IGM has not published the 2024 numbering spec in machine-readable form.