XML 24 R10.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customers  
Revenue from Contracts with Customers

3. Revenue from Contracts with Customers

Revenue is recognized when control of the promised goods or services is transferred to our customers, in an amount that reflects the consideration to which we expect to be entitled in exchange for those goods or services. Sales-based taxes are excluded from revenue.

We provide mechanical and electrical contracting services. Our mechanical segment principally includes HVAC, plumbing, piping and controls, as well as off‑site construction, monitoring and fire protection. Our electrical segment includes installation and servicing of electrical systems. We install, maintain, repair and replace products and systems throughout the United States. All of our revenue is recognized over time as we deliver goods and services to our customers. Revenue can be earned based on an agreed-upon fixed price or based on actual costs incurred, marked up at an agreed-upon percentage.

For fixed price agreements, we use the percentage of completion method of accounting under which contract revenue recognizable at any time during the life of a contract is determined by multiplying expected total contract revenue by the percentage of contract costs incurred at any time to total estimated contract costs. More specifically, as part of the negotiation and bidding process to obtain installation contracts, we estimate our contract costs, which include all direct materials, labor and subcontract costs and indirect costs related to contract performance, such as indirect labor, supplies, tools, repairs and depreciation costs. These contract costs are included in our results of operations under the caption “Cost of Services.” Then, as we perform under those contracts, we measure costs incurred, compare them to total estimated costs to complete the contract and recognize a corresponding proportion of contract revenue. Labor costs are considered to be incurred as the work is performed. Subcontractor labor is recognized as the work is performed. Non‑labor project costs consist of purchased equipment, prefabricated materials and other materials. Purchased equipment on our projects is substantially produced to job specifications, normally installed shortly after receipt and is a value-added element to our work. Prefabricated materials, such as ductwork and piping, are generally performed at our shops and recognized as contract costs when fabricated for the unique specifications of the job. Other materials costs are generally recorded when delivered to the work site. This measurement and comparison process requires updates to the estimate of total costs to complete the contract, and these updates may include subjective assessments and judgments.

We account for a contract when: (i) it has approval and commitment from both parties, (ii) the rights of the parties are identified, (iii) payment terms are identified, (iv) the contract has commercial substance, and (v) collectability of consideration is probable. We consider the start of a project to be when the above criteria have been met and we either have written authorization from the customer to proceed or an executed contract.

 

Selling, marketing and estimation costs incurred in relation to selling contracts are expensed as incurred. On rare occasions, we may incur significant expenses related to selling a contract that we only incurred because we sold that

contract. If this occurs, we capitalize that cost and amortize it on a percentage of completion basis over the life of the contract. We do not currently have any capitalized selling, marketing, or estimation costs in our Consolidated Balance Sheet and did not incur any impairment loss in the current year.

 

We generally do not incur significant incremental costs related to obtaining or fulfilling a contract prior to the start of a project. On rare occasions, when significant pre-contract costs are incurred, they are capitalized and amortized on a percentage of completion basis over the life of the contract. We do not currently have any capitalized obtainment or fulfillment costs in our Consolidated Balance Sheet and have not incurred any impairment loss on such costs in the current year.

Project contracts typically provide for a schedule of billings or invoices to the customer based on our job-to-date percentage of completion of specific tasks inherent in the fulfillment of our performance obligation(s). The schedules for such billings usually do not precisely match the schedule on which costs are incurred. As a result, contract revenue recognized in our Consolidated Statement of Operations can and usually does differ from amounts that can be billed or invoiced to the customer at any point during the contract. Amounts by which cumulative contract revenue recognized on a contract as of a given date exceed cumulative billings and unbilled receivables to the customer under the contract are reflected as a current asset in our Consolidated Balance Sheet under the caption “Costs and estimated earnings in excess of billings.” Amounts by which cumulative billings to the customer under a contract as of a given date exceed cumulative contract revenue recognized on the contract are reflected as a current liability in our Consolidated Balance Sheet under the caption “Billings in excess of costs and estimated earnings.”

Contracts in progress are as follows (in thousands):

December 31,

 

    

2021

    

2020

 

Costs incurred on contracts in progress

$

3,723,715

$

3,103,580

Estimated earnings, net of losses

 

589,286

 

548,435

Less—Billings to date

 

(4,527,801)

 

