NFS-e Validador · chr-z

Destinatário
dev PHP/Node
Objeto
validar NFS-e
Ambiente
offline
Dependências
zero
Testes
169
Provedor
ainda não contratado

Descubra que o XML está errado antes de pagar quem cobra para te dizer isso.

Provedores de NFS-e só liberam a homologação depois do pagamento. Você só descobre se a sua integração funciona quando o boleto já foi pago. Esta ferramenta responde à única pergunta que importa antes disso: o meu XML está correto?

saída real do validador $ nfse-validator nota.xml
ERRO SOMA_VSERVICO_DIVERGENTE: <vServicos> declarado (1500.00) difere da soma (1000.00).
em NFSe/InfNFeSig/InfNFe/Total/ISS/vServicos — linha 1, coluna 1711
→ Soma dos valores dos itens de serviço. A diferença está acima da tolerância de 0,01.
nota.xml: 1 erro encontrado. exit 1

Não é insight. É o que o programa imprime, com o caminho exato do campo e a linha. Roda offline, sem enviar sua nota para lugar nenhum.

O que confere

O que dá para quebrar sem você perceber

Um XML de NFS-e aceita sintaxe válida e continua errado. São esses os erros que passam pelo navegador e chegam na produção.

São 91 códigos declarados, cada um com mensagem em português, caminho do campo, linha e coluna, e uma sugestão do que corrigir. Inteiramente offline.

pip install nfse-validator

nfse-validator nota.xml                 # valida um arquivo
nfse-validator --json nota.xml         # para CI
nfse-validator --batch "./notas/*.xml"  # valida um lote
cat nota.xml | nfse-validator -        # em pipe

Contratar

A biblioteca é livre. O serviço, não.

O validador é MIT e está no GitHub — clone, use, fork, faça o que quiser. Não faz sentido eu cobrar pelo que você já pode baixar. O que tem valor é o trabalho que não está no repositório: rodar contra a sua cidade, no seu schema, e dizer o que está errado antes do seu cliente ver.

Não é consultoria fiscal

Isto valida estrutura e aritmética de XML. Não emite nota, não substitui a homologação da prefeitura, não é contabilidade e não substitui contador. Nada aqui é silosada fiscal ou jurídica.

Limites

O que a ferramenta não faz

Um validador que esconde o próprio alcance é pior do que nenhum. Estes são os limites, declarados, e não vão mudar com o tempo:

9 dos 91 códigos ainda não são testados

Eles estão declarados no catálogo mas nenhum caso conhecido os dispara. Preferimos listar a dívida a esconder atrás de um número redondo. A lista está no README.

No navegador

Sem instalar nada, se preferir

A mesma lógica de validação roda em um arquivo HTML único: cole ou arraste o arquivo e o resultado aparece na hora. Funciona offline e no celular, sem nenhum recurso externo.

Abrir o validador no navegador