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

vPIS em PISAliq: cálculo do item e diferença para o total do PIS

<vPIS>det › imposto › PIS › PISAliq › vPIS

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

vPIS em PISAliq é o valor em reais do PIS, Programa de Integração Social, calculado por percentual para aquele item. Está em /nfeProc/NFe/infNFe/det/imposto/PIS/PISAliq/vPIS, após CST, vBC e pPIS.

O valor do item e o total de PIS da nota são campos diferentes. Essa separação é decisiva quando a conta de um item parece correta, mas a autorização retorna divergência do somatório.

Resultado do cálculo percentual

Com base e alíquota já definidas, a relação é vPIS = vBC × pPIS ÷ 100. Uma hipótese sintética de base R$ 640,00 e percentual 1,25% resulta em R$ 8,00:

<PISAliq xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>01</CST>
  <vBC>640.00</vBC>
  <pPIS>1.2500</pPIS>
  <vPIS>8.00</vPIS>
</PISAliq>

CST, base e percentual foram assumidos para uma operação fictícia; não são recomendação ao leitor. O trecho é parcial, sintético e não está pronto para transmissão. 640.00 é base, 1.2500 é percentual e 8.00 é valor monetário. Somente o último é este vPIS. MOC 7.0, Anexo I, Q07–Q09, página 52.

No XSD real PL_010d_v1.03, referência histórica, vPIS usa TDec_1302: até 13 inteiros e duas casas se houver fração; admite zero e inteiros. 8.00 é uma apresentação válida, enquanto 8,00 ou 8.001 não seguem o padrão. Precisão monetária não determina, por si, o procedimento de arredondamento da apuração. Schemas 010d v1.03.

Valor do item e total do PIS

A regra W13-10, facultativa para modelos 55/65, compara ICMSTot/vPIS com o somatório de Q09 dos itens sujeitos ao ICMS, identificados pela existência de ICMS. A divergência está associada à rejeição 602. MOC, página 121.

Em uma conferência sintética, suponha dois itens com grupo ICMS e PIS próprio de R$ 8,00 e R$ 3,00. A soma relevante é R$ 11,00. Se houver ainda PISST/vPIS de R$ 2,00, ele é R06 e não transforma o total próprio em R$ 13,00. Uma busca indiscriminada por todas as tags vPIS no documento contabilizaria também campos com outra função e até o próprio total.

A presença de indSomaPISST=1 afeta o total da nota vNF no contexto de PIS-ST. Não redefine Q09 nem o total de PIS próprio. NT 2020.005, disponível no Portal Nacional.

Conferir o valor antes de corrigir

Se a diferença está no item, compare vBC e pPIS da memória de cálculo com os literais enviados. Confira conversão do percentual por 100 e precisão preservada antes da saída monetária. Usar percentual arredondado antecipadamente ou fator como se fosse percentual pode alterar o valor.

Se o problema aparece somente em 602, monte uma relação por nItem: existência de ICMS, modalidade de PIS e respectivo Q09. Some os valores monetários efetivamente representados e compare com o total. Isso localiza item omitido, duplicado, total desatualizado ou mistura com PIS-ST.

Uma diferença de centavos exige olhar entradas e etapas de precisão. Não assuma uma tolerância de R$ 0,01 nem ajuste o último item para absorver o erro: esses procedimentos não são estabelecidos pelos fatos usados nesta página. Zero estrutural também não substitui valor ainda desconhecido.

Corrija a origem demonstradamente errada, recalcule o item ou total pertinente e gere novamente. Não edite XML assinado. Para confirmar base e alíquota, leve os dados da operação e a memória ao responsável contábil.

Compare com vPIS de PISST, cujo papel é distinto, e confira pPIS e vBC de PISAliq.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/PIS/PISAliq/vPIS
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