CEST na NF-e: formato, NCM e exigência de informação
<CEST>det › prod › CESTRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
CEST é o Código Especificador da Substituição Tributária, informado em /nfeProc/NFe/infNFe/det/prod/CEST. Ele identifica bens e mercadorias nos segmentos do Convênio ICMS 142/18. Possui sete dígitos: dois para o segmento, três para o item e dois para a especificação. O código identifica a mercadoria; sua presença, isoladamente, não demonstra que uma operação concreta recolhe ICMS por substituição tributária.
O código depende de NCM e descrição
A tabela do convênio relaciona segmento, CEST, NCM/SH e descrição. A mesma NCM pode conter produtos com descrições diferentes, e uma posição abrangente pode exigir a leitura da descrição para delimitar a mercadoria. Por isso uma pesquisa que retorna um CEST apenas pelo NCM ainda precisa ser confrontada com composição, função, apresentação e características do produto. A incidência concreta também depende da legislação e dos acordos aplicáveis à operação e às UFs envolvidas. Convênio 142/18, cláusulas segunda, sexta e sétima.
O emitente deve obter o código confirmado a partir da caracterização do produto e da tabela oficial. A nota do fornecedor ajuda a localizar a informação, mas não é prova suficiente se o produto, a apresentação ou a classificação forem diferentes. O artigo não escolhe NCM, CEST ou tratamento tributário para o leitor.
Obrigatoriedade documental e sequência XML
No XSD, o bloco que contém CEST, indEscala e CNPJFab é opcional. Quando ele é usado, CEST é o primeiro campo obrigatório dessa sequência; os outros dois possuem condições próprias. Não é correto deduzir desse bloco que todo produto deve ter CEST, nem que a condição fiscal fica dispensada por a sequência ser opcional.
O Convênio 142/18 trata da indicação do CEST no documento fiscal para bens e mercadorias relacionados em seus anexos, inclusive quando a operação não esteja sujeita à substituição tributária. A verificação deve contemplar o item efetivamente abrangido e as condições legais; código e tributação não são sinônimos. Na modalidade porta a porta, o § 1º da cláusula vigésima prevê o CEST do Anexo XXVI, ainda que a mercadoria conste dos Anexos II a XXV. Essa condição deve ser conferida antes de reaproveitar um código encontrado somente por NCM. Cláusula vigésima.
Como representar os sete dígitos
O fragmento sintético abaixo mostra somente o formato, com um código usado apenas para ilustrar a serialização, sem demonstrar o enquadramento de uma mercadoria real. Não é uma recomendação de código e não está pronto para transmissão.
<prod xmlns="http://www.portalfiscal.inf.br/nfe">
<!-- Campos anteriores omitidos -->
<CEST>0100100</CEST>
<!-- Restante do produto omitido -->
</prod>
No XML não há pontos separadores. Um código exibido como 01.001.00 vira 0100100, preservando o zero inicial. Isso é serialização, não cálculo. Armazená-lo como número inteiro pode perder essa informação.
Diagnóstico: falta, inexistência e incompatibilidade são problemas diferentes
A regra N23-10 do MOC, modelo 55, verifica a ausência de CEST em itens com determinados CST/CSOSN relacionados a ICMS-ST: CST 10, 30, 60 e 70; CST 90 quando vICMSST difere de zero; CSOSN 201, 202, 203 e 500; CSOSN 900 quando vICMSST difere de zero. Há exceção quando informado o grupo ICMSPart. A mensagem é 806. O diagnóstico compara esses campos no mesmo item; não se troca CST para eliminar a exigência.
A NT 2020.005 também documenta I05c-10/446 para CEST inexistente, mas registra expressamente a regra desabilitada, aguardando publicação da tabela de códigos válidos. A existência do código na tabela é uma questão diferente de sua ausência; a descrição histórica não é prova de que 446 esteja aplicada universalmente hoje. Já as antigas regras do cadastro GTIN não devem ser transportadas automaticamente: na NT 2021.003 v1.50, a verificação de CEST do GTIN comercial 9I03-30 permanece adiada sem data, e a verificação correspondente de cEANTrib 9I12-30 foi eliminada. Isso não dispensa a classificação correta nem autoriza tratar 892/896 como validações universais ativas.
Para conferir uma divergência, preserve resposta, XML e nItem; veja se o código está ausente, truncado ou com máscara; compare tabela, descrição e NCM vigente; confira os parâmetros tributários já definidos e o cadastro GTIN quando a regra realmente o utilizar. Se faltar a caracterização técnica da mercadoria ou a conclusão tributária da operação, essas são as informações que precisam ser confirmadas. Não complete com zeros ou escolha um CEST de produto semelhante para forçar autorização.
Fontes oficiais
- MOC 7.0 — Anexo I — 7.00; p.18 I05c; p.112 N23-10.
- Schemas NF-e/NFC-e — PL_010c_NT2022_002v1.30; sequência CEST/indEscala/CNPJFab.
- Convênio ICMS 142/18 — texto consolidado consultado em 26/09/2026; cláusulas 6ª,7ª e 20ª.
- NT 2020.005 — Leiaute e Validações — 1.21; seção 2.2.1/I05c-10.
- NT 2021.003 — Validação GTIN — 1.50; pp.4–5 e 12–13, eliminações/adiamento.
Leitura relacionada
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/CEST- 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.
- pattern
[0-9]{7}- whiteSpace
preserve