NF-e 4.0 com cruzamento prévio na SEFAZ: detectar erro antes do envio, não na malha
NF-e rejeitada pela SEFAZ no horário de pico vira fila. NF-e com inconsistência ST que passa hoje vira malha amanhã. Cruzamento prévio cobre os dois cenários sem mexer no fluxo do faturamento.
Neste artigo
NF-e rejeitada pela SEFAZ no horário de pico atrasa o faturamento de dezenas de pedidos. NF-e que passa com inconsistência fiscal vira malha 6 meses depois. Dois problemas distintos, mesma causa raiz: o sistema só descobre o erro depois que tentou enviar. Cruzamento prévio na SEFAZ inverte esse fluxo — valida antes do envio definitivo, sem custo na performance do faturamento.
O fluxo tradicional da NF-e
Em ERP que não cruza com a SEFAZ previamente, o fluxo é:
- Vendedor fecha pedido.
- Sistema gera XML da NF-e.
- Sistema envia o XML para a SEFAZ da UF de origem.
- SEFAZ valida e responde: autorizada (com chave de acesso) ou rejeitada (com código de erro).
- Se rejeitada, sistema mostra o erro e o operador tenta corrigir.
O problema: SEFAZ não diz "está perfeita". Ela diz "passou na validação de schema XML". A validação semântica (ICMS-ST correto, CFOP coerente, alíquota plausível) é responsabilidade do contribuinte. Quando o auditor pega malha, descobre que estava errado o tempo todo — mesmo passando pela SEFAZ na hora.
O que é cruzamento prévio
Cruzamento prévio é uma camada de validação que o ERP executa ANTES de enviar a NF-e definitiva. Em paralelo (ou antes), o sistema:
- Consulta o cadastro SEFAZ do destinatário (validade da inscrição estadual, ramo, regime).
- Cruza o CFOP com a operação descrita (venda interestadual? bonificação? transferência?).
- Verifica se o CST é compatível com o produto e o destinatário.
- Recalcula ICMS-ST com a tabela atualizada e compara com o calculado pelo ERP.
- Compara o MVA usado com o protocolo vigente entre as UFs.
- Para produtos com benefício fiscal (isenção, suspensão), verifica se está aplicável.
Se alguma divergência aparece, o sistema bloqueia o envio definitivo e mostra a inconsistência ao operador.
Erros típicos detectados antes do envio
Os erros mais frequentes que o cruzamento prévio pega:
- Destinatário com inscrição inválida na UF — empresa fechou, cadastro alterado, não consta.
- CFOP incompatível com o tipo de operação — venda dentro do estado usando CFOP interestadual.
- Alíquota de ICMS-ST desatualizada — convênio CONFAZ atualizado e ainda não refletiu na tabela do ERP.
- CST inadequado para o produto — medicamento de controle especial sem o CST correto.
- Suspensão de ICMS aplicada incorretamente — produto que perdeu o benefício mas ainda está cadastrado como suspenso.
Cada um desses, se passar para a SEFAZ, autorizou a NF-e mas plantou semente de malha.
Como o cruzamento não afeta performance
Validação prévia adiciona latência. Em distribuidora que emite centenas a milhares de NF-e por dia, isso poderia virar gargalo. Estratégia bem implementada:
- Webservices da SEFAZ consultados via cache local (cadastro do destinatário atualizado diariamente, não a cada NF-e).
- Tabelas de ST, CFOP, CST, MVA mantidas localmente e atualizadas em ciclos.
- Validação semântica feita em paralelo ao processamento normal — o tempo total não cresce.
- Apenas em divergência crítica, sistema bloqueia.
Resultado: NF-e que passa no cruzamento prévio tem ~99% de chance de ser autorizada pela SEFAZ.
O que fazer quando a SEFAZ está fora do ar
Indisponibilidade da SEFAZ é fato da operação fiscal brasileira. ERP que faz cruzamento prévio tem que tratar isso:
- Detecta timeout de webservice.
- Cai para modo SVC-AN (Sefaz Virtual de Contingência) quando aplicável.
- Mantém fila de NF-e pendentes com retry exponencial.
- Notifica controller via alerta no painel.
- Para casos extremos, modo contingência off-line (DPEC ou FS-DA) com sincronização posterior.
Faturamento não para. Apenas a confirmação da SEFAZ fica em fila.
Trilha de auditoria que reduz risco de malha
Para cada NF-e emitida, o ERP guarda:
- XML enviado.
- XML de retorno da SEFAZ.
- Resultado do cruzamento prévio (todas as validações executadas).
- Tabela de ST e MVA vigente no momento da emissão.
- Cadastro do destinatário no momento da consulta.
Se a malha chegar daqui a 18 meses sobre uma NF-e específica, o relatório de auditoria mostra exatamente as condições do momento. Defesa fica defensável — em vez de "vou ter que reconstruir".
Integração com EFD-Contribuições e DCTF
NF-e validada feeds o SPED Fiscal e EFD-Contribuições. Se as duas estão em sincronia, a apuração mensal de PIS/COFINS, ICMS e IPI fecha sem ajuste manual. Distribuidora que opera com NF-e via planilha + EFD via outra base tem divergências que viram trabalho de fim de mês.
Perguntas frequentes
NF-e 4.0 é diferente da NF-e 3.10?
Sim. NF-e 4.0 inclui campos novos (referência de NF-e devolvida, novos códigos de finalidade, alterações em ICMS-ST). Versão 3.10 foi descontinuada em todas as UFs em 2018. Sistema atual deve estar 100% em 4.0.
Quanto tempo a SEFAZ guarda a NF-e?
A SEFAZ guarda 5 anos no mínimo. Mas a obrigação do contribuinte é guardar 5 anos contados do encerramento do exercício fiscal — pode chegar a 6-7 anos. ERP guarda XML e PDF.
Cruzamento prévio funciona em NF-e de devolução?
Sim, e é especialmente útil. Devolução é onde mais erro de CST e CFOP aparece. Validação prévia detecta antes do envio.
Próximos passos
Para conhecer o motor fiscal completo, veja Motor fiscal multi-UF. Para entender como a GNRE se integra ao fluxo, leia GNRE automática para distribuidora farmacêutica.
Referências oficiais
Para aprofundar os pontos deste artigo, consulte as fontes primárias:
- Portal Nacional da NF-e — manual de orientação, schemas XML, status dos webservices SEFAZ.
- CONFAZ — protocolos de ICMS-ST e convênios entre UFs.