Validador de USt-IdNr (Alemanha)
Valide a autenticidade, estrutura e checksum de USt-IdNr (Alemanha).
Sobre a Validação de USt-IdNr (Alemanha)
A Umsatzsteuer-Identifikationsnummer (USt-IdNr.) é o CNPJ / VAT ID comercial da Alemanha para pessoas jurídicas e profissionais envolvidos no comércio dentro da União Europeia.
É formado pelo prefixo "DE" seguido por 9 dígitos numéricos. O 9º dígito é um dígito verificador calculado matematicamente pelo algoritmo ISO 7064 Módulo 11, 10.
Anatomia & Estrutura da USt-IdNr.
A Umsatzsteuer-Identifikationsnummer alemã é composta por 11 caracteres estruturados conforme a Diretiva Europeia do IVA:
| Posição | Campo | Tamanho | Significado & Regra | Exemplo |
|---|---|---|---|---|
| 1 e 2 | País (ISO) | 2 letras | Código soberano da Alemanha no padrão ISO 3166-1 alfa-2 | DE |
| 3 a 10 | Registro Empresarial | 8 dígitos | Identificador numérico atribuído centralmente pelo BZSt | 12345678 |
| 11 | Prüfziffer (DV) | 1 dígito | Dígito verificador calculado conforme a norma ISO/IEC 7064, Mod 11, 10 | 9 |
Algoritmo de Validação da USt-IdNr. (ISO/IEC 7064, Mod 11, 10)
O BZSt utiliza o algoritmo de validação ISO 7064 com 8 iterações sobre os dígitos numéricos:
P = ((S * 2) % 11) | S = (d_i + P) % 10
- 1. Inicialize a variável de produto com valor base P = 10.
- 2. Para cada um dos 8 dígitos numéricos de registro: calcule S = (dígito + P) % 10. Se S = 0, redefina S = 10.
- 3. Multiplique a soma modular por 2 e aplique o módulo 11: P = (S * 2) % 11.
- 4. Calcule o dígito final: C = 11 - P. Se C = 10, o DV é 0; caso contrário, é igual a C.
- 5. Valide a conformidade com o 9º dígito numérico (11º caractere do código DE).