XML 82 R52.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Note 21. Segment and Geographical Information (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
Segment Reporting [Abstract] |
Schedule of Segment Reporting Information, by Segment | The following tables provide a reconciliation of certain financial information for our reportable segment to information presented in our consolidated financial statements for the years ended December 31, 2024, 2023, and 2022 (in thousands):
|  | Year Ended December 31, 2024
|  | Modules |  | Other |  | Consolidated Total
Net sales |  | $ | 4,202,733 |  |  | $ | 3,556 |  |  | $ | 4,206,289 |
Cost of sales |  | 2,342,045 |  |  | 6,380 |  |  | 2,348,425 |
Gross profit (loss) |  | 1,860,688 |  |  | (2,824) |  |  | 1,857,864 |
Goodwill |  | 28,335 |  |  | — |  |  | 28,335 |
|  | Year Ended December 31, 2023
|  | Modules |  | Other |  | Consolidated Total
Net sales |  | $ | 3,296,809 |  |  | $ | 21,793 |  |  | $ | 3,318,602 |
Cost of sales |  | 2,019,388 |  |  | (1,465) |  |  | 2,017,923 |
Gross profit |  | 1,277,421 |  |  | 23,258 |  |  | 1,300,679 |
Goodwill |  | 29,687 |  |  | — |  |  | 29,687 |
|  | Year Ended December 31, 2022
|  | Modules |  | Other |  | Consolidated Total
Net sales |  | $ | 2,428,278 |  |  | $ | 191,041 |  |  | $ | 2,619,319 |
Cost of sales |  | 2,312,881 |  |  | 236,580 |  |  | 2,549,461 |
Gross profit (loss) |  | 115,397 |  |  | (45,539) |  |  | 69,858 |
Goodwill |  | 14,462 |  |  | — |  |  | 14,462 |
Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area | The following table presents net sales for the years ended December 31, 2024, 2023, and 2022 by geographic region, based on the customer country of invoicing (in thousands):
|  | 2024 |  | 2023 |  | 2022
United States |  | $ | 3,904,844 |  |  | $ | 3,187,603 |  |  | $ | 2,193,619 |
India |  | 201,714 |  |  | 10,869 |  |  | 37,215 |
France |  | 34,370 |  |  | 68,302 |  |  | 67,656 |
Chile |  | — |  |  | 9 |  |  | 173,279 |
All other foreign countries |  | 65,361 |  |  | 51,819 |  |  | 147,550 |
Net sales |  | $ | 4,206,289 |  |  | $ | 3,318,602 |  |  | $ | 2,619,319 |
Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country | The following table presents long-lived assets, which include property, plant and equipment, lease assets, and project assets as of December 31, 2024 and 2023 by geographic region, based on the physical location of the assets (in thousands):
|  | 2024 |  | 2023
United States |  | $ | 3,911,923 |  |  | $ | 2,734,952 |
Malaysia |  | 646,111 |  |  | 718,692 |
Vietnam |  | 500,568 |  |  | 544,380 |
India |  | 471,736 |  |  | 478,667 |
All other foreign countries |  | 52,345 |  |  | 50,492 |
Long-lived assets |  | $ | 5,582,683 |  |  | $ | 4,527,183 |

X
- Definition Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 + Details
Name: | us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(1)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 + Details
Name: | us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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