Job costing7-day free trial · $24.99/mo2 employee seats includedCost and profit per job

    Job Costing for Landscapers, Down to the Single Visit

    Most landscape businesses know what they billed last month. Far fewer know which of those jobs actually made money once the crew hours and the material run were counted. TerraScape AI puts labor, expenses, and overhead against every job and shows you the margin, so repricing is a decision instead of a hunch.

    Last updated 2026-08-14

    Start free trial

    What is job costing for a landscaping business?

    Job costing is putting every real cost of a job against what you charged for it, so you know the profit on that specific visit rather than only the profit on the month. For a landscape business the costs that matter are crew labor, materials and disposal, and a share of the overhead that runs whether the truck moves or not.

    Revenue tells you the business is busy. Job costing tells you whether busy is worth it. Those are different questions, and most operators only ever get an answer to the first one.

    Here's the shape of it. A job carries a price. Against that price sit the hours your crew actually spent, the mulch and fuel and dump fee the job consumed, and a slice of insurance, truck payments, and phone bills. What is left is the margin on that job. Do that across a season and the pattern shows up fast: a handful of jobs carry the business, most are fine, and a few have been quietly costing you money for two years.

    In TerraScape AI, that math runs on the Financials side of the platform on the jobs you already schedule and bill, so it is not a second system to keep current. You are not re-entering work into an accounting tool at 9 PM to find out how June went.

    Where the money leaks in this trade is not exotic. It is the drive time nobody counted, the property that grew from a 40-minute cut to an hour and never got repriced, the cleanup you quoted from memory, and the client who is pleasant to work for and 8% margin. None of that shows up on a bank balance. All of it shows up on a job costing report.

    Why does a job you priced right still lose money?

    Because you priced the work and then paid for the day. The estimate assumed two hours and one man. The day delivered three hours, two men, a trip to the supplier, and a dump run, and the invoice still said what the estimate said.

    That gap is normal. It is not a sign you are bad at this. It is a sign that nobody is measuring the thing that moves.

    The four leaks worth naming, because they are the ones that repeat:

    • Hours drift. Properties grow. Beds get bigger, hedges get taller, and the 45-minute stop is a 70-minute stop three seasons later. Nobody re-quotes a client who has never complained.
    • Materials get eaten quietly. The extra two yards of mulch, the replacement blade, the dump fee. Individually small. Across a season they are a real number, and they usually get remembered as "a good month" instead.
    • Overhead is invisible per job. Insurance, truck payments, fuel, software, the phone. It is real money that never appears next to a single visit unless something puts it there.
    • The unpriced favor. The five-minute extra that happens on every visit to the same three properties.

    Here's the math that makes this concrete. At a $65 an hour effective crew rate, 30 minutes of uncounted drift on a weekly account is $32.50 a week, about $1,100 across an eight-month season, on one client. Ten accounts with the same drift is $11,000. That is not a rounding error, it is a truck payment, and it is invisible without job-level costing.

    For the broader picture of what a healthy number looks like, lawn care profit margin walks through the benchmarks, and how to price landscaping jobs covers building the price in the first place.

    How does job costing work in TerraScape AI?

    It works off the job you already scheduled. You do not build a separate costing record. The job carries its price, the crew assignment carries the labor, and you add the expenses as they happen.

    Labor. Each employee carries an hourly cost, and the hours assigned to a job turn into a labor cost on that job. A two-man crew on a three-hour job costs what those two people actually cost, not an average you guessed at.

    Materials and direct expenses. You log an expense against the job with a description, a quantity and unit, an amount, and a category, so "14 yards of mulch" and "dump fee" sit on the job that consumed them. You can do it from your phone at the supplier instead of from a receipt pile on the kitchen table in February. Zentra can log it for you on command as well, which in practice means saying what you spent and on which job and letting it file the entry for your approval.

    Overhead. You set your monthly overhead categories once, insurance, truck payments, phone, software, and the platform carries a running monthly total that feeds the cost side rather than sitting in a note somewhere.

    The output. Every job shows revenue, total cost, net profit, and margin percentage, with a status so the thin ones are obvious at a glance. Rows carry the client name, the job type, and the date, so a client whose every visit lands thin is visible without you building a pivot table. You can export the whole thing to CSV when your accountant wants it.

    And it is a month view, not a mystery. Financials reads the month you are looking at, with expenses, profit, overhead, revenue goal, and trend all on the same page, so "how did July go" is a question you answer in about four seconds.

    You cannot reprice what you have never measured. Job costing is just the measuring.

    What do you actually do with the numbers?

    You reprice, you re-route, or you let the account go. Those are the three moves, and having the number is what turns each of them from an argument into arithmetic.

    Reprice the drift. A property running 30% over the quoted time is not a bad client, it is an old price. Bring the estimate to the client with the hours attached and most of them say yes, because you are not negotiating, you are reporting. The estimate software page covers building and sending the new number.

    Re-route before you re-price. Sometimes the job is fine and the day is the problem. A stop that is 20 minutes off the route costs more than one that is on it, and that is a scheduling fix rather than a pricing fix. See the route optimizer for landscapers.

    Let the wrong account go, on purpose. Every operator has one or two accounts that were worth taking in year one and are not worth keeping in year four. Deciding that with a margin number in front of you is very different from deciding it when you are annoyed on a Friday.

    Bid the next one with real inputs. Last season's actual hours on a similar property are the best estimate you will ever have for the next one. That is the compounding part: a business that costs its jobs bids better every year, and a business that does not is guessing with more confidence each season.

    Know it early enough to matter. Zentra's Daily Brief, the 19-signal morning summary, surfaces revenue trend and client-level signals so the picture is not something you discover in the off-season. Small businesses already spend 10 to 15 hours a month on billing and bookkeeping, according to SCORE, the SBA-backed small-business mentoring nonprofit. The point of job costing inside the platform you already schedule and bill from is that it does not add to that number.

    What does TerraScape not do on the accounting side?

    TerraScape is not accounting software and does not try to be. It answers what a job cost and what it made. It does not close your books, run payroll taxes, or file anything.

    Being clear about the line saves everyone a bad month:

    • It is not a general ledger. It syncs to QuickBooks Online for businesses that want two-way accounting, and it does not replace your accountant.
    • No per-employee time-clock punch-in yet. Labor cost comes from crew assignment and hours, not from a punch clock, so the hours are as accurate as what gets recorded.
    • No equipment or asset tracking, so depreciation and machine-hour cost are not in the model. Equipment shows up as overhead, which is the right place for most crews of this size but not a substitute for asset accounting.
    • No inventory. Materials are logged as expenses against a job when you buy or use them, not tracked as stock on a shelf.
    • Profit is measured against what you priced, so work you have completed and not yet billed is not revenue yet. The fix for that is billing it, and the invoice generator for landscapers page covers doing that from the truck.

    That last one is worth sitting with. Job costing is honest about unbilled work by design. If a month looks worse than it felt, the first thing to check is whether the invoices actually went out.

    Is job costing worth it for a small crew, and what does it cost?

    It is worth the most to the smallest crews, which is the opposite of how the market prices it. On general field-service tools, job costing usually sits on an upper tier rather than the entry plan, so the businesses least able to absorb a mispriced account are the ones asked to pay extra to find it.

    In TerraScape it is part of one flat plan at $24.99 a month after a 7-day free trial. No tiers and no feature locks. Two employee seats are included, and additional seats are $10 a month each. No contract, no cancellation fee. Every account gets a 30-minute setup call where the team at TerraScape AI imports your client list and gets Zentra running.

    Who this actually helps. A solo operator with 40 accounts and a hunch about which three are dragging. A three-truck crew that grew fast and has not repriced anything since. A business that does both maintenance and installs and suspects the installs are carrying the mowing, or the other way around.

    Who it will not help much. A business that does not price its jobs in the platform, or one that needs machine-level asset costing. If nothing is billed through the system, there is no revenue for the cost side to sit against.

    Payments run on Stripe, with a 0.75% platform fee on top of standard Stripe processing that is waived when you connect QuickBooks, and texting is free for businesses. If you want to see how this plays out in a specific kind of work, the lawn care business and lawn treatment pages cover two very different cost shapes, and the landscaping CRM guide covers the platform as a whole. If you are weighing this against a per-seat tool, TerraScape vs Jobber lays the two out side by side.

    FeatureTerraScape AIGeneral field-service toolsSpreadsheet at 9 PM
    Cost and profit on every jobHigher tierBy hand
    Included in the base planUsually not
    Labor cost from crew hoursHigher tierBy hand
    Log materials against a job from your phoneVaries
    Monthly overhead in the cost modelVariesBy hand
    Margin percentage per jobHigher tierBy hand
    Client and job type on every rowBy hand
    CSV export for your accountant
    AI logs the expense on command
    Same system that schedules and bills the job
    QuickBooks Online syncVaries
    Equipment and asset depreciationSomeBy hand
    Employee seats2 included, then $10/seatPer user from seat one

    Job costing is part of the one flat TerraScape AI plan at $24.99/mo after a 7-day free trial, not a paid upgrade. Two employee seats included, then $10/mo per additional seat. No contract and no cancellation fee. The platform fee is 0.75% on top of standard Stripe processing, waived when you connect QuickBooks, and texting is free for businesses.

    Questions? Answered.

    Related resources.

    Find out which jobs are actually paying you

    Start your 7-day free trial. $0 today, then $24.99 a month, two employee seats included, no contract. Labor, materials, and overhead against every job, with the margin on the same screen.