XML 31 R14.htm IDEA: XBRL DOCUMENT
v3.24.1

Contracts in progress | 12 Months Ended
--- | ---
Dec. 31, 2023
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,
​ | ​ | ​ | 2023 | ​ | 2022
Revenue recognized to date on contracts in progress |  | ​ | $ | 108,952,682 |  | $ | 25,469,014
Amounts billed to date on contracts in progress | ​ | ​ |  | (101,724,459) | ​ |  | (33,407,182)
Retainage | ​ | ​ | ​ | 8,087,823 | ​ | ​ | 2,047,969
Net contract asset/(liability) | ​ | ​ | $ | 15,316,046 | ​ | $ | (5,890,199)
​ The above net balances are reflected in the accompanying consolidated balance sheet as follows: ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | December 31,
​ | ​ | ​ | 2023 | ​ | 2022
Contract assets |  | ​ | $ | 21,553,057 |  | $ | 2,913,722
Contract liabilities | ​ | ​ |  | (6,237,011) | ​ |  | (8,803,921)
Net contract asset/(liability) | ​ | ​ | $ | 15,316,046 | ​ | $ | (5,890,199)
​ ​ ​ The significant increase in contract assets from December 31, 2022 to December 31, 2023 is attributable to the construction contract with the WAC for the Red Gate plant in Grand Cayman and 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, 2023, the Company had unsatisfied or partially unsatisfied performance obligations for contracts in progress representing approximately $162.2 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 $22.2 million during the year ending December 31, 2024 and $140 million thereafter. In addition, the Company recognized revenue of approximately $8.7 million in the year ended December 31, 2023, that was included in the contract liability balance as of December 31, 2022.

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