XML 24 R12.htm IDEA: XBRL DOCUMENT v3.19.2
Revenue Revenue
6 Months Ended
Jun. 30, 2019
Revenue from Contract with Customer [Abstract]  
Revenue
REVENUE

Sales includes revenue from contracts with customers for 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; designing, engineering, manufacturing and installation of solar racking systems and greenhouse structures.

Revenue recognition

Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services. Refer to Note 16 of this quarterly report on Form 10-Q for additional information related to revenue recognized by timing of transfer of control by reportable segment.

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

Contract assets and contract liabilities

Contract assets consist of costs in excess of billings. Contract liabilities consist of billings in excess of cost and unearned revenue. Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheet.

The following table presents the beginning and ending balances of costs in excess of billings, billings in excess of cost and unearned revenue of June 30, 2019 and December 31, 2018, respectively, and revenue recognized during the six months ended June 30, 2019 and 2018, respectively, that was in billings in excess of cost and unearned revenue at the beginning of the period (in thousands):
 
June 30, 2019
 
December 31, 2018
Costs in excess of billings
$
23,562

 
$
22,634

Billings in excess of cost
(38,133
)
 
(17,857
)
Unearned revenue
(9,971
)
 
(12,028
)
 
Six Months Ended
June 30, 2019
 
Six Months Ended
June 30, 2018
Revenue recognized in the period from:
 
 
 
Amounts included in billings in excess of cost
 at the beginning of the period
$
11,357

 
$
9,044

Amounts included in unearned revenue
 at the beginning of the period
$
6,153

 
$
2,581