XML 38 R27.htm IDEA: XBRL DOCUMENT v3.25.3
Accounting policies - Disaggregated revenue (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Accounting policies        
Total Revenue $ 35,118,706 $ 33,390,557 $ 102,425,170 $ 105,559,105
Contracts in progress        
Number of days after consumption billings are considered past due     45 days  
Retail revenue        
Accounting policies        
Total Revenue 7,770,344 7,585,992 $ 25,819,712 24,392,814
Bulk revenue        
Accounting policies        
Total Revenue 8,394,614 8,767,168 25,081,146 25,557,220
Services revenue        
Accounting policies        
Total Revenue 14,289,315 12,677,837 35,815,785 42,017,917
Manufacturing revenue        
Accounting policies        
Total Revenue 4,664,433 4,359,560 15,708,527 13,591,154
Construction revenue | Services revenue        
Accounting policies        
Total Revenue 6,360,333 4,251,237 11,404,500 17,632,772
Operations and maintenance revenue | Services revenue        
Accounting policies        
Total Revenue 7,715,000 7,492,121 23,695,704 21,660,396
Design and consulting revenue | Services revenue        
Accounting policies        
Total Revenue 213,982 934,479 715,581 2,724,749
Transferred over time | Services revenue        
Accounting policies        
Total Revenue 6,462,508 4,246,506 11,752,695 17,631,774
Transferred at point in time | Services revenue        
Accounting policies        
Total Revenue $ 7,826,807 $ 8,431,331 $ 24,063,090 $ 24,386,143
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