XML 53 R23.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 15. Revenue from Contracts with Customers (Notes) | 12 Months Ended
--- | ---
Dec. 31, 2024
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers [Text Block] | 15. Revenue from Contracts with Customers We recognize revenue for module sales at a point in time following the transfer of control of the modules to the customer, which typically occurs upon delivery of the modules to the location specified in the terms of the underlying contract. Our customer contracts generally contain provisions that (i) require us to pay the customer liquidated damages if we fail to deliver modules by scheduled dates or if we fail to deliver modules that meet certain U.S. domestic content requirements and (ii) entitle us to a termination payment if the customer defaults on its contractual obligations and we terminate the contract. Our accounting policy associated with revenue recognition from module sales is further described in Note 2. “Summary of Significant Accounting Policies.” The following table reflects the changes in our contract liabilities, which we classify as “Deferred revenue,” for the year ended December 31, 2024 (in thousands):
|  | 2024 |  | 2023 |  | Change
Deferred revenue |  | $ | 2,039,825 |  |  | $ | 2,005,183 |  |  | $ | 34,642 |  |  | 2 | %
During the year ended December 31, 2024, our contract liabilities increased by $34.6 million primarily due to advance payments received or accrued in the current year for future sales of solar modules, partially offset by the recognition of revenue for sales of solar modules for which payment was received in prior years. During the years ended December 31, 2024 and 2023, we recognized revenue of $433.6 million and $432.7 million, respectively, that was included in the corresponding contract liability balance at the beginning of the periods. As of December 31, 2024, we had entered into contracts with customers for the future sale of 68.5 GW of solar modules for an aggregate transaction price of $20.5 billion, which we expect to recognize as revenue through 2030 as we transfer control of the modules to the customers. This volume and transaction price exclude contracts with customers in India for which payment has not been fully secured. This transaction price also excludes estimates of variable consideration associated with (i) future module technology improvements, including enhancements to certain energy related attributes, (ii) sales freight in excess of defined thresholds, (iii) changes to certain commodity prices, and (iv) the module wattage committed for delivery, among other things. As a result, the revenue recognized from such contracts may increase or decrease in future periods relative to the original transaction price. These contracts may also be subject to amendments as agreed to by the parties to the contract. These amendments may increase or decrease the volume of modules to be sold under the contract, change delivery schedules, or otherwise adjust the expected revenue under these contracts. See Note 21. “Segment and Geographical Information” for the disaggregation of revenue by reportable segment.

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