pFCP no ICMS00: incidência, percentual zero e validação por UF
<pFCP>det › imposto › ICMS › ICMS00 › pFCPRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
ICMS00/pFCP informa o percentual relativo ao Fundo de Combate à Pobreza quando esse fundo incide no contexto do item. É separado de pICMS e integra uma sequência opcional com vFCP. A sequência pode estar ausente; quando presente, os dois campos são obrigatórios dentro dela. A definição está no MOC 7.0, Anexo I, campos N17b/N17c, p. 26.
Opcional no schema não é escolha livre de incidência
A aplicabilidade não nasce da presença do campo na tela ou da simples escolha de CST 00. Precisa estar confirmada a incidência do FCP para produto e operação, UF e vigência, além do percentual correspondente. O emissor então representa o resultado dessa definição. Este artigo não lista uma alíquota universal de FCP nem decide se a mercadoria do leitor está sujeita ao fundo.
Para confirmar um parâmetro faltante, reúna identificação fiscal do produto, operação, UF do emitente e destino, data, regime e referência oficial utilizada. Quando incidência ou enquadramento exigirem avaliação do caso, essa é a decisão a levar ao responsável contábil; depois confira percentual, base e valor no XML.
Quando não houver incidência, a nota da N17b-10 orienta não informar os campos relativos ao FCP. Quando houver incidência nesta representação, omitir o par não expressa corretamente o cálculo. Ausência e percentual zero são situações diferentes.
Por que 0.00 pode passar no tipo e ser rejeitado
No pacote oficial de schemas da NT 2022.002 v1.30, pFCP usa TDec_0302a04Opc. Sua anotação descreve valor não zero, mas o pattern contém 0\.[0-9]{2,4}, que aceita 0.00. Essa diferença entre anotação e expressão estrutural não revoga a regra de autorização.
A N17b-10 dos modelos 55/65 rejeita percentual de FCP informado igual a zero, com 880. A N17b-20 compara o percentual informado à tabela de alíquotas definida pela UF do emitente (enderEmit/UF) e corresponde à 874, percentual inválido. Ambas têm aplicação obrigatória no MOC, p. 111.
Assim, três perguntas têm respostas distintas:
| Pergunta | O que verifica |
|---|---|
| O texto do campo tem formato aceito? | Pattern do tipo e sequência XML. |
| Um percentual informado zero é admitido na autorização? | N17b-10; não basta passar no XSD. |
| O percentual corresponde à referência da UF? | N17b-20 e tabela pertinente; uma multiplicação correta não valida essa escolha. |
O tipo comporta até três dígitos inteiros; se houver fração, ela tem de duas a quatro casas. Representações didáticas 2.00 e 2.1250 demonstram formato, não percentuais aprovados para uma UF. 2.1, 2,00 e 2% não correspondem ao formato. Não use o limite numérico do tipo para inferir alíquota legal.
Como conferir percentual, base e valor
No CST 00, a N17c-10 utiliza vBC para conferir vFCP, quando informado em finalidade normal (finNFe=1). Não existe vBCFCP dentro de ICMS00. Outros grupos possuem essa base expressa e não devem ser usados como modelo por simples semelhança de nomes.
Exemplo sintético, assumindo incidência e parâmetros exclusivamente didáticos: base R$ 350,00 e FCP 2%.
- Grave o percentual como
pFCP=2.00; o fator de cálculo é2 / 100 = 0,02. - Calcule
350,00 × 0,02 = 7,00. - Represente
vFCP=7.00em campo separado do ICMS. - Se o ICMS próprio sintético for 18%, registre
pICMS=18.00evICMS=63.00; não registre 20% em pICMS.
Para a validação do valor, o MOC manda arredondar o produto monetário para duas casas e considera tolerância de R$ 0,01 para mais ou para menos na nota *4. Isso não cria tolerância de alíquota nem autoriza substituir o percentual de referência.
XML: o par vem depois de vICMS
O XPath processado é nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/pFCP. Identifique o item. O fragmento abaixo é parcial e sintético, com origem, CST, modalidade e alíquotas assumidos; não é nota pronta para transmissão.
<ICMS00 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>350.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>63.00</vICMS>
<pFCP>2.00</pFCP> <!-- percentual do fundo, separado -->
<vFCP>7.00</vFCP> <!-- valor calculado na mesma vBC -->
</ICMS00>
Se somente pFCP aparecer, falta seu parceiro estrutural. Se somente vFCP aparecer, a sequência também está incompleta. Um comentário ou campo vazio não substitui conteúdo numérico obrigatório.
FCP próprio, ST e UF de destino
pFCPST pertence ao FCP da substituição tributária; pFCPUFDest pertence ao grupo da UF de destino. Não são alternativas de grafia de ICMS00/pFCP.
Na NF-e interestadual (idDest=2) para consumidor final (indFinal=1), não contribuinte (indIEDest=9), a N17c-20 relaciona vFCP informado ao retorno 876 e orienta que o fundo, quando existir, seja informado em vFCPUFDest. O diagnóstico precisa conferir essas três condições e os grupos completos; não basta mover um percentual entre campos.
Roteiro para 880, 874 ou diferença de valor
Para 880, confirme no XML o percentual zero e a incidência real. Se não incidir, a representação documentada é ausência dos campos, após corrigir a origem da montagem; se incidir, o percentual correto precisa estar definido. Não apague o grupo incidente só para retirar a rejeição.
Para 874, confronte UF do emitente, referência da tabela, produto e vigência com o parâmetro usado. Uma integração pode ter carregado tabela de outra UF, aplicado percentual antigo ou confundido contexto próprio com destino. A causa deve ser demonstrada por essa comparação.
Para 860, confira base e produto percentual/100, em finalidade normal. Percentual válido e valor aritmético coerente são verificações diferentes. Corrija a origem identificada no emissor e confira o par e a totalização afetada; não edite XML assinado.
vFCP no ICMS00 detalha valor e consolidação; pICMS aprofunda o percentual separado de ICMS.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/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