Freelance Figures

Invoicing & Cash Flow

Updated for 2026

Timesheet Calculator (Add Hours & Minutes → Invoice)

Time entries
$
Amount to invoice
$450
Total time
7h 30m
Decimal hours
7.5

Timesheets almost never arrive in a billing-ready format. A client call logged at "1h 45m," a review session at "3h 15m," and a quick fix at "2h 30m" all need to be added together and then converted into a single decimal-hour figure before you can multiply by your rate — and doing that conversion by hand, entry by entry, is where invoices quietly end up wrong. This calculator lets you add a row for each work session in plain hours-and-minutes form, adds them all up, and hands back the total as both an H:MM readout and a decimal-hour figure, then multiplies that decimal total by your hourly rate to give you the exact amount to invoice.

How it works

Every row accepts an hours field and a minutes field, matching how a timesheet, calendar entry, or time-tracking app actually logs a session. Click "Add another row" for each additional session — there's no fixed cap, so a two-session day and a twelve-session billing period both work the same way — and remove a row you added by mistake with its × button. The calculator converts every row to minutes (hours × 60, plus the minutes field), adds every row together into one running total, then converts that total back into two display formats: an H:MM string for a human-readable read like "7h 30m," and a decimal-hours number for anything that needs to be multiplied — most importantly, your invoice.

The amount to invoice is calculated from the unrounded decimal-hour total, not from the rounded number shown on screen. That distinction matters more than it looks: rounding the total hours first and then multiplying by the rate can shift a real invoice by a few cents, and at a high hourly rate or a long timesheet, those cents can add up across a billing period. Only the final dollar amount gets rounded to the cent, which is the same order of operations invoicing and payroll software use.

Worked example

Say your timesheet for a client has three logged sessions this week — 2h 30m, 1h 45m, and 3h 15m — entered as three rows, and you bill at $60 an hour:

  • Row 1: 2h 30m = 150 minutes
  • Row 2: 1h 45m = 105 minutes
  • Row 3: 3h 15m = 195 minutes
  • Total minutes: 150 + 105 + 195 = 450 minutes
  • Total time: 7h 30m
  • Total decimal hours: 450 ÷ 60 = 7.5
  • Amount to invoice: 7.5 × $60 = $450.00

Notice the total isn't a clean number of hours until it's added up — three odd-looking entries land on exactly 7.5 hours, which is easy to bill correctly but easy to get wrong doing the addition and the hours-to-decimal conversion separately by hand.

How to interpret your result

The amount to invoice is the number to put on the client-facing invoice — it's already the full decimal-hour total multiplied by your rate, rounded to the cent. Total time (H:MM) is there for your own records or for a timesheet line item a client might want to see in familiar clock format, and total decimal hours is the number underneath both of those, useful if you need to plug it into another tool, a spreadsheet, or a different rate for a portion of the work.

If minutes across your entries add up to 60 or more, they carry into an extra hour automatically — logging 40 minutes on one entry and 35 on another correctly becomes 1 hour 15 minutes in the total, not "40m + 35m" sitting oddly past the 59-minute mark. That carrying happens because the calculator works in raw minutes internally and only converts back to hours-and-minutes format once, at the very end, for the total.

This calculator assumes a single flat hourly rate applied to the whole total. If different entries bill at different rates — a discounted rate for admin time, a premium rate for rush work — total each rate group separately using multiple passes through this calculator, then add the resulting invoice amounts together by hand.

Methodology & sources

The formula is: totalMinutes = Σ(rowHours × 60 + rowMinutes) across every row you add, totalDecimalHours = round2(totalMinutes / 60), totalTime = "${wholeHours}h ${remainderMinutes}m" where wholeHours and remainderMinutes come from dividing totalMinutes by 60, and amountToInvoice = round2((totalMinutes / 60) × hourlyRate). The invoice amount is deliberately computed from the unrounded minutes-to-hours conversion rather than from the rounded totalDecimalHours figure shown above it, so the dollar total matches an exact hand calculation rather than one rounded twice.

Converting minutes to decimal hours by dividing by 60 — 30 minutes becomes 0.50 hours, 45 minutes becomes 0.75 hours — is the standard method payroll and time-tracking systems use to make an hours-and-minutes total billable, since a hertz-and-rate calculation needs a single decimal number rather than a clock-format duration. Harvest, a time-tracking and invoicing platform, walks through the same divide-by-60 logic in its own decimal time conversion chart, which is worth a look if you want to sanity-check an individual entry by hand before trusting the totals here.

These results are estimates for planning purposes only — not tax, legal, or financial advice.

Questions

Frequently asked questions

Why does this calculator use separate hours and minutes fields instead of one decimal field?

Because that's how time actually gets logged. Most time trackers, calendars, and handwritten timesheets record a session as "2 hours 30 minutes," not "2.5 hours" — so entering it that way avoids a manual conversion step (and the arithmetic mistakes that come with it) before you even start adding entries together.

Is there a limit to how many rows I can add?

No — click "Add another row" as many times as your billing period needs; there's no fixed cap. Every row you add is included in the running total, and the amount to invoice updates live as you add, edit, or remove rows.

Why is the amount to invoice calculated from decimal hours instead of the rounded H:MM total?

Rounding the H:MM total first and then multiplying by the rate would compound two roundings into one, quietly shifting the invoice amount by a few cents (or more, at a high hourly rate). This calculator multiplies your hourly rate by the unrounded total number of minutes converted to hours, then rounds only the final dollar figure — so the invoice amount matches what you'd get multiplying the exact total by your rate on a calculator.

Can I remove a row I added by mistake?

Yes — every row has a small × button that removes just that row from the total. You always keep at least one row so there's something left to edit; a blank or 0h 0m row simply contributes nothing to the total.

Stay in the loop

New tools, by email

One email when a new calculator ships. No spam, unsubscribe anytime.