CST em IPINT: domínio do IPI e compatibilidade com cEnq
<CST>det › imposto › IPI › IPINT › CSTRevisã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