October 19, 2026 · 11 min read
Cleaning Companies: Tracking Commercial vs Residential Clients Separately in QuickBooks
By 909 Bookkeeping
How to track commercial and residential cleaning clients separately in QuickBooks Online. Keep each job tied to its client type, match recurring billing and supply costs to the right side, and reconcile every payment to the bank so your real margin shows for each half of the business. Plain English from 909 Bookkeeping.
What cleaning company books need to track
A cleaning job is not one number. It is the crew time on the site, the supplies you used, the drive to the building, the invoice you sent, and the payment that came in. Each one needs its own line so the profit per job is real.
When you track all of it by client type, you can see which side of the business pays and which one costs more than it brings in. When you do not, you get one big pile of jobs and no way to tell whether the commercial contracts or the residential cleans were the good work.
Most cleaning companies run both sides at once. Some days a crew cleans an office building on a contract. Some days a crew cleans a house for a one time visit. Some days the same crew does both. The commercial side runs on set schedules and set prices. The residential side runs on one time visits and word of mouth. Each side has its own margins. Each side has its own costs. When the books tie the two sides apart, the business makes sense. You can read more about how we keep these lines tied on our bookkeeping page.
Here is what a clean job looks like.
| Line | What it means |
|---|---|
| Labor, job one | The crew time on that clean |
| Supplies, job one | The chemicals and tools used on that job |
| Mileage, job one | The drive to the site and back |
| Client type, job one | Commercial or residential |
| Net pay, job one | The payment minus the labor and supplies |
When each line ties to the job and the client type, the margin is real. When they sit in one pile, you are guessing.
How commercial and residential work differ in your books
Commercial and residential cleaning look like the same work from the outside. In the books they are two different businesses.
Commercial work is contract work. You sign a contract to clean an office five nights a week. The price is set for the year. The schedule is set. The billing is recurring. The client pays on net terms, so you send an invoice and wait. The margin per job is low but steady. The risk is that one client is a big share of your income.
Residential work is visit work. A customer books a clean. You show up, clean the house, and get paid. Some homes come back on a schedule. Many are one time visits. The price changes by the home. The billing is often same day. The margin per job is higher but the work is less steady.
When the books keep the two sides apart, you can see which one pays the bills and which one pays the growth. When the two sit in one pile, you can not tell whether the contracts are worth keeping or whether the residential side is where the money really is.
Here is how the two differ in the books.
- **Commercial is contract work: ** set price, set schedule, recurring billing, net terms.
- - **Residential is visit work: ** one time or recurring, price by the home, often same day pay.
- - **Commercial margins are low and steady: ** one client can be a big share of income.
- - **Residential margins are higher and less steady: ** the work comes and goes.
- - **Each side needs its own lines: ** so you can see which side pays.
When the two sides sit apart, you can read the business. When they sit together, the story is lost.
How to keep the two apart in QuickBooks Online
QuickBooks Online has two tools that keep the two sides apart. One is classes. One is locations. You pick one and use it the same way every time.
Classes tag each line to a type of work. You set up one class for commercial and one class for residential. When you book a job, you tag it to the right class. When you book a supply buy, you tag it to the side that used it. When you book a payment, you tag it to the side that earned it. At month end, you run the profit and loss by class and the two sides show side by side.
Locations work the same way but they tag each line to a place. Some cleaning companies use one location per city and one class for commercial and one for residential. Some use locations to split the two sides. The rule is to pick one method and use it the same way on every line.
Here is how to set it up.
- **Pick one tool: ** classes or locations, and use it the same way every time.
- - **Set up one tag for commercial and one for residential: ** no more than that to start.
- - **Tag every invoice to the right side: ** so the income lands on the right line.
- - **Tag every bill to the right side: ** so the cost lands on the right line.
- - **Run the profit and loss by class each month: ** so the two sides show side by side.
When every line carries the right tag, the report does the work for you. When the tags are missing, the report is one big pile.
How recurring billing shows up in your books
Commercial contracts run on recurring billing. You clean the same building on the same schedule and send the same invoice each month. The invoice is not new income each time. It is the next line on a contract that pays the same amount all year.
The clean way is to set up a recurring invoice in QuickBooks Online for each contract. The invoice goes out on the right day each month. The amount is set. The class or location tag is set. When the client pays, the payment ties to the invoice and the income lands on the right side. You can see which contracts paid on time and which ones are late.
The messy way is to write a new invoice from memory each month. Some months you forget. Some months the amount is off. Some months the tag is missing. Now the contract income is hard to track and the late payers hide in the pile.
Here is how to keep recurring billing clean.
- **Set up a recurring invoice for each contract: ** so it goes out on the right day.
- - **Set the class or location tag on the recurring invoice: ** so it never comes in untagged.
- - **Match each payment to the invoice it pays: ** so the income ties to the contract.
- - **Watch for late pays: ** a contract that pays late every month is worth a closer look.
- - **Review the contract list each quarter: ** so you know which ones are up for renewal.
When the recurring invoices run on their own, the commercial side stays clean. When you write them by hand, the gaps show up at month end.
How supplies and labor tie to the client type
Supplies and labor are the two biggest costs on every cleaning job. The way you tie them to the client type changes what your books show.
The clean way is to tie every supply buy and every crew run to the side that used it. A bulk chemical buy goes to a supplies account first. When a crew uses it on a commercial job, the cost lands on the commercial side. When a crew uses it on a residential job, the cost lands on the residential side. The same goes for labor. When you run payroll, the crew wages for a commercial day land on the commercial side. The crew wages for a residential day land on the residential side.
The messy way is to book all supplies to one flat line and all labor to one flat line. Now both sides look like they cost the same, and you can not tell which side eats the supplies and which one eats the time.
You can read more about how we track supplies and chemicals for a service business in our pool service company bookkeeping guide. The same idea works for cleaning supplies.
Here is how to keep the costs clean.
- **Hold bulk supplies in a supplies account: ** until a crew uses them.
- - **Tie each supply to the side that used it: ** commercial or residential.
- - **Tie crew time to the side that earned it: ** so labor lands on the right line.
- - **Include the drive in the job: ** the mileage is part of the cost.
- - **Compare the two sides at month end: ** see which one eats more supplies per dollar.
When the costs tie to the side, your margin per side is real. When they sit in one pile, the two sides look the same.
How the month end close works
At month end, every job needs its lines added up. The labor, the supplies, the mileage and the payment all pull together into one job total. The income for the job sits next to it. The difference is the profit for the job. When the jobs roll up by client type, you see the commercial side and the residential side side by side.
We start with the bank. We match each payment to the deposit that landed. We match each invoice to the payment that paid it. We tie each supply buy to the side that used it. We tie each crew run to the side that earned it. Then we add up the month by client type. We send you the profit and loss report, a balance sheet, and a cash summary. The two sides sit inside the report.
Here is a simple month end check.
- **Match each payment to the bank: ** every deposit cleared.
- - **Match each invoice to the payment: ** no orphan income.
- - **Confirm each job carries a client type tag: ** commercial or residential.
- - **Tie supplies and labor to the right side: ** so the margins are real.
- - **Run the profit and loss by class: ** so the two sides show side by side.
When the close runs every month, the business stays clear. When it skips a month, the jobs stack up and the next month is harder to close.
A situation we clean up
The two sides that looked like one
A cleaning company runs commercial contracts and residential visits at the same time. Every invoice lands in one sales line. Every supply buy lands in one supplies line. Every crew wage lands in one labor line. At month end, the owner can not tell whether the commercial contracts pay or whether the residential visits are where the money is. The owner can not tell which side to grow.
Here is how we handle it. We set up two classes in QuickBooks Online, one for commercial and one for residential. We go back through the open months and tag each invoice to the side that earned it. We tag each supply buy to the side that used it. We tie each crew run to the side that worked it. When we are done, the owner can run the profit and loss by class and see the two sides side by side. We set up a rule so the next invoice carries the right tag from the start.
Mistakes we fix
- Every invoice booked to one sales line with no client type tag
- Every supply buy booked to one flat supplies line
- All crew wages booked to one labor line with no side tag
- A recurring contract invoice written by hand each month
- A payment that cleared the bank but never tied to an invoice
- A residential clean paid in cash that never made the books
- No class or location tag on any line
- No profit and loss by class run at month end
Common questions
Do I need classes or locations in QuickBooks Online? Pick one and use it the same way on every line. Set up one tag for commercial and one for residential. When every line carries the right tag, the profit and loss by class shows the two sides side by side.
How do I keep commercial and residential apart? Tag each invoice, each supply buy and each crew run to the side it belongs to. Commercial is contract work on net terms. Residential is visit work, often same day pay. The two have different margins and need their own lines.
How do I handle recurring contract billing? Set up a recurring invoice in QuickBooks Online for each contract. Set the amount, the day and the class tag once. Match each payment to the invoice it pays. The commercial side stays clean when the invoices run on their own.
How do I tie supplies to the right side? Hold bulk supplies in a supplies account first. When a crew uses them on a job, move the cost to the side that used it. Do the same with crew time. When the costs tie to the side, your margin per side is real.
