modBC no ICMSPart: método de formação da base própria
<modBC>det › imposto › ICMS › ICMSPart › modBCRevisã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 como foi determinada a base de cálculo do ICMS próprio no ICMSPart. É obrigatório e admite os códigos 0, 1, 2 e 3. O código identifica o método; o valor da base já formada aparece em vBC. Não confunda esse método com modBCST, destinado à substituição tributária.
O significado dos quatro códigos
| modBC | Modalidade da base própria |
|---|---|
| 0 | Margem de valor agregado, em percentual. |
| 1 | Pauta, em valor. |
| 2 | Preço tabelado máximo, em valor. |
| 3 | Valor da operação. |
A descrição consta no MOC 7, Anexo I, p.39, e no XSD de ICMSPart. O código não fornece sozinho preço de pauta, percentual, parcelas inclusas ou fundamento legal. Por exemplo, selecionar 3 não prova que a base seja igual a vProd: a partilha possui pBCOp e pode conter redução documentada. Fonte estrutural: XSD PL 010f v1.04.
Na integração, o método deve vir da configuração fiscal comprovada da operação. O emissor usa esse método e seus parâmetros para calcular a base; não precisa pedir ao usuário que digite um resultado que já consegue obter com segurança. Se falta pauta ou fundamento vigente, esse é o dado a confirmar, sem inventá-lo.
Relação com pBCOp, pRedBC e vBC
pBCOp identifica o percentual usado para determinar a base própria na partilha. pRedBC identifica eventual redução dessa base. vBC guarda o resultado monetário final. A ordem de cálculo e as parcelas dependem do fundamento aplicável; a ordem XML não é uma fórmula fiscal.
No PL 010f, os campos aparecem como modBC, vBC, pRedBC opcional, pICMS e vICMS. Colocar pRedBC antes de vBC por usar o ordenamento de outro grupo pode falhar no schema, mesmo quando os números estão corretos.
Exemplo de método valor da operação
Hipóteses sintéticas: referência própria de R$ 1.000,00, pBCOp de 60%, sem redução, vBC de R$ 600,00. A alíquota própria hipotética de 12% gera 72. Para completar a estrutura, assume-se ST por MVA 40%, base 1400, alíquota 18% e abatimento próprio 72, resultando 180. Os parâmetros não indicam tributação real.
<ICMSPart xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>10</CST>
<modBC>3</modBC>
<vBC>600.00</vBC>
<pICMS>12.00</pICMS>
<vICMS>72.00</vICMS>
<modBCST>4</modBCST>
<pMVAST>40.00</pMVAST>
<vBCST>1400.00</vBCST>
<pICMSST>18.00</pICMSST>
<vICMSST>180.00</vICMSST>
<pBCOp>60.00</pBCOp>
<UFST>SP</UFST>
</ICMSPart>
O fragmento contém o grupo completo, mas é parcial em relação à nota. modBC= 3 e modBCST= 4 não são contraditórios: cada código identifica o método de uma parcela diferente.
Como distinguir erro de método e erro de cálculo
Localize /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSPart/modBC, com namespace NF-e e nItem correto. Para falha XSD, confira um caractere entre 0–3, obrigatórios e sequência. Código 4 é válido em modBCST, mas não neste modBC.
Se vBC divergir da memória de cálculo, compare referência própria, percentual de partilha, eventual redução e origem do método. Se o problema for vICMS, a regra N17-20/528 é facultativa e compara base × alíquota para CST 00/10/20/70 em nota normal; CST 90 não consta dessa lista. Não trate toda divergência como método incorreto. Consulte MOC 7, Anexo I.
A escolha entre pauta, preço tabelado, MVA ou valor da operação depende do produto, UFs, data e fundamento fiscal. Confirme esses parâmetros com o responsável contábil antes de alterar o cadastro. A correção técnica preserva o método confirmado, sua memória e o valor calculado; não troca o código apenas porque outra modalidade passa na validação.
Qual versão sustenta esta explicação
A estrutura e os exemplos foram conferidos no PL 010f v1.04. A ficha técnica pode oferecer outras versões selecionáveis. Compare o pacote escolhido e o efetivamente usado pelo emissor; uma declaração deste pacote não deve ser atribuída automaticamente a todo XML histórico. Datas de ativação de regras, quando indicadas, pertencem à validação específica e não comprovam a implantação de um pacote em cada autorizadora.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSPart/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