pST no ICMS60: alíquota suportada e inclusão do FCP
<pST>det › imposto › ICMS › ICMS60 › pSTRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
pST em ICMS60 é a alíquota suportada pelo consumidor final no cálculo do ICMS-ST anterior, já incluindo o Fundo de Combate à Pobreza quando incidente. Por isso, não deve ser interpretada automaticamente como apenas a alíquota interna do ICMS ou como o percentual do fundo isolado.
Caminho desta página: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pST. 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
- Como o FCP entra na alíquota suportada?
- De quais informações anteriores pST depende?
- Qual é a diferença de pFCPSTRet e pICMSEfet?
- Como representar pST no XML?
- Como investigar rejeição 938 ou percentual divergente?
Como o FCP entra na alíquota suportada?
O MOC e a NT 2018.005 apresentam o exemplo: 18% de ICMS e 2% de FCP resultam em pST 20%. A soma descreve a composição quando ambos incidem nesse cenário; os números não são alíquotas recomendadas para o leitor. Se FCP não incide, a condição de inclusão não existe, mas a alíquota real ainda precisa ser confirmada.
O bloco FCP anterior separa vBCFCPSTRet, pFCPSTRet e vFCPSTRet. Essa separação não significa somar novamente 2 pontos a pST 20. Também não significa que a ST em dinheiro equivale sempre a base×20%: a representação anterior inclui o ICMS próprio do substituto e parcelas distintas. Fontes: MOC 7.0, Anexo I, p. 34; NT 2018.005 v 1.52, p. 14.
De quais informações anteriores pST depende?
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.
Qual é a diferença de pFCPSTRet e pICMSEfet?
pFCPSTRet identifica somente o percentual do FCP cobrado anteriormente. pICMSEfet é a alíquota da operação própria do substituído no cenário de regime comum. No exemplo demonstrativo, pST 20 é composto por 18+2 da retenção; pFCPSTRet 2 identifica o fundo; pICMSEfet 18 atua sobre a base efetiva 450,00 para gerar 81,00.
A coincidência do número 18 em dois contextos não demonstra equivalência de parâmetros. Não calcule automaticamente pICMSEfet por pST−pFCPSTRet: os documentos e a operação podem ser distintos. O campo pICMSST de outros grupos também tem contexto próprio de ST, diferente do histórico aqui representado. Fontes: MOC 7.0, Anexo I, pp. 34–35; NT 2018.005 v 1.52, pp. 14–15.
Como representar pST no XML?
O campo usa TDec_0302a04Opc: até 3 dígitos inteiros e, quando houver fração,2 a 4 casas. 20.0000 representa 20%; não use 20%, vírgula decimal nem 0.20 para expressar 20%. Ele vem depois de vBCSTRet e antes do valor próprio opcional do substituto e de vICMSSTRet.
Fragmento parcial de grupo, com parâmetros e valores anteriores fictícios; os valores monetários anteriores são hipóteses documentais do exemplo, não uma fórmula geral:
<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>
Se a sequência anterior é informada, pST é estruturalmente obrigatório nela. O padrão literal admite 0.00, mas esse fato não define uma alíquota fiscal válida ou autoriza zero por falta de documento. Fonte: pacote oficial PL 010f, ICMS60 e tipos básicos.
Como investigar rejeição 938 ou percentual divergente?
Na NF-e 55 com CST 60 e indFinal 0, confira a N12-81 e a implementação da UF. Localize base anterior, pST, ICMS próprio do substituto e ICMS-ST anterior no XML do item. O fato de o XSD permitir omitir vICMSSubstituto não elimina a exigência contextual da regra.
Se o percentual diverge dos documentos, confira se o sistema ignorou FCP incidente, adicionou o fundo duas vezes ou usou uma alíquota de outra data/operação. Registre retenção original, produto, unidade, data, UFs, regime e parâmetro cadastrado; confirme a causa antes de corrigir. A N12-81 não se aplica ao modelo 65 na versão visualmente conferida. Não altere indFinal, CST ou valores históricos para eliminar a mensagem.
O responsável contábil precisa confirmar a composição fiscal e sua incidência. Após essa definição, ajuste o cadastro ou mapeamento comprovadamente errado e compare novo XML de teste, preservando o arquivo assinado. A versão 1.52 da NT 2018.005 também altera cronograma de responsável técnico; isso não é nova vigência geral de pST. Fontes: NT 2018.005 v 1.52, pp. 4, 7, 14, 22; MOC 7.0, Anexo I, p. 34.
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. - vICMSSubstituto em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSubstituto. - vICMSSTRet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSTRet. - pFCPSTRet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pFCPSTRet. - pICMSEfet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pICMSEfet.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pST- 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_0302a04Opc · 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-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?- whiteSpace
preserve