For a new owner-operator, a pricing system starts with a small set of maintained assumptions: what time costs, what each job consumes, how overhead is shared, and the minimum and margin every quote must respect.

Worked examples use illustrative USD inputs, not national averages or recommended market rates. Service prices exclude applicable sales tax.

Build a cost sheet you can keep current

This is about pricing cleaning work, not valuing a business for sale or writing a general startup plan. Record each assumption, where it came from, and when you last checked it.

  • Labor: use a fair owner labor allowance and actual employee costs; include the complete job time.
  • Chemicals: estimate the product and treatment for the scope, then compare it with actual use.
  • Travel: distinguish vehicle expenses from paid driving time, without counting fuel twice.
  • Equipment: allocate wear, upkeep and eventual replacement to jobs.
  • Overhead: share recurring business costs consistently and update the assumptions when capacity changes.

Worked example: overhead changes the rate sheet

Suppose recurring monthly overhead is $2,400, excluding labor, vehicle and equipment expenses already allocated directly to jobs. Across 32 planned comparable jobs, the allowance is $75 per job. If the realistic plan becomes 24 jobs, the allowance rises to $100. For jobs of very different sizes, a time-based allocation may be more useful than an equal amount per job.

One example job has $120 labor, $25 chemicals, $20 travel and $30 equipment allocation: $195 direct cost. With $75 overhead, total cost is $270. At 3% processing and a 30% target margin, the quote is $402.99. With $100 overhead, the same direct work needs $440.30.

This does not mean changing an already accepted quote without agreement. It means checking future pricing when the assumptions behind it change. Do not add an overhead percentage for expenses already included in the fixed allocation.

Choose policies, then apply them consistently

Build a minimum service-call policy from realistic travel and setup. Decide which target margin you want after the entered costs. Choose how prices will be presented for each service, and write down the scope boundaries.

Keep a simple version date on the internal rate sheet. If someone else quotes work, use the same definitions for area, condition, labor time and exclusions. Use the pricing formula to connect those inputs with revenue; the rate sheet is an aid, not permission to ignore a different job.

Review the difference between estimated and actual work

Take the example $402.99 quote. If unexpected work adds $44 in costs, actual total cost becomes $314. After roughly $12.09 processing, profit is about $76.90 and margin falls to 19.1%. Record what changed: time, product, access, travel or something excluded from the original scope.

Correct the underlying estimate for the next comparable job. Do not raise every price blindly because one job went badly, and do not treat owner time as free to make the result look better. Use the profit checker to review the completed quote.

Move to software when tracking becomes the problem

Keep pricing logic clear before adding a system to manage quotes, approvals, scheduled work, invoices and payments. Bring your scope template and one checked price to a vendor demo. Ask how the system records a quote that has not been approved, a rescheduled job and an unpaid invoice.

Choose software around the work you need to track.

Compare the workflow after you set the price

Some software links may earn us a commission if you purchase, without increasing the price you pay. See our affiliate disclosure for details. Read disclosure.

Connect this decision with the rest of your pricing method.

Return to the contractor pricing guide