XML 22 R25.htm IDEA: XBRL DOCUMENT v3.19.3
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2019
Sep. 30, 2018
Sep. 30, 2019
Sep. 30, 2018
Disaggregation of Revenue        
Revenue, Performance Obligation, Description of Payment Terms     We typically invoice our customers with payment terms of net due in 30 days  
Receivable payment terms (in days)     30 days  
Revenue $ 706,918 $ 594,536 $ 1,895,693 $ 1,594,520
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00% 100.00%
Industrial        
Disaggregation of Revenue        
Revenue $ 222,156 $ 184,174 $ 588,818 $ 398,351
Percentage of revenue from contract with customer (as a percent) 31.40% 31.00% 31.10% 25.00%
Education        
Disaggregation of Revenue        
Revenue $ 125,836 $ 115,202 $ 292,799 $ 312,852
Percentage of revenue from contract with customer (as a percent) 17.80% 19.40% 15.40% 19.60%
Office Buildings        
Disaggregation of Revenue        
Revenue $ 83,271 $ 75,871 $ 254,966 $ 224,300
Percentage of revenue from contract with customer (as a percent) 11.80% 12.80% 13.50% 14.10%
Healthcare        
Disaggregation of Revenue        
Revenue $ 126,909 $ 79,424 $ 306,810 $ 214,537
Percentage of revenue from contract with customer (as a percent) 18.00% 13.30% 16.20% 13.40%
Government        
Disaggregation of Revenue        
Revenue $ 41,502 $ 32,633 $ 118,224 $ 106,065
Percentage of revenue from contract with customer (as a percent) 5.90% 5.50% 6.20% 6.60%
Retail, Restaurants and Entertainment        
Disaggregation of Revenue        
Revenue $ 67,141 $ 60,908 $ 184,618 $ 169,899
Percentage of revenue from contract with customer (as a percent) 9.50% 10.20% 9.70% 10.70%
Multi-Family and Residential        
Disaggregation of Revenue        
Revenue $ 24,121 $ 33,903 $ 83,417 $ 102,995
Percentage of revenue from contract with customer (as a percent) 3.40% 5.70% 4.40% 6.50%
Other        
Disaggregation of Revenue        
Revenue $ 15,982 $ 12,421 $ 66,041 $ 65,521
Percentage of revenue from contract with customer (as a percent) 2.20% 2.10% 3.50% 4.10%
New Construction        
Disaggregation of Revenue        
Revenue $ 312,279 $ 227,715 $ 827,718 $ 606,208
Percentage of revenue from contract with customer (as a percent) 44.20% 38.30% 43.70% 38.00%
Existing Building Construction        
Disaggregation of Revenue        
Revenue $ 224,125 $ 216,010 $ 605,819 $ 572,808
Percentage of revenue from contract with customer (as a percent) 31.60% 36.30% 31.90% 35.90%
Service Projects        
Disaggregation of Revenue        
Revenue $ 62,668 $ 56,557 $ 171,860 $ 150,890
Percentage of revenue from contract with customer (as a percent) 8.90% 9.50% 9.10% 9.50%
Service Calls, Maintenance and Monitoring        
Disaggregation of Revenue        
Revenue $ 107,846 $ 94,254 $ 290,296 $ 264,614
Percentage of revenue from contract with customer (as a percent) 15.30% 15.90% 15.30% 16.60%
HVAC and Plumbing        
Disaggregation of Revenue        
Revenue $ 545,088 $ 540,733 $ 1,531,331 $ 1,448,761
Percentage of revenue from contract with customer (as a percent) 77.10% 91.00% 80.80% 90.90%
Electrical Services        
Disaggregation of Revenue        
Revenue $ 116,902 $ 1,611 $ 218,061 $ 1,611
Percentage of revenue from contract with customer (as a percent) 16.50% 0.30% 11.50% 0.10%
Building Automation Control Systems        
Disaggregation of Revenue        
Revenue $ 24,540 $ 25,822 $ 73,816 $ 72,128
Percentage of revenue from contract with customer (as a percent) 3.50% 4.30% 3.90% 4.50%
Other.        
Disaggregation of Revenue        
Revenue $ 20,388 $ 26,370 $ 72,485 $ 72,020
Percentage of revenue from contract with customer (as a percent) 2.90% 4.40% 3.80% 4.50%
Minimum        
Disaggregation of Revenue        
Payments received term (in days)     30 days  
Maximum        
Disaggregation of Revenue        
Payments received term (in days)     90 days