vBC em PISOutr: base percentual, obrigatoriedade e origem do valor
<vBC>det › imposto › PIS › PISOutr › vBCRevisã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 PISOutr é a base monetária do PIS, Programa de Integração Social, quando outras operações usam cálculo percentual. O XPath é /nfeProc/NFe/infNFe/det/imposto/PIS/PISOutr/vBC. A base acompanha pPIS; o resultado aparece em vPIS.
Encontrar PISOutr sem vBC não significa automaticamente que a base foi omitida. Primeiro é preciso identificar a alternativa de cálculo.
Obrigatória no par percentual
PISOutr exige CST, um dos pares vBC/pPIS ou qBCProd/vAliqProd, e depois vPIS. Se a alternativa é percentual, vBC e pPIS são obrigatórios dentro dela. Se é quantidade, o par monetário não é usado. Não se enviam as duas alternativas juntas. MOC 7.0, Anexo I, páginas 53–54.
Na alternativa por quantidade, qBCProd mede unidades de base; não é um valor em reais. Preencher vBC com a quantidade muda o significado da entrada, mesmo que o número coincida.
O domínio de CST de PISOutr é próprio. A presença de base e percentual não permite substituir o grupo por PISAliq ou escolher um código diferente.
Base da nota e apuração são diferentes
Uma base no XML identifica a entrada do cálculo documentado. Não prova, por si, direito a crédito ou o valor a apropriar na apuração. PISOutr inclui códigos relacionados a créditos e aquisições, mas a descrição do CST não elimina a necessidade de avaliação da operação.
Exemplo sintético: assumindo CST 99, base de R$ 480,00 e percentual 1,25% previamente definidos, obtém-se:
480 × 1,25 ÷ 100 = R$ 6,00.
<PISOutr xmlns="http://www.portalfiscal.inf.br/nfe">
<CST>99</CST>
<vBC>480.00</vBC>
<pPIS>1.2500</pPIS>
<vPIS>6.00</vPIS>
</PISOutr>
O trecho é sintético, parcial da nota e não pronto para transmissão. Código, base e percentual foram assumidos para explicar a representação, sem recomendar tratamento ou crédito.
A relação matemática não estabelece uma fórmula universal de composição da base. Não se pode concluir somente pelo campo que descontos são dedutíveis, que frete está incluído ou que ICMS deve ser excluído. A base vem da memória da operação com os parâmetros confirmados; diferenças entre vBC e vProd precisam ser explicadas por essa origem.
Formato e causas de divergência
No XSD real PL_010d_v1.03, referência histórica, este vBC usa TDec_1302: até 13 inteiros e duas casas se houver fração; zero e inteiros também são aceitos. 480.00 segue o padrão; vírgula, símbolo monetário e terceira casa decimal não seguem. Schemas 010d v1.03, PISOutr/vBC e tipos básicos.
Aceitar zero estruturalmente não autoriza substituir dado desconhecido. O caminho PISST/vBC usa TDec_1302Opc no mesmo pacote histórico e não admite zero; portanto, não transplante essa faceta.
Para investigar:
- Identifique o método confirmado. Se é quantidade, a ausência de vBC pode estar correta; confira o par quantitativo inteiro.
- Se é percentual, compare base e pPIS da origem com o XML. Campo vazio ou ausente não se resolve enviando zero sem suporte.
- Compare as parcelas da memória de cálculo com o valor transmitido. Uma diferença que coincide com desconto ou encargo indica o que investigar, sem autorizar alterar a composição.
- Recalcule vPIS com a base e o percentual efetivamente enviados. Isso distingue erro da base de erro de escala ou resultado.
- Corrija a origem comprovadamente errada e gere novamente, sem editar XML assinado.
Para confirmar a base real, apresente ao responsável contábil operação, produto, regime, documentos, valores das parcelas e fundamento da composição. A tarefa técnica posterior é transportar essa base sem perda ou mudança de unidade.
Compare a base de PISAliq, a quantidade de PISOutr e a base de PISST.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/PIS/PISOutr/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