Job profitability reporting connects the revenue from a specific job with the costs assigned to that same job. It helps explain whether a large sale actually produces a strong financial result. Revenue alone cannot answer that question because jobs can consume very different amounts of labor, materials, equipment, and outside services.

Start with a clearly defined management measure, then make its limits visible. A job margin before shared overhead is useful, but it is not the same as company-wide net profit or cash collected.

Define the margin you are calculating

A practical initial measure is direct job margin = job revenue minus directly assigned job costs. In this article, that is a management-reporting definition, not a claim that every accounting system classifies those costs in the same way.

Define which revenue records qualify and how credits, discounts, and cancellations are handled. Align the reporting period with the costs being compared. Do not automatically treat an accepted quote, a deposit, an issued invoice, and recognized revenue as interchangeable events.

Define the cost scope just as carefully. It might include assigned labor cost, materials consumed, subcontractors, job-specific equipment rental, and other directly attributable expenses. Show shared overhead separately until the allocation policy has been agreed.

Intuit's job-costing documentation emphasizes linking job-related expenses and time to the appropriate job. That matching discipline matters even when the final report is built outside the accounting system.

Use a job identifier across the workflow

A customer name is not a reliable substitute for a job identifier. One customer can have several jobs, and names can be typed differently across scheduling, accounting, and time tracking.

Carry a stable job reference into the relevant invoice lines, time entries, purchase records, and subcontractor bills. A single invoice may cover multiple jobs; a single purchase may supply several jobs. Those situations need line-level assignments or a documented allocation rather than a convenient but inaccurate one-to-one match.

Keep unmatched records in an exception queue. An expense without a job assignment should not disappear from the review just because the dashboard cannot place it.

Compare two jobs with different cost structures

The following figures are hypothetical and are not client results or industry targets.

Job A produces $12,000 in revenue. Its assigned costs are $4,000 in materials, $4,500 in labor, and $1,000 in subcontractor work. Total directly assigned cost is $9,500, leaving a direct job margin of $2,500, or approximately 20.8% of revenue.

Job B produces $9,000 in revenue. Its assigned costs are $1,500 in materials, $2,400 in labor, and $600 in subcontractor work. Total directly assigned cost is $4,500, leaving a direct job margin of $4,500, or 50% of revenue.

Job A has more revenue. Job B has a larger margin in both dollars and percentage terms under these definitions. Neither result tells you company-wide net profit, and either comparison could change if important costs are missing.

For both jobs together, divide the combined $7,000 margin by combined revenue of $21,000. The combined margin is approximately 33.3%. Averaging the two job percentages would give approximately 35.4%, which is not the revenue-weighted result.

Use labor cost rather than the customer billing rate

The hourly rate charged to a customer is not the cost of the employee's time. Decide whether the report uses wages alone or a loaded labor cost that also includes agreed employer costs.

Document how travel, setup, supervision, rework, and non-job time are treated. A report that assigns only productive time can answer one question, but it should not imply that every labor-related expense has been captured.

Avoid counting the same labor twice. For example, a calculated cost from approved hours should not be added to a payroll allocation that already represents those same hours. Choose the method, document the reconciliation, and identify what is excluded.

Validate the time-to-job relationship before using the report to judge an individual employee's performance. Job complexity, assignment quality, and incomplete records can affect the apparent result.

Show overhead and cost completeness separately

A shared expense such as office rent does not automatically belong entirely to the job completed that week. Allocating overhead requires a policy, such as an agreed activity basis or another method approved by the business's accounting lead.

In the hypothetical example, allocating $1,000 of shared overhead to each job would leave $1,500 for Job A and $3,500 for Job B after that allocation. Those figures still should not be labeled company net profit unless the report actually includes everything required for that measure.

Add a cost-completeness status to each job. A completed job with outstanding supplier bills might be operationally closed but financially provisional. Display that distinction instead of allowing an incomplete cost record to appear unusually profitable.

Compare estimates with actuals at the same level

Keep the original approved estimate and separately track approved scope changes. Compare estimated hours with actual hours, estimated materials with recorded consumption, and expected outside work with assigned invoices.

This helps distinguish an estimating problem from a scope change or a delivery problem. A job that exceeded its original budget may still have an acceptable outcome if the customer approved additional work and the revenue was recorded correctly.

Create a short review queue for jobs with unexpected margin changes, missing assignments, late costs, or substantial estimate variances. The purpose is to investigate the cause and improve the next decision, not merely color a cell red.

Frequently asked questions

Is an unpaid job unprofitable?

Not necessarily. Profitability and collection status answer different questions. A job can show a positive margin while its invoice remains unpaid. Track receivables and collection risk alongside margin without silently switching the profitability measure to a different accounting basis.

Can we start before all historical records are clean?

Yes, with a bounded scope and visible limitations. Choose a period or job category whose assignments can be validated. Show excluded and unmatched amounts, and improve coverage over time. Do not present a partial dataset as a complete view of the business.

Build the report around a real decision

Ferguson BI's reporting services can help connect operational and financial information around agreed measures. Describe the profitability question you need to answer, such as which job types deserve closer estimating review or where missing cost assignments are distorting the picture.

Related reading: Why Your Business Reports Show Different Numbers.