(3,813,171)

Less—Unbilled accounts receivable

(61,881)

(45,596)

Less—Unbilled accounts receivable credit allowance

(715)

(784)

$

(277,396)

$

(207,536)

Costs and estimated earnings in excess of billings

$

29,900

$

18,622

Plus—Costs and estimated earnings in excess of billings credit allowance

84

79

Billings in excess of costs and estimated earnings

 

(307,380)

 

(226,237)

$

(277,396)

$

(207,536)

Accounts receivable include amounts billed to customers under retention or retainage provisions in construction contracts. Such provisions are standard in our industry and usually allow for a small portion of progress billings or the contract price to be withheld by the customer until after we have completed work on the project, typically for a period of six months. Based on our experience with similar contracts in recent years, the majority of our billings for such retention balances at each Balance Sheet date are finalized and collected within the subsequent year. Retention balances at December 31, 2021 and 2020 were $139.5 million and $124.1 million, respectively, and are included in accounts receivable.

Accounts payable at December 31, 2021 and 2020 included $24.0 million and $22.2 million of retainage under terms of contracts with subcontractors, respectively. The majority of the retention balances at each Balance Sheet date are finalized and paid within the subsequent year.

The percentage of completion method of accounting is also affected by changes in job performance, job conditions, and final contract settlements. These factors may result in revisions to estimated costs and, therefore, revenue. Such revisions are frequently based on further estimates and subjective assessments. The effects of these revisions are recognized in the period in which revisions are determined. When such revisions lead to a conclusion that a loss will be recognized on a contract, the full amount of the estimated ultimate loss is recognized in the period such conclusion is reached, regardless of the percentage of completion of the contract.

Revisions to project costs and conditions can give rise to change orders under which there is an agreement between the customer and us that the customer pays an additional or reduced contract price. Revisions can also result in claims we might make against the customer to recover project variances that have not been satisfactorily addressed through change orders with the customer. The amount of revenue associated with unapproved change orders and claims was immaterial for the year ended December 31, 2021.

Variations from estimated project costs could have a significant impact on our operating results, depending on project size, and the recoverability of the variation from change orders collected from customers.

We typically invoice our customers with payment terms of net due in 30 days. It is common in the construction industry for a contract to specify more lenient payment terms allowing the customer 45 to 60 days to make their payment. It is also common for the contract in the construction industry to specify that a general contractor is not required to submit payments to a subcontractor until it has received those funds from the owner or funding source. In most instances, we receive payment of our invoices between 30 to 90 days of the date of the invoice.

A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.

 

To determine the proper revenue recognition method for contracts, we evaluate whether two or more contracts should be combined and accounted for as one performance obligation and whether the combined or single contract should be accounted for as more than one performance obligation. This evaluation requires significant judgment and the decision to combine a group of contracts or separate the combined or single contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. For most of our contracts, the customer contracts with us to provide a significant service of integrating a complex set of tasks and components into a single project or capability (even if that single project results in the delivery of multiple units). Hence, the entire contract is accounted for as one performance obligation. Less commonly, however, we may promise to provide distinct goods or services within a contract, in which case we separate the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, we allocate the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation. We infrequently sell standard products with observable standalone sales. In such cases, the observable standalone sales are used to determine the standalone selling price. More frequently, we sell a customized, customer-specific solution, and, in these cases, we typically use the expected cost plus a margin approach to estimate the standalone selling price of each performance obligation. 

We recognize revenue over time for all of our services as we perform them because (i) control continuously transfers to that customer as work progresses, and (ii) we have the right to bill the customer as costs are incurred.  The customer typically controls the work in process, as evidenced either by contractual termination clauses or by our rights to payment for work performed to date plus a reasonable profit to deliver products or services that do not have an alternative use to the Company.

 

For the reasons listed above, revenue is recognized based on the extent of progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the products or services to be provided. We generally use the cost to cost measure of progress for our contracts, as it best depicts the transfer of assets to the customer that occurs as we incur costs on our contracts. Under the cost to cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenue, including estimated fees or profits, is recorded proportionally as costs are incurred. Costs to fulfill include labor, materials and subcontractors’ costs, other direct costs and an allocation of indirect costs.

 

