Price any job from crew, hours, materials, and overhead – then see how it stacks up against real Tofu Field Service invoices in your trade.
A cleaning business on Tofu bills a median of $461 per invoice, with half of all businesses between $279 and $889. Lawn care and landscaping businesses bill a median of $921 – from $433 for a mowing-only account to $1,241 for landscaping work. These are whole invoices, so one can cover several visits or line items.
| Service | Businesses | Invoices | Typical low (p25) | Median invoice | Typical high (p75) |
|---|---|---|---|---|---|
| Residential cleaning | 436 | 31,264 | $256 | $385 | $761 |
| Deep clean | 382 | 24,181 | $304 | $454 | $722 |
| Move-out cleaning | 259 | 23,488 | $230 | $347 | $475 |
| Commercial cleaning | 639 | 55,922 | $303 | $580 | $1,167 |
| Window cleaning | 142 | 12,798 | $352 | $620 | $942 |
| Post-construction cleaning | 86 | 4,362 | $323 | $507 | $1,034 |
| Lawn care (mowing) | 700 | 61,392 | $218 | $433 | $962 |
| Lawn maintenance | 1,096 | 68,744 | $333 | $766 | $1,885 |
| Landscaping | 1,479 | 132,919 | $500 | $1,241 | $3,125 |
| Irrigation | 318 | 28,274 | $560 | $1,220 | $2,825 |
| Fertilization | 84 | 4,759 | $202 | $386 | $897 |
Source: Tofu invoice data, 2024–2026, USD only. Median of each business's average invoice; sub-trades with fewer than 30 businesses are not shown.
Recurring work is not cheaper per invoice: cleaning businesses on recurring plans bill $475 against $436 for one-off jobs. In lawn care the gap runs the other way – $551 recurring against $1,395 one-off – because one-off invoices include landscaping projects, not because pros discount repeat visits.
To bid a job correctly, price your costs first and your competitors second. Start with the scope – what is included, what is extra, how many visits – then work through five numbers. Each one is a field in the calculator above.
Charge your job cost divided by one minus your target margin. On the default job – $390 in labor, materials, and overhead – a 20% margin gives $488. The same job at other margins is in the table below. Need an instant quote to hand the customer? The receipt above is the quote – turn it into an estimate with one click.
| Target margin | Price | Profit | Markup | Per crew hour |
|---|---|---|---|---|
| 10% | $433 | $43 | 11% | $62 |
| 15% | $459 | $69 | 18% | $66 |
| 20% | $488 | $98 | 25% | $70 |
| 25% | $520 | $130 | 33% | $74 |
| 30% | $557 | $167 | 43% | $80 |
| 35% | $600 | $210 | 54% | $86 |
| 40% | $650 | $260 | 67% | $93 |
Default job: 7 crew hours at $25, $40 in materials, $25 an hour of overhead – $390 in cost.
Overhead is everything you pay whether or not the crew is working: rent, trucks, insurance, software, your own salary. Michael Stone puts it at 25% to 54% of revenue for contractors, with 8% net profit as the floor (Markup & Profit). Divide it by the hours you bill, not the hours you pay.
| Monthly overhead | Divided by | Overhead per hour | On the default job (7 crew hours) |
|---|---|---|---|
| $6,000 | 240 billable hours | $25.00 | $175 |
| $6,000 | 346 paid hours | $17.34 | $121 |
| Gap | – | $7.66 | $54 underpriced |
Job costing is comparing what you bid with what the job actually cost once it is done. The formula is the one above – labor + materials + overhead – run twice: once with estimated hours, once with real ones.
The default job bid at 7 crew hours costs $390 and earns $98. If the crew spends 8.5 hours, labor rises to $213 and overhead to $213, cost to $465, and profit falls to $23 – a 5% margin on a bid that promised 20%. One extra hour and a half is the difference between a good job and a free one.
A flat rate is a bid you have already done. Price your standard tasks here once – a deep clean of a 3-bedroom home, a spring cleanup, a water heater swap – and save each as an item with a set price. Flat rate beats time-and-materials when the job is repeatable and you know your hours; keep hourly for diagnostics and unknowns. In Tofu, saved prices live in the price book, so every quote uses the same number.
The receipt above is already an estimate. Here is the default job as the customer sees it:
| Line item | Price |
|---|---|
| Deep clean – 2 cleaners, about 3 hours | $448 |
| Cleaning supplies | $40 |
| Total | $488 |
Overhead and profit do not appear as lines – they are inside the labor price, where they belong. Build it in the free estimate generator, or send it from Tofu as an estimate the customer approves on their phone; the invoice copies the same lines when the job is done.
.png)
Turn the price above into a branded estimate with labor and materials lines.
Open the tool
→
Price a single part or line with markup and margin.
Open the calculator
→
Detailed cleaning pricing by home size and job type.
Open the calculator
→
Rates and job prices from real invoices.
Read the guide
→
Add crew hours at your loaded labor cost, materials, and overhead per billable hour, then divide by one minus your target margin. Two workers for 3 hours plus a 30-minute drive at $25 an hour, $40 in materials, and $25 an hour of overhead cost $390; at a 20% margin the price is $488.
About $29 an hour once payroll taxes, workers' comp, and benefits are added – the construction industry average is 30.5% of total compensation in benefits, or roughly 44 cents per wage dollar (BLS, June 2026).
Divide monthly overhead – rent, vehicles, insurance, software, your salary – by the labor hours you bill in a month, not the hours you pay. $6,000 over 240 billable hours is $25 an hour.
On Tofu, a cleaning business bills a median $461 per invoice and a lawn care or landscaping business $921. By type: deep clean $454, commercial cleaning $580, mowing $433, landscaping $1,241 (2024–2026, USD).
No. The price is built only from the numbers you enter. Tofu data appears as a benchmark next to it – the median invoice in your trade – so you can see whether your bid sits in the market.
The math is exact; the defaults are not your numbers. Labor costs are BLS medians with a standard burden, overhead and margin are editable assumptions. Change them to yours – the result is only as good as the costs you enter.
