XML 71 R54.htm IDEA: XBRL DOCUMENT v3.24.1
Accounting policies - Disaggregated revenue (Details) - USD ($)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Total Revenue $ 180,211,233 $ 94,104,972
Contracts in progress.    
Number of days after consumption billings are considered past due 45 days  
Net Income (Loss) $ 29,585,391 5,856,294
Income from operations $ 37,167,627 $ 9,272,185
Increase in basic earnings $ 1.95 $ 0.54
Increase in diluted earnings $ 1.93 $ 0.54
Change in Accounting Method Accounted for as Change in Estimate [Member]    
Contracts in progress.    
Net Income (Loss) $ 1,750,750  
Income from operations $ 2,356,439  
Increase in basic earnings $ 0.11  
Increase in diluted earnings $ 0.11  
Minimum [Member]    
Contracts in progress.    
Number of days after consumption billings are collected 30 days  
Maximum [Member]    
Contracts in progress.    
Number of days after consumption billings are collected 45 days  
Retail revenue [Member]    
Total Revenue $ 30,158,051 $ 25,954,013
Bulk revenue [Member]    
Total Revenue 34,595,058 32,991,066
Services revenue [Member]    
Total Revenue 97,966,650 28,835,428
Services revenue [Member] | Change in Accounting Method Accounted for as Change in Estimate [Member]    
Contracts in progress.    
Income from operations 2,356,439  
Services revenue [Member] | Transferred over Time [Member]    
Total Revenue 77,411,792 14,146,271
Services revenue [Member] | Transferred at Point in Time [Member]    
Total Revenue 20,554,858 14,689,157
Manufacturing revenue [Member]    
Total Revenue 17,491,474 6,324,465
Construction Sevices [Member]    
Total Revenue 77,306,704 11,616,274
Operations and Maintenance [Member]    
Total Revenue 19,368,365 14,152,158
Design and Consulting Services [Member]    
Total Revenue $ 1,291,581 $ 3,066,996