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

pCOFINS em COFINSOutr: quando o ramo percentual está presente

<pCOFINS>det › imposto › COFINS › COFINSOutr › pCOFINS

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

Em COFINSOutr, pCOFINS informa o percentual do ramo que usa uma base monetária. Seu caminho é det/imposto/COFINS/COFINSOutr/pCOFINS. Ele aparece junto com vBC; não pertence ao ramo de quantidade e valor por unidade.

Obrigatório no ramo percentual

COFINSOutr permite uma escolha entre dois pares: vBC/pCOFINS ou qBCProd/vAliqProd. CST e vCOFINS permanecem em ambos. Uma vez escolhido o primeiro, pCOFINS e vBC devem estar presentes. Se o segundo ramo estiver definido para a operação, pCOFINS não é um campo faltante.

Por isso, a ocorrência 1–1 do campo dentro de sua sequência não significa que toda COFINSOutr precisa trazer pCOFINS. A obrigatoriedade é interna ao ramo. Enviar pCOFINS ao lado de qBCProd/vAliqProd mistura escolhas e não representa uma terceira forma de cálculo. MOC 7.0, Anexo I, p. 56.

Embora COFINSAliq também tenha pCOFINS, os grupos possuem domínios de CST diferentes. Esta ocorrência não autoriza usar CST 01/02 dentro de COFINSOutr. Nem a semelhança da conta autoriza trocar o grupo.

Percentual informado, resultado em reais

A conferência do ramo é vBC × pCOFINS ÷ 100. Assuma para ilustração CST 99 já definido, base de R$ 160,00 e alíquota fictícia de 1,8750%. O resultado é 160 × 1,8750 ÷ 100 = R$ 3,00.

Fragmento sintético e parcial da nota, não pronto para transmissão; código e parâmetros não recomendam tratamento fiscal:

<COFINSOutr xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>99</CST>
  <vBC>160.00</vBC>
  <pCOFINS>1.8750</pCOFINS>
  <vCOFINS>3.00</vCOFINS>
</COFINSOutr>

pCOFINS contém 1.8750, que é porcentagem. Uma biblioteca pode usar a fração 0,01875 internamente; ao gerar a tag, deve manter a unidade percentual prevista. vCOFINS contém reais, e vBC não é quantidade.

Cortar o percentual do exemplo para 1,87% antes de calcular produz R$ 2,992, em vez de R$ 3,00 antes da representação monetária. A relevância da diferença depende da etapa que converte o resultado final em moeda; a lição técnica é não perder precisão silenciosamente. O artigo não define política universal de arredondamento fiscal.

A alíquota e a composição da base devem vir da configuração fiscal confirmada. Não copie pPIS nem use um percentual fixo porque o CST foi chamado de “outras operações”. Se o domínio de CST mencionar crédito, a tag de percentual não comprova direito a crédito ou valor a apropriar.

Formato e diagnóstico de integração

No XSD histórico PL_010d_v1.03, pCOFINS usa TDec_0302a04: até três inteiros e fração de duas a quatro casas quando presente, além das alternativas inteira e zero do padrão. 1.8750 é uma forma compatível; vírgula, símbolo de porcentagem e espaços não são parte do campo. Aceitar zero no tipo não autoriza representar uma alíquota desconhecida como zero. PL_010d_v1.03, COFINSOutr e tipos básicos.

Se pCOFINS está ausente, descubra primeiro o ramo definido. No quantitativo, sua ausência é esperada. No percentual, compare objeto fiscal e serializador para identificar omissão de um campo obrigatório.

Se existem parâmetros de ambos os ramos, investigue se a troca de modalidade conservou campos antigos na geração. A interface pode preservar valores para revisão, mas o XML precisa representar apenas o ramo confirmado; não apague dados fiscais da origem sem compreender a operação.

Se a conta diverge, compare percentual configurado, unidade interna, precisão e conteúdo enviado, além da base vBC de COFINSOutr. Corrija a origem comprovada e gere nova prévia, sem editar XML assinado ou selecionar nova alíquota para obter autorização.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/COFINS/COFINSOutr/pCOFINS
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