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

vBCEfet no ICMS60: formação e conferência da base efetiva

<vBCEfet>det › imposto › ICMS › ICMS60 › vBCEfet

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

vBCEfet em ICMS60 é a base de cálculo que seria atribuída à operação própria do contribuinte substituído caso estivesse submetida ao regime comum. O manual descreve sua formação a partir de vProd e do percentual de redução efetiva. Ela não é a base da retenção anterior apenas renomeada.

Caminho desta página: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS60/vBCEfet. 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 é a origem da base efetiva?

A descrição do campo N35 estabelece o produto de vProd por um menos o percentual de redução efetiva. Como o percentual no XML usa escala de 100, a conta explícita é vBCEfet = vProd × (1 − pRedBCEfet ÷100). Use o valor do produto do item, não o total da nota com outros itens e parcelas.

A conta descrita neste campo não autoriza adicionar ou retirar frete, seguro ou desconto por uma fórmula inventada. Se a operação exige uma interpretação fiscal além dessa representação, confirme os parâmetros com o responsável contábil e mantenha a rastreabilidade. A base de ST anterior em vBCSTRet tem origem documental e função diferentes. Fontes: MOC 7.0, Anexo I, p. 35; NT 2018.005 v 1.52, pp. 14–15.

Como conferir redução, base e imposto efetivo?

A conferência parte do item, não de uma base agregada da nota. Considere duas linhas fictícias:

Item vProd Redução confirmada no cenário Conta da base vBCEfet
A 500,00 10% 500,00×(1−0,10) 450,00
B 200,00 0% explícito 200,00×(1−0,00) 200,00

O total dos produtos é 700,00, mas nenhuma das duas tags do item recebe 700,00 ou 650,00: cada vBCEfet conserva sua própria conta. Sobre a base 450,00 do item A, uma alíquota fictícia 18% produziria 81,00; no item B produziria 36,00. Esses exemplos não definem um campo de total efetivo nem uma apuração.

Se o item A apresenta 50,00, investigue aplicação da parcela reduzida em vez da restante. Se apresenta 1.000,00, confira se foi copiada a base ST histórica. São hipóteses que exigem memória de cálculo e XML. A fórmula documentada parte de vProd e do percentual confirmado, sem autorizar acrescentar parcelas de outra base por suposição. Fontes: MOC 7.0, Anexo I, p. 35; NT 2018.005 v 1.52, pp. 14–15.

Quando a base é exigida junto dos demais campos?

As informações efetivas representam a operação própria do contribuinte substituído caso ela estivesse submetida ao regime comum de tributação. Não são os valores históricos da retenção. O bloco usa quatro campos: pRedBCEfet, percentual de redução; vBCEfet, base efetiva; pICMSEfet, alíquota efetiva; vICMSEfet, imposto efetivo. O XSD torna a sequência opcional e exige os quatro filhos quando ela é informada.

A N12-82, para modelos 55/65, CST 60 e indFinal=1, prevê a rejeição 906 pela ausência das informações, com implementação opcional a critério da UF. A antiga N33-10 foi removida; não é uma exigência adicional a somar à N12-82. O fato de o grupo ser opcional no XSD não afasta uma exigência da UF. Por outro lado, sua existência no esquema não prova obrigatoriedade em toda operação. Fontes: NT 2018.005 v 1.52, pp. 14–15 e 22; MOC 7.0, Anexo I, pp. 34–35 e 113.

Informar somente a base efetiva sem redução, alíquota e imposto deixa a sequência estrutural incompleta. A ausência do bloco inteiro e a ausência de um filho são problemas diferentes: o primeiro depende da condição fiscal/UF; o segundo viola a sequência quando o bloco foi iniciado.

Como a base deve aparecer no XML?

O tipo TDec_1302 representa valor monetário com até 13 dígitos inteiros e duas casas quando há parte decimal. Use ponto, sem moeda, milhar ou unidade física. A base aparece depois de pRedBCEfet e antes de pICMSEfet.

Trecho parcial com vProd=500.00, redução 10% e alíquota 18% fictícias; não é documento pronto para transmissão:

<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>

450.00 é base, 81.00 é imposto. Não use a alíquota 18 no lugar da base nem converta 450,00 em quantidade. O bloco anterior com base 1.000,00 foi incluído para comparação estrutural; os dois valores não precisam coincidir. Fonte: pacote oficial PL 010f, ICMS60; MOC 7.0, Anexo I, pp. 34–35.

Como agir diante de base inesperada ou rejeição 906?

Localize o item e compare prod/vProd, redução confirmada e base gerada. Verifique se a interface mostra os mesmos dados do XML enviado e se o cálculo usa fator percentual correto. Depois compare a alíquota e o valor efetivo; corrigir a base pode exigir recalcular o imposto que dela depende.

Para 906, confira modelo, CST, indFinal=1, UF e o bloco completo conforme N12-82. Não copie a base anterior para satisfazer a mensagem nem altere consumidor final. A N33-10 antiga foi removida. Confirme produto, operação, data, UF e fundamento da redução com o responsável contábil quando faltarem parâmetros. Corrija a origem demonstrada, gere novo XML de teste e confira as quatro informações, preservando o documento assinado. Isso não decide complemento ou 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/vBCEfet
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