vICMS no ICMS00: cálculo do item, arredondamento e totalização
<vICMS>det › imposto › ICMS › ICMS00 › vICMSRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
ICMS00/vICMS informa o valor monetário do ICMS próprio daquele item. Sua conferência parte de vBC e pICMS: base multiplicada pelo percentual dividido por 100. É um resultado calculado, distinto da base, do preço e do FCP. O campo N17 é obrigatório nessa alternativa, conforme o MOC 7.0, Anexo I, p. 26.
Como conferir a conta sem escolher a tributação
Antes da multiplicação, base, modalidade, percentual e CST precisam estar definidos para a operação. A conta pode provar coerência desses números, mas não provar que a base ou alíquota adotadas são fiscalmente adequadas. Se o parâmetro estiver em dúvida, a confirmação deve considerar produto, UF, regime, operação, documentos e critério da base; o artigo não escolhe esses parâmetros.
Exemplo sintético: base já apurada de R$ 123,45 e percentual didático de 18%, sem FCP no grupo deste exemplo.
- Leia
vBC=123.45epICMS=18.00. - Converta percentual:
18 / 100 = 0,18. - Calcule
123,45 × 0,18 = 22,221. - Arredonde o resultado monetário para duas casas: R$ 22,22.
- Compare com
vICMS=22.22.
A N17-20 do MOC, p. 111, com nota *4 na p. 117 se aplica à finalidade normal (finNFe=1) e aos CST 00, 10, 20 e 70, para modelos 55/65. É facultativa e associa divergência à rejeição 528. A nota manda arredondar o produto para duas casas e considerar tolerância de R$ 0,01 para mais ou para menos na validação. Essa tolerância não serve para completar imposto com valor arbitrário nem é regra universal para todas as rejeições.
Por que calcular por item importa
Considere, didaticamente, três itens com base R$ 0,03 cada e alíquota sintética de 18%. Cada produto é 0,03 × 0,18 = 0,0054, arredondado para R$ 0,01. A soma dos valores gravados nos três itens é R$ 0,03. Já recalcular sobre a base agregada de R$ 0,09 produz 0,09 × 0,18 = 0,0162, arredondado para R$ 0,02.
Esse exemplo explica uma diferença de consolidação: somar os valores monetários dos itens não equivale sempre a calcular novamente sobre a base total. Em notas com alíquotas distintas, a diferença de método é ainda mais evidente. A W04-10 compara o total de ICMS com o somatório dos valores dos itens, sem considerar valores dos CST 40, 41 e 50. A regra é facultativa e corresponde à rejeição 532. Não imponha essa exclusão ao ICMS00, que tem CST 00; examine a nota inteira para consolidar grupos diferentes corretamente.
Item, total, FCP e valor da nota
| Informação | Como distinguir |
|---|---|
ICMS00/vICMS |
ICMS próprio de um item. |
ICMSTot/vICMS |
Total consolidado de ICMS, conforme W04-10. |
vFCP |
Valor do fundo em campo separado. Não entra somado em ICMS00/vICMS. |
vICMSST |
ICMS por substituição tributária, em grupos que possuem essa informação. Não pertence a ICMS00. |
ICMSTot/vNF |
Total da nota, com composição própria; não é a soma de preço mais todo tributo encontrado. |
A fórmula geral da W16-10, atualizada na NT 2023.004 v1.20, seção 4.5, não apresenta ICMS próprio como parcela adicional. Assim, descobrir R$ 180,00 em vICMS não autoriza acrescentar R$ 180,00 ao vNF. Se o problema for rejeição 610, a conferência é dos componentes específicos do total, não a alteração desse campo por tentativa.
XML e formato monetário
No documento processado, procure nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/vICMS. O nItem identifica a ocorrência. O tipo TDec_1302 do schema oficial aceita valor não negativo, até 13 dígitos inteiros e duas casas quando fracionário. Zero estruturalmente aceito não justifica substituir informação ausente por imposto zero.
Fragmento parcial do primeiro exemplo, com dados fiscais sintéticos assumidos; não inclui nota completa, assinatura ou protocolo e não está pronto para transmissão:
<ICMS00 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>123.45</vBC>
<pICMS>18.00</pICMS>
<vICMS>22.22</vICMS> <!-- produto monetário arredondado -->
</ICMS00>
Diagnóstico: localizar a origem antes de corrigir
Retorno 528 no item: compare os três valores do XML enviado. Se a conta não bate, investigue fator percentual, percentual truncado, base diferente da memória e valor antigo mantido após alteração. Se a conta bate, confirme finalidade, item apontado, retorno e regra efetivamente aplicada; não atribua a diferença a dados de outro rascunho.
Retorno 532 no total: some os valores dos itens sujeitos à consolidação e confronte ICMSTot/vICMS. Se cada item está correto, o defeito pode estar na soma, na inclusão de grupos excluídos ou em recalcular sobre base agregada. Se um item está incorreto, recalcular apenas o total conserva o problema.
Valor maior pelo FCP: confira se a integração juntou os valores monetários de ICMS e FCP no mesmo campo. Com base sintética de R$ 1.000,00, ICMS 18% e FCP 2%, os valores separados são R$ 180,00 e R$ 20,00; vICMS=200.00 não representa essa separação.
Tela e XML diferentes: identifique a versão efetivamente transmitida e o momento do recálculo. A conferência fiscal ocorre sobre os valores enviados. Corrija a origem comprovada no emissor, regenere e confira item e total; não altere o arquivo assinado.
pICMS aprofunda precisão percentual, e vNF explica a composição distinta do total da nota.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/vICMS- 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