
Unlike product businesses, where COGS tracks physical inventory moving off a shelf, construction has no finished goods. Every project is the product. Labor, materials, subcontractors, equipment, job-site overhead — all of it feeds into a COGS figure that's constantly moving across months-long performance periods.
Many construction finance teams are working from COGS figures that are weeks out of date, miscategorized between job costs and overhead, or calculated without proper WIP adjustments. By the time the error surfaces, the margin is already gone.
This guide is written for construction CFOs, controllers, and finance managers who need a clear, practical framework for what COGS includes, how to calculate it at both the project and period level, and where the most common mistakes happen.
Key Takeaways
- Construction COGS covers direct project costs: materials, labor (including burden), subcontractors, and equipment, plus project-attributable indirect costs
- The formula uses WIP inventory adjustments, not simple expense totals
- Misclassifying COGS vs. overhead distorts gross margin — and lenders, sureties, and bidding decisions all depend on getting that line right
- Inaccurate or delayed COGS tracking is the primary mechanism behind undetected margin fade
- Integrated ERP systems with real-time job cost data are the most reliable way to keep COGS current as projects progress
What Is COGS in Construction?
COGS in construction is the sum of all costs incurred to perform and complete a specific project during a reporting period. There's no finished goods inventory — each contract is the product, and costs accumulate across the project lifecycle.
On the income statement, COGS is subtracted from total contract revenue to produce gross profit. That calculation works at two levels:
- Project level — the total direct and indirect costs charged to a specific job, used for job profitability analysis
- Period level — the company-wide COGS reported on the income statement for a month, quarter, or year, adjusted for work-in-progress
Under ASC 606 (FASB ASU 2014-09), revenue is recognized over time when performance creates or enhances an asset — such as work in process — that the customer controls as it is created. Cost-based input methods (costs incurred relative to total estimated costs) are a standard approach to measuring that progress.
The AICPA notes that WIP schedules — tracking contract price, estimated total cost, costs to date, and requisitions to date — are the core tool for linking cost incurrence to revenue recognition in construction.
That cost-attribution framework has a direct implication for classification. Unlike most industries, construction COGS can include costs typically classified as overhead — provided they are directly attributable to a specific project. Common examples include:
- Job-site utilities tied to a single contract
- Project-specific insurance policies
- A superintendent whose time is fully logged to one job
What Costs Are Included in Construction COGS?
Construction COGS breaks into two categories: direct costs (hard costs) and project-attributable indirect costs. Pure business overhead — costs that support the company but can't be traced to a specific project — is excluded entirely.
Direct Costs
These are the clearest COGS components:
- Materials: concrete, steel, lumber, and other physical inputs purchased for the project
- Direct labor: wages paid to field workers, crew leads, and on-site supervisors with time logged to the job
- Labor burden: the employer-paid portion of payroll taxes, workers' compensation, and benefits on top of base wages
- Subcontractor costs: payments to specialty trades (electrical, mechanical, civil) engaged specifically for the project
- Equipment costs: rental fees or allocated usage costs for owned equipment deployed on the job
Labor burden deserves attention because it's often inconsistently handled. According to BLS Employer Costs for Employee Compensation data (December 2025), private construction benefits run $15.45/hour against wages of $35.47/hour — a benefits-to-wages ratio of 43.6%.
Construction CPA firm Thompson Greenspon reports typical total labor burden at 30%–40%, while Wiss CPA reports ranges of 40%–70% depending on union status and cost categories included. Labor burden is substantial and belongs in COGS when tied to field employees on a specific project.

