XML 99 R69.htm IDEA: XBRL DOCUMENT
v3.21.1

SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) - USD ($) $ in Thousands |  | 1 Months Ended | 12 Months Ended
--- | --- | --- | ---
May 31, 2009 | Aug. 31, 2011 | Jun. 30, 2009 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Warranty cost |  |  |  |  |  |
Warranty accrual rate for sales of solar modules as a percentage of revenue |  |  |  | 1.00% |  |
Term of insurance policy over which the insurance premium will be amortized |  |  |  | 1 year |  |
Unamortized carrying amount of insurance premium |  |  |  | $ 1,728 | $ 1,486 |
Insurance receivable |  |  |  | 82,532 | 79,888 |
Warranty adjustment |  |  |  | 243 |  |
Downward adjustment of other non-current assets |  |  |  | 642 |  |
Warranty costs (net effect of adjustment) included in cost of revenues |  |  |  | $ 26,931 | $ 28,044 | $ 13,188
80% initial power capacity |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Warranty accrual rate for sales of solar modules as a percentage of revenue |  |  |  | 80.70% |  |
Standard solar modules |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Term of insurance policy over which the insurance premium will be amortized |  |  |  | 25 years |  |
Guarantee of solar modules for defects in materials and engineering design, installation and construction | 2 years |  |  |  |  |
Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity | 10 years |  |  |  |  |
Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity | 25 years |  |  |  |  |
Minimum percentage of decline in initial minimum power generation capacity for 10 years | 10.00% |  |  |  |  |
Minimum percentage of decline in initial minimum power generation capacity for 25 years | 20.00% |  |  |  |  |
Standard solar modules | Material and workmanship |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Term of insurance policy over which the insurance premium will be amortized |  | 10 years | 6 years | 12 years |  |
Standard solar modules | 97 % initial power capacity |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Warranty accrual rate for sales of solar modules as a percentage of revenue |  |  |  | 97.50% |  |
Standard solar modules | 93% initial power capacity |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Warranty accrual rate for sales of solar modules as a percentage of revenue |  |  |  | 0.70% |  |
Solar Power Project |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Guarantee of solar modules for defects in materials and engineering design, installation and construction |  |  |  | 10 years |  |
Bifacial module and double glass module |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity |  |  |  | 30 years |  |
Minimum |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Term of insurance policy over which the insurance premium will be amortized |  |  |  | 25 years |  |
Maximum |  |  |  |  |  |
Warranty cost |  |  |  |  |  |
Term of insurance policy over which the insurance premium will be amortized |  |  |  | 30 years |  |

X
- Definition Represents the term of the insurance policy over which the insurance premium will be amortized. + References No definition available. + Details
Name: | csiq_InsurancePolicyTerm
Namespace Prefix: | csiq_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the unamortized carrying amount of insurance premium. + References No definition available. + Details
Name: | csiq_InsurancePremiumUnamortizedAmountNoncurrent
Namespace Prefix: | csiq_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets. + References No definition available. + Details
Name: | csiq_OtherNoncurrentAssetsAdjustment
Namespace Prefix: | csiq_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues. + References No definition available. + Details
Name: | csiq_ProductWarrantyAccrualRateForSalesOfSolarModules
Namespace Prefix: | csiq_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period. + References No definition available. + Details
Name: | csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
Namespace Prefix: | csiq_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period. + References No definition available. + Details
Name: | csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
Namespace Prefix: | csiq_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity. + References No definition available. + Details
Name: | csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
Namespace Prefix: | csiq_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity. + References No definition available. + Details
Name: | csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
Namespace Prefix: | csiq_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the period of time over which the entity guarantees against defects in materials and workmanship. + References No definition available. + Details
Name: | csiq_StandardProductWarrantyPeriod
Namespace Prefix: | csiq_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.17) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_InsuranceSettlementsReceivableNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 460 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph ((c)(3,4)) -URI http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249 + Details
Name: | us-gaap_ProductWarrantyExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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_ProductWarrantyLiabilityLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 460 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph ((c)(4)) -URI http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249 + Details
Name: | us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=csiq_SolarPowerProjectMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=csiq_BifacialModuleAndDoubleGlassModuleMember
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: |