ForHosting KIT · Finance & money

Labor cost calculator

40 hours at 25 an hour with a 30% payroll burden cost the employer 1,300, not 1,000: a fully loaded rate of 32.5 an hour. Price bids, staffing quotes and job-cost sheets on what the work really costs. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Hours worked
40
Hourly rate
25
Payroll burden percent
30
You get
Direct wages
1,000
Burden amount
300
Fully loaded rate
32.5
Total cost
1,300

Wage times hours is only the cash paycheck. Employers also fund payroll taxes, health insurance, retirement matches, workers compensation, paid leave accruals, and other benefits that sit on top of that wage as a payroll burden percentage. This labor cost calculator multiplies hours worked by the hourly rate to obtain direct wages, then applies the burden percentage and returns the total employer cost of that block of time.

What fully loaded labor cost covers, and what it leaves out

Fully loaded labor cost is the amount an employer actually spends to keep someone on the clock, not the amount that lands on a paycheck. Direct wages equal hours worked times the hourly rate. Payroll burden is the extra percentage that covers employer-side payroll taxes, statutory insurance, health and retirement contributions, paid-leave accruals, and similar benefits, expressed as a percent of those wages.

People who search for a labor cost calculator almost always want that loaded figure for a bid, a job-cost sheet, or a staffing quote, because quoting wage-only underprices the work and quoting an invented blended number cannot be audited later. Hours may be fractional because timesheets record tenths and quarters; seven and a quarter hours at twenty-two with a thirty percent burden is a legal input, not something to pad to a whole hour in secret.

Zero hours describe a planned shift that has not started: the total is then zero, which is honest. The calculator does not withhold employee income tax, does not convert currencies, and does not look up a statutory table by country: you send the burden percentage your finance team already uses. Money fields round to two decimals so they match invoices and purchase orders.

Where a labor cost calculator earns its keep

Estimating departments and job-cost tools rank for labor cost calculator because a buyer thinks in the number at the bottom of a bid, not in a wage card. Staffing desks and contractors live on timesheets; multiplying the rate by hours and applying the burden gives the same job-cost total without forcing a bookkeeper to remember whether benefits were already included in a cell formula.

Educators teaching managerial accounting can seed classroom examples that fail loudly on negative hours instead of silently printing a minus sign a student might treat as a refund. Failed validation does not consume balance. Keep the hours, the rate, and the burden non-negative, pin the rounded money fields in tests, and you get a reproducible labor cost for widgets, course modules, and edge workers without standing up a payroll engine of your own.

Job-cost a crew from a timesheet

Turn hours on the clock, the hourly wage, and the shop burden percent into the fully loaded labor line that belongs on a bid or a job-cost sheet.

Staffing quote with taxes and benefits

Convert planned hours at the contract wage into direct wages, then apply the payroll burden so the quote includes employer taxes and benefits.

What is the payroll burden percentage?

It is the employer markup for taxes and benefits as a percent of direct wages. Send 30 for a thirty percent burden; the calculator applies it as a percent, not as a multiplier. Typical shop rates cover payroll tax, insurance, and benefits your finance team already tracks.

What is a fully loaded hourly rate?

It is the hourly wage plus the payroll burden, so the true cost of one hour on the clock. At 25 an hour with a 30% burden, each hour actually costs the employer 32.5.

Can I enter fractional hours?

Yes. Timesheets often record tenths or quarters of an hour, and you can enter them as they are. There is no need to round up to a whole hour, which would quietly inflate the cost.

Does the labor cost include employee income tax?

No. It does not withhold employee income tax, convert currencies or look up a country's statutory rates. You enter the burden percentage your finance team already uses for employer taxes and benefits.

Why quote the loaded cost instead of wages only?

Because wages alone leave out employer taxes, insurance, retirement and paid leave, so a bid built on them underprices the work. A separate wage line and burden line also keep the figure easy to audit later.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/labor-cost

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/labor-cost \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hours_worked":40,"hourly_rate":25,"payroll_burden_percent":30}'
{
  "hours_worked": 40,
  "hourly_rate": 25,
  "payroll_burden_percent": 30
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.labor_cost",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_abs_value1000000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Zero hours are allowed when a shift has not started; negative hours cannot describe work that happened, so they fail with invalid_input instead of printing a credit a bid sheet might treat as cash.

What fully loaded labor cost covers, and what it leaves out

The identity this tool uses is the one those sheets already imply: total_cost equals hours_worked times hourly_rate times one plus payroll_burden_percent divided by one hundred. The response also returns direct_wages, burden_amount, and fully_loaded_rate so a reviewer can see the wage line, the burden line, and the true hourly cost side by side without a hidden spreadsheet cell. Negative hours cannot describe a past timesheet or a planned block of work, so they fail with invalid_input instead of printing a credit a form might treat as cash already paid.

Input contract, response shape, and error behaviour

POST a JSON body that supplies hours_worked, hourly_rate, and payroll_burden_percent. hours_worked is the hours already recorded or the hours a job plan covers, a finite number that is not negative, with aliases hours, hrs, total_hours, and time_worked. Fractional hours are accepted so a timesheet in tenths does not have to be padded to a whole hour. hourly_rate is the gross wage per hour in a single currency unit, a finite number that is not negative, with aliases rate, wage, hourly, and pay_rate. payroll_burden_percent is the employer markup for taxes and benefits as a percent of direct wages—thirty means thirty percent, not a multiplier of one point three—with aliases burden, burden_percent, payroll_burden, burden_rate, and benefits_percent. Each numeric field may arrive as a JSON number or as a numeric string. Missing hours_worked, missing hourly_rate, missing payroll_burden_percent, empty strings, non-finite values, a negative hourly rate, a negative burden, or a magnitude above the declared limit fail with invalid_input naming the field and are not billed. Negative hours_worked is the error this landing exists to catch: the message contains hours_worked and must not be negative so a form can highlight that control instead of showing a global alert. On success the body echoes the three inputs, direct_wages as rate times hours, burden_amount as wages times the burden percent over one hundred, fully_loaded_rate as the true hourly cost including burden, total_cost as the payable employer amount, and a formula string restating the loaded identity. Example: forty hours at twenty-five per hour with a thirty percent burden yields direct_wages of one thousand, burden_amount of three hundred, fully_loaded_rate of thirty-two point five, and total_cost of one thousand three hundred. Pair the total with your own tax table if you also need employee take-home; this endpoint computes employer labor cost only.

Where a labor cost calculator earns its keep

Household and small-business budget apps can store the returned total_cost as a scheduled outflow for a hired helper, then let the user layer materials on top rather than reverse-engineering a blended figure. When you cite the API price in product copy, use the catalog placeholder $0.002 so published pages stay aligned with the live price floor.

True hourly cost for a hire

See fully_loaded_rate next to the posted wage so a manager knows what each hour actually costs after burden, not just what the worker takes home.

How is total labor cost calculated?

Multiply non-negative hours_worked by hourly_rate to get direct_wages, then add burden_amount equal to those wages times payroll_burden_percent over one hundred. The API returns that sum as total_cost, rounded to two decimals, plus fully_loaded_rate and the formula string.

Why does the calculator reject negative hours worked?

Negative hours cannot describe a timesheet or a planned block of work. hours_worked below zero fails with invalid_input and is not billed, instead of returning a negative cost that a form might display as a credit already paid.

Can I use fractional hours?

Yes. hours_worked accepts tenths and quarters, so 7.25 or 37.5 hours are first-class inputs. Direct wages are rate times those hours, then burden and total_cost round to two decimals.

What does the labor cost calculator cost?

The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input, including negative hours, is not billed.

Read the full KIT documentation →