(443) 600-8990Get a free consultation
  1. Home
  2. Blog
  3. Landscaping
Landscaping

Hardscape jobs need job costing, not a shared bucket with maintenance

Patio and wall installs run like construction projects with deposits and progress billing. Mixing them with maintenance contracts hides whether each job actually made money.

Hardscape jobs need job costing, not a shared bucket with maintenance

October 20, 2026 · Mitt Patel · 5 min read

You just collected a $2,500 deposit on a paver patio job, bought $4,500 in materials, and paid your crew $3,800 in labor over two weeks. Meanwhile your maintenance contracts are quietly depositing into the same account every month. At the end of the job, was the patio profitable, or did it just look fine because the maintenance money covered the gaps?

Why this happens

Maintenance work is simple to track. Same customers, same amount, every month. It's easy to glance at your bank balance and feel like things are fine.

Hardscape and install jobs don't work that way. They involve a deposit up front, a pile of material purchases, labor that runs over days or weeks, and sometimes a progress payment or final payment that lands weeks after you started. If all of that money flows through the same account and gets recorded the same way as a mowing contract, you lose the ability to see what any single project actually cost you.

This matters because hardscape jobs are where the money is made or lost in big chunks. A mowing contract might be off by $20 a month and you'd never notice. A patio job can be off by $2,000 because of a material overrun or a crew that took three extra days, and if you're not tracking it separately, you won't catch it until the whole season's numbers look worse than you expected.

The cost of not fixing this isn't abstract. Owners end up bidding the next similar job the same way, repeating a mistake they didn't know they made. Or they feel like the business is doing fine because the bank balance looks healthy, when really one or two installs lost money and the maintenance contracts are propping up the average.

A worked example

Say you take on a paver patio job quoted at $12,000 total. The customer pays a $2,500 deposit to start. You buy pavers, base material and edging for $4,500. Your crew spends two weeks on it, costing $3,800 in labor. You also rent a plate compactor for $200. The customer pays the remaining $9,500 when the job is done.

If all of that just runs through your general income and expense accounts mixed in with mowing and cleanup income, here's what you can't easily answer:

  • Did this job actually make money, and how much?
  • Was labor in line with what you bid, or did it run over?
  • Did material costs match your estimate, or did waste or price increases eat into the margin?

Set up as its own project, the math is clear. Total income: $12,000. Total direct costs: $4,500 materials, $3,800 labor, $200 equipment rental, for $8,500. Profit before overhead: $3,500. Now you know this job cleared about 29 cents on the dollar before your fixed costs. You can compare that to the next patio job and see if your bidding is holding up.

How to set it up

  1. Create the job as a project in your accounting system. If you use QuickBooks Online, the Projects feature lets you tag income and expenses to a specific job without opening a whole new set of books.
  1. Record the deposit as income tied to the project, not as a general deposit. This keeps it from blending into your regular cash flow picture.
  1. Code every material purchase for that job to the project. When you buy pavers, base, or edging, assign the purchase to the patio job, not to a general "materials" category.
  1. Track labor by job. If your crew logs hours, note which hours went to the install versus maintenance routes. Even a simple weekly note of hours per job works if you don't have job-costing time software.
  1. Include equipment rental, delivery fees, and any subcontractor costs under the same project. Anything spent to get that job done belongs in its column.
  1. Record progress payments and the final payment against the same project. This way the project shows total income against total cost, not just a deposit against a pile of expenses.
  1. Close out the project once it's paid and complete, and look at the profit. Compare it to your original bid to see where you were accurate and where you weren't.

Mistakes that undo it

  • Letting material receipts sit in a general "supplies" account. If you don't code them to the job right away, you'll have to reconstruct it later from memory, and some of it will get missed.
  • Paying crew labor out of the same pool without separating hours by job. If your crew splits time between an install and a mowing route in the same week, failing to split the labor cost means both jobs look wrong.
  • Treating the deposit as general income when it lands. It's income, but it needs to stay tied to the project it belongs to, or you lose the thread between what was promised and what was delivered.
  • Not closing out the project when the job ends. A project that never gets finalized in your books just sits there as an open question, and you lose the chance to compare it to future bids.
  • Mixing owner draws or truck payments into job costs. Keep project costs to what was actually spent getting that specific job done.

Monthly checklist

  • Confirm every open hardscape project has its deposit, materials, and labor recorded against it, not sitting in a general account.
  • Review any project still open after 30 days and check whether costs are tracking close to the bid.
  • Close out any projects completed and fully paid in the last month, and note the profit.
  • Compare labor hours logged by job against your crew's actual schedule to catch anything miscoded.
  • Check that equipment rental and subcontractor invoices for the month are tagged to the right project.

Common questions

Do I need separate bank accounts for install jobs versus maintenance?

No. One business bank account is fine. The separation happens in how you code and categorize transactions, not in how many accounts you have.

What if a crew member splits time between an install and a maintenance route in the same day?

Split their hours and the labor cost between the two projects based on time spent on each. Even a rough split, noted weekly, is far better than lumping it all into one bucket.

How do I handle a customer who pays a deposit, then changes the scope of the job?

Keep the original project open and add the additional materials, labor, and payment to the same project record. If the scope change is large, it helps to note it so you can see how the change affected the final profit.

Is this worth doing for smaller install jobs, like a short retaining wall under $3,000?

It depends on how often you do small jobs like that and whether you want to know if they're worth taking on. If small jobs are a regular part of your work, tracking even a simplified version of cost against income will show you a pattern over time.

North Hudson Bookkeeping sets up project tracking like this for hardscape and install businesses and keeps it current month to month, so you always know which jobs are actually paying off. The first call is free.

Want this handled for you?

Monthly bookkeeping from $500 a month: every account reconciled, clear reports and a short summary each month. Book a free 20-minute call or call (443) 600-8990.

Get a free consultation

Talk to MittCall or text (443) 600-8990 · or book a free consultation
Free consultationFree callCallTextWritten quoteQuote