Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · ICMS

pICMSEfet no ICMS60: alíquota da tributação efetiva

<pICMSEfet>det › imposto › ICMS › ICMS60 › pICMSEfet

Revisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

pICMSEfet no ICMS60 é a alíquota de ICMS da operação a consumidor final considerada como se estivesse submetida ao regime comum de tributação. Ela multiplica a base efetiva vBCEfet para formar vICMSEfet. Não é uma taxa efetiva obtida dividindo qualquer imposto anterior pelo preço de venda.

Caminho desta página: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pICMSEfet. 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 é o contexto da alíquota efetiva?

A alíquota efetiva descreve a tributação da operação própria a consumidor final como se fosse adotado o regime comum. Seu valor deve vir do parâmetro fiscal confirmado para produto, operação, data e UF; não é calculado pela razão entre a ST histórica e o preço atual.

O percentual integra uma sequência com redução, base e valor efetivos. No XSD, os quatro filhos são exigidos quando o bloco existe. A N12-82 pode exigir o conjunto em CST 60, modelos 55/65, indFinal=1, conforme implementação opcional da UF, com rejeição 906. A antiga N33-10 foi removida. A exigência contextual do conjunto não fornece uma alíquota padrão nem autoriza inferir crédito, complemento ou restituição. Fontes: NT 2018.005 v 1.52, pp. 14–15, 22; MOC 7.0, Anexo I, pp. 35, 113.

Como a alíquota entra no cálculo?

Assuma apenas para demonstrar a alíquota: vProd=500.00, redução confirmada fictícia 10% e base efetiva 450,00. Com alíquota fictícia 18%, o fator é 0,18 e o imposto é 450,00 ×0,18 =81,00. Se apenas a alíquota mudasse para 12%, mantendo a mesma base, o imposto seria 450,00 ×0,12 =54,00. A mudança foi na taxa; a redução e a base permaneceram iguais.

No XML, os percentuais são 18.0000 e 12.0000, respectivamente, não 0.18 ou 0.12. Converter para fração é uma operação aritmética. Para conferir, divida o imposto pela base apenas como teste da taxa aplicada quando a base for diferente de zero; isso não escolhe a alíquota que deveria ser usada fiscalmente. Use aritmética decimal e valores monetários de duas casas no exemplo, sem atribuir tolerância universal a essa relação. Fonte: MOC 7.0, Anexo I, p. 35, N36/N37.

Por que pICMSEfet pode diferir de pST?

pST pertence à retenção anterior e já inclui FCP quando incidente. pICMSEfet pertence ao cenário próprio efetivo da operação atual. Copiar a alíquota suportada 20% para a alíquota efetiva 18% do exemplo confundiria a origem dos parâmetros e mudaria o resultado de 81,00 para 90,00 sobre a mesma base 450,00.

Não há uma fórmula geral que obtenha pICMSEfet subtraindo pFCPSTRet de pST: essas informações podem vir de operações e condições diferentes. Confirme a alíquota efetiva aplicável e a documentação do cenário, sem inferi-la da retenção anterior ou do CST 60. Fontes: MOC 7.0, Anexo I, pp. 34–35; NT 2018.005 v 1.52, pp. 14–15.

Como a alíquota aparece no XML?

O tipo TDec_0302a04Opc admite até 3 dígitos inteiros e parte fracionária de 2 a 4 casas quando existente. Use 18.0000 para representar 18%, sem o símbolo de percentual, sem vírgula decimal e sem convertê-lo para 0.18 no XML. A conversão para 0,18 ocorre na aritmética, não no significado do campo.

O campo fica depois de vBCEfet e antes de vICMSEfet. A sequência efetiva é opcional, mas exige os quatro filhos quando presente. Trecho parcial sintético com vProd=500.00, sem validade como nota 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>

O nome Opc do tipo não decide se a informação deve faltar. O padrão de tipo aceita 0.00, mas essa aceitação estrutural não define uma alíquota fiscal apropriada nem autoriza usar zero por ausência de parâmetro. Fonte: pacote oficial PL 010f, ICMS60 e tipos básicos.

O que conferir em rejeição 906 ou valor inesperado?

Para 906, examine primeiro o modelo, CST 60, indFinal=1 e a implementação da N12-82 na UF. Confira os quatro campos efetivos no XML do item; ter somente pICMSEfet no cadastro ou o valor do imposto não satisfaz a estrutura completa. Não altere o indicador de consumidor final para ocultar a exigência.

Para diferença de valor, confira qual base foi multiplicada, como o percentual virou fator e se a alíquota veio do parâmetro efetivo correto. O valor ST anterior e o FCP anterior são outras parcelas. A antiga N33-10 foi removida; não atribua duas regras distintas ao mesmo sintoma sem documentação.

Se a alíquota não está definida, confirme com o responsável contábil produto, operação, data, UF, regime e o fundamento do cenário efetivo. Corrija o parâmetro ou mapeamento comprovadamente errado, gere outro XML e confira 450×18%=81 apenas quando esses forem os dados confirmados. Não edite XML assinado nem trate o artigo como cálculo de restituição. Fontes: NT 2018.005 v 1.52, p. 22; MOC 7.0, Anexo I, pp. 35, 113.

Fontes oficiais

Leituras relacionadas

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pICMSEfet
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