XML 86 R9.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Revenue (Notes) | 12 Months Ended
--- | ---
Dec. 31, 2019
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 19 "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, 2019, 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, 2019 and 2018, 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. Contract liabilities consist of billings in excess of cost and unearned revenue, respectively. 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 December 31, 2019 and 2018, respectively, and revenue recognized during the years ended December 31, 2019 and 2018, respectively, that was included in billings in excess of cost and unearned revenue at the beginning of the period, respectively (in thousands):
| December 31, 2019 |  | December 31, 2018 |  | January 1, 2018
Costs in excess of billings | $ | 20,607 |  |  | $ | 22,634 |  |  | $ | 16,532 |
Billings in excess of cost | (47,598 | ) |  | (17,857 | ) |  | (12,779 | )
Unearned revenue | (17,311 | ) |  | (12,028 | ) |  | (3,336 | )
| For the Year Ended December 31, 2019 |  | For the Year Ended December 31, 2018 |  |
Revenue recognized in the period from: |  |  |  |  |
Amounts included in billings in excess of cost at the beginning of the period | $ | 17,371 |  |  | $ | 10,097 |  |  |
Amounts included in unearned revenue at the beginning of the period | $ | 11,092 |  |  | $ | 2,988 |  |  |
The increase in contract liabilities as of December 31, 2019 compared with December 31, 2018 was primarily due to the timing of significant advanced and up-fronts payments in the Renewable Energy and Conservation segment near the end of December 31, 2019 from contracts with customers for which the performance obligations have not been satisfied.

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration