Forum Discussion

NicklasSnede's avatar
NicklasSnede
Contributor 2
6 months ago

How do cleaning businesses automatically track job costing and profit margins for recurring clients?

Hi all!

In our cleaning business we have a lot of recurring clients with lots of visits for the same job. 85% is recurring and 15% one off jobs.

however, the reporting options for job costing and profit margins for recurring jobs are not as good as the one off jobs.

there are integrations that will pull live data from jobber and push into google sheets for example - but only using the triggers “job closed” or “job updated”. As most of our jobs never close, we are looking for a visit-based data pull that functions automatically.

I have a google sheets dashboard with metrics based on the visits report, but requires Manual data pull daily to track performance.

any suggestions?

cheers!

7 Replies

  • KyleC95's avatar
    KyleC95
    Contributor 2

    I have found quick books online does a decent job with that. The integration between jobber and quick books seems to be decent as well. Having used both and still using both. Quick books is definitely geared more towards expense tracking and cost analysis than jobber. Jobber is better for everything customer related, like quotes, invoices, and scheduling.

  • Svenkata's avatar
    Svenkata
    Contributor 2

    This is an interesting challenge, especially with recurring cleaning jobs.

    I’m researching pricing and profitability tools for small cleaning businesses, and one issue stands out: tracking profit per individual visit rather than just per customer or job.

    I’m curious — how do you currently record the actual labor hours for each visit?

    And would a simple dashboard showing estimated vs. actual profit for each visit solve most of your problem, or is automatic integration with Jobber essential?

     

  • Worth asking, does this need to live in Jobber and Sheets at all? If you were to track financials in QuickBooks Online, there's a way to get job-type profit margins without any automated visit pull or manual daily update.

    I set this up for a pool service client who wanted margins by job type, weekly service vs. repairs/deep cleans, similar split to your recurring vs. one-off. Income from invoices maps to a job-type income account instead of one general account. Supply purchases map to the matching expense account, even on bulk buys used across several jobs.

    End result: a normal P&L for taxes, plus real job-type margins sitting in the books whenever you check, no manual pull required. If a system is set up right, you shouldn't have to extract anything by hand, QBO has several ways to pull data in from other tools automatically once the accounts are structured for it.

    If your books are already in QBO and just not structured this way, or you're on something else entirely, this specific route may not fit exactly as described, but the underlying idea, job-type accounts instead of general ones, might still be worth asking your bookkeeper about.

  • rmahar001's avatar
    rmahar001
    Contributor 2

    With 85% recurring, a daily pull may be more than you need: most cleaning owners I've talked to only act on margin weekly, so one scheduled weekly export of the visits report into the same sheet gets you most of the value. Which number on the dashboard do you actually make decisions from day to day?

  • Recurring jobs never close, so anything keyed to "job closed" misses them. What tends to work is to stop costing every visit live and use a cost per visit per client instead:

    1. Labour per visit. Average time on site for that client (from clock-ins or the visits report) plus drive time, times your loaded hourly cost: wage plus payroll taxes, workers' comp and so on, not just the wage.
    2. Supplies per visit. A flat figure per visit is fine. Most people overthink this one.
    3. Margin per visit = what they pay per visit minus 1 + 2.

    Then update the time figure monthly from the visits report. Per-client margins don't change day to day, so a monthly look is enough to spot clients whose visits have crept from, say, 2.5 hours to 3.25.

    For the business-level number, the bookkeeping route mentioned above (income and supplies mapped to job-type accounts) gives you recurring vs one-off margins without any data pulls. The per-client sheet is what tells you who to reprice.