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

pRedBC no ICMS20: redução da base e cálculo verificável

<pRedBC>det › imposto › ICMS › ICMS20 › pRedBC

Revisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

pRedBC é o percentual de redução da base de cálculo do ICMS no ICMS20. Ele mede a parte reduzida da base, enquanto vBC registra a base em reais usada para calcular o imposto. Não informa desconto comercial nem taxa do ICMS.

Neste artigo:

Percentual reduzido e percentual restante são iguais?

Não. Com redução hipotética 20%, resta 80% da base anterior. Se a regra confirmada expressa a tributação sobre 80% da base, a redução aritmética correspondente é 20%, não 80%. Esse vínculo matemático não determina se o benefício existe nem qual base anterior é legalmente correta.

Exemplo sintético com base anterior expressamente assumida 1000,00: 1000 ×(1−20/100)=800,00. Com taxa 18%, o valor é 144,00. Se alguém preencher 80 como redução, a base resultaria 200,00 e imposto 36,00, descrevendo outro cenário. A diferença mostra por que copiar um percentual de texto legal sem ler se ele representa redução ou base remanescente pode inverter o cálculo. MOC 7.0, Anexo I, pp.28–29 e XSD PL_010f_v1.04, ICMS20.

De onde vem a base anterior à redução?

A modalidade modBC e a regra da operação definem sua origem. O valor da mercadoria não basta: componentes como frete, seguro, despesas, desconto e eventualmente IPI precisam seguir o tratamento confirmado para o caso. Não há fórmula universal vBC=vProd×(1−pRedBC/100) válida para qualquer ICMS20.

Se o backend já calculou a base reduzida 800,00, multiplicá-la novamente por 80% produz 640,00 e duplica a redução. Para conferir, mantenha memória com base anterior, parcelas, percentual, base resultante e imposto. Confirme com o responsável contábil produto, operação, UF, data, ato de redução e componentes que entram na base; não estime dado ausente pelo total desejado.

Qual precisão e posição usar no XML?

No XPath /ICMS/ICMS20/pRedBC, o campo é obrigatório e vem depois de modBC, antes de vBC. Usa TDec_0302a04, até três inteiros e duas a quatro casas quando há fração; seu pattern não impõe o teto 100 que existe em outros tipos. Aceitação estrutural de um número não torna percentual acima 100% uma redução fiscal válida. XSD/tipos.

Grupo sintético completo, parcial em relação à NF-e, com 20% de redução apenas para demonstrar a conta:

<ICMS20 xmlns="http://www.portalfiscal.inf.br/nfe">
  <orig>0</orig>
  <CST>20</CST>
  <modBC>3</modBC>
  <pRedBC>20.0000</pRedBC>
  <vBC>800.00</vBC>
  <pICMS>18.0000</pICMS>
  <vICMS>144.00</vICMS>
</ICMS20>

Serialize 20.0000 para 20%, sem% e sem vírgula. pRedAdRem do ICMS15 reduz alíquota por unidade; pRedBCST reduz base ST; nenhum substitui pRedBC desta ocorrência.

Como conferir rejeições e a desoneração relacionada?

A rejeição 528/N17-20 verifica vICMS=vBC×pICMS/100 em nota normal 55/65, como regra facultativa. Ela não garante que a base anterior nem o percentual tenham fundamento: duas reduções indevidas podem produzir uma conta final coerente. Para as multiplicações referenciadas pelas regras do MOC, a nota(*4) prevê arredondar o resultado para duas casas e tolerância de R$ 0,01 para mais ou para menos na validação. Não confunda essa tolerância com autorização para mudar valores reais ou arredondar bases e taxas antecipadamente. MOC, p.140, nota (*4).

Redução da base e vICMSDeson são informações distintas. O valor desonerado não deve ser criado automaticamente só pela diferença entre vProd e vBC; sua fórmula e obrigação precisam de norma e parâmetros próprios. N12-90/934 depende da UF/modelo/CST e exceções. O FCP tem outra base vBCFCP: não aplique ao fundo o mesmo percentual por suposição.

No diagnóstico, confira se o percentual veio do cadastro correto, se representa redução ou base restante, se foi aplicado uma vez e se o XML mostra os mesmos parâmetros. Corrija a origem comprovada; não altere o percentual para coincidir com o imposto de outra nota. N12-90/934 verifica valor e motivo de desoneração para CST 20, 30, 40, 41, 50, 70 e 90, com implementação a critério da UF, por modelo e CST. A tabela 3.6.1 da NT 2019.001 v1.70 documenta especificamente para essa regra:

UF Modelos Marco documentado de produção Exceções estaduais indicadas
GO 55/65 D5: 01/07/2023; homologação 01/10/2022 E2 e E3
RJ 55/65 D2: 01/10/2019 E2 e E3
Demais linhas da tabela Conforme a linha D*: regra não aplicada nessa tabela Não inferir ativação por outra regra

A exceção E1, para devolução interestadual ou ao exterior (finNFe=4 e idDest=2 ou 3), vale para todas as UF e não precisa constar na linha. E2 afasta devoluções de mercadoria; E3, notas de ajuste. GO e RJ indicam essas duas exceções na coluna N12-90. E4 seria entrada, mas não consta nessa coluna para GO/RJ: não presuma sua aplicação só porque a exceção aparece no texto geral. A ressalva própria do CST 90 não se transporta ao CST 20. Os marcos são os documentados na versão citada; não substituem a confirmação de uma atualização estadual posterior nem comprovam resposta de um autorizador específico. NT 2019.001, pp.18, 21–22.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS20/pRedBC
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