Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. We Know Our Overall Profit but Not Which Jobs or Customers Actually Make Money. How Do We Find Out?
Problems We Solve

We Know Our Overall Profit but Not Which Jobs or Customers Actually Make Money. How Do We Find Out?

If you can't see profit per job or customer, the costs and revenue sit in different systems. SpiderHunts joins them so each job shows what it actually earned.

Updated 3 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Profit per job is hidden because revenue lives in the accounts, labour lives in timesheets and materials live in purchasing, with no shared job reference. SpiderHunts links those sources through a common job or customer code, agrees how overheads are allocated with you, and builds a report that shows margin per job, customer and service line.

Profitable overall, but where?

The annual accounts show the business made money. But ask which customers are profitable, or whether the fixed-price jobs make more than the hourly ones, and the room goes quiet. There is a hunch that one big customer is costly to serve, and a feeling that small jobs are a waste of time. Nobody can prove either.

Pricing decisions get made on those hunches. So do decisions about which work to chase.

Why margin by job is invisible

The information exists. It is just scattered and unlinked.

Piece of the pictureWhere it usually lives
Invoiced revenueXero, QuickBooks or Sage
Staff hoursTimesheets, a job management tool or a spreadsheet
Materials and subcontractorsPurchase invoices, often coded to a nominal not a job
Travel and expensesExpense app or credit card statements
OverheadsThe accounts, never allocated to anything

The link that is missing is a job or customer reference recorded consistently in every system. Purchase invoices get coded to materials but not to the job that used them. Timesheets record hours against a client name that is spelled differently from the invoice.

What not knowing costs

Unprofitable work continues because it looks busy. Quotes for similar jobs are based on what was charged last time rather than what it cost. The customers that take the most effort get the same pricing as the ones that take the least. And when margins shrink, nobody can see where.

It also weakens you in negotiations. When a large customer asks for a discount, you cannot say with any confidence what their work actually costs you, so the discount gets agreed on feel.

Staff decisions suffer in the same way. Whether to hire another engineer, or turn down a category of small jobs, depends on knowing where the hours go and what they earn.

How we build profit-per-job reporting

  1. We map where each type of cost and revenue lives and whether it carries a job or customer reference today.
  2. We agree a single job and customer code with you, and add it where it is missing: a tracking category in Xero, a field in the job system, a required reference on purchase orders.
  3. We pull data from each system through its API into one database, and match historical records to jobs using the references that exist plus rules for the rest, with uncertain matches reviewed by a person.
  4. With your finance lead, we agree how overheads are allocated, such as by labour hours, and write the rule down. It is your decision; we make it consistent.
  5. We build the report: margin per job, per customer, per service line and per job type, with drill-down to the individual costs.
  6. Going forward, jobs that close without costs attached, or costs with no job, are flagged for someone to fix.

Historical data is rarely perfect. We show you how much of it could be matched with confidence, and the report says so, rather than presenting guesses as fact.

What you can see afterwards

Each finished job shows its revenue, its direct costs and its margin. Customer pages show profitability over time. Quoting uses the real cost of similar past jobs. Management conversations about which work to pursue use evidence rather than instinct.

Often the most useful result is a surprise or two in both directions. Some work that felt like a nuisance turns out to pay well, and some prestige work turns out not to.

Because the report updates as jobs close, it also works as an early warning. A job type whose margin starts slipping shows up while there is still time to change the price or the method, rather than at the year-end accounts.

Is this where you are?

  • You know overall profit but not profit per job or customer
  • Timesheets, purchases and invoices use different job or client names
  • Quotes are based on past prices rather than past costs
  • There is a hunch that some customers cost too much to serve

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

Do we need to change our accounts package?

No. Xero, QuickBooks and Sage all support tracking categories or similar, and we read from them through their APIs.

How do you handle overheads?

You choose the allocation method with your accountant or finance lead. We apply it consistently and show it clearly on the report.

Can you work out profit on old jobs?

Partly, depending on how well old records link together. We show how much history could be matched with confidence rather than filling gaps with guesses.

What will our team have to do differently?

Usually just record a job reference in the places it is missing today. We make that as easy as a required dropdown.

Keep reading

More on Problems We Solve

Start here

Want to know which work pays?

Describe the report or dashboard, the tools behind it and what goes wrong. We will say what we would change and what we would leave as it is. If the fix is small, we will tell you that.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →