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

vBCST no ICMS30: base do item, método e totalização

<vBCST>det › imposto › ICMS › ICMS30 › vBCST

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

vBCST em ICMS30 é a base de cálculo do ICMS por substituição tributária deste item. É obrigatória no grupo, mesmo que MVA e redução não sejam informadas. O XPath do item é diferente de total/ICMSTot/vBCST, que consolida bases dos itens.

Nesta página: Método e base final · Formato monetário e zero · Exemplos de leitura da memória · Totalização e correção da causa · Exemplo XML parcial · Parâmetros e confirmação da operação

Método e base final

A base é resultado da memória fiscal da operação. modBCST identifica o método: preço tabelado/máximo sugerido (0), listas negativa/positiva/neutra (1/2/3), MVA (4), pauta (5) ou valor da operação (6). O código não calcula a base sozinho.

pMVAST é margem de formação e pRedBCST é redução da base, quando aplicáveis. N18-10 pode exigir MVA para modalidade 4 e N18-20 pode impedi-la nas demais, a critério da UF. vBCST representa a base final, não a margem em reais nem a parcela reduzida. Também não é automaticamente vProd: parcelas e método dependem do fundamento documentado.

Referências: Schemas XML NF-e/NFC-e PL 010f, PL_010f_v1.04; catálogo local de 13/10/2026, ICMS30/modBCST, pMVAST, pRedBCST, vBCST; NT 2019.001 — Criação e Atualização de Regras de Validação, 1.70, agosto/2025, p.20; MOC 7.0 — Anexo I, 7.00, novembro/2020, p.30.

Formato monetário e zero

O tipo TDec_1302 aceita zero ou inteiro positivo com até 13 dígitos, opcionalmente com duas casas decimais; valores fracionários abaixo de 1 seguem o padrão 0.xx, por exemplo 0.25. Para valores monetários com fração, são exatamente duas casas. Use ponto como separador, sem R$, vírgulas ou separador de milhar. Formato aceito não comprova base, benefício ou apuração; não converta um dado desconhecido em zero.

Uma base monetária já apurada de R$ 1.000,00 é representada como 1000.00. Não informe 18.00 pensando na alíquota de 18% nem 40.00 pensando na margem de 40%; esses percentuais têm tags próprias.

Referências: Tipos básicos NF-e/NFC-e PL 010f, PL_010f_v1.04, TDec_1302; Schemas XML NF-e/NFC-e PL 010f, PL_010f_v1.04; catálogo local de 13/10/2026, ICMS30/vBCST.

Exemplos de leitura da memória

Em uma hipótese sintética de MVA, uma grandeza inicial já definida de R$ 1.000,00 recebe margem de 40%, sem redução ou outras parcelas: 1000 × 1,40 = 1400; a base final é R$ 1.400,00.

Em outra hipótese independente, a memória define base anterior de R$ 1.250,00 e redução de 20%, sem outros ajustes: 1250 × (1 − 20/100) = 1000. A base final a representar é R$ 1.000,00, e não os R$ 250,00 reduzidos.

Essas contas não fixam a ordem de MVA/redução nem as parcelas da base em uma operação real. A memória deve informar fundamento, grandeza inicial, eventuais ajustes e arredondamento legal. vBCFCPST é base de FCP-ST e precisa de conferência própria; não presuma que uma redução da base ST se estende a ela.

Referências: MOC 7.0 — Anexo I, 7.00, novembro/2020, p.30, N19/N20/N21/N23a.

Totalização e correção da causa

W05-10 pode gerar 533 quando ICMSTot/vBCST diverge da soma das bases ST dos itens. Com dois itens de bases R$ 1.000,00 e R$ 500,00, o total esperado nessa comparação é R$ 1.500,00. Some bases, não vICMSST nem vFCPST.

Se a soma está errada, procure item duplicado/omitido ou mapeamento incorreto do total. Se a soma fecha, mas a base individual diverge da memória fiscal, a regra de totalização não resolve o erro de formação. Compare método, produto, parâmetros e cálculo do item, confirme o dado faltante com o responsável contábil e corrija a origem. Não altere apenas o total para esconder uma base equivocada.

Referências: MOC 7.0 — Anexo I, 7.00, novembro/2020, p.120, W05-10; Schemas XML NF-e/NFC-e PL 010f, PL_010f_v1.04; catálogo local de 13/10/2026, ICMSTot/vBCST.

Exemplo XML parcial

O trecho abaixo é um grupo completo de ICMS30, parcial em relação à NF-e. Usa o namespace http://www.portalfiscal.inf.br/nfe e não é uma nota pronta para transmissão. O caminho completo desta página é /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS30/vBCST. Em XML de envio sem protocolo, o documento pode começar em NFe; o prefixo nfeProc pertence ao documento processado.

<ICMS30 xmlns="http://www.portalfiscal.inf.br/nfe">
  <orig>0</orig>
  <CST>30</CST>
  <modBCST>6</modBCST>
  <vBCST>1000.00</vBCST>
  <pICMSST>18.00</pICMSST>
  <vICMSST>180.00</vICMSST>
</ICMS30>

Base 1000.00 e alíquota 18.00 foram assumidas na memória sintética. O exemplo está no item; o total ICMSTot não faz parte do fragmento.

A validação estrutural deste fragmento não comprova a adequação fiscal dos parâmetros, assinatura ou autorização. Integrações que consultam XPath devem associar um prefixo ao namespace da NF-e, em vez de procurar tags sem namespace.

Referências: Schemas XML NF-e/NFC-e PL 010f, PL_010f_v1.04; catálogo local de 13/10/2026, ICMS30, declaração exata e tipos vinculados.

Parâmetros e confirmação da operação

Para vBCST em ICMS30, o ponto material a confirmar é: memória de formação da base final de ICMS-ST. Reúna produto, documentos da operação, regime, UFs, data e fundamento com o responsável contábil. O artigo explica a representação e a conferência, sem definir esse tratamento para uma empresa.

Depois de documentado o parâmetro, compare a origem do dado com o XML e o retorno do item. Corrija a divergência comprovada no cadastro, no cálculo ou no mapeamento. Preserve os dados verdadeiros, o XML assinado e o histórico; não escolha outro valor para forçar autorização.

Referências: MOC 7.0 — Anexo I, 7.00, novembro/2020, Leiaute do grupo ICMS30 e regras contextuais, pp.29–31/99–101.

Páginas relacionadas

Referência técnica para integração

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