I'm an electrical contractor, and time-and-materials work should be the easy money: you do the work, you bill what it cost plus your markup, you get paid. In practice T&M is where a shocking amount of revenue quietly evaporates. Not because the rate's wrong — because the capture is wrong. The hours that didn't get written down don't get billed. The materials nobody tied to the job don't get billed. And every so often, something gets billed twice and you get a phone call you don't want.

The two ways T&M leaks

Under-billing

This is the big one. A tech spends 40 minutes troubleshooting and writes down "30." A box of connectors off the truck never gets logged against the job. A second trip for a part isn't captured. None of these feel like much. Across a month of service work, the unbilled hours and materials are a part-time employee you're paying for and not charging anyone for.

Double-billing

The flip side, and the one that costs you trust. The same hours get pulled onto two invoices, or a material billed on a progress invoice shows up again on the T&M. The customer catches it, and now every invoice you send gets scrutinized.

T&M isn't a rate problem. It's a capture problem — bill everything once, and only once.

Capture at the source, not at the desk

The fix is to stop reconstructing T&M at the office and start capturing it in the field as it happens. The tech logs time against the job and writes a short field report of what was done, on site, while it's fresh. Materials get logged the same way — received against the job, not remembered later. By the time the work is done, the raw material for the invoice already exists. You're not rebuilding the day from memory; you're billing what was recorded.

Turn a field report into an invoice

Here's where it should get easy. Office or PM takes a completed field report and turns it into a draft T&M invoice that automatically pulls in the job's unbilled approved hours and posted purchases — labor at the bill rate you set (or at cost), materials at cost plus your markup, and the report narrative as the scope line. You review it, you send it.

The trick that prevents double-billing: when those hours and purchases get pulled onto an invoice, they're tagged as billed. They can't be pulled again. Void the invoice and they're released back to unbilled. That one mechanism is what lets you bill aggressively without ever billing twice.

And it should hit your books once

Send the invoice and it flows to your accounting system — QuickBooks Online, for us — through the normal sync. The bookkeeper re-enters nothing, so the invoice your customer sees and the revenue in your books are the same number. No reconciliation, no double entry.

The one-minute version

  • T&M leaks through unbilled hours/materials and the occasional double-bill.
  • Capture time and materials in the field as they happen, not at the desk later.
  • Build the invoice from the field report — it pulls unbilled hours and posted purchases.
  • Tag billed items so nothing bills twice; sync to your books once.