XML 46 R32.htm IDEA: XBRL DOCUMENT
v3.23.1

Accounting policies (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
Accounting policies |
Schedule of Estimated useful lives | ​
​ | ​ | ​
Buildings |  | 5 to 40 years
Plant and equipment |  | 4 to 40 years
Distribution system |  | 3 to 40 years
Office furniture, fixtures and equipment |  | 3 to 10 years
Vehicles |  | 3 to 10 years
Leasehold improvements |  | Shorter of 5 years or lease term
Lab equipment |  | 5 to 10 years
​
Schedule of Disaggregation of revenue | The following table presents the Company’s revenue disaggregated by revenue source. ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | Year Ended December 31,
​ |  | 2022 |  | 2021
Retail revenue | ​ | $ | 25,954,013 | ​ | $ | 22,104,953
Bulk revenue | ​ |  | 32,991,066 | ​ |  | 26,800,869
Services revenue | ​ |  | 28,835,428 | ​ |  | 13,884,857
Manufacturing revenue | ​ |  | 6,324,465 | ​ |  | 4,072,823
Total revenue | ​ | $ | 94,104,972 | ​ | $ | 66,863,502
​

X
- Definition Disclosure of accounting policy for schedule of property plant and equipment useful life. + References No definition available. + Details
Name: | cwco_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock
Namespace Prefix: | cwco_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration