vTroco
Valor do Troco.
Onde fica no arquivo
No documento
-
NFe/infNFe/pag/vTroco
Opcional, no máximo uma vez
O caminho até aqui, nível a nível
Dentro do grupo pag , dados de Pagamento. Obrigatório apenas para (NFC-e) NT 2012/004
O que o arquivo aceita neste campo
- Ocorrência
- 0-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 — 3
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.
Somatório do valor dos pagamentos (id:YA03, tag:vPag) maior que o total da nota (id:W16, tag: vNF) e sem informação no campo vTroco (id:YA09) (NT 2017.002)
Mensagem: Ausência de troco quando o valor dos pagamentos informados for maior que o total da nota
Se informado campo Valor do troco (id:YA09, tag:vTroco) com valor difere de: (+) vPag (id:YA03) (-) vNF (id:W16) (NT 2017.002)
Mensagem: Valor do troco incorreto
Valor do troco (id:YA09, tag:vTroco) superior a R$ 300.000,00 Observação: Essa regra de validação será ativada em produção em 01/10/2024.
Mensagem: Alíquota adrem do imposto retido anteriormente difere do definido na legislação para o produto.
O mesmo nome em outros documentos fiscais — 1
vTroco aparece no leiaute de outros documentos, e isso não quer dizer que seja o mesmo campo: cada um tem manual, regra e às vezes tipo próprios. Aplicar a regra de
um documento no outro é o erro que esta lista existe para evitar. Cada linha traz o caminho no arquivo daquele
documento, que é onde a diferença aparece primeiro.
| Documento | O que o leiaute dele diz | Caminho lá |
|---|---|---|
| BP-e | Valor do troco | BPeTA/infBPe/infValorBPe/vTroco |
Campos do mesmo grupo — 1
São os campos que ficam ao lado deste no arquivo, dentro de NFe/infNFe/pag. Quem
preenche um costuma precisar dos outros na mesma passada.
Perguntas frequentes
O que é o campo vTroco do NF-e?
Valor do Troco. No XML ele fica em NFe/infNFe/pag/vTroco. Opcional, no máximo uma vez.
Que formato o campo vTroco exige no NF-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 vTroco pode causar no NF-e?
3 regras do manual citam este campo, disparando os códigos 866, 869, 965. ⚠ 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.
vTroco no NF-e é o mesmo campo dos outros documentos fiscais?
O nome se repete no leiaute de 1 outro documento (BP-e), e isso não quer dizer que seja o mesmo campo: cada documento tem manual próprio, regra própria e às vezes tipo diferente. Aplicar a regra de um no outro é erro comum e caro.
De onde vem esta descrição do NF-e?
Do esquema XML oficial (PL_010f_v1.04). 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.