Indirect Costs (Project-Attributable)
Some costs sit between direct job expense and general overhead. When a cost can be specifically traced to a project, it belongs in COGS:
- Job-site utilities (temporary power, water, portable facilities)
- Project-specific insurance policies
- Permit and licensing fees for the project
- Vehicle or phone expenses for an employee who is exclusively on one job for an extended period
What is excluded from COGS: General administrative salaries, office rent, marketing, corporate insurance, accounting fees, and any cost that supports the overall business rather than a specific project. Those belong in operating expenses.
How to Calculate COGS for Construction Contractors
The standard formula for construction COGS is:
Beginning WIP + Costs Incurred During the Period − Ending WIP = COGS
Because construction firms carry work-in-progress rather than finished goods inventory, this adjustment accounts for projects that started but weren't completed within the reporting period. Without it, simply summing all costs paid in a month produces a distorted figure.
Step 1: Set Up Your Chart of Accounts for COGS Tracking
Accurate COGS starts with a properly structured chart of accounts. Contractors should establish separate general ledger accounts by cost type:
- Materials
- Direct labor
- Labor burden
- Subcontractors
- Equipment
- Other direct costs
Separating these categories by type — not just lumping everything into a single "job costs" account — speeds up period-end reconciliation, simplifies insurance audits, and keeps WIP schedule preparation cleaner.
Step 2: Track and Code All Project Costs to the Job
Every direct cost must be coded to the specific project at the time it is incurred. Purchase orders, supplier invoices, time cards, subcontractor pay applications, and equipment usage logs all need a job number attached before they hit the general ledger.
Costs accidentally posted to overhead accounts instead of the job will understate COGS and overstate gross margin — creating a false picture of project profitability that won't surface until month-end review or, worse, project completion.
Step 3: Determine Which Indirect Costs Apply to the Project
This step requires judgment. The test is whether a cost can be specifically attributed to the project. Common indirect costs that meet this standard include:
- Employee phones and vehicles dedicated to a job over several months
- Project-specific software licenses or subscriptions
- Temporary site facilities (trailers, portable utilities)
- Project manager time split across fewer than three active jobs
Firms should establish a written allocation policy and apply it consistently across all projects. Ad hoc decisions project-by-project produce exactly the kind of inconsistency that makes gross margin comparisons unreliable.
Step 4: Calculate COGS at the Project and Period Level
Project-level example:
| Cost Category | Amount |
|---|---|
| Materials | $500,000 |
| Direct labor (including burden) | $300,000 |
| Subcontractor costs | $150,000 |
| Equipment and other direct costs | $50,000 |
| Total Project COGS | $1,000,000 |
Period-level example using the WIP formula:
Assume a contractor has $200,000 in beginning WIP, incurs $1,200,000 in costs during the period, and has $250,000 in ending WIP (for projects still in progress at period end):
$200,000 + $1,200,000 − $250,000 = $1,150,000 COGS for the period
That $50,000 difference between beginning and ending WIP reflects costs that belong to the next period's performance. Without this adjustment, the income statement overstates costs in months when WIP grows.

For contractors managing multiple projects across ERPs like Procore, Sage, Vista, or Acumatica, assembling accurate period-level COGS manually — reconciling cost codes, adjusting for WIP, and catching miscoded expenses — can take weeks every close cycle.
Datateer's Job Costing & Cost-to-Complete and Cost Variance modules pull this data directly from the ERP overnight, giving finance teams cost visibility at the job, phase, and cost-code level without the manual aggregation step.
COGS vs. Overhead: Why Construction Is Different
The line between COGS and overhead is more fluid in construction than in any other industry, because the same cost type can fall on either side depending on how it's used.
A project manager assigned to a single long-term project: their salary is COGS. That same project manager overseeing company operations broadly: overhead. Same cost, different classification — determined entirely by job attribution.
Why this classification matters:
- Misclassifying overhead as COGS inflates apparent gross profit — individual projects look more profitable than they are
- Misclassifying project costs as overhead understates COGS and overstates gross margin — which leads to underbidding future work based on incorrect historical margins

