Skip to content
CACanada

Painter Job Costing: Track Labour, Paint, and Rework

Track each repaint by room, surface, task, cost type, and visit so you can separate estimating misses, approved additions, and costly rework.

Yes Foreman · October 5, 2026 · Running the work

A repaint can fill the schedule and still lose money. Painter job costing gives every preparation hour, opened can, supplier credit, change order, and return visit a clear home.

The job is the unit. Preserve the accepted quote, record what the crew uses, and compare estimated cost with actual cost using the same buckets.

Lock the repaint scope before recording costs

Inspect the rooms and surfaces before you quote. Save the accepted scope before the crew starts. That document becomes the baseline for every cost comparison that follows.

Record each area, surface, coating system, colour, preparation task, access condition, and exclusion. Replace vague wording such as “prepare as needed” with the work you actually allowed for.

Name the walls, ceilings, doors, frames, cupboards, and trim included in the job. Record visible cracks, stains, peeling coatings, failed filler, patching, sanding, masking, and furniture movement. Note any surface you could not inspect.

Use a clear quote structure for scope, costs, and exclusions before setting the painting labour costs and paint material costs. A loose scope produces a loose cost record.

Give every entry the same labels

Label each estimate, time entry, material issue, change order, and return visit by area, surface, physical task, cost type, and visit type. Use the repeatable rows in the cost record below instead of trying to fit the whole job into one line.

Keep the labels separate. Preparation describes the work. Rework describes why the work was needed. A post-handover return visit describes when it happened.

Poor coverage found after handover could be application work, classed as rework, completed during a post-handover return visit. Those labels show the cause instead of burying the cost in a general labour total.

Preserve the accepted quote as the painter job costing baseline

Give the repaint a job number. Put that number on the quote, crew instructions, time entries, supplier orders, stock issues, supplier credits, change orders, and invoice.

Do not rely on the customer name or street address. The same customer may have several rooms, properties, or phases open at once.

Set plain estimated-cost buckets:

  • Direct labour
  • Paint
  • Sundries
  • Job equipment
  • Subcontractors
  • Job-specific access or permit charges
  • Rework labour
  • Rework materials

Put paint and primer in paint. Put tape, filler, caulk, masking film, abrasives, roller sleeves, and protective materials in sundries. Give every cost one obvious home.

Keep general business expenses in overhead unless your written costing policy assigns them across jobs. Do not put a general registration cost against whichever repaint happens to be open when the bill arrives.

Match estimated and actual buckets

Copy the estimated costs from the accepted quote into the cost record before work starts. Use your own estimate for labour, paint, sundries, equipment, and subcontractors.

The painter job costing estimate and actual record must use the same buckets. If estimated preparation sits under labour but actual preparation is buried under general site time, the comparison will not tell you what went wrong.

Preserve the accepted quote. Do not rewrite it when a surface needs more work or the customer adds a ceiling. Record the cause and any approved change separately.

Set the internal labour-cost rule before work starts

The labour amount charged to the customer is revenue. It is not the internal cost of the crew hour.

Build the internal hourly cost from your own records. Decide which employer costs enter the cost pool. Decide whether paid leave, training, meetings, shop time, and other non-job time stay in that pool or are handled under your overhead policy.

Define hours available for customer jobs as the hours available for assignment to customer tasks after removing the non-job hours covered by that rule. Divide the chosen cost pool by those hours. Assign labour to the repaint by multiplying each recorded task hour by the internal hourly cost.

Cost owner time too. Assign an internal cost when you paint, prepare, supervise, collect materials, or return to correct work. Ask your accountant how that internal job-costing entry should relate to the business accounts.

Decide where indirect site time belongs

Write down when job time starts and stops. State where loading, travel, setup, supervision, material collection, and cleanup belong.

If one trip serves several jobs, split the time using the same method each time. If the crew returns for an approved customer addition, put the travel under the change order. If the crew returns to fix failed work, put the travel under rework.

Record painting labour costs by area and task every day

Enter labour before the crew leaves the site. A weekly total may support payroll, but it cannot show whether a ceiling, a preparation task, or a return trip caused the overrun.

Each time entry should carry the job number, area, surface, task, cost type, visit type, time, internal cost, and any delay note. Add the change order or rework reference when one applies.

