Cleaner economics

How Much Does a 1099 Cleaner Really Cost Per Job?

By Ash, founder of CleaningMetrics

Published March 27, 2026 · Updated June 1, 2026

For a $200 job where you pay a contractor 60% ($120), your direct margin after Stripe fees is 37%, not the 40% the split implies. And that is before your monthly overhead (software, insurance, marketing) reduces your actual take-home further. The number most owners think they are keeping and the number they are actually keeping are almost never the same.

Why is the base pay rate not the cleaner's whole cost per job?

The base pay rate is what shows up on the cleaner's payout. The actual cost per job includes Stripe processing fees, the labor lost to cancellations and no-shows, and a share of your monthly overhead. None of those line up neatly with the percentage split you see on paper.

When cleaning business owners talk about contractor costs, they usually think in terms of the split: “I pay her 60% of the job.” That framing is convenient but incomplete. The 60% is what you hand the contractor. What you actually spent to deliver that job includes several other costs that most owners never add up.

This matters most when you are deciding whether to take on a new client, set your pricing, or figure out whether a particular contractor is profitable for your business. The answer requires the real number behind your true profit, not the split.

What per-job costs do most cleaning company owners miss?

Two costs that almost never make it onto a per-job ledger: Stripe processing fees (about 2.9% plus 30 cents per transaction) and the labor cost of cancellations and no-shows. Together they typically eat 3 to 5 percent of every recurring booking's gross margin.

1. Stripe Fees

If you collect payment through Stripe (the most common setup for cleaning businesses using ConvertLabs, Jobber, HouseCall Pro, or BookingKoala), you pay 2.9% plus $0.30 per transaction. On a $200 job, that is $6.10 off the top before any labor comes out. That fee does not belong to the contractor, but it does reduce the revenue you are actually keeping. Most owners mentally calculate margin against the $200 invoice rather than the $193.90 they actually received.

2. Cancellations and No-Shows

Last-minute client cancellations are a reality in recurring cleaning. If a client cancels the morning of a job and your contractor had already driven to the neighborhood, you may owe them something, or they factor that risk into their reliability. Either way, cancellations raise your effective cost per completed job because some of your contractor capacity goes unbilled.

A worked example: what does a 1099 cleaner actually cost per job?

Here is the math on a single $200 recurring cleaning job:

ItemAmount
Job price$200.00
Stripe fee (2.9% + $0.30)−$6.10
Net collected$193.90
Contractor pay (60% of job)−$120.00
True margin on this job$73.90 (37%)

The apparent margin was 40%, the other side of the 60% split. After Stripe, it is 37%. That 3-point gap adds up: at 50 jobs a month averaging $200, you are keeping roughly $300 less than your revenue number suggests, before overhead enters the picture at all.

How does monthly overhead change the per-job number?

Overhead is paid monthly, not per job. To get an honest per-job number, divide your monthly overhead (software, insurance, supplies, marketing) by the number of jobs you complete that month, and subtract that from each job's margin. Most owners forget this step entirely.

That 37% is your per-job margin before overhead. Your actual monthly take-home is lower once you factor in the fixed costs of running the business. These do not show up on any single job. They show up at the end of the month when you are trying to figure out what you actually kept:

  • Software: scheduling, payroll, bookkeeping, and any other tools you pay for monthly
  • Insurance: general liability for a cleaning business typically runs $500–$1,500 per year
  • Supplies: if you provide products or equipment to your contractors
  • Marketing: any spend on ads, listings, or referral incentives

At 50 jobs a month, even $500 in monthly overhead shaves another 5% off your profit margin. The owners who know their real number are the ones who track both sides: per-job fees and monthly expenses together.

Why is this math hard to do manually?

Per-job profit math involves three moving parts that change every week: cleaner pay (varies by job), Stripe fees (varies by ticket size), and cancellations (binary, but the labor cost is real). Owners try to track all three in spreadsheets that fall behind by Friday night.

Most owners either skip this entirely and run on the mental math of their revenue number, or they build a spreadsheet that quickly becomes outdated. Neither gives you the real picture.

How does CleaningMetrics show you the real cost per job?

CleaningMetrics is the complete operating system for recurring residential cleaning businesses. Booking, scheduling, cleaner payouts via Stripe Connect, true profit tracking, retention intelligence, hiring, and an AI business analyst, all in one platform. Per-job cost is calculated automatically from real booking data: the moment a job is marked complete, the cleaner is paid via Stripe Connect, the Stripe fee is logged, the overhead allocation is applied, and the dashboard updates with the actual margin. There is no spreadsheet to maintain and no reconciliation to run. The number you see is the number that hit the bank.

For owners migrating from Jobber, HouseCall Pro, BookingKoala, or ConvertLabs: bring your client list over via CSV during onboarding, and your full per-job profit picture is live within an hour.

Want to see your actual per-job cost?

CleaningMetrics calculates true cost per job automatically from your real booking data, the moment each job is marked complete. Pre-launch right now, founding member spots are open.

Join the waitlist

See your true per-job cost

CleaningMetrics is currently pre-launch. Founding member spots include early-access pricing and migration help.