pFCP no ICMS51: percentual do fundo e diferimento separado
<pFCP>det › imposto › ICMS › ICMS51 › pFCPRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
pFCP é o percentual do ICMS relativo ao Fundo de Combate à Pobreza no grupo ICMS51. Aparece em /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS51/pFCP. Ele descreve o percentual do fundo; pFCPDif descreve, separadamente, o percentual de diferimento desse fundo.
Não se deve somar pFCP à alíquota informada em pICMS: o MOC define esta última sem FCP. Incidência, base e percentual do fundo precisam ser confirmados para produto, UF, data e operação, sem inferir um percentual universal do CST 51.
Bloco opcional com três campos obrigatórios
O primeiro bloco de FCP no ICMS51 contém, nesta ordem, vBCFCP, pFCP e vFCP. A sequência é opcional no XSD, mas, se usada, exige os três filhos. Não há uma tag intermediária para o bloco. Mandar somente pFCP não forma uma sequência completa.
O tipo de pFCP é TDec_0302a04Opc: até três dígitos inteiros e de duas a quatro casas quando há fração, conforme o pattern. O XML usa ponto decimal, sem %. A forma usual do exemplo 2.00 expressa 2%, não 0,02%. O formato aceito pelo XSD não escolhe a alíquota fiscalmente aplicável.
Como conferir percentual, base e valor devido
Primeiro confirme a base específica vBCFCP e o percentual do fundo. Não presuma que a base é igual a vBC ou que uma redução do ICMS também reduziu o FCP. Em seguida, confira se há diferimento do fundo, representado por pFCPDif e vFCPDif, com vFCPEfet opcional na sequência própria.
Exemplo exclusivamente sintético e condicional: assuma que a regra aplicável já tenha determinado base do FCP de R$ 1.000,00, percentual 2% e diferimento do FCP de 40%. A grandeza anterior ao diferimento seria R$ 20,00; a parcela diferida assumida é R$ 8,00; o devido é R$ 12,00. O exemplo não estabelece incidência, base, alíquota ou diferimento para outra operação.
A NT 2020.005 v1.21 corrigiu vFCP no ICMS51 para indicar o valor realmente devido, já considerando o diferimento. Portanto, nesse exemplo condicional, vFCP=12.00, embora a base vezes o percentual do fundo produza R$ 20,00 antes do diferimento. A mesma NT excluiu CST 51 da N17c-10/860. Não imponha essa validação bruta ao valor devido do ICMS51. NT 2020.005, p.12–13 e 18.
Exemplo da sequência no XML
Grupo sintético completo segundo o XSD, parcial em relação à nota. Foram assumidos apenas os parâmetros do FCP acima; a omissão dos campos básicos opcionais não dispensa qualquer exigência da UF. Não é documento para transmissão:
<ICMS51 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>51</CST>
<vBCFCP>1000.00</vBCFCP>
<pFCP>2.00</pFCP>
<vFCP>12.00</vFCP>
<pFCPDif>40.00</pFCPDif>
<vFCPDif>8.00</vFCPDif>
<vFCPEfet>12.00</vFCPEfet>
</ICMS51>
vFCP e vFCPEfet são representações do devido nesse contexto, não R$ 12,00 adicionais cada uma. Não some ambos para obter R$ 24,00.
O que verificar quando o percentual parece errado
Compare o item, UF, data e produto com o parâmetro que forneceu pFCP; depois confira a base específica e eventual diferimento do fundo. Um erro de preenchimento pode ser alíquota do ICMS copiada para FCP, percentual de diferimento copiado para alíquota ou conversão indevida entre 2 e 0,02. Comprove a origem antes de corrigir.
Se o dado estiver ausente, identifique se o FCP não se aplica ou se faltou um parâmetro obrigatório; não transforme ausência em zero. Leve o contexto e os documentos ao responsável contábil para confirmar incidência e percentual quando necessário. Corrigida a origem, regenere o grupo e confira sequência, valores e retorno, sem editar XML assinado nem usar o XSD como prova fiscal.
Rejeições 880 e 874: zero e percentual por UF do emitente
A exclusão do CST 51 da regra de cálculo N17c-10/860 não elimina automaticamente as regras de percentual. A N17b-10/880, indicada para modelos 55/65 no MOC, verifica pFCP informado igual a zero e orienta não informar os campos de FCP para produtos não sujeitos à incidência. Essa orientação exige não incidência comprovada; não permite apagar um fundo devido ou esconder um parâmetro ausente.
A anotação do tipo TDec_0302a04Opc diz não aceitar zero, mas o pattern permite certas formas lexicais como 0.00. Essa distinção explica por que passar no XSD não substitui a verificação de zero da regra 880. A tag não deve ser preenchida com zero somente para completar o trio.
A N17b-20/874 confronta o percentual informado com a tabela de alíquotas definida para a UF do emitente (enderEmit/UF). Não é a mesma regra de FCP-ST por destino/entrega e não define incidência universal sobre todos os produtos. Para investigar, compare produto, UF do emitente, data, tabela oficial, fundamento de incidência e percentual serializado. O responsável contábil confirma o tratamento aplicável; depois corrija a origem comprovada e confira o trio. MOC 7.0, p. 111.
Referências oficiais
- Schemas XML NF-e/NFC-e PL_010f_v1.04, versão 010f v1.04, catálogo publicado em 31/08/2026 — declarações ICMS02, ICMS51 e tipo Torig.
- Tipos básicos do schema NF-e/NFC-e, versão PL_010f_v1.04 — TDec_1302, TDec_1104v, TDec_0302a04, TDec_0302a04Opc, TDec_0302a04Max100.
- MOC 7.0 — Anexo I, Leiaute e Regras de Validação, versão 7.00, novembro de 2020 — p. 32–33: ICMS51; p. 99–100: CST/modelo; p. 110: N16a-10/351, N16c-10/352, N17-10/353; p. 117 nota *4; p. 120 totais.
- NT 2020.005 — Criação e Atualização de Regras de Validação, versão 1.21, outubro de 2021 — p. 4–5: correção documental e cronograma específico; p. 12–13: FCP do CST 51; p. 18: exclusão de CST 51 de N17c-10/860.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS51/pFCP- 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_0302a04Opc · 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-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?- whiteSpace
preserve