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

vBC de PISAliq: base monetária do PIS e conferência do cálculo

<vBC>det › imposto › PIS › PISAliq › vBC

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

vBC, em PISAliq, representa a base de cálculo em reais do PIS, Programa de Integração Social. Está em /nfeProc/NFe/infNFe/det/imposto/PIS/PISAliq/vBC, depois de CST e antes de pPIS. É uma entrada da conta; vPIS é o resultado.

Localizar esse caminho evita confundir a base de PIS com as bases de ICMS, COFINS, outras modalidades de PIS ou PIS-ST. Um mesmo nome XML não indica um mesmo valor.

Base monetária e origem

Em PISAliq, a relação matemática é vPIS = vBC × pPIS ÷ 100. O MOC descreve vBC como valor da base de cálculo e pPIS como percentual. Isso explica como aplicar uma base definida, mas não fornece uma fórmula universal para formar essa base. MOC 7.0, Anexo I, página 52.

O emissor deve obter a base da memória de cálculo da operação, com os parâmetros fiscais confirmados. Não se conclui somente pelo XML que vBC é igual a vProd, inclui todas as despesas ou exclui ICMS. Para conferir a composição, são necessários valores do item, descontos, encargos, outros tributos quando pertinentes e o fundamento adotado para aquela operação.

Não transforme uma base desconhecida em zero. Tampouco escolha uma base para fazer coincidir um imposto previamente esperado.

Comparar duas bases com o mesmo percentual

Em cenário sintético, suponha CST 01 e alíquota 1,25% já definidos. Para base R$ 800,00, o resultado é R$ 10,00; para base R$ 760,00, resulta R$ 9,50. A diferença de R$ 0,50 decorre dos R$ 40,00 de diferença da base.

Essa comparação ajuda a localizar a causa da divergência, mas não decide se uma das bases é juridicamente correta. Nenhuma parcela de R$ 40,00 foi classificada como dedução permitida no exemplo.

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

O fragmento é parcial e sintético, não pronto para transmissão. Os parâmetros ilustram a conta; não são indicação de enquadramento ou percentual.

Precisão e zero

No XSD real PL_010d_v1.03, referência estrutural histórica, essa base usa TDec_1302: até 13 dígitos inteiros; duas casas se houver parte decimal. O padrão também admite inteiros e zero. Assim, 800.00 é uma representação monetária aceita; 800,00, R$ 800.00 e 800.001 não pertencem ao formato. Schemas 010d v1.03, PISAliq/vBC e tipos básicos.

O zero estrutural não prova base zero na operação. Em PISST, o XSD histórico associa vBC a TDec_1302Opc, que não admite zero: não transporte a faceta de PISAliq para esse outro caminho.

Em PISQtde a entrada é qBCProd, uma quantidade, e não uma base monetária. Em PISOutr pode existir vBC, mas somente na alternativa percentual e com outro domínio de CST.

Diagnóstico pela memória de cálculo

Para base divergente, preserve o XML e compare quatro registros: valor de origem, parcelas da memória de cálculo, resultado interno antes da serialização e literal enviado em vBC. Isso distingue uma composição fiscal diferente de um erro de transporte.

Se a origem é R$ 800,00 e o XML é 80000.00, investigue conversão de centavos ou separadores. Se a diferença coincide com desconto, frete ou tributo, confira se a parcela foi tratada conforme o parâmetro confirmado; a coincidência é um indício de onde olhar, não autorização para excluir ou incluir a parcela.

Recalcule vPIS com a base e o percentual efetivamente enviados. Corrija a etapa comprovadamente errada, gere e valide novamente. Não edite XML assinado. A definição da base legal deve ser confirmada com o responsável contábil usando operação, produto, regime, valores e fundamento de cada parcela.

Compare os caminhos de vBC em PISOutr e vBC em PISST.

Referência técnica para integração

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