Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Produtos e serviços

CODIF na NF-e: autorização estadual e formato do código

<CODIF>det › prod › comb › CODIF

Revisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

CODIF é o campo para o código de autorização ou registro do CODIF, no grupo do combustível da NF-e. Seu caminho é /nfeProc/NFe/infNFe/det/prod/comb/CODIF. O MOC o relaciona ao Sistema de Controle do Diferimento do Imposto nas Operações com AEAC, Álcool Etílico Anidro Combustível, e orienta informar apenas quando a UF utilizar esse sistema. MOC 7.0, Anexo I (7.00)

Quando deve ser verificada a aplicação do CODIF?

A análise depende da UF, da operação e do registro ou autorização estadual efetivamente aplicável. O campo opcional do XSD não torna o CODIF exigível em toda venda de etanol ou de combustível. Antes de gerar a informação, confira a documentação estadual pertinente e o registro real da operação ou do agente.

O artigo explica a representação técnica. Ele não decide se há diferimento, qual CFOP usar ou se uma autorização estadual é necessária ao caso particular. Para confirmar essa aplicação, reúna UF, produto, natureza da operação, posição na cadeia e documento de autorização com o responsável contábil. Não preencha um número inventado para contornar uma validação.

CODIF é o mesmo que código ANP?

Não. cProdANP identifica a espécie de produto na tabela usada pela NF-e; CODIF representa uma autorização ou registro de outro sistema. NCM classifica mercadoria, CFOP descreve a natureza fiscal da operação e nenhum desses códigos é substituto do CODIF.

Ter cProdANP válido não prova existência de registro CODIF. Inversamente, um registro CODIF não dispensa o código ANP, a descrição nem UFCons, que continuam obrigatórios dentro de comb. A tag também não é um grupo de cálculo e não contém base, percentual ou valor de imposto.

Como representar o registro no XML?

O fragmento abaixo demonstra somente a sintaxe de um identificador fictício. É parcial em relação à nota; pressupõe que a aplicabilidade e o registro tenham sido confirmados. O número não representa autorização real.

<CODIF xmlns="http://www.portalfiscal.inf.br/nfe">000123456789012345678</CODIF>

Dentro de comb, o campo vem depois de vPart, quando este estiver presente, e antes de qTemp e UFCons. A ordem permanece importante mesmo quando os opcionais próximos são omitidos. Leiaute NF-e/NFC-e, pacote oficial PL 010f (PL_010f_v1.04)

Que formatos são aceitos?

O XSD trata CODIF como texto restrito a 1 a 21 dígitos. Não aceita letras, hífen, barras, espaços ou pontuação. Assim, o fato de um documento de origem apresentar máscara visual não significa que a mesma máscara faça parte da representação XML; confira a correspondência com o identificador verdadeiro.

Por ser um código, não uma medida, preserve zeros iniciais. Um número de até 21 dígitos pode ultrapassar a precisão exata de tipos numéricos comuns usados no frontend e em integrações. Transporte-o como identificador textual; não faça operações aritméticas, notação científica ou arredondamento. A estrutura numérica do pattern não transforma a natureza do dado em valor calculável.

Como diagnosticar ausência ou conteúdo inválido?

Primeiro diferencie erro estrutural de autorização. Uma string com 22 dígitos ou com pontuação falha no formato. Um registro de 21 dígitos pode passar nessa checagem e ainda não corresponder a uma autorização válida ou à operação pretendida.

Compare o valor do documento estadual com o cadastro e com o XML gerado. Confira perda de zeros, truncamento, conversão para número e troca acidental por cProdANP. Se a dúvida for exigência estadual, confirme a regra da UF e o contexto real; não deduza a exigência da mera existência da tag no leiaute. Corrija a origem comprovada e preserve o XML assinado original.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/prod/comb/CODIF
Namespace
http://www.portalfiscal.inf.br/nfe
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
0–1 no contexto do elemento pai
Tipo
inline:xs:string · string
Preenchimento no catálogo
Condicional

A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.

pattern
[0-9]{1,21}
whiteSpace
preserve