Job details

Enter one job. Type 0 for any cost that does not apply. Hours must be greater than zero.

USD is selected by default. Open the list to choose another currency. This sets the money label only. It does not convert amounts. If you already entered numbers, the page warns you before it clears them.

Currency label: USD — US Dollar ($).

A short name to repeat on the result. It stays on this page only.

The amount you charge for this job. Use 0 only if you charged nothing.

Must be greater than zero. Decimals are fine, such as 2.5.

What you count your own time as worth for this estimate. This is a costing assumption, not necessarily a wage you paid.

Cleaner, bags, and other supplies for this job. Use 0 if there were none.

Parking, tolls, mileage, or other cash costs for this job. Use 0 if there were none.

Example numbers: price 150, hours 3, hourly labor value 20, supplies 10, travel 12. With US dollars, estimated profit is $68.00 USD. Reset clears this job and keeps your currency. Tab through the fields and press Enter to calculate.

Results

Each result is labeled. A negative profit is allowed. It means the price does not cover the direct costs and labor value you entered.

Results will appear here after you choose Calculate.

Revenue

The cleaning price for this job.

Not calculated yet

Direct cash costs

Supplies plus travel and other direct costs.

Not calculated yet

Owner labor value

Hours × hourly labor value. A costing assumption, not necessarily cash paid out.

Not calculated yet

Estimated profit

Revenue − direct cash costs − owner labor value.

Not calculated yet

Estimated profit margin

Estimated profit ÷ revenue, when revenue is above zero.

Not calculated yet

Effective earnings per cleaning hour

(Revenue − direct cash costs) ÷ cleaning hours, before owner labor value.

Not calculated yet

Owner labor value is a costing assumption, not necessarily an actual wage payment. Taxes, fixed overhead, and costs you did not enter are not included.

How this profit estimate is calculated

Solo cleaning businesses in the United States can use this as a cleaning job profitability check for a single job. It uses only the numbers you type. You can check the math by hand with the definitions below.

  1. Revenue is the cleaning price. It is the amount you charge for that job.
  2. Direct cash costs are supplies plus travel and other direct costs. Count money you expect to pay because of this job, such as cleaner, bags, parking, or tolls.
  3. Owner labor value is cleaning hours multiplied by the hourly value you enter. That hourly value is a costing assumption: a number you choose so you can see whether the job is worth your time. It is not necessarily an actual wage payment. Leave that labor value out of the travel field, or the calculator will subtract it twice.
  4. Estimated profit is revenue minus direct cash costs minus owner labor value. A negative result is valid. It means the price does not cover those direct costs and the labor value you entered.
  5. Estimated profit margin is estimated profit divided by revenue, shown as a percentage. It is calculated only when revenue is above zero, because dividing by zero is not defined.
  6. Effective earnings per cleaning hour, before owner labor, are revenue minus direct cash costs, divided by cleaning hours. Hours must be greater than zero. This is what is left per hour after supplies and travel, before the labor value is subtracted. It is a different number from estimated profit.

Worked example in US dollars

Price 150, time 3 hours, hourly labor value 20, supplies 10, and travel 12.

  • Direct cash costs = 10 + 12 = 22
  • Owner labor value = 3 × 20 = 60
  • Estimated profit = 150 − 22 − 60 = 68
  • Estimated profit margin = 68 ÷ 150 = 45.33%
  • Effective earnings per cleaning hour = (150 − 22) ÷ 3 = 42.67

With US dollars selected, the results panel shows:

Revenue
$150.00 USD
Direct cash costs
$22.00 USD
Owner labor value
$60.00 USD
Estimated profit
$68.00 USD
Estimated profit margin
45.33%
Effective earnings per cleaning hour
$42.67 USD

Choose Try Example to fill those inputs and calculate. If another currency is already selected, the same numbers are labeled in that currency. They are not converted from US dollars.

What the result leaves out

These figures use only the amounts you type. They leave out income taxes and sales taxes. They also leave out fixed overhead such as insurance, a phone plan, software, rent, or a vehicle payment, unless you entered that money as a direct cost on this job. A cost that is not in the form is not in the result.

How currency labels work

US dollars (USD) are selected when you open the page. Open the currency menu to choose from the standard currencies this browser can format. Another choice changes the symbol and the three-letter code on every amount.

The page does not download exchange rates, and it does not turn an amount in one currency into an amount in another. After a switch, type the job again in the new currency. If numbers or results are already on the page, you get a warning before they are cleared. The client nickname is kept.

How to tell shared symbols apart

Some currencies use a similar sign. Results always include the three-letter code, such as USD, CAD, or AUD. The currency list also shows the currency name and symbol, so US dollars, Canadian dollars, and Australian dollars stay distinct.

Privacy

All processing happens in this browser, on your device. Nothing you type is uploaded. There is no account, no tracking, and no analytics. The calculator does not keep a job after you refresh the page. Clients and visits you choose to save stay in this browser on this device only. Clearing saved site data, using another browser or device, or closing a private browsing window can erase them. Download a backup from Clients, Visit history, or the Dashboard if you want a copy. That JSON file stays on your device, in plain text, and should be stored somewhere private.

Change currency and clear numbers?

Delete this client?

Delete this visit?

Replace saved records?

Change this client’s currency label?

This does not convert the default price, the default labor value, or any saved visit. Past visits keep the currency they were recorded in.