Back to the blog

March 14, 2026 · 12 min read

Bookkeeping for Landscapers: Recurring Maintenance vs One Time Projects

By 909 Bookkeeping

How to keep books for a landscaping company. Keep recurring maintenance income apart from one time project income, track materials and crew costs by job, match each payment to the bank, and keep the monthly income true. Plain English from 909 Bookkeeping.

Trade illustration for this bookkeeping guideA flat illustration of a leaf and a calendar next to a one time project card, showing recurring and one time work tracked for a landscaping company.LEDGER

What landscaper books need to track

A landscaping business is not one number. It is the lawns you mow every week, the beds you clean every month, the installs you build once, the materials you buy, and the crew you pay. Each part needs its own line so your monthly income stays true.

When you track all of it by job type, you can see which side of the business pays the overhead and which side makes the margin. When you do not, you get one big pile of invoices and supply runs and no way to tell whether the weekly maintenance pays better than the big install.

Most landscapers run two kinds of work at once. Recurring maintenance is the lawns, the cleanups and the sprinkler checks that come back every week or every month. One time projects are the installs, the new sod and the wall builds that happen once. When the books hold the recurring income apart from the project income, the business makes sense. You can read more about how we keep these lines tied on our bookkeeping page.

Here is what a clean month looks like.

LineWhat it means
Recurring incomeWhat you earned from weekly or monthly maintenance
Project incomeWhat you earned from one time installs and builds
Materials costWhat you paid for sod, plants, mulch and supplies
Crew payWhat you paid the crew in wages
Net by typeWhat each side of the business really earned

When the recurring income and the project income sit on separate lines, your profit by type is real. When they sit together, a big install month looks like a great month even though the maintenance side was slow.

How recurring maintenance shows up on its own line

Recurring maintenance is the work that comes back. The weekly mow, the monthly cleanup, the sprinkler check, the mulch refresh. The income is steady and the costs are steady. It needs its own line so you can see what the maintenance side earns on its own.

The clean way is to book each maintenance payment to a recurring income line. Tag it to the customer and the week or the month. When you run the profit and loss, the recurring income shows as its own total. You can see how much the maintenance side earns in a month and whether it covers the crew and the truck. You can read more about how we track recurring income in our pool service companies guide. The same idea works for landscape maintenance.

The messy way is to book every maintenance payment to one general sales line. Now you can not tell the recurring income from the project income. A month with no installs looks like a slow month even though the maintenance ran steady all month.

Here is how to keep recurring income clean.

  • **Book maintenance payments to a recurring income line: ** not to general sales.
  • - **Tag each payment to the customer and the week or month: ** so the income sorts by route.
  • - **Watch the recurring income as its own total: ** so you can see what the maintenance side earns.
  • - **Compare the recurring income to the crew and truck costs: ** so you can see if the maintenance pays the overhead.
  • - **Match each payment to the bank: ** so no income floats untied.

When the recurring income sits on its own line, your maintenance profit is real. When it hides in the sales pile, the steady side of the business is invisible.

How one time projects show up on their own line

A one time project is an install or a build. New sod, a planter install, a wall, a drainage job, a full yard clean. The income is bigger and the costs are bigger. It needs its own line so you can see what each project earns.

The clean way is to book each project payment to a project income line tagged to the job. When you run the profit and loss by class, each project shows its own income total. You can see which installs made money and which ones spent more on materials or crew time than they brought in. You can read more about how we track job income in our fence and deck builders guide. The same idea works for a landscape install.

The messy way is to book every project payment to the same general sales line as the maintenance. Now you can not tell the project income from the recurring income. A big install month looks like a great month for the whole business even though the maintenance side was slow.

Here is how to keep project income clean.

  • **Book project payments to a project income line: ** not to general sales.
  • - **Tag each payment to the job: ** so the income sorts by project.
  • - **Watch the project income as its own total: ** so you can see what each install earns.
  • - **Compare the project income to the materials and crew costs: ** so you can see the project margin.
  • - **Match each payment to the bank: ** so no income floats untied.

When the project income sits on its own line, your install profit is real. When it hides in the maintenance pile, the project margin is a guess.

How materials and crew costs show up by job

Materials and crew pay are the two biggest costs in a landscaping business. The sod, the plants, the mulch, the rock are materials. The crew wages are labor. Both tie to the job. Both need their own line so you can see what the job really cost.

The clean way is to book each materials buy to a materials cost line tagged to the job when you can. Book each crew wage to a labor cost line tagged to the job when you can. When you run the profit and loss by class, each job shows its own materials total and its own labor total. You can see which jobs ate the budget in materials and which ones ran lean. You can read more about how we track materials and crew costs in our landscaping equipment guide. The same idea works for materials and labor by job.

The messy way is to book every materials buy to general supplies and every crew wage to general payroll with no job tag. Now you can not sort by job. You can not tell if the big sod install ate the budget in materials or if the weekly route cost more in crew pay than it earned. The costs sit in one pile and the per job story hides.

Here is how to keep materials and crew costs clean.

  • **Book materials to a materials cost line: ** tagged to the job when you can.
  • - **Book crew wages to a labor cost line: ** tagged to the job when you can.
  • - **Watch materials and labor as a share of job income: ** a job that costs more than it earns needs a look.
  • - **Keep the materials line apart from the labor line: ** so the two do not blur.
  • - **Match each materials bill and each payroll payment to the bank: ** so no cost floats untied.

