XML 31 R12.htm IDEA: XBRL DOCUMENT
v3.25.1

Contracts in progress | 12 Months Ended
--- | ---
Dec. 31, 2024
Contracts in progress |
Contracts in progress | 6. Contracts in progress Revenue recognized and amounts billed on contracts in progress are summarized as follows: ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31,
​ |  | 2024 |  | 2023
Revenue recognized to date on contracts in progress | ​ | $ | 114,590,991 |  | $ | 108,952,682
Amounts billed to date on contracts in progress | ​ |  | (121,833,354) | ​ |  | (101,724,459)
Retainage | ​ | ​ | 2,585,952 | ​ | ​ | 8,087,823
Net contract asset /(liability) | ​ | $ | (4,656,411) | ​ | $ | 15,316,046
​ The above net balances are reflected in the accompanying consolidated balance sheet as follows: ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31,
​ | ​ | 2024 | ​ | 2023
Contract assets | ​ | $ | 4,470,243 |  | $ | 21,553,057
Contract liabilities | ​ |  | (9,126,654) | ​ |  | (6,237,011)
Net contract asset /(liability) | ​ | $ | (4,656,411) | ​ | $ | 15,316,046
​ ​ ​ The significant decrease in contract assets from December 31, 2023 to December 31, 2024 is attributable to the completion of the construction contract with the WAC for the Red Gate plant in Grand Cayman and the completion of the construction contract with Liberty Utilities for a water treatment facility in Arizona. ​ During the year ended December 31, 2023, the Company adjusted its prior year estimates of the total contract costs for two of its construction contracts. These changes in accounting estimates resulted in an increase in the services segment’s income from operations and the Company’s consolidated net income by $2,356,439 and $1,750,750, respectively, for the year ended December 31, 2023. This adjustment increased basic and diluted earnings per share by $0.11 for the year ended December 31, 2023. ​ As of December 31, 2024, the Company had unsatisfied or partially unsatisfied performance obligations for contracts in progress representing approximately $151.3 million in aggregate transaction price for contracts with an original expected length of greater than one year. The Company expects to earn revenue as it satisfies its performance obligations under those contracts in the amount of approximately $44.2 million during the year ending December 31, 2025 and $107.1 million thereafter. In addition, the Company recognized revenue of approximately $6.2 million in the year ended December 31, 2024, that was included in the contract liability balance as of December 31, 2023.

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration