DEV Community

Tim Carter
Tim Carter

Posted on • Originally published at toolbagcrm.com

Job costing algorithms: how we help contractors figure out which jobs actually make money

This is the feature I'm most proud of in ToolbagCRM, and also the one that took the longest to get right.

Job costing sounds simple. Track what a job cost against what you billed. But when you dig into how contractors actually run their businesses, the data is scattered across five different systems, half of it is on paper, and the other half is someone's memory.

We had to build something automatic enough that people would actually do it.

What job costing actually is

It's the math of what one specific job cost you, against what you billed. Not the business overall. Not the average. A single job on its own.

Run that on every job for a quarter and the picture changes. Two jobs that both quoted at $3,200 can come back with $1,400 of profit on one and $200 on the other. You felt them both as wins. The books say otherwise.

Why eyeballing stops working

Going by feel works for a year, sometimes two. Then you grow. A second truck, a second crew, and suddenly somebody else is on the job, the materials get pulled from a yard you didn't visit, and your gut has nothing to go on.

By the time the bank account tells you something is off, six months of bad jobs have already gone by. Bigger volume hides worse margins. Revenue is up, hours are up, and the bank balance keeps drifting the wrong way.

The four numbers

We designed our job costing around four inputs, captured while the job is happening, not pieced together weeks later from receipts:

  1. Labor hours, actual ones. Clock in, clock out, every tech on site, with drive time.
  2. Materials cost, with the supplier invoice attached. Not what you guessed at quote time.
  3. Subcontractor and pass-through costs. The dumpster, the permit, the helper you paid cash.
  4. What the customer actually paid, after change orders, discounts, and deposits.

Multiply hours by your fully burdened rate, add the rest, subtract from revenue. That's the gross profit on that single job.

Notice what isn't there. Overhead allocation, owner draw splits, accounting gymnastics. Those matter for annual books. For deciding which jobs pay and which bleed, you don't need them.

Building it into the workflow

The hardest part wasn't the math. It was getting the data.

If labor hours live in a time-tracking app, materials are on a supplier portal, the deposit is on a bank statement, and the invoice is in a separate tool, nobody does the math. The data is too fragmented.

We put all four under one job record in ToolbagCRM. Techs clock in and out from the mobile app on site. Materials get attached as they're added. Deposits and final invoices run through the same flow. The actual-vs-estimate variance is one click at the end of the month.

What shows up after a quarter

Run this for ninety days and patterns appear:

  • A job type that loses money every single time. You'll know it inside twenty tickets.
  • A customer whose work always comes in over budget and gets paid slow.
  • A supplier marking materials up further than you assumed, so a quoted 35% gross lands at 18%.
  • A crew that takes 30% longer on the same scope. More often it's one tech burning the crew's hours.

The biggest one most owners miss: small jobs. A $400 service call eats half an hour of drive each way, ten minutes of paperwork, plus the "while you're here" tag-on. The actual math comes back red. The big jobs felt scary to quote. They were the only ones paying.

Acting on the data

Tracking is half. The other half is doing something:

  • Reprice the loss-makers. Not by 5%. By 25 or 40%. Most customers don't notice.
  • Walk away from bad customers. Stop bidding their work, or quote at a number they'll say no to.
  • Tighten scope. Build a flat trip charge into the workflow for tag-on requests.
  • Compare crews. If one runs faster on the same scope, find out why and teach the rest.

Without the numbers, you're guessing about which jobs are the good ones. The guessing gets worse as the business grows, not better.

One flat monthly price covers the whole team. If knowing which jobs make you money is worth anything, it's worth the click to find out.

Originally published at toolbagcrm.com

Top comments (0)