How to Calculate Gross Profit by Construction Job
Calculate construction job gross profit with matching revenue and cost cutoffs, margin versus markup, and a completed-job example separating profit from retainage cash.
Calculate construction job gross profit with matching revenue and cost cutoffs, margin versus markup, and a completed-job example separating profit from retainage cash.
Calculate gross profit by construction job by subtracting the job costs attributable to recognized job revenue from that revenue, using the same reporting basis and cutoff. Then divide gross profit by revenue to calculate gross profit margin. A signed contract, progress invoice, or customer payment alone does not establish the revenue figure for an accrual job report.
About the accompanying video: Accounting Stuff explains the general gross profit margin formula and illustrates how cost and revenue affect the ratio. This is a broader corresponding tutorial, not construction revenue-recognition or retainage guidance. The job-specific cutoff, markup and cash examples in this article are separate TaxBowl illustrations.
The calculation becomes useful when the report states exactly what it measures: this month, job-to-date, or the completed job. This guide gives an established contractor a worksheet for that decision. For tracking purchasing exposure and estimate changes, see our separate estimated versus actual job-cost guide.
The SEC's financial-statement guide describes gross profit as revenue less cost of sales, before further operating expenses. A contractor's job report applies that relationship to a specific project. Write the job ID, start and end dates, accounting basis, and included cost categories above the calculation. If revenue is zero, margin percentage is undefined; show the dollars and investigate the job's status.
Choose a cumulative job-to-date report when reviewing progress, and a completed-job report when evaluating the final result. A monthly report answers what was recognized during that month. Subtracting cumulative costs from only this month's revenue produces a figure with mismatched boundaries.
For an accrual report, ask the accounting team for the job's recognized revenue and supporting schedule. Keep revised contract value, billings, customer collections, and recognized revenue in separate fields. FASB's revenue-recognition overview bases recognition on the transfer of promised goods or services and expected consideration. The contract's performance obligations and facts determine its treatment; an invoice date alone is insufficient.
Include approved changes in the contract register, then have accounting determine their recognition. Keep pending, disputed, or unsigned changes visible for review instead of adding them automatically to earned profit. Where revenue is recognized over time, the measure of progress needs professional judgment. This worksheet does not prescribe a recognition method or substitute for a work-in-progress schedule.
A cash-basis report can be useful for another purpose. Label it clearly, and avoid comparing its receipts and payments with an accrual job margin. Reconcile the two views before using either to assess performance.
Gather labor and the documented payroll burden, materials consumed on the job, subcontract work, equipment usage or rentals, permits, and job-specific field expenses. These are candidate categories, subject to the firm's accounting policies. Identify credits, returns, shared equipment charges, inventory movements, and any indirect construction costs allocated to jobs. Record the allocation driver so another reviewer can reproduce the total.
Keep general office overhead visible in the company financial statements. If management also allocates it to jobs to study full profitability, label that additional view and reconcile it to the gross-profit report. An owner should be able to tell whether a lower margin reflects production costs or a changed allocation. Apply the same definitions across jobs and periods.
A cost-code structure supports that consistency; our contractor cost-code guide covers setup. The IRS recordkeeping guidance explains how invoices, receipts, and other supporting documents substantiate book entries. Keep those records connected to the job report.
Before calculating, ask field and purchasing leads about work performed, materials received or used, missing time, and supplier bills arriving after the cutoff. Have accounting review unposted or unbilled items under the chosen basis. A bill paid next month may still relate to work reflected in this month's accrual report; payment date alone should not decide the cost boundary.
Future purchasing commitments belong in the expected final-cost review until their accounting treatment changes. Do not subtract every open purchase order from recognized profit, and do not count the same work as both posted cost and a remaining commitment. Reconcile posted costs, unposted items, remaining agreements, and other work to finish. Our month-end job-cost audit helps resolve missing classifications.
Hypothetical completed-job example: assume the accountant has confirmed $240,000 of total recognized revenue, all performance complete, no disputed changes, and $180,000 of final attributable job costs. The table uses the entire job's life, with no remaining cost to finish. General company overhead, interest, and income taxes are excluded.
| Final job cost category | Amount |
|---|---|
| Labor including documented burden | $60,000 |
| Materials | $55,000 |
| Subcontractors | $45,000 |
| Equipment and job-specific field costs | $20,000 |
| Total attributable cost | $180,000 |
Gross profit is $240,000 − $180,000 = $60,000. Gross profit margin is $60,000 ÷ $240,000 = 25%. Markup is $60,000 ÷ $180,000 = 33.33%. A 25% markup on $180,000 would price the work at $225,000 and yield a 20% margin. Naming the denominator prevents a pricing misunderstanding.
Earlier, suppose the expected total revenue was also $240,000 but forecast final cost was $192,000. Expected final gross profit was $48,000, or 20%. That earlier forecast is compared with the final $60,000 result; it is not the profit recognized in that earlier month. To calculate that month's profit, obtain its recognized revenue and associated recognized cost separately.
Now assume $24,000 of the completed job's recognized revenue remains held as retainage, $216,000 has been collected, and all $180,000 of costs have been paid. Job cash receipts less those payments equal $36,000. Gross profit remains $60,000 under these stated assumptions. Retainage describes withheld payment, not a profit category. Actual recognition and receivable or contract-asset classification need review under the contract; a contractor's SEC-filed accounting policies illustrate that retainage collection can depend on completion and approval.
Save the revenue reconciliation, cost detail, cutoff exceptions, allocation policy, and final-versus-forecast comparison together. Resolve unexplained differences before ranking jobs or changing bids. Review collection timing alongside margin so a profitable job's unpaid balance stays visible. TaxBowl's job-costing accounting service can help contractors connect these records to job reporting and an owner review.