XML 74 R60.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details) - USD ($) $ in Thousands |  | 12 Months Ended |
--- | --- | --- | ---
Jan. 01, 2022 | Dec. 31, 2021 | Dec. 31, 2023
Buildings | Minimum |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 10 years
Buildings | Maximum |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 20 years
Machinery | Minimum |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 5 years
Machinery | Maximum |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 10 years
Furniture, fixtures and equipment |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 5 years
Motor vehicles |  |  |
Property, plant and equipment |  |  |
Estimated useful lives |  |  | 5 years
Solar power systems | Depreciation life |  |  |
Property, plant and equipment |  |  |
Estimated useful lives | 30 years |  |
Maximum useful life of transferred to an offtaker | 30 years |  |
Increase or decrease in depreciation expenses |  | $ 2,186 |
Solar power systems | Minimum | Depreciation life |  |  |
Property, plant and equipment |  |  |
Estimated useful lives | 20 years |  |
Solar power systems | Maximum | Depreciation life |  |  |
Property, plant and equipment |  |  |
Estimated useful lives | 25 years |  |

X
- Definition The amount of increase Decrease in Depreciation Expense . + References No definition available. + Details
Name: | csiq_IncreaseDecreaseInDepreciationExpense
Namespace Prefix: | csiq_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Represents the maximum useful life of project to be transferred to an offtaker. + References No definition available. + Details
Name: | csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker
Namespace Prefix: | csiq_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment. + References No definition available. + Details
Name: | us-gaap_PropertyPlantAndEquipmentUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_ServiceLifeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |