Calculadora de pagamento por horas
Com 48 horas a 20 por hora e extras a 1,5 depois de 40, você recebe 800 de pagamento normal, 240 de horas extras e 1.040 bruto. Você informa o total de horas e a divisão entre normais e extras é feita automaticamente. 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
- Taxa horária
- 20
- Horas trabalhadas
- 48
- Multiplicador de hora extra
- 1,5
- Limite de horas extras
- 40
- Horas regulares
- 40
- Horas extras
- 8
- Valor da hora extra
- 30
Calcular o bruto a partir de um timesheet não deveria exigir um modelo de planilha nem um papel cheio de tarifa vezes horas. Esta calculadora de pagamento por horas recebe as três entradas cotidianas de folha que as pessoas já têm depois de um turno ou de uma semana de trabalho —o total de horas trabalhadas, a tarifa horária base e o multiplicador de extra que se aplica às horas acima de um corte— e devolve o pagamento regular, o de extra e o bruto, tudo arredondado com clareza a duas casas decimais. As horas extras são calculadas para você: as horas até o limiar são pagas na tarifa base, e as que o ultrapassam são pagas na tarifa vezes o multiplicador. O limiar vale quarenta por omissão, de modo que um timesheet semanal padrão funciona sem campos a mais; envie outro corte quando você paga extra diário após oito horas ou segue uma regra semanal local.
Usos do dia a dia e limites sensatos
Chame a calculadora gratuita de pagamento por horas no navegador para estimativas semanais, faturas de bico, exercícios de folha em sala e checagens rápidas de gestores sem instalar outro aplicativo. Mantenha tarifas e horas dentro de faixas comerciais ordinárias; valores extremos são rejeitados para que a matemática do isolate permaneça limitada.
A promessa do produto é o bruto a partir do total de horas trabalhadas, uma tarifa horária base e um multiplicador explícito para as horas acima de um corte —não a classificação legal automática de extra, diferenciais de turno multi-tarifa nem tabelas legais locais. Isso pertence a ferramentas especializadas com outra intenção SEO, como uma página de extra com nome de jurisdição ou uma calculadora que já pede que você mesmo divida horas regulares e extras. Validação falha, inclusive uma tarifa horária negativa, não é faturada.
Casos de uso
Holerite semanal a partir do total de horas
Trabalhadores e gestores informam as horas trabalhadas, a tarifa horária base e o multiplicador extra da empresa para ver pagamento regular, extra e bruto antes das deduções.
Perguntas frequentes
O que acontece se a tarifa horária for negativa?
Salários negativos não são uma entrada válida de bruto e não são cobrados.
Como as horas extras são determinadas?
O limiar vale 40 por omissão. Você não divide de antemão as horas regulares versus as extras.
A calculadora de pagamento por horas é grátis?
A ferramenta do navegador roda grátis no seu dispositivo.
Posso mudar o limite de 40 horas para hora extra?
Sim. O limite é de 40 horas, a menos que você informe outro, então dá para usar 8 para hora extra diária ou seguir uma regra semanal local. As horas até o limite são pagas pelo valor base.
A calculadora aplica regras legais de hora extra ou desconta impostos?
Não. A conta é a mesma em qualquer lugar: ela não decide quais horas contam legalmente como extras, não aplica regras de sétimo dia nem adicionais por turno e não retém impostos. O resultado é o bruto.
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/hours-pay \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hourly_rate":20,"hours_worked":48,"overtime_multiplier":1.5}'const res = await fetch("https://api.kit.forhosting.com/fin/hours-pay", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hourly_rate": 20,
"hours_worked": 48,
"overtime_multiplier": 1.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/hours-pay",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hourly_rate": 20,
"hours_worked": 48,
"overtime_multiplier": 1.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/hours-pay", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hourly_rate":20,"hours_worked":48,"overtime_multiplier":1.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hourly_rate":20,"hours_worked":48,"overtime_multiplier":1.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/hours-pay", 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
{
"hourly_rate": 20,
"hours_worked": 48,
"overtime_multiplier": 1.5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.hours_pay",
"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
Uma tarifa horária negativa é rejeitada com um erro claro invalid_input, porque um salário negativo não descreve um cálculo válido de bruto.
Entradas: horas trabalhadas, tarifa horária, multiplicador extra e limiar opcional
Contagens de horas negativas, multiplicadores negativos e limiares negativos também são rejeitados para que uma inversão acidental de sinal falhe alto em vez de inventar negativos absurdos num recibo. Toda a validação ocorre antes de qualquer matemática monetária, assim pedidos ruins nunca produzem linhas de pagamento pela metade. Você envia o total de horas, não uma divisão prévia de regulares versus extra: a calculadora faz essa divisão a partir do limiar que você escolheu ou do valor padrão de quarenta. Envie um corpo JSON com três campos obrigatórios e um corte opcional. hours_worked é o tempo total no relógio da janela de pagamento, como número finito não negativo ou string numérica; aceitam-se os aliases hours, hrs, total_hours e weekly_hours quando o seu cliente já nomeia o campo de outro jeito. hourly_rate é o salário base por hora como número finito não negativo ou string numérica; os aliases rate, wage, hourly e pay_rate mapeiam para o mesmo valor para que montadores de formulário conservem rótulos familiares. overtime_multiplier é o adicional expresso como múltiplo da tarifa base —por exemplo 1.5 significa hora e meia e 2 significa hora dupla—, não um percentual do salário; os aliases multiplier, ot_multiplier, ot_rate e premium mapeiam para o mesmo campo. overtime_threshold é opcional e vale quarenta horas por omissão, o teto semanal comum de tempo normal; os aliases threshold, ot_threshold, regular_limit e cutoff deixam você nomear uma regra diária de oito horas ou um teto semanal local sem mudar o resto do contrato. Tarifas horárias negativas falham a validação com invalid_input porque não descrevem um holerite normal. Tarifas, totais de horas, multiplicadores ou limiares extremamente grandes são limitados para que a matemática do Worker isolate permaneça limitada. Faltar qualquer campo obrigatório falha com invalid_input nomeando a chave ausente.
Como as horas extras, o pagamento extra e o bruto são calculados
As fórmulas centrais são as que as pessoas já usam à mão num timesheet, só que a divisão das horas extras é feita para você. O bruto é a soma dessas duas linhas. Os produtos intermediários usam aritmética de ponto flutuante ordinária; depois cada campo monetário é arredondado half-up a duas casas decimais para que os resultados pareçam moeda num holerite e não frações binárias longas. Exemplo: uma tarifa de vinte, quarenta e oito horas trabalhadas, um multiplicador de 1.5 e o limiar padrão de quarenta produz quarenta horas regulares, oito extras, oitocentos de pagamento regular, duzentos e quarenta de extra, uma tarifa extra efetiva de trinta e um bruto de mil e quarenta após o arredondamento. Se as horas ficam no limiar ou abaixo, as horas extras e o pagamento extra são zero e o bruto é simplesmente tarifa vezes horas. A mesma matemática para toda jurisdição é um recorte de produto intencional: tabelas legais, regras do sétimo dia e retenção fiscal seriam intenções de busca e contratos distintos. As horas regulares equivalem ao menor entre hours_worked e overtime_threshold. As horas extras equivalem ao maior entre hours_worked menos o limiar e zero. O pagamento regular é igual a hourly_rate vezes as horas regulares. O pagamento extra é igual a hourly_rate vezes overtime_multiplier vezes as horas extras. A resposta também devolve ot_hourly_rate como hourly_rate vezes o multiplicador para que as interfaces mostrem o salário efetivo de extra ao lado da tarifa base. A resposta ecoa a tarifa horária normalizada, hours_worked, overtime_threshold e overtime_multiplier, e então devolve horas regulares, horas extras, ot_hourly_rate, regular_pay, overtime_pay e gross_pay, mais currency_decimals igual a dois e method igual a hours_pay_gross para ramificação estável do cliente. Entradas idênticas sempre produzem JSON idêntico porque o caminho é aritmética pura sem rede, sem semente aleatória e sem relógio de parede.
Uso da API, preços, fluxos de trabalho e limites práticos
Use a API pré-paga quando um bot de RH, um painel de freelancing, um portal de pessoal ou um auxiliar de timesheet precisar de um contrato KIT estável a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo depois que o motor rejeita o pedido. Combine este endpoint com ferramentas de imposto ou dedução só se você já conhece à parte as regras de líquido: esta capacidade não retém impostos, não aplica benefícios nem converte moedas. Autores que enviam SDK podem mapear regular_pay, overtime_pay e gross_pay diretamente em interfaces de holerite e mensagens de estimativa. Quando citar o preço da API no texto do produto, use o marcador de catálogo US$ 0,002 para que as páginas publicadas permaneçam alinhadas com o piso de preço ao vivo.
Casos de integração
Hora extra diária em turnos longos
Defina overtime_threshold como oito e o mesmo multiplicador para precificar um turno longo: as horas acima de oito são extra na tarifa premium.
Bots de RH e faturas de contratados
Bots e mini-aplicativos chamam um endpoint pré-pago estável em vez de reimplementar a matemática de horas para bruto e as salvaguardas de tarifa negativa em cada idioma.
Perguntas técnicas
Como calculo o pagamento a partir das horas trabalhadas?
Envie JSON com hours_worked, hourly_rate e overtime_multiplier (por exemplo 1.5). As horas acima de overtime_threshold (padrão 40) são pagas com o adicional. A resposta inclui regular_pay, overtime_pay e gross_pay arredondados a duas casas.
overtime_multiplier é um percentual ou um múltiplo do salário?
É um múltiplo da tarifa horária base. Use 1.5 para hora e meia e 2 para hora dupla, não 150 nem 50 por cento.