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

vFCP no ICMS00: cálculo pela vBC, somatório e rejeições

<vFCP>det › imposto › ICMS › ICMS00 › vFCP

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

ICMS00/vFCP é o valor monetário do Fundo de Combate à Pobreza relativo ao item nesse grupo. Ele integra o par pFCP/vFCP, separado do ICMS próprio. Em ICMS00, a conferência aritmética usa vBC × pFCP / 100; não há campo vBCFCP dentro dessa alternativa. O MOC 7.0, Anexo I, p. 26 e regra N17c-10, p. 111 documenta essa estrutura e relação.

Qual base utilizar na conferência

Antes de conferir o valor, precisam estar confirmadas incidência e alíquota do FCP para o contexto real. Este artigo não escolhe produto sujeito ao fundo nem percentual da UF. Os dados a confirmar são produto, operação, UF, data, regime e referência fiscal. Uma vez definidos, compare a base e o percentual utilizados na memória com o XML.

No CST 00, use vBC do mesmo item. A N17c-10 diferencia esse caso dos CST 10, 20, 70 e 90, que usam vBCFCP. A NT 2020.005 v1.21, p. 18 excluiu CST 51 dessa validação; o trecho antigo do MOC não deve ser reaplicado a ele. No contexto de diferimento, a NT descreve vFCP como valor realmente devido após o diferimento, que não é a simples conta antes de diferir. Copiar a fórmula de outro grupo pode trazer um campo inexistente ou uma base de contexto errado.

O grupo de FCP é opcional como sequência XML, mas, quando existe, seus dois campos são obrigatórios. Para produtos sem incidência, a N17b-10 orienta não informar os campos relativos ao fundo. Isso não autoriza retirar informação incidente só para fazer uma conta passar.

Exemplo com arredondamento

Assuma parâmetros sintéticos já definidos: base de R$ 123,45 e percentual didático de FCP 2% incidente nesta representação, finalidade normal.

  1. Converta o percentual: 2 / 100 = 0,02.
  2. Multiplique: 123,45 × 0,02 = 2,469.
  3. Arredonde para duas casas: R$ 2,47.
  4. Confira vFCP=2.47, associado a pFCP=2.00.

A N17c-10 associa divergência do valor, quando FCP foi informado e finNFe=1, à rejeição 860, de aplicação obrigatória para modelos 55/65. A nota *4 do MOC, p. 117 prevê produto arredondado para duas casas e tolerância de R$ 0,01 para mais ou para menos nessa validação. Essa margem não é um modo de calcular a incidência nem de ajustar um imposto sem origem.

Não confunda zero monetário após arredondamento com percentual FCP zero. Em exemplo didático muito pequeno, 0,01 × 2 / 100 = 0,0002 resulta em vFCP=0.00, mantendo pFCP=2.00. Já pFCP=0.00 é objeto da N17b-10/880. O exemplo demonstra a diferença entre percentual e resultado; não afirma incidência em um caso real nem garante autorização de todo o documento.

Como o valor chega ao total

ICMSTot/vFCP é a soma dos valores próprios de FCP dos itens, conforme W04b-10, associada à rejeição 861 e aplicação obrigatória. Some os valores monetários representados, não uma conta única sobre base agregada que ignora arredondamento ou alíquotas diferentes.

Exemplo de consolidação: primeiro item com R$ 2,47 e segundo com R$ 3,00, supondo somente essas parcelas próprias na nota, resultam em total R$ 5,47. O segundo item não recebe R$ 5,47; esse valor pertence ao total. Se um item tiver FCP por ST ou destino, identifique o grupo e o total correspondente em vez de misturá-lo nesta soma.

Campo Representação
ICMS00/vFCP FCP próprio daquele item.
ICMSTot/vFCP Consolidação do FCP próprio dos itens.
vFCPST FCP da substituição tributária em contexto próprio.
vFCPSTRet FCP retido anteriormente por ST, em contexto próprio.
vFCPUFDest FCP relativo à UF de destino, no grupo correspondente.
ICMS00/vICMS ICMS próprio; não deve receber o valor monetário de FCP somado.

A fórmula geral da W16-10, atualizada na NT 2023.004 v1.20, inclui vFCPST, mas não apresenta vFCP próprio como parcela adicional. Não acrescente todo FCP ao total da nota por semelhança de nome.

Localização e XML coerente

O XPath processado é nfeProc/NFe/infNFe/det/imposto/ICMS/ICMS00/vFCP. O tipo monetário TDec_1302 do schema oficial aceita valor não negativo, até 13 dígitos inteiros e duas casas quando houver fração. Use ponto decimal e mantenha o par após vICMS.

Fragmento parcial e sintético do exemplo, com ICMS didático de 18% e demais parâmetros assumidos; não é NF-e completa nem 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>
  <pFCP>2.00</pFCP>
  <vFCP>2.47</vFCP> <!-- resultado do fundo, separado -->
</ICMS00>

Como distinguir 860, 861 e 876

860: examine o item indicado, a finalidade normal, base do CST 00, percentual e arredondamento. A diferença pode vir de base de outro grupo, fator percentual incorreto, valor antigo ou campo serializado diferente da memória. A causa deve ser comprovada pelo confronto.

861: confronte soma dos vFCP próprios dos itens e ICMSTot/vFCP. Se os itens estão corretos, revise a consolidação; se um item está errado, revise seu cálculo antes do total. A soma não deve absorver FCP-ST nem FCP da UF de destino.

876: na NF-e de operação interestadual (idDest=2) para consumidor final (indFinal=1), não contribuinte (indIEDest=9), a N17c-20 examina vFCP informado e orienta que FCP, quando existir, seja informado em vFCPUFDest. Confira condições e todos os dados do grupo de destino. Não trate isso como simples diferença de centavos.

Após identificar a origem, corrija no emissor, regenere e confira item e totais afetados. Não edite o XML assinado nem mude incidência ou percentual apenas para eliminar a mensagem. pFCP aprofunda percentual zero e tabela por UF; ICMS00 explica o conjunto.

Referência técnica para integração

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