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

vICMSOp no ICMS90: ICMS antes do diferimento

<vICMSOp>det › imposto › ICMS › ICMS90 › vICMSOp

Revisã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

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