Pular para o conteúdo principal

Validador de GSTIN Índia

Validador online de Goods and Services Tax Identification Number da Índia.

Como funciona a validação do GSTIN?

A validação verifica o comprimento (exatamente 15 caracteres) e audita o formato regex. Ela valida se os dois primeiros dígitos correspondem a um estado legítimo na Índia e extrai a seção correspondente ao PAN.

Por fim, o algoritmo realiza o cálculo do Módulo 36 alternativo sobre as primeiras 14 posições com pesos [1, 2, 1, 2...] e valida se confere com o dígito verificador.

Anatomia & Estrutura do GSTIN (Goods and Services Tax Number)

O GSTIN indiano possui 15 caracteres alfanuméricos estruturados em 5 partes:

PosiçãoCampoTamanhoSignificado & RegraExemplo
1 e 2Código do Estado2 dígitosCódigo estadual/territorial oficial (01 a 37 conforme censo indiano)27
3 a 12PAN da Entidade10 charsPermanent Account Number do titular (formato AAAAA9999A)AAPFU0939F
13Contagem de Registro1 charNúmero de registros da mesma entidade no mesmo estado (1-9, A-Z)1
14Caractere Padrão1 charFixo na letra 'Z' por regulamentação da GSTNZ
15Dígito Verificador1 charCalculado pelo algoritmo Módulo 36 ponderado alternante5

Algoritmo Oficial (Módulo 36 Ponderado Alternante — GSTN)

O GSTIN utiliza Módulo 36 com pesos alternados [1, 2, 1, 2...]:

factor = val * (pos%2 === 0 ? 1 : 2); sum += floor(factor/36) + (factor%36); Check = (36 - (sum%36))%36
  1. 1. Mapeie cada caractere para 0-35 (0-9=0-9, A-Z=10-35).
  2. 2. Para posições pares use peso 1; para ímpares use peso 2.
  3. 3. Multiplique o valor pelo peso: factor = val × peso.
  4. 4. Adicione ao total: floor(factor / 36) + (factor % 36).
  5. 5. Calcule o resto por 36 e obtenha o caractere verificador final correspondente.

Perguntas Frequentes sobre Validação