XML 73 R54.htm IDEA: XBRL DOCUMENT v3.25.1
Accounting policies - Disaggregated revenue (Details) - USD ($)
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Total Revenue $ 133,966,633 $ 180,211,233 $ 94,104,972
Contracts in progress      
Number of days after consumption billings are considered past due 45 days    
Income from operations $ 18,284,798 37,167,627 9,272,185
Net Income (Loss) $ 28,237,554 $ 29,585,391 $ 5,856,294
Increase in basic earnings $ 1.13 $ 1.95 $ 0.54
Increase in diluted earnings $ 1.12 $ 1.93 $ 0.54
Change in accounting method accounted for as change in estimate      
Contracts in progress      
Income from operations   $ 2,356,439  
Net Income (Loss) $ 1,750,750 $ 1,750,750  
Increase in basic earnings $ 0.11 $ 0.11  
Increase in diluted earnings $ 0.11 $ 0.11  
Minimum      
Contracts in progress      
Number of days after consumption billings are collected 30 days    
Maximum      
Contracts in progress      
Number of days after consumption billings are collected 45 days    
Retail revenue      
Total Revenue $ 31,741,343 $ 30,158,051 $ 25,954,013
Bulk revenue      
Total Revenue 33,673,387 34,595,058 32,991,066
Services revenue      
Total Revenue 50,956,489 97,966,650 28,835,428
Services revenue | Change in accounting method accounted for as change in estimate      
Contracts in progress      
Income from operations 2,356,439    
Services revenue | Transferred over time      
Total Revenue 18,211,554 77,411,792 14,146,271
Services revenue | Transferred at point in time      
Total Revenue 32,744,935 20,554,858 14,689,157
Manufacturing revenue      
Total Revenue 17,595,414 17,491,474 6,324,465
Construction revenue      
Total Revenue 17,637,432 77,306,704 11,616,274
Operations and maintenance revenue      
Total Revenue 29,307,405 19,368,365 14,152,158
Design and consulting revenue      
Total Revenue $ 4,011,652 $ 1,291,581 $ 3,066,996