vBC no ICMS70: base própria já reduzida e totalização
<vBC>det › imposto › ICMS › ICMS70 › vBCRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vBC é o valor da base de cálculo do ICMS próprio do item ICMS70, já considerando a redução representada por pRedBC. Seu caminho é /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS70/vBC. É uma quantia monetária, não percentual, imposto ou total de todos os itens.
Da base anterior à base informada
Primeiro, a modalidade modBC e a disciplina da operação determinam a base antes da redução. Depois se aplica o percentual de redução confirmado e se registra o resultado em vBC. O campo não carrega a base anterior nem a diferença retirada.
Exemplo sintético: a memória apurou base anterior de R$ 1.000,00 e redução de 20%. A parcela retirada é 200 e a base resultante é 800. O XML informa pRedBC=20.00 e vBC=800.00. Não informa 1000 como se ainda fosse reduzir no momento da autorização. Também não informa 200, que é a diferença, e não a base sobre a qual o imposto próprio será calculado.
Se a origem é pauta, preço ou composição da operação, confira a referência, unidade e parcelas reais antes de aplicar a redução. Não há uma identidade universal entre vBC e o preço de venda vProd: a formação legal depende do cenário. UF, data, produto, encargos, modalidade e fundamento do benefício precisam ser confirmados com o responsável contábil.
Como conferir imposto e bases relacionadas
Com vBC=800.00 e alíquota hipotética 18%, o imposto próprio é 800×18/100=144.00. A redução não é aplicada outra vez sobre 800. N17-20/528 documenta essa comparação para CST 70 e finNFe=1, de aplicação facultativa.
vBCST é a base da retenção ST e pode ter outra formação, modalidade e eventual redução. vBCFCP é a base do FCP próprio; sua igualdade com 800 precisa estar determinada, e não copiada por conveniência. vBCFCPST é ainda outra base, ligada ao fundo ST. Um mesmo item pode conter todos esses valores sem que sejam iguais.
Recorte da sequência própria do exemplo; é parcial em relação ao grupo e à nota:
<pRedBC xmlns="http://www.portalfiscal.inf.br/nfe">20.00</pRedBC>
<vBC xmlns="http://www.portalfiscal.inf.br/nfe">800.00</vBC>
<pICMS xmlns="http://www.portalfiscal.inf.br/nfe">18.00</pICMS>
<vICMS xmlns="http://www.portalfiscal.inf.br/nfe">144.00</vICMS>
No XSD, vBC é obrigatório no ICMS70 e usa TDec_1302: ponto decimal, sem moeda ou milhar, com a representação de valor monetário admitida pelo tipo. A validação estrutural não confirma a composição nem o direito à redução.
Diferença entre vBC do item e vBC total
total/ICMSTot/vBC é o total da base própria da nota. Apesar do mesmo nome, seu contexto é diferente deste XPath de item. W03-10, MOC p. 120, compara o total com a soma dos valores de base próprios dos itens, podendo causar a rejeição facultativa 531.
Em uma nota sintética com bases próprias 800 e 500, o total é 1300. Não some as bases anteriores 1000 e 500, nem as bases ST, para preencher esse total. Se o item tem erro de redução, acertar o total para a soma do número errado não corrige o cálculo fiscal; é preciso conferir os dois níveis.
Roteiro para localizar a causa da divergência
Em 528, comece pelo item indicado e compare vBC, pICMS e vICMS enviados. Se o produto fecha mas a base parece incorreta, reconstrua modalidade, base anterior e redução. Em 531, liste todos os itens e some somente a base própria pertinente, identificando omissão, duplicidade ou valor de outra parcela.
Confira também a precisão na passagem entre memória e XML. Não transforme base desconhecida em zero e não altere um item correto para compensar outro. Corrija a origem demonstrada no cadastro, parâmetro ou cálculo, regenere o XML e compare novamente item e total. O resultado técnico esperado é uma memória rastreável para 800, imposto coerente e total composto pelos itens correspondentes, sem escolher aqui os parâmetros tributários reais.
Para N17-20/528, a nota (*4) do MOC p. 140 prevê produto arredondado a duas casas e tolerância de R$ 0,01 para mais ou menos na validação. A nota qualifica essa comparação de item; não cria uma tolerância nova para a soma W03-10/531 nem dispensa a formação correta da base.
Grupo completo para conferência
Este ICMS70 sintético reúne os campos do recorte e o núcleo obrigatório, na ordem do schema. É completo somente em relação ao grupo e parcial em relação à NF-e; não é documento pronto para transmissão. Os números adicionais são hipóteses didáticas, não parâmetros para uma empresa.
<ICMS70 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>70</CST>
<modBC>3</modBC>
<pRedBC>20.00</pRedBC>
<vBC>800.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>144.00</vICMS>
<modBCST>4</modBCST>
<pMVAST>40.00</pMVAST>
<vBCST>1400.00</vBCST>
<pICMSST>18.00</pICMSST>
<vICMSST>108.00</vICMSST>
</ICMS70>
Referências oficiais
- MOC 7.0, Anexo I, leiaute e regras de validação — 7.00, novembro 2020. p. 36; p. 111 N17-20; p. 120 W03-10
- Schemas XML da NF-e/NFC-e — PL_010f_v1.04, publicado em 31/08/2026. ICMS70/vBC obrigatório e TDec_1302
Páginas relacionadas
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS70/vBC- 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