Skip to main content

Conversor de XML de Cancelamento NF-e

Novo Avanço → procEventoNFe

Download do programa aqui


📌 1. Contexto

O sistema Novo Avanço gera XMLs de NF-e no formato nfeProc, contendo:

  • Dados completos da nota fiscal
  • Protocolo de autorização
  • Status da nota (incluindo cancelamento)


Quando uma nota é cancelada, o sistema não gera o XML do evento de cancelamento completo, apenas registra o cancelamento dentro do protocolo da NF-e.

Por outro lado, algumas integrações, auditorias fiscais e ferramentas externas exigem o XML no formato:

procEventoNFe

Este produto resolve exatamente esse gap.


🎯 2. Objetivo do Produto

Converter XMLs de NF-e canceladas (formato nfeProc) em XMLs no formato completo de evento:

procEventoNFe

Garantindo:

  • Compatibilidade com padrões SEFAZ
  • Leitura por ferramentas fiscais
  • Padronização de dados para integração

⚙️ 3. Funcionamento Geral

O conversor executa o seguinte fluxo:

🔄 Fluxo de execução

  1. Usuário seleciona pasta de origem (XMLs do Novo Avanço)
  2. Usuário seleciona pasta de destino
  3. Sistema percorre todos os XMLs
  4. Para cada XML:
    • Lê os dados necessários
    • Monta a estrutura procEventoNFe
    • Gera um novo XML
  5. Exibe progresso e logs em tempo real

image.png


🧠 4. Estrutura dos XMLs

📥 Entrada (Novo Avanço)

Formato:

nfeProc
 ├── NFe
 └── protNFe
      └── infProt

Contém:

  • Chave da nota
  • Protocolo
  • Status (cStat)
  • Motivo (xMotivo)
  • Data (dhRecbto)

📤 Saída (Gerado pelo Conversor)

Formato:

procEventoNFe
 ├── evento
 │    ├── infEvento
 │    └── Signature
 └── retEvento
      └── infEvento

🔗 5. Correspondência de Campos

Campo destino Origem Regra
cOrgao ide/cUF Direto
tpAmb ide/tpAmb Direto
CNPJ emit/CNPJ Direto
chNFe protNFe/infProt/chNFe Direto
dhEvento dhRecbto Padrão (ou manual)
tpEvento Fixo: 110111
nSeqEvento Fixo: 1
verEvento Fixo: 1.00
descEvento Fixo: Cancelamento
nProt (evento) protNFe/nProt Direto
xJust xMotivo Padrão (ou manual)

📌 Retorno (retEvento)

Campo Origem
tpAmb tpAmb
verAplic verAplic
cOrgao cUF
cStat cStat
xMotivo xMotivo
chNFe chNFe
tpEvento Fixo
xEvento "CANCELAMENTO"
nSeqEvento Fixo
dhRegEvento dhRecbto
nProt nProt

🧩 6. Tratamento dos Campos

🔹 tpEvento

  • Valor fixo: 110111
  • Representa evento de cancelamento

🔹 nSeqEvento

  • Valor fixo: 1
  • Primeiro evento de cancelamento da nota

🔹 xJust

  • Padrão: usa xMotivo do XML
  • Pode ser sobrescrito manualmente

🔹 dhEvento

  • Padrão: usa dhRecbto
  • Pode ser definido manualmente pelo usuário

🔹 Signature

  • Reaproveitada do XML original
  • Não é recalculada
  • Mantém compatibilidade estrutural

🖥️ 7. Interface do Sistema

A interface web local permite:

📂 Seleção de pastas

  • Pasta de entrada (XMLs do sistema)
  • Pasta de saída (XMLs convertidos)

🧾 Campos configuráveis

  • tpEvento
  • nSeqEvento
  • xJust
  • dhEvento

Todos já vêm com valores padrão.


📊 Execução

  • Barra de progresso em tempo real
  • Contadores:
    • Total
    • Processados
    • Erros
  • Logs detalhados

🛑 Controle

  • Iniciar conversão
  • Cancelar execução
  • Limpar logs

▶️ 8. Como Usar

Passo a passo

  1. Abrir o programa
  2. Selecionar pasta de origem
  3. Selecionar pasta de destino
  4. (Opcional) Ajustar campos
  5. Clicar em Iniciar conversão

Durante a execução

  • Acompanhar barra de progresso
  • Ver logs em tempo real