In our mechanical segment, for a small portion of our business in which our services are delivered in the form of service maintenance agreements for existing systems to be repaired and maintained, as opposed to constructed, our performance obligation is to maintain the customer’s mechanical system for a specific period of time. Similar to jobs, we recognize revenue over time; however, for service maintenance agreements in which the full cost to provide services may not be known, we generally use an input method to recognize revenue, which is based on the amount of time we have provided our services out of the total time we have been contracted to perform those services.

 

Due to the nature of the work required to be performed on many of our performance obligations, the estimation of total revenue and cost at completion (the process described below in more detail) is complex, subject to many variables and requires significant judgment. The consideration to which we are entitled on our long-term contracts may include both fixed and variable amounts. Variable amounts can either increase or decrease the transaction price. A common example of variable amounts that can either increase or decrease contract value are pending change orders that represent contract modifications for which a change in scope has been authorized or acknowledged by our customer, but the final adjustment to contract price is yet to be negotiated. Other examples of positive variable revenue include amounts awarded upon achievement of certain performance metrics, program milestones or cost of completion date targets and can be based upon customer discretion. Variable amounts can result in a deduction from contract revenue if we fail to meet stated performance requirements, such as complying with the construction schedule.

We include estimated amounts of variable consideration in the contract price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. Our estimates of variable consideration and determination of whether to include estimated amounts in the contract price are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us. We reassess the amount of variable consideration each accounting period until the uncertainty associated with the variable consideration is resolved. Changes in the assessed amount of variable consideration are accounted for prospectively as a cumulative adjustment to revenue recognized in the current period.

 

Contracts are often modified to account for changes in contract specifications and requirements. We consider contract modifications to exist when the modification either creates new, or changes the existing, enforceable rights and obligations. Most of our contract modifications are for goods or services that are not distinct from the existing performance obligation(s). The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.

 

We have a Company-wide policy requiring periodic review of the Estimate at Completion in which management reviews the progress and execution of our performance obligations and estimated remaining obligations. As part of this process, management reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related program schedule, identified risks and opportunities and the related changes in estimates of revenue and costs. The risks and opportunities include management's judgment about the ability and cost to achieve the schedule (e.g., the number and type of milestone events), technical requirements (e.g., a newly developed product versus a mature product) and other contract requirements. Management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work to be performed, the availability of materials, the length of time to complete the performance obligation (e.g., to estimate increases in wages and prices for materials and related support cost allocations), execution by our subcontractors, the availability and timing of funding from our customer, and overhead cost rates, among other variables.

 

Based on this analysis, any adjustments to revenue, cost of services, and the related impact to operating income are recognized as necessary in the quarter when they become known. These adjustments may result from positive program performance if we determine we will be successful in mitigating risks surrounding the technical, schedule and cost aspects of those performance obligations or realizing related opportunities and may result in an increase in operating income during the performance of individual performance obligations. Likewise, if we determine we will not be successful in mitigating these risks or realizing related opportunities, these adjustments may result in a decrease in operating income. Changes in estimates of revenue, cost of services and the related impact to operating income are recognized quarterly on a cumulative catchup basis, meaning we recognize in the current period the cumulative effect of the changes on current and prior periods based on a performance obligation's percentage of completion. A significant change in one or more of these estimates could affect the profitability of one or more of our performance obligations. For projects in which estimates of total costs to be incurred on a performance obligation exceed total estimates of revenue to be earned, a provision for the entire loss on the performance obligation is recognized in the period the loss is determined.

 

The Company typically does not incur any returns, refunds, or similar obligations after the completion of the performance obligation since any deficiencies are corrected during the course of the work or are included as a modification to revenue. The Company does offer an industry standard warranty on our work, which is most commonly for a one-year period. The vendors providing the equipment and materials are responsible for any failures in their product unless installed incorrectly. We include an estimated amount to cover estimated warranty expense in our Cost of

Services and record a liability in our Consolidated Balance Sheet to cover our current estimated outstanding warranty obligations.

   

During the years ended December 31, 2021 and December 31, 2020, net revenue recognized from our performance obligations satisfied in previous periods was not material. 

Disaggregation of Revenue

 

Our consolidated 2021 revenue was derived from contracts to provide service activities in the mechanical and electrical services segments we serve. Refer to Note 16 “Segment Information” for additional information on our reportable segments. We disaggregate our revenue from contracts with customers by activity, customer type and service provided, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors. See details in the following tables (dollars in thousands):

