runbookify
← All plans
Field Service & Dispatch / SLA, KPIs & Service Analytics

Customer Profitability & Job-Cost Rollup: See Who's Actually Making You Money

Roll up revenue minus true cost — loaded labor, parts, travel, callbacks, warranty, and overhead — for every customer, contract, and job type, so you can finally see who's profitable and who's quietly bleeding you, with a manager approving any reprice, renegotiate, or exit before it happens.

IntermediateA weekendBuilds onNext.jsSupabaseResend
What you'll build

A web tool where you load revenue and every real cost, the app computes true profit (revenue minus loaded labor, parts, travel, callbacks, warranty, and allocated overhead) rolled up by customer, contract, and job type, ranks who's winning and who's losing, drafts an account-level recommendation (reprice, renegotiate, or exit), a manager reviews and approves any action before it's taken, and you export the whole profitability report as a clean CSV.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A Supabase account (free)
  • A Vercel account (free)
  • A Resend account (free)
  • Your invoice/revenue data as a CSV/sheet
  • Your labor and parts cost data as a CSV/sheet
  • Your travel and callback/warranty records
  • Your overhead allocation rules (how you spread fixed costs)
  • Claude Code or any AI coding agent

The problem this kills

You know your revenue. You probably even know roughly what a job "should" cost. But ask which of your customers, contracts, or job types actually make you money — net of the loaded labor hour, the parts markup that didn't stick, the truck rolls, the callbacks you ate, the warranty work nobody billed, and your share of the overhead that keeps the lights on — and the honest answer is usually a shrug. The whale account everyone fights to keep can turn out to be your worst margin once you count the three callbacks a month and the discounted contract rate. The small, "annoying" customer can be the one quietly carrying the branch.

The truth is buried across an accounting export, a payroll sheet, a parts system, and a dispatch log that nobody joins together — and even when someone tries, they count the labor at the bare wage instead of the loaded cost, forget the warranty job entirely, and allocate overhead by gut feel. So pricing decisions get made on revenue and vibes, you renew a contract that loses money every month, and the profitable accounts subsidize the ones bleeding you. You don't need a data team and you don't need to be a developer to see this clearly.

What you'll build

A simple internal web tool that turns your scattered numbers into one honest profitability picture. You load your revenue (invoices) and every real cost — labor at a loaded rate, parts, travel/truck rolls, and the callbacks and warranty work that usually go uncounted — plus your overhead allocation rule (how you spread the fixed costs). The tool joins it all on the job/invoice id, dedupes so nothing is double-counted, and rolls up true profit three ways: by customer, by contract, and by job type. You get a ranked view of who's winning and who's losing, with the cost breakdown visible so you trust the number. For any account that's underwater, the tool drafts a recommendation — reprice, renegotiate the contract, or exit — and hands it to a manager to review and approve before anyone acts. Approved decisions and the full report export as a clean CSV in the columns your systems expect.

What's inside the Implementation Plan

The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — what your revenue and cost data actually look like and where each piece lives, your real loaded-labor rate and how you'd rather compute it, how you treat callbacks and warranty work today, your exact overhead allocation rule, how you tell jobs apart (the job/invoice id you dedupe on), and the messy edge cases like multi-job contracts, credits, and refunds — and then it tailors the cost model, the rollup dimensions, and every later step to your answers. This is not a generic template; the agent reflects a short spec back to you and waits for your thumbs-up before it builds anything. From there it walks the agent through importing revenue and costs, building the true-cost engine, the three rollups, the ranking and drill-down, the manager approve-an-action gate, and the CSV export — each step with a ready-to-copy prompt. There's also a fallback so you can build the whole thing today from sheets alone, with no integration to your accounting or field-service system.

The governance it includes (this is the point)

This tool informs real money decisions — repricing customers and exiting contracts — so it ships with the controls a service business needs: login so only your team can use it, row-level security so you only ever see your own organization's accounts and numbers, a complete audit trail of who imported, computed, recommended, approved, and exported what and when, a hard human-approval gate so no account-level action (reprice, renegotiate, exit) is marked as decided until a manager signs off on the profitability figures behind it, and duplicate guards keyed on the job/invoice id so the same revenue or cost line can never be counted twice and skew the result.

Who it's for

Owners, service managers, and account managers at HVAC, plumbing, electrical, refrigeration, restoration, landscaping, property-services, and other field-service operations — anyone who carries a book of customers and contracts and suspects, but can't prove, that some of them lose money. If you can describe how you'd add up the true cost of a job, you can build this.

You've got this — start with the plan, paste the first prompt, answer the interview, and you'll have your first honest profit-by-customer ranking on screen the same weekend.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.