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

modBC no ICMS70: modalidade da base própria e redução

<modBC>det › imposto › ICMS › ICMS70 › modBC

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

modBC informa a modalidade de determinação da base de cálculo do ICMS próprio. Dentro de ICMS70, é um campo obrigatório, de um dígito, localizado antes de pRedBC e vBC. Ele descreve como a base foi obtida; não contém o valor em reais, o percentual de redução ou a alíquota.

O caminho completo é /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS70/modBC. Sua ocorrência em outro grupo de ICMS tem contexto próprio; esta página trata da operação própria com CST 70.

Códigos aceitos e informação que cada um representa

Código Modalidade no MOC
0 Margem de Valor Agregado, em percentual
1 Pauta, em valor
2 Preço tabelado máximo, em valor
3 Valor da operação

O XSD restringe modBC aos códigos 0,1,2 e 3. Não aceita o código 4 que identifica MVA no campo modBCST, nem o código 6 introduzido para valor da operação na modalidade de ST. As duas enumerações são diferentes: copiar o mesmo número entre elas pode mudar o significado ou tornar o XML inválido.

Uma pauta ou um preço tabelado pressupõe a referência aplicável ao produto, unidade e período; informar o código não fornece esses valores. A modalidade por operação pressupõe a composição real da operação. A origem do dado é a regra fiscal validada e sua memória, não o código que produza o imposto desejado.

Como a modalidade se relaciona com a redução

O encadeamento é: determinar a base anterior à redução segundo a modalidade, aplicar a redução documentada, informar o resultado em vBC e calcular o ICMS próprio usando pICMS. pRedBC identifica a redução da base própria, enquanto pRedBCST se refere a outra base.

Suponha, exclusivamente para a conta, uma modalidade 3 cuja memória já apurou base inicial de R$ 1.000,00, redução de 20% e alíquota própria de 18%. A redução retira R$ 200,00, deixando vBC=800.00; o imposto próprio é 800×18/100=144.00. O código 3 não informa nem calcula sozinho esses parâmetros. O exemplo não define quais despesas integram a operação do leitor e não recomenda 20% ou 18%.

Se a base inicial decorre de pauta ou preço, o primeiro passo é conferir a referência e a unidade, não substituir automaticamente o valor pelo preço de venda. A formação legal da base e a concessão da redução precisam ser confirmadas com o responsável contábil, levando UF, data, mercadoria, unidade, operação e benefício.

Recorte XML e comparação com a modalidade de ST

Exibição parcial da sequência de um ICMS70 sintético; o grupo completo também exige identificação e cálculo ST. Não é uma nota pronta para transmissão.

<modBC xmlns="http://www.portalfiscal.inf.br/nfe">3</modBC>
<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>

3 é valor da operação na base própria; 20.00 é a redução e 800.00 é a base resultante. Na mesma nota, modBCST poderia descrever outra modalidade fiscalmente confirmada. Isso não torna as modalidades inconsistentes por si só: elas tratam de responsabilidades e bases diferentes.

O que conferir quando a base ou o imposto divergir

Se o XML falha no schema, verifique se foi usado um único código válido, sem descrição por extenso, e se a ordem modBC, pRedBC, vBC, pICMS, vICMS foi preservada. Se o XML passa mas a base diverge, compare a modalidade do cadastro com a memória efetivamente aplicada; revise a referência de pauta/preço ou a composição da operação, conforme o caso.

Na rejeição 528, N17-20 verifica o produto vBC×pICMS/100 para CST 70 e finNFe=1, com aplicação facultativa. Ela não prova que modBC nem a redução estejam juridicamente corretos: dois parâmetros incorretos podem produzir uma multiplicação coerente. Corrija a causa identificada e confira novamente a base resultante e o imposto, sem mudar modalidade apenas para ajustar o resultado.

Na N17-20/528, a nota (*4) do MOC p. 140 manda arredondar o produto a duas casas e considerar tolerância de R$ 0,01 para mais ou menos na validação. A orientação alcança essa comparação documentada, com CST 70, finalidade normal e aplicação facultativa; não escolhe a modalidade nem autoriza corrigir uma base errada por centavos.

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

Páginas relacionadas

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS70/modBC
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
inline:xs:string · 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.

enumeration
0
enumeration
1
enumeration
2
enumeration
3
whiteSpace
preserve