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 Usuário seleciona pasta de origem (XMLs do Novo Avanço) Usuário seleciona pasta de destino Sistema percorre todos os XMLs Para cada XML: Lê os dados necessários Monta a estrutura procEventoNFe Gera um novo XML Exibe progresso e logs em tempo real 🧠 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 Abrir o programa Selecionar pasta de origem Selecionar pasta de destino (Opcional) Ajustar campos 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: _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.