Cancelamento

  • Clique em Cancelar
  • O sistema interrompe o processamento atual

Resultado

  • XMLs gerados na pasta de destino
  • Nome padrão:
<nome_original>_procEventoNFe.xml

⚠️ 9. Limitações

  • Não gera assinatura digital nova
  • Não consulta SEFAZ
  • Usa dados já existentes no XML
  • Não substitui o XML oficial do evento

🔒 10. Considerações Técnicas

  • Aplicação local (Flask)
  • Execução via navegador
  • Integração com Windows (bandeja)
  • Processamento em background (thread)
  • Manipulação XML via Python

🧪 11. Compatibilidade

  • Compatível com leitores XML fiscais
  • Estrutura alinhada ao padrão SEFAZ
  • Evita conflitos de namespace

🏁 12. Conclusão

O Conversor de XML de Cancelamento do Novo Avanço:

  • Resolve a ausência do XML de evento completo
  • Permite integração com ferramentas externas
  • Automatiza conversão em lote
  • Oferece interface simples e eficiente

 

⚙️ Regras de Alteração dos Campos

Esta seção define quais campos podem ser alterados pelo usuário, quais não devem ser alterados, e quais são sensíveis para integridade fiscal.


🔒 1. Campos NÃO editáveis (fixos / controlados pelo sistema)

Esses campos são definidos automaticamente pelo conversor e não devem ser alterados, pois fazem parte da estrutura fiscal obrigatória.

Campo Origem Motivo
cOrgao XML original Define a UF (SEFAZ responsável)
tpAmb XML original Ambiente (produção/homologação)
CNPJ XML original Emitente da nota
chNFe XML original Identificação única da NF-e
nProt XML original Protocolo da nota
cStat XML original Status fiscal
xMotivo XML original Retorno da SEFAZ
verEvento Fixo (1.00) Versão do layout
descEvento Fixo (Cancelamento) Tipo do evento
xEvento Fixo (CANCELAMENTO) Descrição padronizada
verAplic XML original Versão da aplicação SEFAZ

⚠️ Importante

Alterar qualquer um desses campos pode:

  • Invalidar o XML
  • Gerar inconsistência fiscal
  • Quebrar integração com sistemas contábeis

🟡 2. Campos editáveis com restrição

Esses campos podem ser alterados, mas com cuidado.


🔹 xJust (Justificativa do cancelamento)

✔ Padrão:

xMotivo do XML

✔ Pode ser alterado?

Sim

⚠️ Regras:

  • Deve ter entre 15 e 255 caracteres (recomendado)
  • Deve representar corretamente o motivo do cancelamento

❗ Riscos ao alterar:

  • Divergência com registro original
  • Problemas em auditorias

🔹 dhEvento (Data/hora do evento)

✔ Padrão:

dhRecbto do XML

✔ Pode ser alterado?

Sim

⚠️ Regras:

  • Deve estar no formato:
YYYY-MM-DDTHH:mm:ss-03:00

❗ Riscos ao alterar:

  • Inconsistência temporal com SEFAZ
  • Divergência com logs fiscais

🟢 3. Campos editáveis seguros

Esses campos são controlados, mas não afetam integridade fiscal diretamente.


🔹 tpEvento

✔ Padrão:

110111

✔ Pode ser alterado?

Não recomendado

⚠️ Motivo:

  • 110111 = Cancelamento
  • Alterar muda completamente o tipo do evento

🔹 nSeqEvento

✔ Padrão:

1

✔ Pode ser alterado?

Sim (com ressalvas)

⚠️ Regras:

  • Deve ser inteiro
  • Normalmente sempre 1 para cancelamento

❗ Riscos:

  • Pode causar inconsistência em sistemas que validam sequência

🧠 4. Resumo Geral

Campo Pode alterar? Nível de risco
xJust ✔ Sim Médio
dhEvento ✔ Sim Médio
nSeqEvento ✔ Sim Baixo
tpEvento ⚠ Não recomendado Alto
Demais campos ❌ Não Crítico

🎯 5. Recomendação de Uso

Para uso seguro:

  • Não altere campos técnicos
  • Utilize apenas:
    • xJust (quando necessário)
    • dhEvento (em casos específicos)

🏁 Conclusão

O conversor já define automaticamente todos os campos necessários para gerar um XML válido.

As alterações devem ser feitas apenas quando houver necessidade real, evitando inconsistências fiscais ou divergências com o registro original da NF-e.