XML 24 R12.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Revenue
9 Months Ended
Sep. 30, 2020
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 and greenhouse structures; extraction systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; rain dispersion products and roofing accessories; expanded and perforated metal; perimeter security solutions; expansion joints and structural bearings.

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

As of September 30, 2020, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less.

Contract assets consist of costs in excess of billings. Contract liabilities consist of billings in excess of cost and unearned revenue. The following table presents the beginning and ending balances of costs in excess of billings, billings in excess of cost and unearned revenue as of September 30, 2020 and December 31, 2019, respectively,
and revenue recognized during the nine months ended September 30, 2020 and 2019, respectively, that was in billings in excess of cost and unearned revenue at the beginning of the period (in thousands):
September 30, 2020December 31, 2019
Costs in excess of billings$35,432 $20,607 
Billings in excess of cost(31,267)(47,598)
Unearned revenue(18,951)(17,311)
Nine Months Ended
September 30, 2020
Nine Months Ended
September 30, 2019
Revenue recognized in the period from:
Amounts included in billings in excess of cost
at the beginning of the period
$44,723 $14,137 
Amounts included in unearned revenue
at the beginning of the period
$13,614 $11,052