Calculadora DSO
Veja quanto tempo o dinheiro fica preso depois de uma venda a prazo: 40000 de contas a receber contra 365000 de vendas a prazo anuais dão um DSO de 40 dias. Vêm junto as vendas diárias médias e o giro de recebíveis. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Contas a receber
- 40.000
- Vendas a prazo
- 365.000
- Dias
- 365
- Prazo médio de recebimento
- 40
- Média diária de vendas a prazo
- 1.000
- Giro de contas a receber
- 9,125
O prazo médio de recebimento, ou DSO, é a identidade de capital de giro que transforma um saldo de contas a receber e um intervalo de vendas a prazo em uma defasagem de cobrança medida em dias. Com as contas a receber, as vendas a prazo do período e a duração dessa janela, o DSO é igual às contas a receber divididas pelas vendas a prazo, vezes o número de dias. Controllers, gestores de crédito e estudantes consultam esse número sempre que precisam ver quanto tempo o caixa permanece preso depois de uma venda a prazo. Esta calculadora de prazo médio de recebimento aceita essas três entradas, aplica a identidade e devolve o prazo de cobrança em dias junto com as vendas a prazo diárias médias e o giro implícito das contas a receber.
O que o prazo médio de recebimento significa e como contas a receber sobre vendas a prazo viram uma contagem de dias
O prazo médio de recebimento mede quantos dias, em média, os clientes a prazo de uma empresa levam para pagar depois de uma venda a prazo. Em álgebra, é contas a receber divididas pelas vendas a prazo totais do período, multiplicadas pelo número de dias dessa janela.
Uma empresa que mantém quarenta mil de contas a receber contra trezentos e sessenta e cinco mil de vendas a prazo num ano de trezentos e sessenta e cinco dias tem um DSO de quarenta mil sobre trezentos e sessenta e cinco mil vezes trezentos e sessenta e cinco, que é exatamente quarenta dias: vendas a prazo diárias médias de mil, e quarenta dias de vendas parados no razão.
A mesma identidade é contas a receber divididas pelas vendas a prazo diárias médias, ou seja, vendas a prazo sobre dias; as duas formas devolvem a mesma defasagem de cobrança. O DSO é uma conversão fluxo-contra-estoque, não uma previsão de uma fatura isolada nem um calendário de aging. Um número mais baixo significa que o caixa volta mais depressa; um mais alto significa que mais capital de giro fica nas contas comerciais a receber.
Compare o DSO com os prazos declarados: se as faturas são Net 30 e o DSO fica perto de quarenta e cinco, as cobranças atrasam na média mesmo que cada fatura pareça em dia na emissão. A duração que você envia precisa bater com a janela de vendas — vendas anuais a prazo com trezentos e sessenta e cinco ou trezentos e sessenta dias, um trimestre com noventa, um mês com trinta ou os dias corridos daquele mês.
Use a média de contas a receber, início mais fim sobre dois, quando quiser um DSO médio do período, ou as contas no fechamento para um retrato frente às vendas daquela janela. As vendas a prazo devem ser um número finito estritamente maior que zero; um total de vendas nulo não pode ser o denominador e é rejeitado em vez de inventar um prazo de cobrança. As contas a receber podem ser zero, o que produz um DSO de zero porque não resta nada a receber.
As saídas numéricas usam arredondamento half-up para que os goldens comparem byte a byte entre runtimes.
Casos de uso
Prazos de crédito versus a defasagem real de cobrança
Transforme contas a receber de fechamento ou médias, vendas a prazo e dias do período em DSO e compare a contagem de dias com os prazos declarados Net 30 ou Net 60.
Perguntas frequentes
Como se calcula o prazo médio de recebimento?
Envie um saldo de contas a receber não negativo, um total de vendas a prazo positivo da mesma janela e a duração dessa janela em dias. Quarenta mil de contas a receber contra trezentos e sessenta e cinco mil de vendas anuais a prazo é um DSO de quarenta dias.
O que um DSO alto ou baixo significa?
Um DSO mais baixo significa que os clientes pagam mais depressa e fica menos caixa nas contas a receber. Um DSO mais alto significa uma defasagem de cobrança mais longa. Compare o resultado com os prazos declarados: um DSO bem acima de Net 30 é um problema de cobrança mesmo que o razão ainda pareça em dia.
O que acontece se as vendas a prazo forem zero?
O prazo médio de recebimento divide as contas a receber pelas vendas a prazo, então um total de vendas nulo não é um denominador válido. A chamada não é cobrada.
Devo usar 365, 360 ou 90 para os dias?
Faça days coincidir com a janela de vendas que você envia. Use 365 ou 360 com vendas anuais a prazo, 90 com um trimestre, e 30 ou os dias corridos do mês com vendas mensais. Misturar vendas anuais com um fator de 90 dias infla o DSO.
Como comparo o DSO com os meus prazos de pagamento?
Coloque o DSO ao lado do prazo das suas faturas. Se você fatura para 30 dias e o DSO fica perto de quarenta e cinco, os clientes pagam com atraso em média, mesmo que cada fatura parecesse em dia ao ser emitida.
Ferramentas relacionadas
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/fin/days-sales-outstanding \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"accounts_receivable":40000,"credit_sales":365000,"days":365}'const res = await fetch("https://api.kit.forhosting.com/fin/days-sales-outstanding", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"accounts_receivable": 40000,
"credit_sales": 365000,
"days": 365
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/days-sales-outstanding",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"accounts_receivable": 40000,
"credit_sales": 365000,
"days": 365
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/days-sales-outstanding", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"accounts_receivable":40000,"credit_sales":365000,"days":365}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"accounts_receivable":40000,"credit_sales":365000,"days":365}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/days-sales-outstanding", 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
{
"accounts_receivable": 40000,
"credit_sales": 365000,
"days": 365
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.days_sales_outstanding",
"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. |
Notas técnicas
Um total de vendas a prazo igual a zero falha com invalid_input em vez de dividir por zero.
O que o prazo médio de recebimento significa e como contas a receber sobre vendas a prazo viram uma contagem de dias
Este endpoint não busca saldos do razão, faixas de aging nem calendários de prazo; aplica a identidade que você fornece para que gabaritos, widgets de landing e automação compartilhem uma única contagem de dias auditável.
Contrato de entrada, formato da resposta e comportamento de erro
Exemplo: quarenta mil de contas a receber, trezentos e sessenta e cinco mil de vendas a prazo e trezentos e sessenta e cinco dias devolve um DSO de quarenta, vendas diárias médias de mil e um giro de nove ponto um dois cinco. As vendas a prazo são o campo que o contrato de produto destaca: um total de vendas nulo nunca é trocado em silêncio por vendas à vista, receita líquida nem um, e uma cifra de vendas ausente não é tratada como zero. Validação que falha não consome saldo, o que mantém baratos os scripts exploratórios quando quem desenvolve envia de propósito um total de vendas a prazo nulo para confirmar o caminho de erro. Envie por POST um corpo JSON com três números finitos obrigatórios. accounts_receivable (aliases ar, receivables, accounts_receivable_balance, ending_receivables e average_receivables) é o estoque de contas a receber em unidades de moeda para a mesma janela da cifra de vendas; deve ser finito e maior ou igual a zero. credit_sales (aliases total_credit_sales, net_credit_sales, sales, credit_sales_total e net_sales) são as vendas a prazo do período na mesma moeda e devem ser um número finito estritamente maior que zero. days (aliases days_in_period, period_days, n e period) é a duração dessa janela de vendas em dias e deve ser um número finito estritamente maior que zero. decimals é opcional, um inteiro de zero a doze, padrão seis, que controla o arredondamento half-up das saídas numéricas. Em caso de sucesso o corpo ecoa as três entradas, depois days_sales_outstanding como prazo de cobrança em dias, average_daily_credit_sales como vendas a prazo sobre dias e — quando as contas a receber são positivas — receivables_turnover como vendas a prazo sobre contas a receber. Uma string formula reescreve que o DSO é igual a accounts_receivable sobre credit_sales vezes days. Campos ausentes, valores não finitos, saldo de contas a receber negativo, duração de período zero ou negativa, ou total de vendas a prazo zero ou negativo falham com invalid_input nomeando o campo e não são cobrados. Prefira números JSON simples a strings com símbolos de moeda ou separadores de milhar; strings numéricas só são aceitas quando batem com um padrão estrito de número finito, sem vírgulas nem rótulos. O preço é um US$ 0,002 fixo por chamada bem-sucedida com unit item.
Onde uma calculadora de prazo médio de recebimento agrega valor
Educadores e plataformas LMS precisam de um oráculo para a pergunta de definição que pede calcular o DSO como contas a receber sobre vendas a prazo vezes dias, inclusive o caso trimestral com noventa dias e o anual com trezentos e sessenta e cinco, sem um extrato ERP completo. Equipes de conteúdo podem contrastar o DSO com o giro de contas a receber e com os dias de pagamento em aberto para o leitor ver por que uma defasagem de cobrança curta ainda não financia um ciclo de pagamentos mais longo, e por que o ciclo de conversão de caixa precisa das três pernas. Use esta capacidade quando você já tem contas a receber, vendas a prazo e uma contagem de dias compatível; se tem só cobranças em caixa por faixa de aging e quer uma curva de recebimento ponderada, essa é outra identidade e não pertence a esta definição de DSO. Arquivos de tesouraria e FP&A costumam guardar as contas a receber no fechamento e as vendas do período em colunas separadas; um endpoint determinístico recupera o DSO sem uma célula de planilha que alguém depois reescreveria como giro ao tirar o multiplicador de dias. Integradores ligam o endpoint a notebooks, ferramentas de fluxo ou edge workers para fixar goldens quando um pacote de fechamento muda o estoque de contas a receber ou o total de vendas a prazo. Mantenha credit_sales estritamente positivo, fixe o campo days_sales_outstanding arredondado nos testes e obtenha prazos de cobrança reproduzíveis para widgets, salas de aula e produção sem montar sua própria biblioteca de capital de giro.
Casos de integração
Pacotes de fechamento de capital de giro
Recupere days_sales_outstanding a partir das colunas de contas a receber e de vendas a prazo sem tirar por engano o multiplicador de dias (isso seria giro, não DSO).
Exercícios de DSO em sala e gabaritos LMS
Corrija problemas que pedem calcular o DSO como (accounts_receivable / credit_sales) × days, inclusive janelas anuais de 365 dias e trimestrais de 90 dias.
Perguntas técnicas
Quanto custa a calculadora de prazo médio de recebimento?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago de KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.