# Conversão da Dados

Área reservada a documentos sobre conversão de dados para o NovoAvanço.

# Manual de Preenchimento da Planilha de Importação de Produtos

Este manual orienta o preenchimento correto da planilha utilizada no **Conversor de Dados do NovoAvanço**, garantindo padronização e compatibilidade com o processo de importação do sistema.

Cada aba (“guia”) da planilha possui um propósito específico e regras próprias para preenchimento, conforme descrito a seguir.  
  
[PARA BAIXAR A PLANILHA EXEMPLO DE PREENCHIMENTO, CLIQUE AQUI.](https://novo-app.s3.us-east-1.amazonaws.com/production/download/PLANILHA_BASE_CONVERSAO_AVANCO_V1.0.xlsx)

---

## 📄 **Guia: “dados”**

Responsável por armazenar as **informações principais (capa)** do cadastro de produtos.

### **Colunas e Regras de Preenchimento**

#### **codigoProduto**

- Indica o **código interno** do produto.
- Deve conter **apenas números inteiros**, sem letras ou caracteres especiais.
- É o **campo base de referência** para todas as outras guias.
- Cada código deve aparecer **uma única vez** na planilha.
- **Não pode haver repetições.**
- **Máximo:** 6 dígitos.
- **Importante:** Este campo é o identificador principal do produto. Qualquer divergência de código entre guias causará erro na importação.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **eanTributavel**

- Código de barras **utilizado para movimentação fiscal** (emissão de notas).
- **Campo obrigatório.**
- Deve ser **numérico inteiro**, com no máximo **14 dígitos**.
- **Sem caracteres especiais, espaços ou letras.**
- Representa o **codigo** do produto para fins fiscais.
- <span style="color: rgb(224, 62, 45);">Não é o código EAN que será considerado para enviar para os caixas. O Código EAN ( principal e agrupados ), devem estar na guia agrupamento EAN.</span>

---

#### **codigoAlternativo**

- Código alternativo ao EAN, podendo ser **alfanumérico** com até **14 caracteres**.
- Utilizado quando o cliente possui **códigos próprios ou internos**, além do EAN.
- **Proibido o uso de caracteres especiais.**
- **Permitido:** letras e números apenas.
- <span style="color: rgb(224, 62, 45);">**Não deve ser inseridos códigos EAN**</span> nessa coluna.

---

#### **descricao**

- Descrição completa do produto.
- Deve estar **em CAIXA ALTA**, com no máximo **140 caracteres**.
- **Permitidos apenas os seguintes caracteres:**  
    `. / - ( ) * + _ & % $ @`
- **Proibido:** acentuação, aspas, vírgulas, ponto e vírgula ou qualquer outro caractere especial.
- **Campo alfanumérico.**
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **descricaoResumida**

- Descrição abreviada, utilizada para etiquetas, ECF e PDV.
- Deve seguir os mesmos critérios da descrição principal, porém limitada a **40 caracteres**.
- **Usar sempre caixa alta.**
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **descricaoExpandida**

- Deve repetir exatamente o conteúdo do campo **descricao**.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **bloqueadoVenda**

- Define se o produto será enviado para o PDV.
- Quando **true**, o produto **não é enviado** (exemplo: produtos de uso interno ou consumo).
- **Aceita:** `true`, `false`, `S`, `N`.
- Valor padrão: `false`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **unidadeVenda**

- Unidade de venda da mercadoria.
- **Permitido apenas 2 caracteres**, em **caixa alta** (ex.: `UN`, `KG`, `CX`).
- **Sem caracteres especiais.**
- Representa a unidade comercial padrão para venda.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **marca**

- Marca do produto.
- Caso não exista informação, deixar em branco ou preencher com `"Local"`.

---

#### **tipoPesoVariavel**

- Indica se o produto é de **peso variável** (ex.: produtos de balança).
- Define também se o PDV permitirá leitura via código de balança.
- **Aceita:** `true`, `false`, `S`, `N`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **vendaFracionada**

- Define se o produto pode ser **vendido de forma fracionada** (ex.: FLV).
- Deve ser ativado se o preço do produto for **definido por peso**.
- **Aceita:** `true`, `false`, `S`, `N`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **camposto**

- Indica se o produto faz parte de **um kit ou composição** (ex.: cesta básica, bolo, combo).
- **Aceita:** `true`, `false`, `S`, `N`.

---

#### **quantidadeMaxima**

- Quantidade máxima que pode ser vendida em uma única operação.
- Campo numérico com até **4 dígitos**.
- Valor padrão: `9999`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **quantidadeMinima**

- Quantidade mínima obrigatória por venda.
- Campo numérico com até **4 dígitos.**
- Valor padrão: `0`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **idConcentrador**

- Código utilizado para vinculação de composições e outros cadastros.
- Por padrão, utilizar o **mesmo valor de codigoProduto**.

---

#### **etiquetaGondola**

- Define se o produto pode ser impresso em **etiqueta de gôndola**.
- **Padrão:** `true`.
- **Aceita:** `true`, `false`, `S`, `N`.

---

#### **etiquetaSeguranca**

- Campo **inativo**, mas obrigatório.
- Preencher sempre com `false`.

---

#### **fatorConversao**

- Fator de conversão de venda.
- Define a multiplicação entre unidade de venda e quantidade vendida.
- Campo **numérico**, até **2 dígitos.**
- **Padrão:** `1`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **fatorConversaoEntrada**

- Fator de multiplicação utilizado na **entrada de mercadorias**.
- Exemplo: fator `12` indica que uma caixa contém 12 unidades.
- Campo **numérico**, até **2 dígitos.**
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **consultaRapida**

- Indica se o produto pode ser pesquisado no PDV pela tecla **F7**.
- **Padrão:** `true`.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **unidadeMedidaTributavel**

- Unidade de medida usada para **tributação**.
- Geralmente igual à unidade de venda.
- **Somente letras (sem números)**, **máximo de 2 caracteres**, em **caixa alta**.
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **codigoAnp**

- Código de 9 dígitos definido pela **Agência Nacional do Petróleo, Gás Natural e Biocombustíveis (ANP)**.
- **Obrigatório apenas para combustíveis, lubrificantes e derivados.**
- Caso não aplicável, deixar em branco.
- **Numérico, sem pontos, traços ou espaços.**

---

#### **pesoKg**

- Peso total do produto.
- Aceita valores **fracionários** (ex.: `10,5`).
- Utilizado para cálculos de balança e tributação.

---

#### **origemNacionalidade**

- Define a origem do produto:
    
    
    - `0` = Nacional
    - `1` = Internacional
- Campo numérico com apenas **1 dígito.**
- **Padrão:** `0` (Nacional).
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **cest**

- Código CEST de **7 dígitos numéricos inteiros e positivos.**
- **Importante:** manter a célula em formato **texto** para preservar zeros à esquerda.
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
- **Obrigatório** se o produto estiver cadastrado com **CST ICMS = 60.**
- <span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>

---

#### **ncm**

- Código NCM de **8 dígitos numéricos inteiros e positivos.**
- **Importante:** manter a célula em formato **texto** no Excel para preservar zeros à esquerda.
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
- **Somente números.**
- **<span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>**

---

#### **incidePisCofins**

- Indica se o produto possui incidência de **PIS/COFINS.**
- **Aceita:** `true`, `false`, `S`, `N`.
- Obrigatório se houver CST PisCofins igual a `1`.
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**

---

#### **pisCSTSaida**

- Código CST do PIS.
- Campo numérico, **1 dígito.**
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
- **<span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>**

---

#### **pisAliquota**

- Alíquota do PIS.
- **Preencher apenas se o CST for 1.**
- Caso contrário, deixar zerado.
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>,<span style="color: rgb(224, 62, 45);"> </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
- <span style="color: rgb(22, 145, 121);">**Permitido vírgula para aliquotas como ( 1,65, por exemplo )**</span>
- **<span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>**

---

#### **cofinsCSTSaida**

- - Código CST do PIS.
    - Campo numérico, **1 dígito.**
    - **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
    - **<span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>**

---

#### **cofinsAliquota**

- - Alíquota do Cofins.
    - **Preencher apenas se o CST for 1.**
    - Caso contrário, deixar zerado.
    - **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>,<span style="color: rgb(224, 62, 45);"> </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**
    - <span style="color: rgb(22, 145, 121);">**Permitido vírgula para aliquotas como ( 7,60, por exemplo )**</span>
    - **<span style="color: rgb(224, 62, 45);">**Campo obrigatório**</span>**

---

#### **cofinsAliquotaReais**

- Campo opcional.
- Caso não aplicável, manter em branco.
- <span style="color: rgb(22, 145, 121);">**Permitido vírgula para aliquotas como ( 7,60, por exemplo )**</span>

---

## 📄**Guia: “agrupamentoEAN”**

Guia destinada à vinculação de **códigos de barras adicionais** a um mesmo código interno de produto.

### **Colunas**

#### **codigoProduto**

- Deve conter exatamente os <span style="color: rgb(224, 62, 45);">**mesmos códigos internos**</span> da guia “dados”.
- Pode se repetir **somente** quando houver **múltiplos EANs** vinculados ao mesmo produto.
- **Numérico, inteiro, positivo.**

#### **ean**

- Todos os códigos de barras vinculados ao produto.
- Nessa coluna deve ser
- **Numérico, inteiro, positivo**, com até **14 dígitos.**
- **Sem repetições.**
- Deve incluir também o **código interno** como um dos EANs, garantindo a vinculação completa (importante para relatórios e produtos de balança).
- **Evite a formatação automática do Excel que resume códigos longos.** Configure a célula como **texto**.

#### **principal**

- Define o EAN principal entre os agrupados.
- **Obrigatório ter pelo menos um EAN principal por código interno.**
- **Aceita:** `true`, `false`, `S`, `N`.

#### **fator**

- Fator de venda do EAN.
- **Padrão:** `1`.
- Pode variar em casos de caixas ou fardos.
- Não pode conter casas decimais.
- **<span style="color: rgb(224, 62, 45);">Não incluir pontos</span>, <span style="color: rgb(224, 62, 45);">traços</span>, <span style="color: rgb(224, 62, 45);">vírgulas </span>ou <span style="color: rgb(224, 62, 45);">espaços</span>.**

#### **precoVenda**

- Preço específico para o EAN (quando aplicável).
- Caso não exista preço diferenciado, deixar em branco.

---

## 📄**Guia: “precos”**

Destinada à informação de **preços, custos, PMZ e estoque**.

### **Colunas**

#### **numeroDaLoja**

- Número da loja responsável pelo registro.
- **Numérico, positivo, até 2 dígitos.**
- É permitido informar **todas as lojas** na mesma planilha.

#### **codigoProduto**

- Deve corresponder exatamente aos códigos da guia “dados”.
- **Numérico, até 6 dígitos.**
- Divergências causarão **inconsistência na importação.**

#### **valorVendaVarejo**

- Valor de venda do produto.
- **Formato:** `0000,00`
- **Usar vírgula** como separador decimal (ponto não é aceito).
- Campo numérico.

#### **valorCusto**

- Valor de custo do produto.
- Mesmo formato: `0000,00`.
- **<span style="color: rgb(224, 62, 45);">Não deve haver mais de duas casas decimais depois da vírgula.</span>**

#### **valorPMZ**

- Preço de margem zero (ou preço de custo médio).
- Formato: `0000,00`.
- **<span style="color: rgb(224, 62, 45);">Não deve haver mais de duas casas decimais depois da vírgula.</span>**

#### **estoque**

- Quantidade em estoque.
- **Formato:** `0000,00`.
- **Usar vírgula**, não ponto.
- **<span style="color: rgb(224, 62, 45);">Não deve haver mais de duas casas decimais depois da vírgula.</span>**

---

## 📄**Guia: “classificacaoMercadologica”**

Responsável por vincular o produto à **estrutura mercadológica**.

### **Colunas**

#### **codigoProduto**

- Mesmo código informado na guia “dados”.
- **Numérico, até 6 dígitos.**

#### **departamento / categoria / subcategoria / segmento / subsegmento**

- Todos os campos devem ser preenchidos **em caixa alta**, com **apenas letras**.
- **Proibidos números e caracteres especiais.**
- Caso não haja classificação, preencher com `"GERAL"`.
- **<span style="color: rgb(224, 62, 45);">Não deve haver nenhuma célula em branco.</span>**
- Mantenha **padronização e consistência** nos nomes para evitar duplicidade (ex.: “HIGIENE” ≠ “HIGIÊNE”).

---

## 📄**Guia: “dadosFiscaisEstaduais”**

Contém as informações fiscais do produto **por estado e loja**.

### **Colunas**

#### **loja**

- Número identificador da loja.
- **Numérico, positivo, até 2 dígitos.**
- É possível listar todas as lojas em um único arquivo.

#### **codigoProduto**

- Mesmo código da guia “dados”.
- Pode se repetir para diferentes **estados** (`estadoId`) ou **lojas** (`loja`).
- **Numérico, até 6 dígitos.**

#### **estadoId**

- Sigla do estado (ex.: `MG`, `PR`).
- **Apenas letras**, **sem caracteres especiais**.
- **Máximo:** 2 caracteres.
- Todos os itens devem ter um estado e vinculado.

#### **tributacao**

- Tipo de tributação (letra).
- Preencher apenas quando informado pela origem dos dados.
- Caso contrário, deixar em branco.

#### **aliquotaOriginal / aliquotaEfetiva / reducao**

- Campos numéricos, aceitam **vírgula** para casas decimais (ex.: `18,5`).
- `aliquotaEfetiva` deve ser menor que `aliquotaOriginal` nos casos de **CST 20** (redução).
- `reducao` representa a diferença percentual entre ambas.
- Quando não houver, deixar em branco.

#### **aliquotaIBPTFederal / aliquotaIBPTEstadual**

- Informadas pela tabela padrão IBPT.
- Preencher apenas em casos de exceção.

#### **cstICMS**

- Código CST de ICMS (2 dígitos).
- **Obrigatório.**
    
    
    - `00` e `20` → requerem alíquota.
    - `60`, `40`, `41` → alíquotas devem ser zeradas.

#### **codigoBeneficioFiscal**

- Código alfanumérico (até **10 caracteres**) utilizado na NF-e/NFC-e para identificar benefícios fiscais.
- Preencher se aplicável, caso contrário, deixar em branco.

#### **aliquotaFCPICMS**

- Percentual do **Fundo de Combate à Pobreza (FCP)**.
- **Numérico, aceita vírgula decimal.**

#### **aliquotaADRem**

- Campo inativo.
- Manter em branco.

#### **codigoAnp**

- Mesmo critério descrito na guia “dados”.

#### **pesoKg**

- Peso total do produto.
- Pode conter valores decimais (ex.: `10,5`).

#### **codigoMotivoDesoneracao**

- Código do motivo da desoneração do ICMS (campo `motDesICMS` da NF-e).
- Até **2 caracteres alfanuméricos.**
- Caso não haja, deixar em branco.

#### **aliquotaDesoneracao**

- Percentual da desoneração.
- **Formato:** `00,00`.

# Conversor de XML de Cancelamento NF-e

## Novo Avanço → procEventoNFe

[Download do programa aqui](https://novo-app.s3.us-east-1.amazonaws.com/production/download/conversor_XML/converte_XML.exe)

<div contenteditable="false" id="bkmrk-">---

</div># 📌 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.

<div contenteditable="false" id="bkmrk--2">---

</div># 🎯 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

<div contenteditable="false" id="bkmrk--3">---

</div># ⚙️ 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](https://bc.avancoinfo.com.br/uploads/images/gallery/2026-03/scaled-1680-/3Ayimage.png)](https://bc.avancoinfo.com.br/uploads/images/gallery/2026-03/3Ayimage.png)

<div contenteditable="false" id="bkmrk--5">---

</div># 🧠 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`)

<div contenteditable="false" id="bkmrk--6">---

</div>## 📤 Saída (Gerado pelo Conversor)

Formato:

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

<div contenteditable="false" id="bkmrk--7">---

</div># 🔗 5. Correspondência de Campos

<table id="bkmrk-campo-destino-origem"><tbody><tr><th>Campo destino</th><th>Origem</th><th>Regra</th></tr><tr><td>`cOrgao`</td><td>`ide/cUF`</td><td>Direto</td></tr><tr><td>`tpAmb`</td><td>`ide/tpAmb`</td><td>Direto</td></tr><tr><td>`CNPJ`</td><td>`emit/CNPJ`</td><td>Direto</td></tr><tr><td>`chNFe`</td><td>`protNFe/infProt/chNFe`</td><td>Direto</td></tr><tr><td>`dhEvento`</td><td>`dhRecbto`</td><td>Padrão (ou manual)</td></tr><tr><td>`tpEvento`</td><td>—</td><td>Fixo: `110111`</td></tr><tr><td>`nSeqEvento`</td><td>—</td><td>Fixo: `1`</td></tr><tr><td>`verEvento`</td><td>—</td><td>Fixo: `1.00`</td></tr><tr><td>`descEvento`</td><td>—</td><td>Fixo: `Cancelamento`</td></tr><tr><td>`nProt` (evento)</td><td>`protNFe/nProt`</td><td>Direto</td></tr><tr><td>`xJust`</td><td>`xMotivo`</td><td>Padrão (ou manual)</td></tr></tbody></table>

<div contenteditable="false" id="bkmrk--8">---

</div>## 📌 Retorno (`retEvento`)

<table id="bkmrk-campo-origem-tpamb-t"><tbody><tr><td>Campo</td><td>Origem</td></tr><tr><td>`tpAmb`</td><td>`tpAmb`</td></tr><tr><td>`verAplic`</td><td>`verAplic`</td></tr><tr><td>`cOrgao`</td><td>`cUF`</td></tr><tr><td>`cStat`</td><td>`cStat`</td></tr><tr><td>`xMotivo`</td><td>`xMotivo`</td></tr><tr><td>`chNFe`</td><td>`chNFe`</td></tr><tr><td>`tpEvento`</td><td>Fixo</td></tr><tr><td>`xEvento`</td><td>"CANCELAMENTO"</td></tr><tr><td>`nSeqEvento`</td><td>Fixo</td></tr><tr><td>`dhRegEvento`</td><td>`dhRecbto`</td></tr><tr><td>`nProt`</td><td>`nProt`</td></tr></tbody></table>

<div contenteditable="false" id="bkmrk--9">---

</div># 🧩 6. Tratamento dos Campos

## 🔹 tpEvento

- Valor fixo: `110111`
- Representa evento de cancelamento

<div contenteditable="false" id="bkmrk--10">---

</div>## 🔹 nSeqEvento

- Valor fixo: `1`
- Primeiro evento de cancelamento da nota

<div contenteditable="false" id="bkmrk--11">---

</div>## 🔹 xJust

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

<div contenteditable="false" id="bkmrk--12">---

</div>## 🔹 dhEvento

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

<div contenteditable="false" id="bkmrk--13">---

</div>## 🔹 Signature

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

<div contenteditable="false" id="bkmrk--14">---

</div># 🖥️ 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)

<div contenteditable="false" id="bkmrk--15">---

</div>### 🧾 Campos configuráveis

- `tpEvento`
- `nSeqEvento`
- `xJust`
- `dhEvento`

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

<div contenteditable="false" id="bkmrk--16">---

</div>### 📊 Execução

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

<div contenteditable="false" id="bkmrk--17">---

</div>### 🛑 Controle

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

<div contenteditable="false" id="bkmrk--18">---

</div># ▶️ 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**

<div contenteditable="false" id="bkmrk--19">---

</div>## Durante a execução

- Acompanhar barra de progresso
- Ver logs em tempo real

<div contenteditable="false" id="bkmrk--20">---

</div>## Cancelamento

- Clique em **Cancelar**
- O sistema interrompe o processamento atual

<div contenteditable="false" id="bkmrk--21">---

</div>## Resultado

- XMLs gerados na pasta de destino
- Nome padrão:

```
<nome_original>_procEventoNFe.xml
```

<div contenteditable="false" id="bkmrk--22">---

</div># ⚠️ 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

<div contenteditable="false" id="bkmrk--23">---

</div># 🔒 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

<div contenteditable="false" id="bkmrk--24">---

</div># 🧪 11. Compatibilidade

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

<div contenteditable="false" id="bkmrk--25">---

</div># 🏁 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**.

<div contenteditable="false" id="bkmrk--26">---

</div># 🔒 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.

<table id="bkmrk-campo-origem-motivo-"><tbody><tr><th>Campo</th><th>Origem</th><th>Motivo</th></tr><tr><td>`cOrgao`</td><td>XML original</td><td>Define a UF (SEFAZ responsável)</td></tr><tr><td>`tpAmb`</td><td>XML original</td><td>Ambiente (produção/homologação)</td></tr><tr><td>`CNPJ`</td><td>XML original</td><td>Emitente da nota</td></tr><tr><td>`chNFe`</td><td>XML original</td><td>Identificação única da NF-e</td></tr><tr><td>`nProt`</td><td>XML original</td><td>Protocolo da nota</td></tr><tr><td>`cStat`</td><td>XML original</td><td>Status fiscal</td></tr><tr><td>`xMotivo`</td><td>XML original</td><td>Retorno da SEFAZ</td></tr><tr><td>`verEvento`</td><td>Fixo (`1.00`)</td><td>Versão do layout</td></tr><tr><td>`descEvento`</td><td>Fixo (`Cancelamento`)</td><td>Tipo do evento</td></tr><tr><td>`xEvento`</td><td>Fixo (`CANCELAMENTO`)</td><td>Descrição padronizada</td></tr><tr><td>`verAplic`</td><td>XML original</td><td>Versão da aplicação SEFAZ</td></tr></tbody></table>

<div contenteditable="false" id="bkmrk--27">---

</div>## ⚠️ Importante

Alterar qualquer um desses campos pode:

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

<div contenteditable="false" id="bkmrk--28">---

</div># 🟡 2. Campos editáveis com restrição

Esses campos podem ser alterados, **mas com cuidado**.

<div contenteditable="false" id="bkmrk--29">---

</div>## 🔹 `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

<div contenteditable="false" id="bkmrk--30">---

</div>## 🔹 `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

<div contenteditable="false" id="bkmrk--31">---

</div># 🟢 3. Campos editáveis seguros

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

<div contenteditable="false" id="bkmrk--32">---

</div>## 🔹 `tpEvento`

### ✔ Padrão:

```
110111
```

### ✔ Pode ser alterado?

**Não recomendado**

### ⚠️ Motivo:

- `110111` = Cancelamento
- Alterar muda completamente o tipo do evento

<div contenteditable="false" id="bkmrk--33">---

</div>## 🔹 `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

<div contenteditable="false" id="bkmrk--34">---

</div># 🧠 4. Resumo Geral

<table id="bkmrk-campo-pode-alterar%3F-"><tbody><tr><td>Campo</td><td>Pode alterar?</td><td>Nível de risco</td></tr><tr><td>`xJust`</td><td>✔ Sim</td><td>Médio</td></tr><tr><td>`dhEvento`</td><td>✔ Sim</td><td>Médio</td></tr><tr><td>`nSeqEvento`</td><td>✔ Sim</td><td>Baixo</td></tr><tr><td>`tpEvento`</td><td>⚠ Não recomendado</td><td>Alto</td></tr><tr><td>Demais campos</td><td>❌ Não</td><td>Crítico</td></tr></tbody></table>

<div contenteditable="false" id="bkmrk--35">---

</div># 🎯 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)

<div contenteditable="false" id="bkmrk--36">---

</div># 🏁 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.