vICMSEfet no ICMS60: cálculo do imposto efetivo do item
<vICMSEfet>det › imposto › ICMS › ICMS60 › vICMSEfetRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vICMSEfet em ICMS60 é o valor de ICMS que corresponde à operação própria do substituído considerada no regime comum de tributação. Ele resulta da base efetiva multiplicada pela alíquota efetiva. Não é o valor do ICMS-ST cobrado anteriormente nem, por si só, um valor a pagar ou restituir.
Caminho desta página: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSEfet. 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
- O que representa a informação efetiva?
- Como calcular e conferir o imposto efetivo?
- Como distinguir valor efetivo de imposto anterior?
- Qual formato o valor usa no XML?
- Como diagnosticar rejeição 906 e valor divergente?
O que representa a informação efetiva?
O campo N37 expressa o resultado monetário da base efetiva pela alíquota efetiva, no cenário próprio do contribuinte substituído em regime comum. Ler 81,00 nesse campo não demonstra que 81,00 será recolhido, creditado ou restituído. Essas decisões dependem de apuração e regras da UF que não se confundem com a presença da tag.
No XSD, o valor é o último dos quatro filhos da sequência efetiva. A N12-82 pode exigir todo o conjunto em CST 60, modelos 55/65, indFinal=1, a critério da UF; a ausência pode gerar 906. A antiga N33-10 está removida. Assim a conferência precisa tanto dos parâmetros quanto da presença dos quatro campos, sem transformar uma exigência de informação em escolha tributária. Fontes: MOC 7.0, Anexo I, pp. 35, 113; NT 2018.005 v 1.52, pp. 14–15, 22.
Como calcular e conferir o imposto efetivo?
Use um cenário fictício com vProd=500.00, redução 10%, vBCEfet=450.00 e pICMSEfet=18.0000. O imposto sem considerar essa redução seria 500,00×18%=90,00. A base já reduzida gera 450,00 ×(18÷100) =81,00. A diferença aritmética é 9,00 e, somada a 81,00, recompõe 90,00 nesse exemplo; essa identidade não cria direito à restituição.
Depois que 450,00 foi usada como base, reduzir 81,00 novamente por 10% descontaria a mesma redução pela segunda vez. Usar 500,00 diretamente ignoraria a base que o XML informa. Para verificar o resultado, confira qual base entrou na multiplicação e a conversão do percentual para fator. Em um cenário separado e previamente confirmado sem redução (pRedBCEfet=0.00), base 500,00 e alíquota 18% produziriam 90,00; não assuma esse cenário por ausência do parâmetro.
Os números são sintéticos, com precisão decimal e duas casas monetárias. A tolerância mencionada por outra regra do manual não se torna uma margem universal para vICMSEfet. Fontes: MOC 7.0, Anexo I, p. 35, N35–N37; NT 2018.005 v 1.52, pp. 14–15.
Como distinguir valor efetivo de imposto anterior?
vICMSSTRet informa ICMS-ST anterior; vICMSSubstituto informa ICMS próprio do substituto anterior; vFCPSTRet informa FCP anterior. vICMSEfet usa a base e alíquota do cenário efetivo da operação própria. Os documentos de origem e os períodos podem diferir.
No exemplo, a ST anterior 90,00 e o próprio anterior 90,00 são hipóteses históricas; o FCP 20,00 é demonstrado por 1.000×2%; o efetivo 81,00 é demonstrado por 450×18%. Não substitua 81 por 90 apenas para coincidir com uma retenção, nem some o fundo anterior ao valor efetivo por semelhança de imposto. Fontes: MOC 7.0, Anexo I, pp. 34–35; NT 2018.005 v 1.52, pp. 14–15.
Qual formato o valor usa no XML?
O tipo TDec_1302 aceita a representação monetária; no exemplo, 81.00 usa ponto e duas casas. O campo vem depois de pICMSEfet, como último filho do bloco efetivo. Não use percentual, símbolo de moeda, separador de milhar ou sinal negativo.
Trecho parcial com vProd=500.00, redução 10% e alíquota 18% fictícios; não é nota completa ou 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 bloco é opcional como sequência, mas exige redução, base, alíquota e valor quando informado. Um valor ausente não equivale a 0.00; um zero explícito também não decide o enquadramento. Fonte: pacote oficial PL 010f, ICMS60 e tipos básicos.
Como diagnosticar rejeição 906 e valor divergente?
Para 906, examine CST 60, indFinal=1, modelo 55/65, UF e a N12-82. A regra exige o conjunto efetivo quando implementada e aplicável; informar somente 81,00 não satisfaz a sequência. A N33-10 foi removida e não deve ser tratada como regra adicional vigente.
Para valor divergente, confira vProd, percentual de redução, base, alíquota e conversão do percentual para fator. Não altere o valor final sem corrigir a parcela que o produziu. Se o imposto e a base vieram de documentos diferentes, identifique e corrija o mapeamento. Confirme parâmetros faltantes com o responsável contábil levando produto, operação, data, UF, regime e fundamento do cenário; depois confira outro XML de teste e preserve o assinado. O artigo explica a representação e a conta, sem concluir a apuração da empresa. Fontes: NT 2018.005 v 1.52, p. 22; MOC 7.0, Anexo I, pp. 35, 113.
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
- vBCEfet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vBCEfet. - pICMSEfet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pICMSEfet. - pRedBCEfet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/pRedBCEfet. - vICMSSTRet em ICMS60 —
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSSTRet.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vICMSEfet- 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