When the materials and the crew costs tie to the job, your per job profit is real. When they sit in one pile, the job story is a guess.

How to match each payment to the bank

Every maintenance payment, every project payment, every materials bill and every crew payment has to match the bank. The cash comes in or goes out. The books need to tie the two together.

The clean way is to match each maintenance payment and each project payment to the bank deposit the day it clears. Match each materials bill and each payroll payment to the bank the day it clears. The amount in the books agrees with the amount that hit the bank. When a customer pays on a card, the deposit lands net of the card fee. When a customer pays in cash, the deposit lands whole. The bank and the books always agree.

The messy way is to book the payment and never match it. Now the books show income that may or may not have cleared. A materials bill that is still pending sits as a cost. A project payment that bounced sits as income. You can read more about how we match payouts to the bank in our reconciling shop management software guide.

Here is how to keep the match clean.

  • **Match each maintenance and project payment to the bank deposit: ** the day it clears.
  • - **Match each materials bill to the bank: ** so the materials cost is true.
  • - **Match each crew payment to the bank: ** so the labor cost is true.
  • - **Reconcile the bank each month: ** so the cash total agrees with the bank.
  • - **Watch for card fees: ** a card payment lands net, so split the fee out.

When each payment matches the bank, your cash is true. When they float untied, the income drifts and the real profit hides.

How the month end close works

At month end, every job needs its lines added up. The recurring income, the project income, the materials, the crew pay and any card fees all pull together. When the jobs roll up by class, you see the maintenance side and the project side side by side.

We start with the bank. We match each payment and each bill to the cleared payment. We book the maintenance income to the recurring line tagged to the route. We book the project income to the project line tagged to the job. We book the materials to the materials cost line tagged to each job. We book the crew wages to the labor cost line tagged to each job. We send you the profit and loss by class, a balance sheet, and a cash summary. Each job sits inside the report in its own column.

Here is a simple month end check.

  • **Match each payment and each bill to the bank: ** every payment cleared.
  • - **Book maintenance income to the recurring line: ** tagged to the route.
  • - **Book project income to the project line: ** tagged to the job.
  • - **Book materials to the materials cost line: ** tagged to each job.
  • - **Book crew wages to the labor cost line: ** tagged to each job.
  • - **Run the profit and loss by class: ** so each job shows in its own column.

When the close runs every month, the job story stays clear. When it skips a month, the supply runs and payroll stack up and the next month is harder to close.

A situation we clean up

The maintenance and the installs that all sat in one pile

A landscaping company runs a weekly maintenance route and a few big installs a month. Every payment goes to one general sales line. Every materials buy goes to general supplies. Every crew wage goes to general payroll. No class tracking is turned on. At month end, the owner can not tell what the maintenance side earns, what the installs earn, or which jobs ate the budget in materials or crew time. The bank and the books do not agree because the customer deposits float untied.

Here is how we handle it. We turn on class tracking in QuickBooks Online and set up one class for each job. We set up a recurring income line, a project income line, a materials cost line and a labor cost line. We go back through the open month and move each maintenance payment from general sales to the recurring income line tagged to the route. We move each project payment to the project income line tagged to the job. We move each materials buy from general supplies to the materials cost line tagged to the job. We move each crew wage from general payroll to the labor cost line tagged to the job. We match each payment and each bill to the bank. When we are done, the owner can run the profit and loss by class and see the maintenance side and the project side side by side, with the income, the materials and the crew pay on separate lines. We set up a rule so the next payment carries the right class from the start.

Mistakes we fix

  • Every maintenance and project payment in one general sales line so the recurring income hides
  • Every materials buy in general supplies instead of a materials cost line tagged to the job
  • Every crew wage in general payroll instead of a labor cost line tagged to the job
  • No class tracking turned on so no way to sort by job
  • Materials cost and materials income in the same pile so the markup hides
  • Crew pay and materials in the same pile so the labor cost is a guess
  • No match between the payment and the bank deposit
  • Card fees from customer payments buried inside net sales
  • No profit and loss by class run at month end

Common questions

How do I keep recurring maintenance apart from one time projects? Book maintenance payments to a recurring income line and project payments to a project income line. Tag each to the route or the job. Watch the two income streams separately so you can see what each side earns.

How do I track materials by job? Book each materials buy to a materials cost line tagged to the job when you can. Keep the materials line apart from the labor line. Match each materials bill to the bank. Watch materials as a share of job income so a job that costs more than it earns shows up.

How do I track crew costs by job? Book crew wages to a labor cost line tagged to the job when you can. Watch labor as a share of job income. Keep the labor line apart from materials so the two do not blur. A job that costs more in crew pay than it earns needs a closer look.

How do I match landscaping payments to the bank? Match each maintenance payment and each project payment to the bank deposit the day it clears. Match each materials bill and each crew payment to the bank. Reconcile the bank each month so the cash total agrees with the bank.

Ready for books that close on time?

Free 20-minute call. We reply with a fixed quote within one business day.

Book a callCall