Tanvelo
Menu

Free commercial cleaning tool

Commercial cleaning bid calculator

Enter your crew time, costs and target margin to price a commercial cleaning or janitorial visit. Add planned monthly visits to see a monthly total.

Your assumptions

Build a price per visit

Changing currency relabels your amounts. It does not convert them.

cleaners
hours

Enter each cleaner’s hours, not total crew hours.

CAD / hour

Include wages and only the employer costs you want counted here.

%

Margin is profit as a share of the selling price. It is not markup.

Additional costs and monthly estimate Optional

Use per-visit amounts. Avoid including costs here that are already part of your loaded labour cost.

CAD
CAD
CAD
visits

Leave blank if you only need the price per visit.

Required fields are marked with an asterisk.

How it works

Price the visit from your costs—not a generic market average.

Start with the crew time and loaded hourly labour cost you expect for one visit. Add supplies, travel, and any overhead that belongs to that visit. Then choose the profit margin you want the selling price to retain.

Before pricing, record the scope and crew time first so the inputs stay tied to the work you inspected.

Need to work out the crew time? Use the commercial cleaning labor-hours calculator to estimate total cleaner-hours and time per cleaner from your own task and support-time assumptions, without counting the crew twice.

Can I use this to bid a janitorial contract?

Yes. Use the crew time and costs for one routine cleaning visit, then enter the actual number of visits planned for the month. Check the scope and time during a walkthrough before sending your bid.

The formula

  1. Multiply cleaners × hours per cleaner × loaded hourly labour cost.
  2. Add supplies, travel, and other overhead to get the total cost per visit.
  3. Divide total cost by one minus the target margin to get the suggested price before tax.

Suggested price = total cost ÷ (1 − target margin)

A fictional worked example

Two cleaners work two hours each at a loaded labour cost of CAD $25 per hour. The visit also uses $10 of supplies, $10 of travel, and $20 of other overhead. Total cost is $140. At a 30% target margin, the suggested price is $200 before tax, leaving an estimated $60 profit per visit. Eight visits would total $1,600 for the month.

If the customer accepts the bid, keep those assumptions connected to the field work. See a fictional example of the accepted scope becoming recurring work orders, completion proof, and a separate extra-work approval.

Ready to present the customer price? Use the free commercial cleaning proposal template to organize the agreed scope, frequency, exclusions and pricing.

Margin is not markup

A 30% margin on $140 of cost produces a $200 price because $60 of profit is 30% of the selling price. A 30% markup produces $182, where the $42 profit is only about 23.08% of the selling price.

What should loaded labour cost include?

Use the hourly wage plus the employer costs you choose to allocate to that hour, such as payroll costs or benefits. Do not add the same employer cost again as overhead. The calculator does not recommend a wage, margin, market rate, or tax rate.

Does this calculator work from square footage?

This calculator uses cleaner hours and costs. It does not convert floor area into cleaning time. Use your walkthrough and task list to estimate the time for the agreed work.

How do I calculate a monthly janitorial bid?

Open “Additional costs and monthly estimate” and enter the actual visits planned for that month. The monthly total is the price per visit multiplied by that count. Count the scheduled visits; a month is not always exactly four weeks. If the scope or crew time differs between visits, calculate those visits separately.