vICMSOp no ICMS51: imposto antes do diferimento e rejeição 351
<vICMSOp>det › imposto › ICMS › ICMS51 › vICMSOpRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vICMSOp registra o valor do ICMS da operação como se não houvesse diferimento, no grupo ICMS51. Aparece em /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS51/vICMSOp. É o ponto de partida para separar a parcela diferida da realmente devida.
Não é sinônimo de vICMS. Mesmo quando o devido for zero por diferimento total, pode existir um imposto da operação anterior a esse diferimento.
Como conferir base e alíquota
A relação do MOC é vICMSOp = vBC × pICMS /100. vBC é a base do item conforme o método e eventual redução aplicáveis; pICMS é a alíquota sem FCP. Não use o total de produtos ou a base do FCP em lugar dessas entradas por suposição.
Exemplo exclusivamente sintético: base já determinada em R$ 1.000,00 e alíquota de 18% resultam em R$ 180,00 de imposto da operação. Se o diferimento assumido for 40%, R$ 72,00 ficam diferidos e R$ 108,00 devidos. Se for 100%, o imposto da operação continua R$ 180,00, mas todo esse valor fica diferido e o devido passa a zero.
Uma redução de base ocorre antes dessa multiplicação. Em outro exemplo condicional, base anterior de R$ 1.000,00 reduzida em 20% resultaria em vBC=800.00; com alíquota de 18%, vICMSOp=144.00. Os parâmetros não recomendam redução, alíquota ou diferimento para uma operação real.
O que a rejeição 351 verifica
A N16a-10/351 é facultativa por UF para o modelo 55 e CST 51. Compara o imposto da operação com o produto da base pela alíquota. A nota *4 prevê arredondamento da multiplicação para duas casas e tolerância de R$ 0,01 para mais ou para menos na validação.
Campos opcionais não informados são considerados zero pela regra. Um vICMSOp preenchido com base ou alíquota omitidas pode gerar divergência, mesmo que esses campos sejam opcionais no XSD. Essa convenção não autoriza registrar uma base ou alíquota desconhecida como zero na operação real. MOC 7.0, p.33, 110 e 117.
Formato e posição no XML
O XSD admite vICMSOp individualmente de forma opcional, tipo TDec_1302. O valor é monetário, com até 13 dígitos inteiros e duas casas quando há fração. Use ponto decimal e não inclua símbolo de moeda.
Grupo sintético completo, parcial em relação à nota, sem aptidão de transmissão:
<ICMS51 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>51</CST>
<modBC>3</modBC>
<vBC>1000.00</vBC>
<pICMS>18.00</pICMS>
<vICMSOp>180.00</vICMSOp>
<pDif>40.00</pDif>
<vICMSDif>72.00</vICMSDif>
<vICMS>108.00</vICMS>
</ICMS51>
O campo fica depois de pICMS e antes de pDif. vICMSMonoOp, usado no diferimento monofásico de combustíveis, tem outro grupo e outro mecanismo quantitativo; não substitui vICMSOp do ICMS51. FCP é representado em campos próprios e não deve ser embutido nessa parcela.
Como investigar a primeira diferença da cadeia
Refaça a base documentada, incluindo eventual redução confirmada. Compare a alíquota sem FCP, a precisão do cálculo e o valor efetivamente enviado. A regra 351 verifica a relação aritmética, não comprova a formação legal da base nem escolhe a alíquota.
Depois confira a regra 352: vICMSDif se relaciona a vICMSOp × pDif /100. Por fim, confira a 353: vICMS se relaciona à diferença. Corrigir o imposto da operação pode exigir recalcular as parcelas seguintes; mudar apenas o último valor mantém a causa original.
O total de ICMS da nota se refere aos valores de ICMS dos itens, não à soma de imposto antes do diferimento com imposto diferido. Se o fundamento ou os parâmetros estiverem em dúvida, leve UF, data, produto, operação, documentos e memória de cálculo ao responsável contábil. Corrija a origem comprovada e confira novamente cálculo, XML e retorno; não zere vICMSOp apenas porque não há imposto devido, nem edite o XML assinado.
Condições e exceção da regra 353 na cadeia de cálculo
A N17-10/353 do MOC compara vICMS com vICMSOp−vICMSDif para a NF-e modelo 55 com CST 51 e é facultativa, a critério da UF. A regra não se aplica quando ambos os campos vICMSDif e vICMS não foram informados. Omitir apenas um deles não é a mesma exceção.
Na comparação, campos opcionais não informados são considerados zero. Essa convenção não torna informação desconhecida igual a zero na operação nem dispensa o conjunto fiscalmente exigido. Corrigir vICMSOp exige reconferir a parcela diferida e o devido representados; quando os parâmetros estiverem faltando, confirme-os antes de gerar, sem usar omissão para forçar autorização. A nota *4 de multiplicação acompanha as regras 351/352; não crie uma tolerância independente para a subtração 353. MOC 7.0, p. 110 e 117.
Referências oficiais
- Schemas XML NF-e/NFC-e PL_010f_v1.04, versão 010f v1.04, catálogo publicado em 31/08/2026 — declarações ICMS02, ICMS51 e tipo Torig.
- Tipos básicos do schema NF-e/NFC-e, versão PL_010f_v1.04 — TDec_1302, TDec_1104v, TDec_0302a04, TDec_0302a04Opc, TDec_0302a04Max100.
- MOC 7.0 — Anexo I, Leiaute e Regras de Validação, versão 7.00, novembro de 2020 — p. 32–33: ICMS51; p. 99–100: CST/modelo; p. 110: N16a-10/351, N16c-10/352, N17-10/353; p. 117 nota *4; p. 120 totais.
- NT 2023.001 — Tributação Monofásica sobre Combustíveis, versão 1.60, junho de 2025 — p. 22: ICMS53/vICMSMonoOp, distinto de vICMSOp do ICMS51.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS51/vICMSOp- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–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