XML 28 R11.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue (Notes)
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Revenue REVENUE
Sales includes revenue from contracts with customers for designing, engineering, manufacturing and installation of solar racking systems; electrical balance of systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; retractable awnings; gutter guards; rain dispersion products; trims and flashings and other accessories; designing, engineering, manufacturing and installation of greenhouses; botanical extraction systems; structural bearings; expansion joints; pavement sealant; elastomeric concrete; and bridge cable protection systems.

Refer to Note 20 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.

Payment terms and conditions vary by contract, although terms generally include a requirement of payment within a range from 30 to 60 days, or in certain cases, up front deposits. In circumstances where the timing of revenue recognition differs from the timing of invoicing, the Company has determined that the Company's contracts generally do not include a significant financing component. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from sales.

As of December 31, 2021, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less. Additionally, as of December 31, 2021 and 2020, there were no assets recognized related to incremental costs of obtaining a contract with a customer as the benefits of these costs are not expected to exceed one year.

Contract assets consist of costs in excess of billings presented within accounts receivable in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of cost, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets. The following table presents the ending and beginning balances of costs in excess of billings, billings in excess of cost and unearned revenue, respectively, as of December 31, (in thousands):
202120202019
Costs in excess of billings$54,437 $26,915 $20,607 
Billings in excess of cost(46,711)(34,702)(47,598)
Unearned revenue(3,681)(21,325)(15,389)

Revenue recognized during the years ended December 31, 2021, 2020, and 2019 that was in contract liabilities at the beginning of the respective periods was $53.0 million, $57.8 million, and $27.5 million, respectively.

The increase in costs in excess of billings as of December 31, 2021 compared to December 31, 2020 was primarily due to the timing of the Company's right to invoice customers for performance satisfied by the Company for significant contracts in the Renewables and Agtech segments near the end of December 31, 2021. At December 31, 2020, costs in excess of billings, billings in excess of cost, and unearned revenue included approximately
$6.8 million, $12.4 million, and $9.0 million, respectively, from acquisitions during the year ended December 31, 2020.