The chip truck fills early. One worker drives it to disposal while the ground crew waits, and the business-owned stump grinder never reaches the cost sheet. Arborist job costing fixes those gaps by following each cost from yard or shop loading to final disposal.
The unit is the tree job. Give it one scope, one job number, and separate records for crew time, equipment use, and disposal. Then connect every delay or extra run to the event that caused it.
Lock the accepted scope before arborist job costing starts
Start with the accepted quote. It is the baseline for deciding which costs belong to the original work and which belong to a change order.
Record the client, site address, job number, accepted work, exclusions, access assumptions, equipment plan, disposal plan, and required site finish. If the description only says tree removal, it is not ready for cost tracking.
Give every document one job number
Put the same job number on the accepted quote, crew record, machine logs, purchase records, disposal documents, subcontractor bills, change orders, and invoice.
A supplier invoice can arrive after the customer has paid. A crew record can be completed before the disposal document reaches the office. The shared job number is what brings those records back together.
Do not use the customer name alone. One customer may have several properties or several jobs at the same property.
Define when the job starts and finishes
Set the cost boundary before dispatch. Start crew time when paid yard or shop loading or travel caused by the job begins, and finish when the job's paid return, unloading, or cleanup ends.
Every paid hour caused by the job must land on the job or in a defined overhead pool. Every machine cost must do the same. The estimate and actual record must use the same boundary.
Set equipment boundaries as well. State when the chipper, truck, lift, crane, or stump grinder starts and stops serving the job.
Put exclusions where the crew can see them
Copy the accepted scope into the crew record. Keep stump work, retained logs, final cleanup, access limits, and disposal assumptions visible.
The client may ask the crew to remove another stump or haul logs that were meant to remain. The crew needs enough information to stop before doing unpriced work.
If access, rigging, stump work, retained material, or cleanup is still vague, fix the scope with the Canadian tree removal quote guide before building the cost baseline.
Use the arborist hazard assessment process to plan the controls. Record costs caused by municipal tree-protection conditions, road-use or traffic-control requirements, or provincial safety controls when they apply.
Check your province or territory's official occupational health and safety requirements before planning the work. Ask its workers' compensation board about worker coverage. Check the municipality's tree-removal bylaws, protected-tree rules, road-use conditions, and permit requirements for the site.
Build an estimated crew, equipment, and disposal baseline
The accepted customer price is not the estimated job cost. Keep them in separate fields.
The price includes the amount you intend to charge. The cost baseline records what the business expects to consume. Arborist job costing needs both, but it must not treat them as the same figure.
Total the estimated cost buckets first. Apply your business's markup to reach the pre-tax customer price. Then handle GST/HST under the accounting treatment confirmed for your business.
Give the original scope its own code. Create another row with a separate scope code for each approved change order.
| Cost bucket | Scope code | Planned units | Internal unit cost | Estimated subtotal | Actual cost | Variance | Variance cause | Record to keep |
|---|---|---|---|---|---|---|---|---|
| Crew labour | [Original or change-order code] | [Paid hours] | [Internal cost per paid hour] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Time entries and crew notes |
| Owned equipment | [Original or change-order code] | [Machine hours] | [Internal cost per machine hour] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Machine log |
| Rented equipment | [Original or change-order code] | [Rental units] | [Cost per rental unit] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Rental invoice |
| Subcontractors | [Original or change-order code] | [Work units] | [Cost per unit] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Supplier bill and work record |
| Disposal | [Original or change-order code] | [Loads, trips, or other unit] | [Internal or supplier cost per unit] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Disposal receipt and crew note |
| Consumables | [Original or change-order code] | [Items used] | [Stock or purchase cost per item] | [Units × unit cost] | [Actual assigned cost] | [Actual − estimate] | [What changed] | Stock issue or purchase record |
Keep payroll costs, overhead allocations, fuel, repairs, and servicing in one defined place. If a cost sits inside the labour or equipment allocation, do not charge it directly to the job again.
Labour cost is an internal figure. It is not the labour amount shown to the customer. The same rule applies to equipment. A customer-facing equipment line is part of the price, not proof of what the machine cost the business.
Use one GST/HST basis for the job result
Normalize revenue and costs to one GST/HST basis in the internal job report. Do not compare tax-inclusive revenue with costs recorded on a different basis and call the difference profit.
Keep the required tax presentation on customer quotes, change orders, invoices, rental invoices, and supplier bills. The internal report does the normalization; it does not change the source documents.
Ask the Canada Revenue Agency (opens in a new tab) about business number and GST/HST questions. Do not copy another contractor's tax treatment, threshold, or filing routine.
GST/HST collected from the customer is not ordinary job revenue when your accounting treatment records it as tax payable. Supplier tax treatment can also affect the cost figure used in the comparison. Get the accounting treatment settled before judging tree job profit.
Capture every paid crew hour caused by the work
Record time by worker and job phase. Do it during the day, not from memory at the end of the week.
Use the phases already written into the job boundary. Do not create a phase for every small movement. Split time where the result can change a later estimate. Rigging, disposal travel, and waiting often deserve their own entries because their causes change from site to site.
Record the worker's paid time using your internal labour-cost method. Add payroll-related costs only where your written method puts them. Do not use the selling rate as labour cost.
Link waiting time to its cause
Waiting is still a crew cost. Record it before the crew forgets why it happened.
Suppose the chip truck fills earlier than planned. It leaves for another disposal run while part of the ground crew waits. Record the driver's hauling time, the truck use, the disposal event, and the waiting crew time.
Then record the cause. The estimated material volume may have been wrong. Access may have slowed processing. The disposal destination may have changed. The client may have added material.
The cost tells you that the result moved. The cause tells you what to change on the next quote.
Allocate owned, rented, and subcontracted equipment once
An owned machine still costs the business money when no supplier invoice arrives. Record its use against the job.
The business-owned stump grinder may work all afternoon without producing a purchase document. If nobody enters its machine time, the job appears more profitable and equipment overhead appears higher somewhere else.
Set a written allocation for owned machines
Define the machine cost pool from your own ownership and operating records, including planned equipment servicing when your costing policy puts it there. Choose machine hours as the recorded usage unit.
Divide the cost pool by the expected recoverable machine hours from your own figures. That gives you an internal unit cost. Apply that unit cost to the machine hours recorded on the job.
Do not invent a market rate. Use the business's actual records and chosen usage unit.
Record operator labour separately when one of your workers runs the machine. The machine belongs in equipment. The paid worker time belongs in labour.
Hold the record open for rented equipment
A crane can finish its lift today while the rental invoice arrives later. Enter the expected cost as pending and do not close the job until the final document is assigned.
Include delivery, collection, and supplier charges using the same treatment on every job. If rented equipment serves more than one job, use the machine log to split the rental invoice between those jobs.
When a subcontractor supplies a machine and operator for one combined charge, record that supplier amount once. Do not also create an internal operator cost for labour you did not employ.
Follow brush, chips, and logs to their destination
Disposal is a chain of cost events. It can include processing, loading, chipper use, truck use, paid hauling time, receiving charges, subcontracted hauling, and waiting.
Open a disposal log before the work starts. Record each load or material movement against the job.
| Disposal field | What to enter |
|---|---|
| Material | [Brush, chips, logs, wood debris, or other] |
| Destination | [Receiving site, customer retention, or on-site placement] |
| Processing | [Chipped, cut, stacked, loaded, or other] |
| Truck or subcontractor | [Asset or supplier] |
| Crew time | [Linked time entries] |
| Crew note | [Material movement or site condition] |
| Receipt or supplier bill | [Document for the disposal cost] |
| Cause of extra movement | [Volume, access, instruction, or other] |
Record retained logs or chips even when there is no receiving charge. The crew may still spend time cutting, moving, stacking, or spreading the material.
Connect an extra disposal run to the event that caused it. Do not leave it as a miscellaneous cost. One early-full truck can create extra truck use, paid driving time, a receiving charge, and waiting time for the crew left on site.
If snow, ice, or frozen ground blocks final cleanup, record the condition and whether the accepted scope includes a return visit. Do not hide that visit inside a later job.
Stop changed work and issue a change order
When the client asks for another stump, another limb, or removal of logs that were meant to remain, stop. Describe the added work and get approval before continuing.
Give each approved change order its own scope code. Put that code on every related crew time, machine, subcontractor, and disposal entry so the original work and added work can be compared separately.
The accepted baseline must stay intact. Otherwise, you cannot tell whether the original scope performed as planned. Added work needs its own description, approval, revenue, and cost trail.
Site conditions can also create a change. Restricted access, hidden obstacles, a different disposal instruction, or added traffic control may sit outside the accepted scope. Compare the condition with the quote before treating it as included.
Use the arborist invoice and change-order guide to carry approved extras through to the invoice and final payment.
Close arborist job costing only after every cost arrives
First reconcile the accepted quote and approved change orders to the final invoice. The billed revenue must match the approved document trail before you calculate profit.
Check the crew entries, machine logs, stock records, purchase documents, rental invoices, subcontractor bills, and disposal records. Keep unreceived supplier costs marked as pending instead of pretending the cost is zero.
Compare estimated cost with actual cost by bucket. Write down the cause of each difference that can improve another quote. Do not settle for a note that says labour over or disposal high.
Calculate profit using revenue and cost records prepared on the same GST/HST basis. Profit is revenue minus cost. Margin is profit divided by revenue. Markup is profit divided by cost.
Worked example: the Oak Street electrical job
This is the house electrical example, not an arborist rate card. All amounts are sample currency units.
R. Chen's job at 14 Oak Street covered a 150 mm bathroom exhaust fan ducted through the roof and four LED downlights. Quote Q-1847 was 1,105. The ceiling was lined, and the quote excluded chasing.
Extra cable and chasing were approved on site as a 160 change order. Invoice INV-1847 was therefore 1,265.
The original job cost was 850. Measured against the original quote, profit was 1,105 − 850 = 255. Margin was 255 ÷ 1,105, or about 23%. Markup was 255 ÷ 850, or 30%.
The costs of the 160 change order are unknown. You cannot combine the 1,265 invoice with the 850 original job cost to calculate valid profit. Keep the original scope and changed work identifiable until both sides have complete cost records.
Use the profit margin calculator after the revenue and cost basis is clean. A calculator cannot repair a missing crane bill or an unrecorded disposal run.
Change the next quote from the recorded cause
Do not raise or lower a whole quote because one finished job felt difficult. Change the assumption that failed.
If loading took longer, change the loading allowance. If rigging used more crew time, change the rigging plan or estimated labour. If the stump grinder ran longer, correct the machine-use assumption.
For disposal, compare the planned material, destination, truck movements, crew time, and final receiving records. Rewrite the scope when retained logs, access, or load count caused the difference.
Keep one short closeout note in the arborist job costing record for each useful lesson. Name the event, the cost it created, and the estimate field you will change on the next quote.