NCM Buscador
CAMPO DO XML · BP-E Obrigatório 3 posições 7 regras

vDesconto

Valor do desconto concedido ao comprador

✓ Conferido · 12 de outubro de 2026 BP-e (modelo 63): regras de validação — MOC BP-e — Visão Geral, versão 1.00b (as regras NÃO estão no Anexo I, que é só leiaute). Inclui a NT 2025.002 v2.00 — BP-e Transporte Aéreo (222 regras), que não tem MOC próprio · Portal Nacional do BP-e / SVRS

Onde fica no arquivo

No documento

  • BPe/infBPe/infValorBPe/vDesconto

    Obrigatório, uma vez

  • BPeTA/infBPe/infValorBPe/vDesconto

    Obrigatório, uma vez

  • bpeProc/BPe/infBPe/infValorBPe/vDesconto

    Obrigatório, uma vez

O caminho até aqui, nível a nível

  1. BPe — Bilhete de Passagem Eletrônico
  2. └ infBPe — Informações do BP-e
  3. └ infValorBPe — Informações dos valores do Bilhete de Passagem
  4. └ vDesconto — você está aqui

Dentro do grupo infValorBPe , informações dos valores do Bilhete de Passagem

O que o arquivo aceita neste campo

Ocorrência
1-1
Tamanho
—
Tipo no esquema
TDec_1302
Formato base
string

Formato exigido: 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})? Número decimal: até 13 dígitos na parte inteira e 2 casas decimais, com PONTO como separador. Sem separador de milhar, sem sinal e sem espaço. Expressão do próprio esquema. Valor que não casar com ela é recusado na validação do arquivo, antes de qualquer regra de negócio. ⚠ A leitura acima sai da EXPRESSÃO, não do nome do tipo: nome de tipo se expande por palpite e palpite publica regra errada.

As regras que verificam este campo — 7

O manual cita a tag pelo caminho no XML. Cada regra devolve um código de rejeição, e a ficha do código traz a mensagem que o autorizador exibe.

401 vDesconto Validações de Valores

Se informado o tipo de desconto, o valor do desconto (tag:vDesconto) deve ser maior que zero

Mensagem: Valor de desconto deve ser informado quando indicado o tipo de benefício

500 vDesconto Validações de Valores

Se informado valor do desconto (tag:vDesconto) maior que zero e/ou informado conteúdo em xDesconto - O campo tpDesconto deverá estar preenchido

Mensagem: O tipo desconto deve ser informado

403 vDesconto Validações de Valores

Validar se o valor pago pelo BP-e (tag:vPgto) corresponde ao valor total do bilhete (tag: vBP) menos o valor do desconto (tag:vDesconto)

Mensagem: Valor pago difere do Valor Total menos o desconto concedido

403 vDesconto Ajuste de regras de validação do BPe

Validar se o valor pago pelo BPe (tag:vPgto) corresponde ao valor total do bilhete (tag: vBP) menos o valor do desconto (tag:vDesconto)

Mensagem: Valor pago difere do Valor Total menos o desconto concedido

401 vDesconto Validações de Valores

Se informado o tipo de desconto, o valor do desconto (tag:vDesconto) deve ser maior que zero

Mensagem: Valor de desconto deve ser informado quando indicado o tipo de benefício

500 vDesconto Validações de Valores

Se informado valor do desconto (tag:vDesconto) maior que zero e/ou informado conteúdo em xDesconto - O campo tpDesconto deverá estar preenchido

Mensagem: O tipo do desconto deve ser informado

403 vDesconto Validações de Valores

Validar se o valor pago pelo BPe (tag:vPgto) corresponde ao valor total do bilhete (tag: vBP) menos o valor do desconto (tag:vDesconto)

Mensagem: Valor pago difere do Valor Total menos o desconto concedido

Campos do mesmo grupo — 8

São os campos que ficam ao lado deste no arquivo, dentro de BPe/infBPe/infValorBPe. Quem preenche um costuma precisar dos outros na mesma passada.

Perguntas frequentes

O que é o campo vDesconto do BP-e?

Valor do desconto concedido ao comprador No XML ele fica em BPe/infBPe/infValorBPe/vDesconto. Obrigatório, uma vez.

vDesconto aparece em quantos lugares do BP-e?

Em 3 posições do esquema oficial: BPe/infBPe/infValorBPe/vDesconto, BPeTA/infBPe/infValorBPe/vDesconto, bpeProc/BPe/infBPe/infValorBPe/vDesconto. A mesma tag em posições diferentes tem ocorrência própria em cada lugar — o que vale no grupo do emitente não vale automaticamente no do destinatário.

Que formato o campo vDesconto exige no BP-e?

Número decimal: até 13 dígitos na parte inteira e 2 casas decimais, com PONTO como separador. Sem separador de milhar, sem sinal e sem espaço. A regra é a expressão do próprio esquema (0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?), e ela é verificada antes de qualquer regra de negócio: valor fora do formato faz o arquivo ser recusado na validação, com rejeição genérica de schema — que é a mais difícil de diagnosticar justamente por não citar o campo.

Que rejeição vDesconto pode causar no BP-e?

7 regras do manual citam este campo, disparando os códigos 401, 500, 403. ⚠ O número da rejeição não é único entre documentos fiscais: o mesmo código costuma existir na NF-e querendo dizer outra coisa.

De onde vem esta descrição do BP-e?

Do esquema XML oficial (PL_BPe_100b_NT2026.004_RTC_1.00). O Buscador NCM lê a árvore do próprio arquivo: tipo, tamanho, ocorrência e domínio saem sem interpretação. O manual manda na REGRA de validação; o esquema manda no CAMPO.

Voltar ao topo