CST 90 no ICMS90: código, origem, CRT e diferenças do CSOSN
<CST>det › imposto › ICMS › ICMS90 › CSTRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
CST dentro de ICMS90 recebe exclusivamente 90, código de situação tributária do ICMS identificado como “Outras”. O campo tem dois dígitos; não recebe 090, 900 nem uma descrição textual. A origem da mercadoria fica em outra tag, orig.
Neste artigo:
- Por que aparecem 90, 090 e 900 em sistemas?
- O regime e o modelo permitem o mesmo grupo?
- CST 90 significa ICMS zero ou ausência de cálculo?
- Como diagnosticar incompatibilidade de CST?
- Exemplo XML sintético
- Conferência técnica e limite da orientação
Por que aparecem 90, 090 e 900 em sistemas?
Algumas exibições combinam origem e CST. Nesse caso, uma apresentação “090” pode reunir origem 0 e CST 90, mas no XML as informações permanecem separadas. Já CSOSN 900 tem três dígitos e pertence a ICMSSN900/CSOSN, com regime e estrutura distintos. Não trunque 900 para obter 90 nem coloque o dígito de origem dentro de CST. Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I, Leiaute e Regras de Validação
Na NF-e modelo 55, N12-70/508 verifica a incompatibilidade de CST quando o destinatário está informado como não contribuinte (indIEDest=9). A relação geral contém CST 00, 20, 40, 41, 60 e 61; não contém 90. Para o CST 90, confira as exceções gerais: nota de entrada (tpNF=0), existência de ao menos um item de veículo novo no grupo veicProd e, em produção, emissão anterior a 01/07/2016. As exceções específicas dos CST 30, 50 ou 51 não se estendem automaticamente ao 90. Antes de alterar o cadastro ou a emissão, confronte a condição real do destinatário, o tipo da operação, a data e os grupos da nota; não modifique dados verdadeiros para contornar a rejeição. NT 2023.001 v1.60, p. 35, N12-70/508
O regime e o modelo permitem o mesmo grupo?
A condição de CRT precisa ser obtida de emit/CRT, e não inferida apenas do nome do cadastro. N12-20/590, atualizada pela NT 2024.001, considera CRT 1 ou 4 e a informação de CST, com exceções para determinados CST monofásicos que não incluem 90. Na NFC-e, N12-30/766 permite o CST 90 a critério da UF; N12-34/381 veda o bloco de ST iniciado por modBCST. Ser aceito pelo XSD de modelo compartilhado não elimina essas validações. NT 2024.001 — CRT=4 (MEI) e Denegação NT 2023.001 — Tributação monofásica sobre combustíveis MOC 7.0 — Anexo I, Leiaute e Regras de Validação
CST 90 significa ICMS zero ou ausência de cálculo?
Não. A alternativa permite sequências de operação própria, diferimento, FCP, ST e desoneração. O fato de algumas sequências serem opcionais não diz quais são devidas na operação. Um ICMS90 com apenas orig e CST pode ser estruturalmente possível; isso não comprova que a nota esteja fiscalmente correta. A presença de imposto próprio, por sua vez, exige o bloco correspondente com modBC, vBC, pICMS e vICMS na ordem prevista. Schemas NF-e/NFC-e PL_010f_v1.04 NT 2022.002 — Equiparação à exportação e outras alterações
Como diagnosticar incompatibilidade de CST?
Confira primeiro o XPath, o item, o modelo e CRT efetivo. Compare a parametrização do item com o fundamento contábil e com os demais indicadores citados no retorno. No caso de 766, confira a autorização da UF para CST 90; no 381, confira a presença de modBCST na NFC-e. Não altere o CST verdadeiro apenas para substituir uma rejeição por autorização. Depois de confirmada a parametrização, gere novamente pelo emissor e valide o arquivo; não edite XML já assinado. MOC 7.0 — Anexo I, Leiaute e Regras de Validação NT 2024.001 — CRT=4 (MEI) e Denegação NT 2023.001 — Tributação monofásica sobre combustíveis
Exemplo XML sintético
Neste fragmento sintético, orig=0 representa a hipótese nacional e CST=90 continua com dois dígitos. A base de R$ 1.000,00 a 18% produz R$ 180,00. O exemplo demonstra a separação dos campos; não indica qual CST uma empresa deve adotar.
<ICMS90 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>90</CST>
<modBC>3</modBC>
<vBC>1000.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>180.00</vICMS>
</ICMS90>
Este é um fragmento completo do grupo ICMS90, parcial em relação à nota. Ele demonstra forma e dependências, sem assinatura, documento completo ou autorização fiscal. Não deve ser enviado como nota pronta.
Conferência técnica e limite da orientação
Para localizar o campo em XML de nota processada, use /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS90/CST com o namespace http://www.portalfiscal.inf.br/nfe. No XML de NFe sem o envelope nfeProc, o caminho começa em NFe/infNFe. Compare o item correto; campos de mesmo nome em outro CST ou nos totais têm contexto diferente.
Os parâmetros que exigem confirmação são: enquadramento CST/CSOSN, CRT real, aceitação da UF no modelo 65. Reúna a documentação da operação, a UF, a data de emissão e a memória de cálculo. Após definidos esses parâmetros, confira a geração e os valores do exemplo com os dados reais. O artigo explica a representação técnica; não escolhe enquadramento, alíquota ou benefício para a empresa. XML bem formado ou válido no XSD não comprova autorização. O pacote PL_010f_v1.04 define a estrutura examinada; a implantação de cada regra depende do cronograma específico, do modelo e da UF. Schemas NF-e/NFC-e PL_010f_v1.04
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS90/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
90- whiteSpace
preserve