Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · IPI, II e ISSQN

CST em IPINT: domínio do IPI e compatibilidade com cEnq

<CST>det › imposto › IPI › IPINT › CST

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

O CST em IPINT informa qual situação de IPI está sendo representada nesse ramo. É um código de duas posições, com domínio próprio. A consulta ao domínio ajuda a interpretar e validar a representação; a escolha do tratamento depende da operação e de sua documentação.

Domínio e significado de cada código

O XPath é /nfeProc/NFe/infNFe/det/imposto/IPI/IPINT/CST, no namespace http://www.portalfiscal.inf.br/nfe. O CST é o único filho obrigatório de IPINT. O MOC e a enumeração do XSD incluem dez códigos. MOC, p. 51 e IPINT/CST no XSD

Código Descrição técnica
01 Entrada tributada com alíquota zero
02 Entrada isenta
03 Entrada não tributada
04 Entrada imune
05 Entrada com suspensão
51 Saída tributada com alíquota zero
52 Saída isenta
53 Saída não tributada
54 Saída imune
55 Saída com suspensão

Alíquota zero, isenção, não tributação, imunidade e suspensão não são nomes intercambiáveis para um imposto de valor zero. A tabela reproduz os significados do domínio, sem indicar o código cabível ao leitor. Não selecione pela ausência de valor calculado ou apenas por ser entrada ou saída: isso não resolve o fundamento fiscal.

O título resumido de O08 no MOC não lista todos os dez códigos. A descrição completa de CST e as enumerações de TIpi incluem também 05, 54 e 55. Não restrinja o domínio com base naquele título abreviado.

Dois caracteres e um ramo específico

No XSD oficial arquivado PL 010d v1.03, CST é uma string enumerada. Preserve os dois caracteres: 01 não é 1, e 05 não é 5. Não use espaço, descrição textual no lugar do código ou formatação decimal como 1.00. TIpi, linhas 7650–7679

A conversão automática para inteiro pode apagar o zero inicial antes da geração do XML. Para diagnosticar, compare o valor na definição fiscal, o valor no objeto de geração e o texto final no XML. O código precisa continuar dentro do domínio nesse caminho.

Há outro CST em IPI/IPITrib/CST, que admite 00, 49, 50 e 99. Por exemplo, 50 é do domínio de IPITrib e não atende à enumeração de IPINT. Isso identifica uma incoerência de ramo/código; não autoriza trocar para um dos códigos de IPINT. Confirme primeiro qual situação foi definida. A página de CST em IPITrib trata do outro caminho.

cEnq também é diferente: identifica enquadramento legal e fica no pai IPI, antes do ramo. Não é uma extensão do CST, nem um número que possa ser obtido concatenando o código da situação.

Compatibilidade com cEnq não é enquadramento automático

O09-10 do MOC é obrigatória para modelo 55 e verifica estas relações:

CST em IPINT Faixa de cEnq da validação
02 ou 52 — isenção 301–399
04 ou 54 — imunidade 001–099
05 ou 55 — suspensão 101–199

Quando o enquadramento estiver fora da faixa pertinente, a regra prevê retorno 388. Há exceção em produção para NF com data de emissão anterior a 01/04/2016. O teste não deve ser estendido automaticamente a modelos ou situações que não estejam descritos na regra. MOC, p. 118

Suponha uma NF-e modelo 55 com emissão atual e parâmetros informados como CST 52 e cEnq 001. A verificação é objetiva: 52 está ligado à faixa 301–399 na regra, e 001 está fora dessa faixa. Isso explica a incompatibilidade; não determina qual dos parâmetros da operação está incorreto nem qual código deve substituí-lo.

A faixa também não declara que todo número nela seja um enquadramento válido ou cabível. O06-10, obrigatória para modelo 55 e com retorno 387, verifica código de enquadramento inválido conforme a tabela. É necessário conferir o código específico, a descrição e o fundamento da operação. A compatibilidade numérica não comprova direito a isenção, imunidade ou suspensão.

Exemplo e roteiro de conferência

Apenas para mostrar a preservação do zero, suponha que uma operação fictícia já tenha sido definida como CST 01. O fragmento abaixo mostra IPINT; omite o pai IPI, cEnq e o restante da nota. É parcial e sintético, não está pronto para transmissão e não recomenda CST 01 para uma operação real.

<IPINT xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>01</CST>
</IPINT>

O texto registra dois caracteres e o código está no domínio. Não existem campos de cálculo nesse ramo. Inserir vIPI=0.00 aqui não é uma forma alternativa de representar a situação.

Para conferir uma divergência, identifique o item e a operação, obtenha a definição documental de CST e cEnq, verifique se o ramo gerado corresponde a ela e preserve o texto do código. Depois separe erro de enumeração, enquadramento inválido e incompatibilidade de faixa.

A presença de IPI também possui uma validação de contexto: O01-10, obrigatória e com retorno 742, alcança NFC-e ou NF-e com DANFE Simplificado Tipo 2, tpImp=6. A ampliação ao Tipo 2 tem produção prevista em 03/08/2026, anterior ao corte de 27/09/2026. Um CST de IPINT não elimina a presença do grupo IPI. NT 2026.002, pp. 3 e 17

Consulte IPINT para a estrutura e cEnq para o enquadramento. A referência 010d usada aqui é histórica e foi confrontada com NTs posteriores. O guia não escolhe tratamento tributário nem benefício: ele permite conferir com precisão a representação de uma escolha já fundamentada.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/IPI/IPINT/CST
Namespace
http://www.portalfiscal.inf.br/nfe
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
1–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.

enumeration
01
enumeration
02
enumeration
03
enumeration
04
enumeration
05
enumeration
51
enumeration
52
enumeration
53
enumeration
54
enumeration
55
whiteSpace
preserve