XML 42 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Accounting policies - Disaggregated revenue (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Total Revenue $ 44,237,263 $ 21,067,127 $ 77,106,253 $ 40,625,032
Contracts in progress        
Increase in net income $ 7,323,771 $ 2,289,886 $ 11,137,397 $ 4,006,701
Increase in diluted earnings per share $ 0.46 $ 0.15 $ 0.70 $ 0.26
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 $ 7,573,329 $ 6,526,803 $ 15,344,424 $ 12,840,003
Bulk revenue [Member]        
Total Revenue 8,482,495 8,423,749 17,486,868 15,774,393
Services revenue [Member]        
Total Revenue 24,093,963 5,055,483 36,815,664 9,799,303
Contracts in progress        
Increase in net income $ 1   $ 1  
Increase in diluted earnings per share $ 0.1   $ 0.1  
Manufacturing revenue [Member]        
Total Revenue $ 4,087,476 $ 1,061,092 $ 7,459,297 $ 2,211,333