XML 76 R60.htm IDEA: XBRL DOCUMENT v3.22.1
Contracts in progress (Details) - USD ($)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenues recognized to date on contracts in process $ 6,109,396 $ 17,534,449
Amounts billed to date on contracts in process (6,370,855) (17,791,928)
Retainage 237,542 312,130
Net contract asset (23,917) 54,651
Contract assets 489,961 516,521
Contract liabilities (513,878) $ (461,870)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 5,700,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 4,800,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 2 years  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 900,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 3 years