Year Ended December 31,

Revenue by Service Provided

   

   

2021

   

2020

2019

Mechanical Services

$

2,542,623

   

82.7

%

$

2,430,632

   

85.1

%

$

2,272,031

86.9

%

Electrical Services

531,013

17.3

%

426,027

14.9

%

343,246

13.1

%

Total

$

3,073,636

100.0

%

$

2,856,659

100.0

%

$

2,615,277

100.0

%

Year Ended December 31,

Revenue by Type of Customer

2021

2020

 

2019

 

Industrial

$

1,356,688

44.1

%

$

1,112,075

38.9

%

$

886,668

33.9

%

Education

390,251

12.7

%

487,922

17.1

%

412,318

15.8

%

Office Buildings

308,799

10.1

%

319,426

11.2

%

348,640

13.3

%

Healthcare

417,901

13.6

%

371,105

13.0

%

358,155

13.7

%

Government

174,813

5.7

%

163,717

5.7

%

162,507

6.2

%

Retail, Restaurants and Entertainment

213,386

6.9

%

239,541

8.4

%

248,083

9.5

%

Multi-Family and Residential

112,779

3.7

%

86,799

3.0

%

104,693

4.0

%

Other

99,019

3.2

%

76,074

2.7

%

94,213

3.6

%

Total

$

3,073,636

100.0

%

$

2,856,659

100.0

%

$

2,615,277

100.0

%

Year Ended December 31,

Revenue by Activity Type

2021

2020

 

2019

New Construction

$

1,421,784

46.3

%

$

1,333,739

46.7

%

$

1,201,122

45.9

%

Existing Building Construction

963,461

31.3

%

910,807

31.9

%

793,159

30.3

%

Service Projects

278,582

9.1

%

241,402

8.4

%

231,228

8.9

%

Service Calls, Maintenance and Monitoring

409,809

13.3

%

370,711

13.0

%

389,768

14.9

%

Total

$

3,073,636

100.0

%

$

2,856,659

100.0

%

$

2,615,277

100.0

%

Contract Assets and Liabilities

Contract assets include unbilled amounts typically resulting from sales under long term contracts when the cost to cost method of revenue recognition is used, revenue recognized exceeds the amount billed to the customer and right to payment is conditional or subject to completing a milestone, such as a phase of the project. Contract assets are generally classified as current.

Contract liabilities consist of advance payments and billings in excess of revenue recognized. Our contract assets and liabilities are reported in a net position on a contract by contract basis at the end of each reporting period. We classify advance payments and billings in excess of revenue recognized as current. It is very unusual for us to have advanced payments with a term of greater than one year; therefore, our contract assets and liabilities are usually all current. If we have advanced payments with a term greater than one year, the noncurrent portion of advanced payments would be included in other long-term liabilities in our Consolidated Balance Sheets.

The following table presents the changes in contract assets and contract liabilities (in thousands):

Year Ended December 31,

Year Ended December 31,

2021

2020

Contract

    

Contract

Contract

    

Contract

Assets

Liabilities

Assets

Liabilities

Balance at beginning of period

$

18,622

$

226,237

$

2,736

$

166,918

Change due to acquisitions / disposals

10,356

36,523

9,509

39,885

Change related to credit allowance

(5)

(79)

Other changes in the period

927

44,620

6,456

19,434

Balance at end of period

$

29,900

$

307,380

$

18,622

 

$

226,237

During the years ended December 31, 2021 and 2020, we recognized revenue of $207.6 million and $165.8 million related to our contract liabilities at January 1, 2021 and January 1, 2020, respectively.

We did not have any impairment losses recognized on our receivables or contract assets in 2021 and 2020.

Remaining Performance Obligations

Remaining construction performance obligations represent the remaining transaction price of firm orders for which work has not been performed and exclude unexercised contract options. As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $2.31 billion. The Company expects to recognize revenue on approximately 80-85% of the remaining performance obligations over the next 12 months, with the remaining recognized thereafter. Our service maintenance agreements are generally one-year renewable agreements. We have adopted the practical expedient that allows us to not include service maintenance contracts with a total term of one year or less; therefore, we do not report unfulfilled performance obligations for service maintenance agreements.