Validador de ISIN (International Securities Identification Number - ISO 6166)
Valide a autenticidade, a estrutura do país emissor, o NSIN e o dígito de controle Luhn de códigos ISIN internacionais de 12 caracteres.
Sobre a Validação do ISIN
A validação do ISIN verifica a exatidão estrutural do código de país ISO 3166-1, o tamanho fixo de 12 caracteres alfanuméricos e a correspondência matemática do dígito de controle através do algoritmo de Luhn ponderado.
Erros em códigos ISIN impedem a liquidação financeira de ordens em bolsas como B3, NYSE e LSE, bloqueando o roteamento automatizado de mensagens no protocolo FIX e relatórios no âmbito da MiFID II.
Anatomia & Estrutura do ISIN (ISO 6166)
O código ISIN é composto por exatamente 12 caracteres alfanuméricos divididos em 3 partes fundamentais:
| Posição | Campo | Tamanho | Significado & Regra | Exemplo |
|---|---|---|---|---|
| 1 e 2 | Código do País / Emissor | 2 letras | Código ISO 3166-1 alpha-2 do país sede ou prefixos especiais (ex: XS para Eurobonds, EU para UE) | US |
| 3 a 11 | NSIN (National Securities Number) | 9 caracteres | Identificador local atribuído pela Agência Numeradora Nacional (ex: CUSIP, SEDOL, WKN) | 037833100 |
| 12 | Dígito Verificador | 1 dígito | Dígito de controle decimal calculado via algoritmo de Luhn Módulo 10 sobre a sequência transliterada | 5 |
Algoritmo de Integridade (Luhn Modulo 10 Estendido)
Cálculo oficial de integridade estrutural executado sobre o código ISIN:
D = (10 - (∑ S(d_i × w_i) mod 10)) mod 10
- 1. Transliterar caracteres: dígitos de 0 a 9 permanecem iguais; letras maiúsculas A a Z tornam-se números decimais de 10 a 35 (A=10, ..., Z=35).
- 2. Percorrer os dígitos decimais resultantes da direita para a esquerda.
- 3. Aplicar pesos alternados: o dígito mais à direita recebe peso 2, o seguinte peso 1, depois 2, 1, sucessivamente.
- 4. Multiplicar cada dígito pelo peso e somar os algarismos do produto (ex: 7×2=14 → 1+4=5).
- 5. Somar todos os valores obtidos; o dígito verificador é a diferença para a próxima dezena superior (módulo 10).