pICMS no ICMS00: percentual, precisão e conferência da alíquota
<pICMS>det › imposto › ICMS › ICMS00 › pICMSRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
pICMS registra a alíquota percentual do ICMS próprio aplicada à base do item no grupo ICMS00. O número 18.00 significa 18%, não R$ 18,00 e não o fator 0,18. O FCP fica separado em pFCP; não se soma seu percentual ao campo do ICMS. Essa distinção consta do MOC 7.0, Anexo I, campo N16, p. 26.
Qual percentual deve alimentar o campo
A origem é a alíquota efetivamente definida para o contexto fiscal do item. Produto, origem e destino, regime, natureza da operação, finalidade e vigência são dados para sua conferência. A presença de CST 00 não determina, por si, um percentual único nacional.
O schema verifica formato, não escolhe a alíquota legal. Também não basta calcular vICMS/vBC e concluir que o percentual encontrado é o correto: essa divisão pode reproduzir um erro já existente. Se a alíquota ainda não estiver confirmada, a pendência é a referência aplicável ao produto e à operação. Leve esse contexto e a data ao responsável contábil; após a definição, compare a parametrização, a memória e o XML. Não replique o percentual de outra nota somente porque tem o mesmo destinatário.
Percentual e fator: uma diferença de cem vezes
Considere parâmetros sintéticos, sem recomendação de tributação: base de R$ 250,00 e alíquota de 18% já definida.
- No XML,
pICMS=18.00. - Na multiplicação, o fator é
18 / 100 = 0,18. - O imposto é
250 × 0,18 = 45,00.
Se o integrador gravar 0.18 em pICMS pensando em armazenar o fator, o documento informa 0,18%. A conta correspondente será 250 × 0,18 / 100 = 0,45. A diferença não é arredondamento; é conversão de unidade. Se gravar 18.00 mas multiplicar a base diretamente por 18, calculará R$ 4.500,00, outro erro de escala.
Com FCP sintético de 2% incidente neste mesmo contexto, a conta separada seria 250 × 2 / 100 = 5,00. Os campos continuam pICMS=18.00, vICMS=45.00, pFCP=2.00 e vFCP=5.00.
Casas decimais: preservar o percentual e arredondar o imposto
O tipo TDec_0302a04 do schema oficial aceita até três dígitos inteiros. Quando existe fração, ela tem de duas a quatro casas. Representações sintéticas de formato: 18, 18.00, 18.125 e 18.1250; 18.1 e 18.12501 não correspondem a esse pattern. Use ponto e não acrescente %.
Não confunda a precisão do percentual com a do dinheiro. Exemplo didático: base R$ 250,00 e alíquota sintética 18,1250% resultam em 250 × 18,1250 / 100 = 45,3125; o valor monetário arredondado é R$ 45,31. Reduzir previamente o percentual para 18,13% muda o cálculo para R$ 45,325 antes do arredondamento. A representação aceita de duas a quatro casas não autoriza arredondar o parâmetro fiscal de origem por preferência.
O MOC, N17-20 e nota *4 prevê arredondar o produto monetário para duas casas e tolerância de R$ 0,01 para mais ou para menos na validação. Essa tolerância não define qual alíquota aplicar.
Como ler o XML
Localize nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/pICMS. Sem o envelope processado, o caminho começa em NFe. O percentual é obrigatório dentro desse grupo; omiti-lo não representa “não calculado”.
Fragmento sintético do primeiro exemplo, parcial em relação à nota, com origem e CST assumidos, sem assinatura e sem aptidão para transmissão:
<ICMS00 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>250.00</vBC>
<pICMS>18.00</pICMS> <!-- percentual, não fator nem dinheiro -->
<vICMS>45.00</vICMS>
</ICMS00>
pICMSST pertence ao cálculo de substituição tributária em grupos próprios. pICMSUFDest pertence ao grupo da UF de destino. pFCP representa o fundo. Embora todos possam ser percentuais, seus contextos e validações diferem; esta ocorrência não herda suas regras.
Se o valor do imposto estiver diferente
Confira primeiro a escala percentual/fator, depois se a alíquota foi truncada, se a base transmitida é a mesma calculada e se FCP foi somado ao ICMS. Compare item por item: não existe ICMSTot/pICMS como uma alíquota única para toda a nota, e itens com percentuais diferentes não podem ser conferidos por uma média não documentada.
Em finalidade normal (finNFe=1), a N17-20 abrange CST 00, 10, 20 e 70 e associa divergência entre vICMS e base vezes alíquota à rejeição 528, de aplicação facultativa. Ela verifica a conta do XML; uma conta coerente não prova a adequação fiscal do percentual. Se o retorno envolver uma validação específica de operação interestadual, examine sua regra e condições completas, em vez de atribuir toda rejeição de alíquota à N17-20.
Quando a origem do erro estiver confirmada, corrija o parâmetro ou mapeamento no emissor, regenere e compare vBC, pICMS e vICMS juntos. vICMS no ICMS00 detalha o cálculo monetário, e pFCP explica o percentual separado do fundo.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/pICMS- 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_0302a04 · 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,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?- whiteSpace
preserve