The crew may start sanding and find failed filler beneath a coating that looked sound during the site visit. Record the time against that room, surface, and preparation task. Then classify the cause before the work continues.

Do not spread unexplained hours across the repaint at closeout. That makes the timesheet balance while hiding the estimating or production problem.

Separate original work, additions, and corrections

Keep work promised by the accepted quote under original scope. If your labour allowance was too low, leave the extra time there. That is an estimating miss.

Put customer-added work under an approved change order. Put work required to correct a failed promised finish under rework.

The same painter may complete original work, added work, and correction work during one shift. Record separate entries. The person is the same. The cause is not.

Track paint material costs from source to destination

Painter job costing needs more than a supplier invoice. The invoice proves what the business bought, but it does not prove which job, room, or surface used the material.

Put the job number on each order and supplier document. Record the product, specification, quantity, cost, and destination when the material reaches the job.

When one supplier purchase covers several jobs, allocate each line or quantity to the job that received it. Move bulk purchases into business stock, then issue the actual material to each repaint.

Record what arrived, what the crew opened, and what remained. Keep the ordering record with the job rather than treating the supplier invoice as proof of consumption.

Record paint taken from the van or business stock

Stock is not free because it was purchased earlier. When a painter opens another can from the van, record the job, room, surface, product, quantity, and stored cost.

Do this on the day. A stock issue without a job number becomes an unexplained business expense. Weeks later, nobody will remember which bedroom received the extra can.

Record primer, finish paint, filler, caulk, tape, abrasives, masking material, and roller sleeves in their proper buckets. Do not hide sundries inside a general paint total if the estimate separates them.

Give every leftover a destination

Mark leftover material as consumed on the job, returned to the supplier, returned to business stock, or left with the customer.

Match a supplier return and credit to the job that carried the original purchase. Return reusable stock under the same costing method used when it left stock. Material left with the customer remains a cost of that repaint.

Choose and document an issue-and-return unit for partial cans, such as the unit already used in your stock record. Apply the stored unit cost to that unit when material leaves stock and when reusable material returns.

Classify extra preparation before the crew continues

Extra preparation is not automatically a change order. Compare the condition with the accepted quote first.

If the quote included the work but the estimate allowed too little time or material, keep the cost under original scope. Record the reason as an estimating miss. Extra preparation caused by the crew’s failed preparation, damage, or application is rework.

If the condition was concealed, clearly excluded, or outside the agreed scope, stop. Photograph the surface. Describe the added preparation. Write the change order and get approval before continuing.

If the customer adds a ceiling after accepting a walls-only quote, follow the same process. The protected room and available crew do not make the ceiling part of the original job.

Connect the approval, labour, paint, sundries, and invoice line with the same change order reference. Use the invoice guide for showing approved additions clearly without overwriting the original scope.

Expose deficiencies, rework, and return visits

An included final touch-up belongs to the original scope. Rework is labour and material used to correct work that did not meet the promised finish.

A post-handover visit only tells you when the crew returned. Record why they returned as a separate field. Failed promised work is rework. Included final touch-up remains original scope. For customer or third-party damage outside the accepted scope, use a change order while the original job remains open. After closeout, create a new quote and job record so the repair has a clean cost baseline.

When poor coverage is reported after handover, record the affected room and surface. Add the return travel, protection, setup, labour, paint, and cleanup. Do not record only the brush time.

Log the cause against the correct cost type. Update the next quote if the allowance was wrong. Change the crew instruction if the method failed. Correct the stock process if the wrong product reached the room.

Use this copy-ready cost record. Complete the header once. Add a new row every time labour, material, added work, or a return visit hits the job.

JOB HEADER
Job number: [job number]
Accepted quote reference: [quote reference]
Customer and site: [name and address]
Accepted scope: [areas, surfaces, preparation and coating system]
Exclusions: [work not included]
Estimated labour cost: [your estimate]
Estimated paint cost: [your estimate]
Estimated sundries cost: [your estimate]
Estimated equipment or subcontractor cost: [your estimate]

