Contractor Timesheets: How to Track Hours, Get Them Approved, and Invoice Without Retyping

Contractor Timesheets: How to Track Hours, Get Them Approved, and Invoice Without Retyping

It's Friday, and you've logged 38.5 billable hours. Getting paid for them should be simple. In practice, those hours often get typed into a spreadsheet, emailed to a manager, questioned, fixed, approved somewhere in a reply-all thread, retyped into an invoice, and forwarded to accounts payable. Every one of those steps is a chance for 38.5 to turn into 35.8.

For hourly work, payment doesn't really start with the invoice. It starts with the approved timesheet. If you get that step right, the invoice mostly takes care of itself.

What a contractor timesheet is (and what it isn't)

A contractor timesheet records the billable hours an independent contractor worked during a set period: when they worked, what they did, and for how long. The invoice is the request to be paid for those hours.

The two are related, but they do different jobs. Many AP teams won't pay an invoice until someone responsible for the project has approved the hours behind it. If that approval hasn't happened, sending the invoice sooner won't get you paid sooner.

What to put on it

A timesheet doesn't need to be elaborate. Include who you are, the business or project, the billing period, your rate, and one line per day or task:

Date Work Hours
Mon, Sep 14 Customer import API and validation 7.5
Tue, Sep 15 Payment workflow testing 8.0
Wed, Sep 16 Bug fixes and code review 6.5
Thu, Sep 17 Client integration support 8.0
Fri, Sep 18 Deployment and monitoring 5.5
Total 35.5

At $90/hour, that's 35.5 × $90 = $3,195.

Write descriptions the approver can recognize at a glance. "Development – 8h" invites a follow-up question. "Customer import API and validation – 8h" doesn't. You aren't keeping a diary. You're just heading off an email thread.

Pick one billing period and stick to it

Weekly and biweekly both work. What causes trouble is periods that don't line up: a timesheet for Aug 28–Sep 27, an invoice for "September," and a few stray hours from the 29th in another spreadsheet. Now someone has to reconcile all three. The rule that avoids this is one period, approved once, invoiced once.

Get the decimal hours right

Invoices multiply decimal hours by your rate, but clocks don't run in decimals. Seven hours and 20 minutes is 7.33 hours, not 7.20. To convert, divide the minutes by 60:

Minutes Decimal hours
15 0.25
20 0.33
30 0.50
40 0.67
45 0.75

This mistake adds up. If you write 7:20 as 7.20 every day for a week at $90/hour, you've undercharged by about $58.

InvoiceCast's free Timesheet Calculator converts start times, end times, and breaks into decimal hours for you.

Settle the rate before the work, not during approval

Approval should confirm the hours. It shouldn't turn into a renegotiation of the price. If you bill different rates for different kinds of work, such as on-site time or travel, spell them out in the agreement up front. If your rate changes, have the new rate start at the beginning of a billing period so that no single timesheet spans two rates.

How timesheet approval should work

A good approval process has three states:

If something's wrong, the approver should send the timesheet back with a reason, for example: "Tuesday was 6 hours, not 8," or "Travel wasn't billable on this project." You fix it and resubmit. The approver should not quietly edit your hours, because then you and the business are each holding a different version of the truth.

Stop retyping approved hours

This is the weakest link in most contractor time tracking. The manager approves 37.25 hours, and then someone in accounting types 37.25 into a separate invoicing tool. That's where 37.25 becomes 37.5, the wrong rate gets picked, or a line goes missing.

The fix is to generate the invoice for those hours directly from the approved timesheet. If the approved timesheet says 37.25 × $95, the invoice says $3,538.75, with the same numbers the approver already saw.

How contractor timesheets work in InvoiceCast

InvoiceCast is built around this workflow, and it's included in the Business plan:

  1. Invite your contractor. They get their own free InvoiceCast account, so it costs them nothing.
  2. They log their week and submit it.
  3. You approve it, or reject it with a reason. A rejected timesheet goes back to the contractor to correct and resubmit.
  4. Approval creates the invoice automatically. It's issued from the contractor to your business, with one line per time entry, at the rate locked in when the timesheet was submitted. The invoice appears in the contractor's account and arrives in your inbox with the PDF attached.

The whole chain runs from hours to submission to approval to invoice, and nobody retypes anything along the way. These invoices also don't count toward the contractor's free-plan invoice limit.

See how contractor timesheets work →

Two questions that always come up

Does requiring a timesheet make a contractor an employee?
Not by itself. The IRS decides worker classification by looking at the whole relationship: behavioral control, financial control, and how the parties relate to each other. Recording hours is a billing practice, and plenty of legitimately independent consultants, developers, and designers bill hourly.

Do 1099 contractors get overtime?
Generally, no. Federal overtime rules apply to employees, and an independent contractor's pay follows the contract. If you run employees and contractors through the same timesheet process, make sure your payroll rules don't spill over into contractor billing. (This is general information, not legal advice.)

The point of all this

A timesheet isn't meant to be paperwork for its own sake. It's how the person who did the work and the business paying for it agree on what's owed. The contractor records the hours, the business approves them, and the invoice follows from that approved record. For the contractor, this also closes one of the most frustrating gaps in hourly work: knowing the job is finished but not knowing whether the hours have been approved for payment.