modBC no ICMSSN900: modalidade da base do ICMS próprio
<modBC>det › imposto › ICMS › ICMSSN900 › 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 identifica como foi determinada a base de cálculo do ICMS próprio no grupo ICMSSN900. É um código de método, não um percentual nem o valor da base. Sua presença inicia a sequência que também exige vBC, pICMS e vICMS.
XPath do item: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSSN900/modBC. Namespace: http://www.portalfiscal.inf.br/nfe. Localize o det/@nItem correspondente; sem o envelope processado, o caminho começa em NFe/infNFe.
Nesta página:
- Os quatro métodos previstos
- O que deve acompanhar o código
- Cálculo e exemplos de conferência
- XML sintético parcial
- Modelo, regime e alcance das regras
- Diagnóstico e origem da correção
- Parâmetros que precisam de confirmação
- Fontes e versões
Os quatro métodos previstos
| modBC | Modalidade |
|---|---|
| 0 | Margem de valor agregado, percentual. |
| 1 | Pauta, em valor. |
| 2 | Preço tabelado máximo, em valor. |
| 3 | Valor da operação. |
A enumeração pertence à base própria. Não se pode usar o código 4 para MVA aqui: 4 identifica MVA em modBCST, cuja tabela é diferente. A modalidade deve refletir o fundamento confirmado da base própria; a tabela não escolhe o método fiscal da operação. MOC, p. 48; XSD PL 010f.
O que deve acompanhar o código
No 900, o conjunto de ICMS próprio pode ser omitido como um todo. Quando informado, a ordem é modBC, vBC, pRedBC se aplicável, pICMS, vICMS. Portanto, fornecer somente modBC=3 não completa a representação. vBC é a base monetária já formada; pRedBC informa eventual redução; a alíquota em pICMS atua sobre a base final. O código não gera uma base automaticamente e não autoriza assumir que vProd sempre seja igual a vBC.
Um relatório que apresente “base por valor da operação” deve ser conferido com a memória de formação: parcelas, descontos, acréscimos e benefício podem alterar o montante conforme o fundamento fiscal confirmado. A representação do método e a comprovação da formação são tarefas diferentes.
Cálculo e exemplos de conferência
Hipótese didática: método 3 já confirmado, base final de R$ 1.000,00 e alíquota própria 18%. O conjunto representa modBC=3, vBC=1000.00, pICMS=18.00, vICMS=180.00. A conta é 1.000 × 18 ÷ 100 = 180. Se o mesmo código vier com base 800, o método continua 3, mas o valor do imposto, à mesma alíquota, seria 144; é necessário explicar o motivo da mudança da base, e não “corrigir” o código por comparação numérica.
XML sintético parcial
Fragmento sintético do grupo, parcial em relação à nota. As premissas estão no exemplo; não é documento pronto para transmissão.
<ICMSSN900 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CSOSN>900</CSOSN>
<modBC>3</modBC>
<vBC>1000.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>180.00</vICMS>
</ICMSSN900>
O exemplo respeita a sequência do XSD PL 010f. Um fragmento estruturalmente válido não comprova a regra fiscal da operação nem a autorização da nota.
Modelo, regime e alcance das regras
A representação de modBC pertence ao grupo 900. Para CRT 1, o uso de 900 em NFC-e depende de aceitação da UF em N12a-20. Para CRT 4 com idDest<>3, a NFC-e admite somente 102/300, conforme N12a-81; a declaração compartilhada não libera 900 ao MEI. MOC, p. 107; NT 2024.001, p. 13.
Diagnóstico e origem da correção
Em erro de schema, confira código permitido, ordem e quatro campos obrigatórios da sequência. Em divergência de base, compare o método cadastrado com o documento que o fundamenta e a memória do item. Um erro entre modBC 0 e modBCST 4 é de mapeamento entre campos homônimos; a correção técnica deve manter a modalidade real confirmada. As rejeições 932/933 são de modBCST/MVA e não devem ser atribuídas automaticamente a modBC.
Parâmetros que precisam de confirmação
A modalidade e a composição da base própria exigem fundamento da operação. Confirme método, parcelas e eventual benefício; depois confira a sequência no XML. Não deduza a modalidade apenas pelo resultado numérico.
Fontes e versões
Declaração consultada: PL 010f v1.04; regras lidas com as atualizações do MOC 7.0.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSSN900/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