XML 55 R41.htm IDEA: XBRL DOCUMENT
v3.25.1

ALLOWANCE FOR CREDIT LOSSES (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Accounts, Notes, Loans and Financing Receivable [Line Items] |
Schedule of allowances for credit losses | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | Advances to
​ | ​ | ​ | ​ | ​ | Suppliers,
​ | ​ | ​ | ​ | ​ | Warranty Insurance
​ | ​ | Accounts Receivable | ​ | Receivable and
​ |  | Trade |  | Other Receivables
Balance as of December 31, 2021 | ​ | $ | 47,126 | ​ | $ | 29,079
Provision for credit losses, net | ​ | ​ | 4,349 | ​ | ​ | 1,424
Write-offs | ​ | ​ | (109) | ​ | ​ | (18,295)
Foreign exchange effect | ​ | ​ | (1,436) | ​ | ​ | (834)
Balance as of December 31, 2022 | ​ | ​ | 49,930 | ​ | ​ | 11,374
Provision for credit losses, net | ​ | ​ | 7,381 | ​ | ​ | 4,633
Write-offs | ​ | ​ | (2,073) | ​ | ​ | (242)
Foreign exchange effect | ​ | ​ | 1,564 | ​ | ​ | (163)
Balance as of December 31, 2023 | ​ | ​ | 56,802 | ​ | ​ | 15,602
Provision for credit losses, net | ​ | ​ | 14,289 | ​ | ​ | 24,771
Write-offs | ​ | ​ | (647) | ​ | ​ | —
Foreign exchange effect | ​ | ​ | 5,700 | ​ | ​ | (408)
Balance as of December 31, 2024 | ​ | $ | 76,144 | ​ | $ | 39,965
​
Allowances for accounts receivable |
Accounts, Notes, Loans and Financing Receivable [Line Items] |
Schedule of allowances | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, | ​ | December 31,
​ |  | 2023 |  | 2024
Accounts receivable trade, gross | ​ | $ | 961,745 | ​ | $ | 1,194,913
Allowance for credit losses | ​ |  | (56,802) | ​ | ​ | (76,144)
Accounts receivable trade, net | ​ | $ | 904,943 | ​ | $ | 1,118,769
Allowances for advances to suppliers |
Accounts, Notes, Loans and Financing Receivable [Line Items] |
Schedule of allowances | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, | ​ | December 31,
​ |  | 2023 |  | 2024
Advances to suppliers, gross | ​ | $ | 328,460 | ​ | $ | 244,703
Allowance for credit losses | ​ |  | (2,424) | ​ | ​ | (2,141)
Advances to suppliers, net | ​ | $ | 326,036 | ​ | $ | 242,562
Warranty insurance receivable net |
Accounts, Notes, Loans and Financing Receivable [Line Items] |
Schedule of allowances | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, | ​ | December 31,
​ |  | 2023 |  | 2024
Warranty insurance receivable, gross | ​ | $ | 84,035 | ​ | $ | 79,923
Allowance for credit losses | ​ |  | (1,300) | ​ | ​ | (23,923)
Warranty insurance receivable, net | ​ | $ | 82,735 | ​ | $ | 56,000
Allowances for other receivables |
Accounts, Notes, Loans and Financing Receivable [Line Items] |
Schedule of allowances | ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | December 31, | ​ | December 31,
​ |  | 2023 |  | 2024
Other receivable, gross | ​ | $ | 145,376 | ​ | $ | 184,139
Allowance for credit losses | ​ |  | (11,878) | ​ | ​ | (13,901)
Other receivable, net | ​ | $ | 133,498 | ​ | $ | 170,238

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 Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 20 -Name Accounting Standards Codification -Section 40 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481628/310-20-40-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2 + Details
Name: | us-gaap_AccountsNotesAndLoansReceivableLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of allowance for credit loss on financing receivable. + References Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11B -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForWarrantyInsuranceReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |