Validador de NPWP (Indonésia)
Valide Nomor Pokok Wajib Pajak (NPWP) da Indonésia em tempo real via algoritmo de Luhn.
Validação do NPWP Indonésio
A validação confere o formato numérico de 15 ou 16 dígitos e verifica a paridade do algoritmo de Luhn nos primeiros 9 dígitos.
Essencial para integrações fiscais e plataformas de pagamento na Indonésia.
Anatomia & Estrutura do NPWP (Nomor Pokok Wajib Pajak)
O identificador fiscal indonésio possui 15 dígitos estruturados em 4 partes:
| Posição | Campo | Tamanho | Significado & Regra | Exemplo |
|---|---|---|---|---|
| 1 e 2 | Tipo de Contribuinte | 2 dígitos | 01-03=Pessoa Física, 04-06=Governo, 07-09=Empresas/PJ | 01 |
| 3 a 8 | Número Sequencial | 6 dígitos | Sequência correlativa do contribuinte | 234567 |
| 9 | Dígito Verificador | 1 dígito | Calculado via algoritmo de **Luhn (Módulo 10)** sobre os 8 primeiros dígitos | 8 |
| 10 a 12 | Código do KPP | 3 dígitos | Código do escritório fiscal local (Kantor Pelayanan Pajak) | 012 |
| 13 a 15 | Status do Estabelecimento | 3 dígitos | 000 = Sede / Matriz; 001 a 999 = Filiais | 000 |
Algoritmo Oficial (Luhn Módulo 10 — Ditjen Pajak)
Cálculo oficial do dígito verificador do NPWP:
S = Σ luhn(d[i], i) (i=0..7); (S + d[8]) mod 10 === 0
- 1. Para os 8 primeiros dígitos, multiplique posições ímpares (índices 1, 3, 5, 7) por 2.
- 2. Se o produto for > 9, some os dígitos (ex: 14 -> 1+4 = 5).
- 3. Multiplique posições pares por 1 e some todos os valores parciais em S.
- 4. O 9º dígito é o valor entre 0 e 9 que anula a soma no Módulo 10: (S + DV) mod 10 = 0.