Bloco ide
O bloco ide contém os dados de identificação da NFC-e, como o tipo de operação, número da nota, série, modelo, data/hora de emissão, UF, entre outros. Ele é fundamental para o correto processamento e validação da nota.
📌 Campos obrigatórios
| Campo | Descrição | Tipo/Formato | Valores Possíveis / Exemplo |
|---|---|---|---|
cUF | Código da UF do emitente | int (2 dígitos) | Ex: 41 (Paraná), 35 (São Paulo), conforme tabela do IBGE |
cNF | Código numérico aleatório para compor a chave de acesso | string (8) | Ex: 10394857 |
natOp | Natureza da operação | string (1-60) | Ex: "VENDA" |
mod | Modelo do documento fiscal | string (2) | 65 (NFC-e) |
serie | Série do documento fiscal | int (1-3) | Ex: 1 |
nNF | Número da NFC-e | int (1-9) | Ex: 1, 123, 456789 |
dhEmi | Data/hora de emissão em UTC (formato padrão ISO 8601) | dateTime | Ex: 2025-04-23T13:10:00-03:00 |
tpNF | Tipo de operação | int | 1 = Saída (venda); 0 = Entrada (retorno ou devolução) |
idDest | Identificador do local de destino | int | 1 = Operação interna; 2 = Interestadual |
cMunFG | Código do município do emitente (onde ocorreu o fato gerador) | int (7) | Código IBGE do município, Ex: 4115705 (Matinhos - PR) |
tpImp | Formato de impressão | int | 4 = DANFE NFC-e em formato simplificado |
tpEmis | Tipo de emissão | int | 1 = Normal (online); outros valores para contingência |
cDV | Dígito verificador da chave de acesso | int (1) | Calculado com módulo 11 sobre a chave sem o dígito |
tpAmb | Ambiente de emissão | int | 1 = Produção; 2 = Homologação |
finNFe | Finalidade de emissão | int | 1 = NFC-e normal; 4 = NFC-e de devolução |
indFinal | Indicador de consumidor final | int | 1 = Consumidor final |
indPres | Indicador de presença do comprador | int | 1 = Presencial; 4 = NFC-e delivery; 9 = não se aplica |
procEmi | Processo de emissão | int | 0 = Emissão por aplicativo do contribuinte |
verProc | Versão do processo de emissão | string (1-20) | Ex: "1.0.0" |
📥 Campos opcionais (condicionais)
| Campo | Descrição | Tipo/Formato | Observações / Exemplo |
|---|---|---|---|
dhSaiEnt | Data/hora de saída/entrada do produto | dateTime | Usado em alguns modelos 55. Não utilizado na NFC-e |
indIntermed | Indicador de operação com intermediador (marketplace) | int | 0 = Sem intermediador; 1 = Com intermediador |
NFref | Referência a uma NF-e ou NFC-e anterior | list | Lista de blocos NFref. Utilizado em devoluções ou ajustes |
indPag | Indicador da forma de pagamento (pré ou à vista) | int | 0 = pagamento à vista; 1 = a prazo |
idEstrangeiro | Identificação do comprador estrangeiro (casos de exportação) | string | Raramente usado em NFC-e |
🧾 Geração da Chave de Acesso
A chave de acesso de uma NFC-e é composta por 44 dígitos:
cUF (2) + AAMM (4) + CNPJ (14) + mod (2) + serie (3) + nNF (9) + tpEmis (1) + cNF (8) + cDV (1)
Exemplo:
41 2504 12345678000195 65 004 000000123 1 12345678 9
O dígito verificador (cDV) é calculado com módulo 11 da chave sem o último dígito.
⚠️ Importância da Ordem dos Campos
A estrutura XML da NFC-e deve seguir rigorosamente a ordem definida no XSD oficial. Qualquer desvio resulta em rejeição da nota pelo validador da SEFAZ. Os campos devem estar dispostos exatamente como exigido na sequência do schema.
✅ Exemplo de bloco ide válido
<ide>
<cUF>41</cUF>
<cNF>12345678</cNF>
<natOp>VENDA</natOp>
<mod>65</mod>
<serie>4</serie>
<nNF>1</nNF>
<dhEmi>2025-04-23T13:10:00-03:00</dhEmi>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>4115705</cMunFG>
<tpImp>4</tpImp>
<tpEmis>1</tpEmis>
<cDV>9</cDV>
<tpAmb>2</tpAmb>
<finNFe>1</finNFe>
<indFinal>1</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>1.0.0</verProc>
</ide>