v3.22.4
Revenue Disaggregation, Contract Assets and Contract liabilities
12 Months Ended
Dec. 31, 2022
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.

 

   2022   2021   2020 
   Years ended December 31, 
   2022   2021   2020 
Fixed price contracts  $98,299   $77,417   $103,423 
Product sales   618,271    419,368    273,184 
Total revenues  $716,570   $496,785   $376,607 

 

Remaining Performance Obligations

 

As of December 31, 2022, the Company had $482.4 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 $384.9 million are expected to be recognized during the year ended December 31, 2023, and $97.5 million during the year ended December 31, 2024.

 

 

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,

2022

  

December 31,

2021

 
Contract assets — current  $12,610   $18,667 
Contract assets — non-current   8,875    11,853 
Contract liabilities — current   (49,601)   (45,213)
Contract liabilities — non-current   (11)   (78)
Net contract liabilities  $(28,127)  $(14,771)

 

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

 

  

December 31,

2022

  

December 31,

2021

 
Unbilled contract receivables, gross  $5,738   $8,174 
Retainage   15,747    22,346 
Total contract assets   21,485    30,520 
Less: current portion   12,610    18,667 
Contract assets – non-current  $8,875   $11,853 

 

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

 

  

December 31,

2022

  

December 31,

2021

 
Billings in excess of costs  $14,724   $12,854 
Advances from customers on uncompleted contracts   34,888    32,437 
Total contract liabilities   49,612    45,291 
Less: current portion   49,601    45,213 
Contract liabilities – non-current  $11   $78 

 

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