vICMSOp no ICMS90: ICMS antes do diferimento
<vICMSOp>det › imposto › ICMS › ICMS90 › 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 é o valor do ICMS da operação como se não houvesse diferimento, no grupo ICMS90. É um valor de imposto em reais, anterior à parcela postergada, e não o preço da operação.
Caminho do item: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS90/vICMSOp. O namespace é http://www.portalfiscal.inf.br/nfe; sem o envelope processado, a navegação começa em NFe/infNFe.
Quando vICMSOp aparece em ICMS90
O campo inicia a sequência opcional vICMSOp, pDif, vICMSDif, introduzida no ICMS90 pela NT 2022.002 v1.30a. No PL 010f, abrir essa sequência exige os três campos. Todos ficam dentro do bloco de operação própria e antes de vICMS; não há permissão estrutural para escrever apenas vICMSOp e saltar diretamente ao ICMS efetivo. NT 2022.002 — Equiparação à exportação e outras alterações, 1.30a, março/2026; Schemas XML NF-e — PL 010f.
Como conferir vICMSOp e suas dependências
Sob cálculo percentual simples, a memória começa pela base já determinada, vBC, e pela alíquota ICMS sem FCP, pICMS: vICMSOp = vBC × pICMS / 100. Depois, o diferimento documentado separa vICMSDif; vICMS é o que permanece. Uma redução de base aplicável precisa estar refletida na base usada, sem ser reaplicada sobre o imposto.
No XML, vICMSOp usa o tipo monetário TDec_1302, sem símbolo de moeda ou separador de milhar. O exemplo usa ponto e duas casas decimais; mantenha a precisão da memória e o arredondamento aplicável à operação.
Exemplo de vICMSOp no XML
O exemplo assume base de R$ 1.000,00 e alíquota 18%, obtendo vICMSOp=180.00. Diferimento de 40% produz 72 diferidos e 108 remanescentes. O produto desses parâmetros só demonstra a conferência:18% e 40% não são sugestões para o leitor. O FCP de 20 apresentado no fragmento é calculado e dividido separadamente.
Fragmento sintético, parcial em relação à nota inteira. Os parâmetros foram assumidos para a demonstração. Não contém assinatura ou protocolo e não é uma nota pronta para transmissão.
<ICMS90 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig><CST>90</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>
<vBCFCP>1000.00</vBCFCP><pFCP>2.00</pFCP><vFCP>20.00</vFCP>
<pFCPDif>40.00</pFCPDif><vFCPDif>8.00</vFCPDif><vFCPEfet>12.00</vFCPEfet>
</ICMS90>
Diagnóstico de divergência em vICMSOp
Se vICMSOp aparecer igual ao preço do item ou ao valor já líquido de diferimento, confira o mapeamento do gerador. Compare a base efetiva, alíquota e memória anterior ao diferimento; em seguida, refaça a separação das parcelas. Não some vICMSOp ao vICMS na totalização, pois isso contaria duas vezes partes da mesma apuração.
Corrija a causa comprovada na origem dos dados e confira o XML regenerado; não edite XML assinado. Estrutura válida no XSD não comprova autorização pela SEFAZ.
Diferenças e limites de vICMSOp
O homônimo em ICMS51 pertence a outro grupo e não transfere automaticamente validações. vICMS é o valor próprio final informado no bloco; vICMSST é retenção por substituição; vCredICMSSN é crédito do Simples. A unidade monetária igual não permite trocar essas funções.
Confirme a base legal do diferimento, percentual e enquadramento com o responsável contábil. O cronograma da NT 22 registra implantação até 30/03/2026 em testes e 06/04/2026 em produção para essa revisão; isso não prova a aplicação de um benefício a toda operação.
Fontes oficiais
- NT 2022.002 — Equiparação à exportação e outras alterações — 1.30a, março/2026; Resumo p. 4; grupo N10 p. 7–9; cronograma p. 3.
- Schemas XML NF-e — PL 010f — PL_010f_v1.04; ICMS90, linhas 3360–3615; ICMSSN201, linhas 3971–4105; tiposBasico_v4.00.xsd.
- MOC 7.0 — Anexo I — 7.00; Grupo N10, p. 37–38; N10e, p. 43–44; validações N, p. 99–113; totais, p. 120.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS90/vICMSOp- 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