XML 42 R32.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue Disaggregation, Contract Assets and Contract liabilities (Tables)
12 Months Ended
Dec. 31, 2021
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Schedule of Disaggregation by Revenue

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 
Schedule of Contract Assets and Liabilities

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 
Contract assets [Member]  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Schedule of Contract Assets and Liabilities

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 
Contract Liabilities [Member]  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Schedule of Contract Assets and Liabilities

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