XML 22 R12.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue Disaggregation, Contract Assets and Contract liabilities
12 Months Ended
Dec. 31, 2021
Operating revenues:  
Revenue Disaggregation, Contract Assets and Contract liabilities

 

  Note 6. Revenue Disaggregation, Contract Assets and Contract liabilities

 

Disaggregation of Total Net Sales

 

The Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors affect the nature, amount, timing, and uncertainty of the Company’s revenue and cash flows.

 

         
   Year ended December 31, 
   2021   2020 
Fixed price contracts  $77,417   $103,423 
Product sales   419,368    273,184 
Total Revenues  $496,785   $376,607 

 

Remaining Performance Obligations

 

As of December 31, 2021, the Company had $248.1 million of remaining performance obligations, which represents the transaction price of firm orders minus sales recognized from inception to date. Remaining performance obligations exclude unexercised contract options, verbal commitments, and potential orders under basic ordering agreements. The Company expects to recognize 100% of sales relating to existing performance obligations within two years, of which $232.7 million are expected to be recognized during the year ended December 31, 2022, and $15.4 million during the year ended December 31, 2023.

 

 

Contract Assets and Contract Liabilities

 

Contract assets represent accumulated incurred costs and earned profits on contracts with customers that have been recorded as sales but have not been billed to customers and are classified as current. As a result, the timing of the satisfaction of performance obligations might differ from the timing of payments, given some conditions must be met before billing can occur. Contract assets also include a portion of the amounts billed on certain fixed price contracts that are withheld by the customer as a retainage until a final good receipt of the complete project to the customers satisfaction. Contract liabilities consist of advance payments and billings in excess of costs incurred and deferred revenue, and represent amounts received in excess of sales recognized on contracts. The Company classifies advance payments and billings in excess of costs incurred as current, and deferred revenue as current or non-current based on the expected timing of sales recognition. Contract assets and contract liabilities are determined on a contract by contract basis at the end of each reporting period. The non-current portion of contract liabilities is included in other liabilities in the Company’s consolidated balance sheets.

 

The table below presents the components of net contract assets (liabilities).

 

  

December 31,

2021

  

December 31,

2020

 
Contract assets — current  $18,667   $28,405 
Contract assets — non-current   11,853    10,228 
Contract liabilities — current   (45,213)   (27,242)
Contract liabilities — non-current   (78)   (977)
Net contract (liabilities) assets  $(14,771)  $10,414 

 

The components of contract assets are presented in the table below.

 

  

December 31,

2021

  

December 31,

2020

 
Unbilled contract receivables, gross  $8,174   $13,534 
Retainage   22,346    25,099 
Total contract assets   30,520    38,633 
Less: current portion   18,667    28,405 
Contract assets – non-current  $11,853   $10,228 

 

The components of contract liabilities are presented in the table below.

 

  

December 31,

2021

  

December 31,

2020

 
Billings in excess of costs  $12,854    7,191 
Advances from customers on uncompleted contracts   32,437    21,028 
Total contract liabilities   45,291    28,219 
Less: current portion   45,213    27,242 
Contract liabilities – non-current  $78    977 

 

During the year ended December 31, 2021, the Company recognized $6,765 of sales related to its billing in excess of cost liability on January 1, 2021. During the year ended December 31, 2020, the Company recognized $4,469 of sales related to its contract liabilities on January 1, 2020.