REPEATABLE LABOUR ROW
Date: [date]
Crew member: [name]
Area and surface: [location]
Physical task: [task]
Cost type: [original scope, change order or rework]
Visit type: [planned, added or post-handover return visit]
Recorded task hours: [hours]
Internal labour cost: [recorded task hours × internal hourly cost]
Delay or rework cause: [cause or none]
Change order reference: [reference or none]

REPEATABLE MATERIAL ROW
Date: [date]
Area and surface: [destination]
Product and specification: [product]
Quantity issued: [quantity]
Stock unit: [the unit used in your stock record]
Material origin: [supplier purchase, van or business stock]
Purchase or stock reference: [reference]
Stored unit cost: [your recorded cost]
Material cost: [quantity × stored unit cost]
Final destination: [consumed, supplier return, stock or customer]
Supplier credit reference: [reference or none]

REPEATABLE CHANGE-ORDER ROW
Change order reference: [reference]
Requested or discovered work: [description]
Reason outside original scope: [reason]
Customer approval record: [reference]
Related labour and material rows: [references]
Final invoice line: [reference]

REPEATABLE RETURN-VISIT ROW
Date: [date]
Area and surface: [location]
Reason: [included touch-up, rework or approved added repair]
Travel and setup labour: [recorded cost]
Task labour: [recorded cost]
Paint and sundries: [recorded cost]
Cause and next action: [record]
Related change order or rework reference: [reference]

FINAL RECORD
Supplier credits closed: [yes or outstanding items]
Stock returns closed: [yes or outstanding items]
Final invoice reference: [invoice reference]

Close the record and calculate repaint job profit

Do not call the result final until the labour entries, supplier documents, stock issues, credits, subcontractor costs, equipment costs, and rework records are complete. Until then, mark the result as provisional.

Compare estimated and actual labour with labour. Compare estimated and actual paint with paint. Do the same for sundries, equipment, subcontractors, and rework. The variance then points to a cause you can act on.

Measure original-quote performance as the accepted quote less the costs assigned to the original scope. This shows whether the work you first sold was priced and delivered well.

Measure final-job profit as total job revenue, including approved change orders, less all related original-scope and added-work costs. Apply your written overhead policy consistently. This is not net business profit after every business expense.

Deposits, progress payments, and final payments affect cash and the customer balance. They are not production costs, so do not subtract them when calculating original-quote performance or final-job profit.

Margin is job profit divided by selling price. Markup is job profit divided by cost. They are not interchangeable.

The house example is an electrical job, but the baseline rule applies to painting. R. Chen at 14 Oak Street accepted quote Q-1847 for a bathroom exhaust fan and four LED downlights. The quote was 1,105 sample currency units, the job cost was 850, and profit against the original quote was 255.

The margin was 255 ÷ 1,105, or about 23%. The markup was 255 ÷ 850, or 30%. These figures demonstrate the calculation. They are not Canadian rates or a painter price list, and the 255 is not net business profit.

The ceiling was lined and the quote excluded chasing. Extra cable and chasing were approved as a 160 change order, taking invoice INV-1847 to 1,265. The costs of that change order are unknown, so do not subtract 850 from 1,265 or claim profit on the invoice total.

Use the profit margin calculator to check your completed-job figures, but only after every direct cost has reached the record. A calculator cannot fix missing labour or paint.

Check Canadian tax and local requirements

Compare the quote and actual costs on one consistent GST/HST basis. Do not use a tax-inclusive selling amount against tax-exclusive production costs, or the other way around.

Take business-number and GST/HST questions to the Canada Revenue Agency’s GST/HST business guidance (opens in a new tab). Ask your accountant how GST/HST should appear in the job report and accounts. Customer tax collected is not paint, labour, or repaint job profit.

For worker coverage, use the Government of Canada route to provincial and territorial workers’ compensation boards (opens in a new tab). The applicable provincial or territorial board decides coverage. Write down which worker-related costs enter your internal labour-cost rule.

For trade licences and trade permits, check your province or territory’s official trade licensing and safety page. Check your municipality’s official pages for business licences and building permits. Ask each body only about the work it handles.

In painter job costing, assign a permit, access, safety, or worker-coverage cost to the repaint only when that job caused it. Put general compliance costs under your written overhead policy, then close the record.

Put the next job in one place

Yes Foreman connects quotes, schedules, crews, timesheets and invoices for small field-service teams.