Calculadora de troco em dinheiro
A calculadora de troco em dinheiro determina exatamente quanto o cliente deve receber após pagar uma compra.
Executar grátis
Informe o total final e o valor em espécie entregue, usando a mesma moeda nos dois campos. A ferramenta faz a subtração com duas casas decimais exatas e evita surpresas de ponto flutuante. Ela é útil em lojas, feiras, eventos escolares, caixas de cobrança e qualquer operação que exija um resultado rápido e verificável.
Informe os dois valores da transação
Comece pelo total final da compra, depois da aplicação de impostos, descontos, cupons, depósitos e outros ajustes. Em seguida, informe quanto dinheiro o cliente realmente entregou. Os dois valores devem usar a mesma moeda e ter no máximo duas casas decimais. Por exemplo, se a venda custa 13.47 e o cliente entrega 20.00, registre esses números como total da compra e valor pago. Não informe uma autorização de cartão, o saldo de um vale-presente ou o valor de um pagamento misto, a menos que a parcela em dinheiro deva cobrir sozinha todo o total exibido. A calculadora aceita zero, o que ajuda em uma transação totalmente descontada, mas nenhum valor pode ser negativo. A API também aceita aliases claros, embora amount_tendered e purchase_total tornem os registros mais fáceis de interpretar depois. Confira o recibo antes de calcular: uma subtração correta não conserta um total sem imposto ou com o item errado. Manter as duas entradas explícitas permite que o operador, o cliente ou um auditor reproduza o resultado com facilidade.
Entenda como o troco é calculado
A regra é: o troco corresponde ao valor pago menos o total da compra. Embora a fórmula seja simples, valores monetários exigem cuidado com decimais. A calculadora transforma cada entrada em um número inteiro de centésimos antes da subtração e depois converte o resultado para exibição. Assim, 20.00 menos 13.47 resulta em 6.53 sem ruído de ponto flutuante binário. A resposta contém o valor pago normalizado, o total normalizado, o número change_due, a string change_due_formatted sempre com duas casas decimais e a fórmula usada. O resultado 0.00 significa que o cliente pagou o valor exato e não deve receber dinheiro. Se o pagamento for menor que o total, existe uma diferença a pagar, não troco; a calculadora rejeita a entrada e informa quanto falta. Essa distinção evita que um número negativo seja confundido com dinheiro a devolver. A ferramenta não escolhe cédulas e moedas, pois as denominações variam conforme a moeda, o local e o caixa. Sua função é fornecer o valor aritmético universal devido ao cliente.
Use o resultado com segurança no caixa
Leia em voz alta o troco formatado, mantenha o dinheiro recebido visível e conte a devolução para o cliente antes de guardar o pagamento original. Um método comum começa no total da compra e soma moedas e cédulas até alcançar o valor entregue; o troco calculado oferece uma meta independente. Em uma compra de 13.47 paga com 20.00, a meta é 6.53, independentemente das denominações disponíveis. Ao integrar a API a um ponto de venda, armazene as duas entradas junto com a resposta para que uma conciliação posterior mostre exatamente o cálculo realizado. Cada solicitação custa US$ 0,002; a calculadora no navegador permite uma conferência manual imediata. O cálculo é determinístico, não consulta a rede e não deduz símbolos de moeda nem taxas de câmbio. Siga sempre as regras locais de arredondamento em espécie quando a menor moeda em circulação valer mais que um centésimo. Nesses locais, aplique primeiro o arredondamento legal ao total da compra e depois use este resultado como meta de troco.
Casos de uso
Conferir o troco no varejo
Confirme o valor a devolver quando o cliente paga em dinheiro o total final do comprovante.
Operar um caixa temporário
Ofereça aos voluntários de uma campanha, feira ou evento escolar uma forma consistente de calcular o troco.
Automatizar o cálculo no ponto de venda
Envie à API o dinheiro recebido e o total da venda e registre o resultado determinístico para conciliação.
Perguntas frequentes
Qual fórmula a calculadora usa?
Ela usa change_due = amount_tendered - purchase_total depois de converter os dois valores em centésimos inteiros.
O que acontece se o cliente não entregar dinheiro suficiente?
A solicitação retorna um erro de entrada inválida com o valor que falta, pois pagamento insuficiente não é troco.
Posso usar qualquer moeda?
Sim, desde que as duas entradas usem a mesma moeda e ela seja representada com duas casas decimais. O resultado não inclui símbolo monetário.
A ferramenta informa quais cédulas e moedas devo devolver?
Não. Ela calcula o troco total; a escolha das denominações depende da moeda e do conteúdo do caixa.
Quanto custa um cálculo pela API?
Cada solicitação à API custa US$ 0,002. Você também pode usar a calculadora no navegador para uma conferência manual.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/change-due \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount_tendered":20,"purchase_total":13.47}'const res = await fetch("https://api.kit.forhosting.com/life/change-due", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount_tendered": 20,
"purchase_total": 13.47
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/change-due",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount_tendered": 20,
"purchase_total": 13.47
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/change-due", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount_tendered":20,"purchase_total":13.47}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount_tendered":20,"purchase_total":13.47}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/change-due", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"amount_tendered": 20,
"purchase_total": 13.47
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.change_due",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |