vICMSSTRet no ICMS60: valor do ICMS-ST cobrado antes
<vICMSSTRet>det › imposto › ICMS › ICMS60 › vICMSSTRetRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vICMSSTRet em ICMS60 é o valor do ICMS-ST cobrado anteriormente por substituição tributária. É um valor monetário histórico associado à mercadoria do item. Não equivale à base de cálculo, ao ICMS próprio do substituto ou ao valor efetivo da operação atual.
Caminho desta página: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSTRet. O prefixo nfeProc identifica o XML processado; no XML da NF-e antes do protocolo, o percurso começa em NFe. O campo pertence ao item det, não aos totais.
Neste artigo
- Qual documento sustenta o imposto retido anteriormente?
- Por que não basta multiplicar a base por pST?
- Quando o campo participa da rejeição 938?
- Como o valor aparece no XML?
- Esse valor entra automaticamente no total vST da nota?
Qual documento sustenta o imposto retido anteriormente?
A definição do MOC aponta para o ICMS-ST cobrado anteriormente; a conferência precisa dos documentos e registros que sustentam essa retenção para a mercadoria e quantidade abrangidas. Se não há essa informação, o campo não pode ser preenchido por uma estimativa baseada no preço atual.
O manual registra que o valor pode ser omitido quando a legislação não exige sua informação. Essa condição não remove a exigência de um filho dentro da sequência iniciada nem afasta uma N12-81 aplicável. Se a saída representa parcela de um documento anterior, confirme a correspondência e os critérios de atribuição com o responsável contábil; não faça rateio presumido. Fontes: MOC 7.0, Anexo I, p. 34; NT 2018.005 v 1.52, p. 14.
Por que não basta multiplicar a base por pST?
vBCSTRet é a base anterior; pST é a alíquota suportada, incluindo FCP incidente; vICMSSubstituto é o próprio do substituto; vICMSSTRet é a retenção ST. Essas definições não fornecem uma fórmula universal de reconstrução do valor histórico a partir de dois campos isolados.
No exemplo, base 1.000,00 e pST 20% produzem 200,00 como multiplicação aritmética. O cenário histórico assume próprio do substituto 90,00,ST 90,00 e FCP 20,00. Esses dados são coerentes como hipóteses demonstrativas, mas a identidade aritmética não estabelece uma regra fiscal para todas as operações. Copiar 200,00 para ST ignoraria a distinção de parcelas; subtrair um valor atual arbitrário também não resolve a origem histórica. Fontes: MOC 7.0, Anexo I, p. 34; NT 2018.005 v 1.52, p. 14.
Quando o campo participa da rejeição 938?
A sequência opcional da retenção anterior contém vBCSTRet, pST, vICMSSubstituto e vICMSSTRet. No XSD, os campos base, alíquota e ICMS retido são obrigatórios se essa sequência existir; vICMSSubstituto tem ocorrência própria 0–1. Essa distinção não elimina uma exigência contextual: a N12-81 pode exigir as quatro informações na NF-e modelo 55 com CST 60 e indFinal=0, conforme implementação da UF, gerando a rejeição 938.
A NT 2018.005 v 1.52, pp. 4 e 7, registra a exclusão do modelo 65 dessa regra; na tabela da p. 22, /65 está tachado. A extração textual que simplesmente reproduz 55/65 perde essa marca. Não aplique 938 a uma NFC-e apenas pela presença do campo no esquema compartilhado. Os dados devem corresponder à retenção anterior documentada para a mercadoria, não ser criados a partir de uma alíquota atual ou do preço da venda. Fontes: NT 2018.005 v 1.52, pp. 4, 7, 14, 22; pacote oficial PL 010f, ICMS60.
A regra de retenção anterior e a N12-82 das informações efetivas não devem ser fundidas: 938 trata dados anteriores em operação não final no modelo 55; 906 trata o bloco efetivo em operação final, com condições e modelos próprios.
Como o valor aparece no XML?
O tipo TDec_1302 é monetário. O valor ST anterior fecha o primeiro bloco opcional de ICMS60, depois de pST e do campo próprio do substituto quando este existe. O bloco exige base, pST e valor ST; vICMSSubstituto é opcional no XSD, sem afastar exigência contextual.
Trecho parcial com dados históricos fictícios, não uma NF-e pronta:
<ICMS60 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>60</CST>
<vBCSTRet>1000.00</vBCSTRet>
<pST>20.0000</pST>
<vICMSSubstituto>90.00</vICMSSubstituto>
<vICMSSTRet>90.00</vICMSSTRet>
<vBCFCPSTRet>1000.00</vBCFCPSTRet>
<pFCPSTRet>2.0000</pFCPSTRet>
<vFCPSTRet>20.00</vFCPSTRet>
<pRedBCEfet>10.0000</pRedBCEfet>
<vBCEfet>450.00</vBCEfet>
<pICMSEfet>18.0000</pICMSEfet>
<vICMSEfet>81.00</vICMSEfet>
</ICMS60>
90.00 em vICMSSTRet é imposto anterior, não percentual. Não use vírgula, moeda ou sinal negativo; ausência não se converte em zero. O mesmo nome em ICMSSN500 ou ICMSST pertence a outra alternativa e deve ser tratado no XPath correspondente. Fonte: pacote oficial PL 010f, ICMS60; MOC 7.0, Anexo I, p. 34.
Esse valor entra automaticamente no total vST da nota?
A W06-10 do MOC confere o total vST com itens de ID N23, associado a vICMSST, imposto-ST da operação. vICMSSTRet é ID N27 e informa retenção anterior. Por isso, não o some automaticamente como nova ST no total vST apenas porque o nome contém ST.
Para investigar uma divergência, separe item, família de imposto e regra de totalização; compare também FCP anterior e o valor efetivo em seus campos próprios. Corrija a importação, a correspondência histórica ou o mapeamento cuja falha foi demonstrada. Se falta documento anterior, identifique exatamente qual retenção e quantidade precisam ser confirmadas, levando os registros ao responsável contábil. Gere novo XML de teste, preserve o assinado e não troque CST ou consumidor final para fazer o valor coincidir. Fontes: MOC 7.0, Anexo I, pp. 34, 120; NT 2018.005 v 1.52, p. 22.
Fontes oficiais
- MOC 7.0 — Anexo I, Leiaute e Regras de Validação NF-e/NFC-e — 7.00, novembro/2020; pp. 33–35 grupo N08; pp. 112–113 N23-10, N27b-10/N27b-20/N27d-10; pp. 120 e 140 totais.
- Nota Técnica 2018.005 — Alteração de leiaute NF-e/NFC-e — 1.52, julho/2025; pp. 4 e 7 histórico; pp. 14–15 grupo ICMS60; p. 22 regras N12-81/N12-82.
- Schemas NF-e/NFC-e — Leiaute NF-e 4.00 — PL_010f_v1.04, catálogo publicado 31/08/2026; ICMS53 linhas 2953–3018; ICMS60 linhas 3019–3111; tipo Torig; sequência e minOccurs.
- Tipos básicos NF-e 4.00 — PL_010f_v1.04; TDec_1104v, TDec_1302, TDec_0302a04, TDec_0302a04Opc, TDec_0302a04Max100.
Leituras relacionadas
- vBCSTRet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vBCSTRet. - pST em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pST. - vICMSSubstituto em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSubstituto. - vICMSEfet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSEfet.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSTRet- 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
- TDec_1302 · 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|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve