nif.vies
Cruzamento VIES — NIF registado no sistema de IVA da UE
O NIF do cabeçalho é verificado contra o serviço VIES da UE e o nome registado é comparado com o CompanyName do SAF-T.
O que é o VIES
O VIES (VAT Information Exchange System) é o serviço oficial de consulta de registos de IVA da UE, gerido pela Comissão Europeia. Cada autoridade tributária dos Estados-membros alimenta o VIES com os números de IVA registados, e qualquer entidade — incluindo o SAFTCheck — pode chamar o endpoint REST público para confirmar se um determinado país + número de IVA está atualmente registado.
O que o SAFTCheck verifica
Em cada validação cruzamos um NIF com o VIES: o Header.TaxRegistrationNumber do ficheiro (o seu próprio NIF da empresa, prefixado com o código de país PT). NIFs de Clientes e Fornecedores não são verificados no VIES — podem ser centenas por ficheiro, o VIES tem rate limit e é lento, e o sinal mais valioso é se a entidade dona do ficheiro é quem diz ser.
O que vai ver
| Resultado | Saída do SAFTCheck |
|---|---|
| NIF registado, nome corresponde | info: "NIF cruzado com o VIES — registado para IVA" com o nome legal registado visível |
| NIF registado, nome não corresponde | aviso: "CompanyName não corresponde ao VIES" com o valor do SAF-T e o valor do VIES visíveis |
| NIF é Mod-11 válido mas não está no VIES | info: "NIF é Mod-11 válido mas não registado em IVA no VIES" — legítimo para empresários em nome individual e outras entidades não-IVA |
| VIES inacessível / timeout | silencioso — sem aviso (nunca bloqueamos a validação por uma falha de terceiro) |
| NIF falha o Mod-11 | silencioso para o VIES — a verificação Mod-11 já o sinalizou |
NIF é o sentinela "Consumidor final" 999999990 | silencioso — por desenho, não é um registo real |
Como funciona a comparação de nome
O VIES devolve por vezes um nome legal ligeiramente diferente daquele que o ERP exporta — espaços extra, uma sigla de forma jurídica no fim (LDA, SA, Unipessoal), capitalização diferente. Normalizamos ambos os lados para alfanuméricos minúsculos e aceitamos que um lado seja prefixo do outro antes de sinalizar uma divergência. Isto evita avisos ruidosos por diferenças cosméticas e ainda apanha os casos genuínos de "NIF errado na empresa errada".
Performance e fiabilidade
- Timeout: 3 segundos por chamada ao VIES. Se o serviço da UE estiver lento, seguimos em frente sem bloquear o resto da validação.
- Cache: resultados VIES com sucesso são guardados em cache 24 horas por NIF. Revalidar o mesmo ficheiro (ou outro ficheiro com o mesmo NIF de Header) não volta a chamar o endpoint da UE.
- Modo de falha: quando o VIES está em baixo ou devolve erro, não guardamos nada em cache e a validação seguinte tenta de novo. A validação nunca falha por uma falha do VIES.
O que o VIES não diz
- Não certifica que o NIF é válido para efeitos de conformidade fiscal. A AT pode ter restrições adicionais que o VIES não mostra.
- Não verifica os NIFs de cliente ou fornecedor no ficheiro (intencional — ver âmbito acima).
- Não deteta alterações de registo durante o dia; a cache pode ter até 24h.
Relacionado
- NIF Mod-11 — a verificação offline que corre antes do VIES.
- Editor inline — corrija o NIF do Header no lugar se o VIES disser que o errado está no ficheiro.