Validador de GSTIN India
Validador de Goods and Services Tax Identification Number (GSTIN) de India.
¿Cómo funciona la validación del GSTIN?
El validador revisa la longitud (15 caracteres) y comprueba el formato regex. Verifica que los primeros dos dígitos representen un código de estado válido en India y extrae el PAN incorporado.
Aplica la fórmula modular de base 36 sobre las primeras 14 posiciones con ponderaciones alternadas [1, 2, 1, 2...] y comprueba si encaja con el carácter de control final.
Anatomía y Estructura del GSTIN (Goods and Services Tax Number)
El GSTIN de la India consta de 15 caracteres alfanuméricos en 5 partes:
| Posición | Campo | Tamaño | Significado y Regla | Ejemplo |
|---|---|---|---|---|
| 1 y 2 | Código de Estado | 2 dígitos | Código oficial de estado/territorio (01 a 37 según censo) | 27 |
| 3 a 12 | PAN de la Entidad | 10 chars | Permanent Account Number de la entidad (AAAAA9999A) | AAPFU0939F |
| 13 | Conteo de Registro | 1 char | Número de registros en el mismo estado (1-9, A-Z) | 1 |
| 14 | Carácter por Defecto | 1 char | Fijado en la letra 'Z' por regulación de la GSTN | Z |
| 15 | Dígito Verificador | 1 char | Calculado mediante Módulo 36 alternante | 5 |
Algoritmo Oficial (Módulo 36 Ponderado Alternante — GSTN)
El GSTIN utiliza Módulo 36 alternante con pesos [1, 2, 1, 2...]:
factor = val * (pos%2 === 0 ? 1 : 2); sum += floor(factor/36) + (factor%36); Check = (36 - (sum%36))%36
- 1. Mapee cada carácter a valor 0-35 (0-9=0-9, A-Z=10-35).
- 2. Use peso 1 para posiciones pares y peso 2 para impares.
- 3. Multiplique el valor por el peso: factor = val × peso.
- 4. Sume al total: floor(factor / 36) + (factor % 36).
- 5. Calcule el residuo módulo 36 y extraiga el carácter verificador.