XML 31 R20.htm IDEA: XBRL DOCUMENT v3.25.2
Accounting policies (Tables)
6 Months Ended
Jun. 30, 2025
Accounting policies  
Schedule of Disaggregation of revenue

The following table presents the Company’s revenue disaggregated by revenue source.

Three Months Ended June 30, 

 

Six Months Ended June 30, 

    

2025

    

2024

    

2025

    

2024

Retail revenue

$

8,638,026

$

8,181,884

$

18,049,368

$

16,806,822

Bulk revenue

 

8,274,816

 

8,447,958

 

16,686,532

 

16,790,052

Services revenue

 

11,448,202

 

11,922,469

 

21,526,470

 

29,340,080

Manufacturing revenue

 

5,230,035

 

3,926,847

 

11,044,094

 

9,231,594

Total revenue

$

33,591,079

$

32,479,158

$

67,306,464

$

72,168,548

Services revenue consists of the following:

Three Months Ended June 30, 

 

Six Months Ended June 30, 

    

2025

    

2024

    

2025

    

2024

Construction revenue

$

2,825,935

$

4,004,072

$

5,044,167

$

13,381,536

Operations and maintenance revenue

 

8,255,408

 

7,068,922

 

15,980,704

 

14,168,275

Design and consulting revenue

 

366,859

 

849,475

 

501,599

 

1,790,269

Total services revenue

$

11,448,202

$

11,922,469

$

21,526,470

$

29,340,080

Summary of revenue recognized and amounts billed on contracts in progress

Revenue recognized and amounts billed on contracts in progress are summarized as follows:

June 30, 

December 31, 

2025

2024

Revenue recognized to date on contracts in progress

    

$

112,905,596

$

114,590,991

Amounts billed to date on contracts in progress

 

(122,213,705)

 

(121,833,354)

Retainage

2,168,473

2,585,952

Net contract liability

$

(7,139,636)

$

(4,656,411)

Summary of net balances of billings reflected in the accompanying consolidated balance sheet

The above net balances are reflected in the accompanying condensed consolidated balance sheets as follows:

June 30, 

December 31, 

2025

2024

Contract assets

    

$

5,759,030

    

$

4,470,243

Contract liabilities

 

(12,898,666)

 

(9,126,654)

Net contract liability

$

(7,139,636)

$

(4,656,411)