Both distortions corrupt the historical margin data that lenders and sureties rely on to evaluate your firm. As HBK notes, when a contractor's completed-job history shows average margins at one level, lenders and sureties will closely scrutinize jobs projected significantly above that — inconsistency in how COGS is classified makes those comparisons unreliable. UFG Surety confirms that WIP schedules — and the earned gross profit figures within them — are central to how sureties evaluate a contractor's financial position. NASBP ties profit fade directly to reduced liquidity and bonding capacity.
Your COGS/overhead split isn't just an internal accounting decision — it's reviewed by the people who determine your bonding limits and credit access.
Common COGS Mistakes Construction Contractors Make
Delayed Cost Coding (COGS Lag)
The most damaging mistake is failing to code costs to the job in real time. When purchase orders sit uncoded for two weeks, or time cards batch-process at month end, the COGS figure being used for project management decisions is already stale.
According to FMI's 2023 Labor Productivity Study, 60% of contractors report that 11% or more of field labor costs are wasted or unproductive. That kind of leakage is invisible when COGS data arrives late. By the time the problem surfaces, the corrective window has closed.
Inconsistent Labor Burden Treatment
Some firms include labor burden in COGS, others post it to overhead, and some do both inconsistently across projects. The result: gross margin figures that can't be compared period-to-period or project-to-project.
This matters more than most controllers expect. Labor burden can add 40%–70% to base wages (per Wiss CPA), so inconsistent classification can materially misstate job profitability. The fix is a written labor burden policy that specifies which cost categories belong in COGS versus overhead — applied uniformly and reviewed at period close.
Confusing Budget Estimates with Actual COGS
COGS is actual incurred costs — not the project estimate, not the contract value. Many contractors track their budget carefully but never reconcile it against actual cost accumulation in real time. The original estimate becomes a proxy for COGS, and margin fade goes undetected until project close-out.
Catching this gap requires budget-vs.-actual visibility at the job, phase, and cost-code level — not a monthly summary report reviewed after the damage is done.

Skipping the WIP Adjustment at Period End
Adding up all costs paid during a month without adjusting for partially completed projects produces COGS that doesn't reflect actual performance. A project 40% complete has 40% of its costs earned — costs beyond that belong in WIP, not the current period's COGS.
Maintaining an accurate WIP schedule is how the period-level COGS figure on the income statement stays honest. For most firms, that means replacing manual CSV exports and VLOOKUP reconciliations with automated WIP schedules pulled directly from the ERP — which is exactly what Datateer's WIP Reporting module handles.
Frequently Asked Questions
What is included in the cost of goods sold for construction accounting?
Construction COGS includes all costs directly tied to completing a project: materials, direct labor (including labor burden), subcontractor payments, equipment costs, and project-attributable indirect costs like job-site utilities and permits. General overhead — office rent, admin salaries, marketing, corporate insurance — is excluded.
How should cost of goods sold be accounted for in construction accounting?
Track COGS by job using a structured chart of accounts. Code all project expenses at the time they are incurred, then adjust for work-in-progress at period end. The two common recognition methods — Percentage of Completion (PCM) and Completed Contract (CCM) — each determine when COGS hits the income statement.
What is the difference between COGS and overhead in construction?
COGS covers costs directly attributable to a specific project; overhead covers costs that support the overall business but can't be tied to a single job. In construction, many costs — a project manager's salary, job-site insurance — fall into either category depending on whether the cost is tied to a specific job or supports the business as a whole.
How does COGS affect gross profit margin for a construction company?
Gross profit margin is contract revenue minus COGS, divided by revenue. Inaccurate COGS distorts this figure, leading to flawed bidding and poor cash flow forecasting — and can misrepresent financial health to lenders and surety companies assessing bonding capacity.
Should subcontractor costs be included in construction COGS?
Yes — subcontractor costs are direct project expenses and always belong in COGS. They represent fees paid to specialty trades hired specifically for the project and are often the largest single COGS component for general contractors.
What accounting method should contractors use to recognize COGS?
The Percentage of Completion method (PCM) recognizes COGS proportionally as work progresses using the cost-to-cost ratio and is required under IRC Section 460 for large contractors. The Completed Contract method (CCM) defers all COGS until project completion — it applies to shorter-duration projects under the IRS small-contractor exception (contracts completing within 2 years; average annual gross receipts ≤$31M for 2025).


