XML 40 R26.htm IDEA: XBRL DOCUMENT v3.20.4
Revenue from Contracts with Customers (Tables)
12 Months Ended
Dec. 31, 2020
Revenue from Contract with Customers  
Schedule of contracts in progress

Contracts in progress are as follows (in thousands):

December 31,

 

    

2020

    

2019

 

Costs incurred on contracts in progress

$

3,103,580

$

2,518,581

Estimated earnings, net of losses

 

548,435

 

405,891

Less—Billings to date

 

(3,813,171)

 

(3,033,112)

Less—Unbilled accounts receivable

(45,596)

(55,542)

Less—Unbilled accounts receivable credit allowance

(784)

$

(207,536)

$

(164,182)

Costs and estimated earnings in excess of billings

$

18,622

$

2,736

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

79

Billings in excess of costs and estimated earnings

 

(226,237)

 

(166,918)

$

(207,536)

$

(164,182)

Schedule of disaggregation of revenue

Our consolidated 2020 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

   

   

2020

   

2019

2018

Mechanical Services

$

2,413,016

   

84.5

%

$

2,251,560

   

86.1

%

$

2,176,223

99.7

%

Electrical Services

443,643

15.5

%

363,717

13.9

%

6,656

0.3

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Type of Customer

2020

2019

 

2018

 

Industrial

$

1,112,075

38.9

%

$

886,668

33.9

%

$

596,557

27.3

%

Education

487,922

17.1

%

412,318

15.8

%

391,937

18.0

%

Office Buildings

319,426

11.2

%

348,640

13.3

%

288,090

13.2

%

Healthcare

371,105

13.0

%

358,155

13.7

%

319,958

14.7

%

Government

163,717

5.7

%

162,507

6.2

%

143,958

6.6

%

Retail, Restaurants and Entertainment

239,541

8.4

%

248,083

9.5

%

225,348

10.3

%

Multi-Family and Residential

86,799

3.0

%

104,693

4.0

%

136,075

6.2

%

Other

76,074

2.7

%

94,213

3.6

%

80,956

3.7

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Year Ended December 31,

Revenue by Activity Type

2020

2019

 

2018

New Construction

$

1,333,739

46.7

%

$

1,201,122

45.9

%

$

829,978

38.0

%

Existing Building Construction

910,807

31.9

%

793,159

30.3

%

796,946

36.5

%

Service Projects

241,402

8.4

%

231,228

8.9

%

206,506

9.5

%

Service Calls, Maintenance and Monitoring

370,711

13.0

%

389,768

14.9

%

349,449

16.0

%

Total

$

2,856,659

100.0

%

$

2,615,277

100.0

%

$

2,182,879

100.0

%

Schedule of contract assets and liabilities

Year Ended December 31,

Year Ended December 31,

2020

2019

Contract

    

Contract

Contract

    

Contract

Assets

Liabilities

Assets

Liabilities

Balance at beginning of period

$

2,736

$

166,918

$

10,213

$

130,986

Change due to acquisitions / disposals

9,509

39,885

6,573

31,556

Change related to credit allowance

(79)

Other changes in the period

6,456

19,434

(14,050)

4,376

Balance at end of period

$

18,622

$

226,237

$

2,736

 

$

166,918