XML 66 R51.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Summary of Significant Accounting Policies - Additional Information (Details) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2024 USD ($) reporting_unit segment business_activity | Dec. 31, 2023 USD ($) | Dec. 31, 2022 USD ($)
Summary Of Significant Accounting Policies [Line Items] |  |  |
Number of operating segments | segment | 1 |  |
Number of business activities | business_activity | 1 |  |
Bad debt expense | $ 17,000 | $ 21,700 | $ 17,000
Uncollectible receivables written off | 20,700 | 15,800 | 10,300
Capitalized additional costs associated with software | $ 25,900 | 21,300 | 10,000
Number of reporting units | reporting_unit | 1 |  |
Deferred revenue, revenue recognized | $ 137,700 | 113,300 | 99,000
Goodwill impairment | 3,122,168 | 1,158,000 | 0
Contracted but not yet recognized | $ 31,300,000 |  |
Revenue expected to recognize over next twelve months, percent | 5.00% |  |
Revenue recognized, term, existing deferred revenue | 10 years |  |
Performance obligation guarantees, intervals in which systems are monitored to insure performance is met | 2 years |  |
Renewal term | 5 years |  |
Vivant | Common Stock |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Business combination, consideration transferred | 0.55 |  |
Solar energy systems and product sales |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Costs | $ 539,952 | 1,019,638 | $ 1,178,548
Solar energy systems and product sales | Cost of Goods and Service Benchmark | Supplier Concentration Risk | Top Five Suppliers |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Costs | $ 854,900 | $ 561,600 |
Minimum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Supplier payment term | 90 days |  |
Power purchase or lease agreement term | 20 years |  |
Maximum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Supplier payment term | 120 days |  |
Power purchase or lease agreement term | 25 years |  |
Solar energy systems |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Estimated useful life | 35 years |  |
Solar energy systems | Under Customer Agreements: |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Residential solar energy system, average age | 6 years |  |
Inverters and batteries | Minimum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Estimated useful life | 10 years |  |
Inverters and batteries | Maximum |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Estimated useful life | 15 years |  |
Software and software development costs |  |  |
Summary Of Significant Accounting Policies [Line Items] |  |  |
Estimated useful life | 3 years |  |

X
- Definition Business Combination, Exchange Ratio, Shares + References No definition available. + Details
Name: | run_BusinessCombinationExchangeRatioShares
Namespace Prefix: | run_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | duration

X
- Definition Capitalized additional costs associated with software. + References No definition available. + Details
Name: | run_CapitalizedAdditionalCostsAssociatedWithSoftware
Namespace Prefix: | run_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Contract With Customer, Revenue Expected to Recognize Over Next Twelve Months, Percent + References No definition available. + Details
Name: | run_ContractWithCustomerRevenueExpectedtoRecognizeOverNextTwelveMonthsPercent
Namespace Prefix: | run_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Contract with Customer, Amount Not Yet Recognized + References No definition available. + Details
Name: | run_ContractwithCustomerAmountNotYetRecognized
Namespace Prefix: | run_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Number of business activities. + References No definition available. + Details
Name: | run_NumberOfBusinessActivities
Namespace Prefix: | run_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Property, Plant and Equipment, Average Age + References No definition available. + Details
Name: | run_PropertyPlantandEquipmentAverageAge
Namespace Prefix: | run_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue, Performance Obligation, Period To Monitor Whether Performance Is Met + References No definition available. + Details
Name: | run_RevenuePerformanceObligationPeriodToMonitorWhetherPerformanceIsMet
Namespace Prefix: | run_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period, Prior + References No definition available. + Details
Name: | run_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriodPrior
Namespace Prefix: | run_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Summary of significant accounting policies. + References No definition available. + Details
Name: | run_SummaryOfSignificantAccountingPoliciesLineItems
Namespace Prefix: | run_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of direct write-downs of accounts receivable charged against the allowance. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities. + 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(2)(d)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 2: 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(2)(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 924 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1 + Details
Name: | us-gaap_CostOfGoodsAndServicesSold
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (b) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 24 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 100 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482598/350-20-45-2 + Details
Name: | us-gaap_GoodwillImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479773/842-30-50-3 + Details
Name: | us-gaap_LessorOperatingLeaseRenewalTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479773/842-30-50-3 + Details
Name: | us-gaap_LessorOperatingLeaseTermOfContract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 49 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18 + Details
Name: | us-gaap_NumberOfOperatingSegments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment. + References No definition available. + Details
Name: | us-gaap_NumberOfReportingUnits
Namespace Prefix: | us-gaap_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of expense (reversal of expense) for expected credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 + Details
Name: | us-gaap_ProvisionForDoubtfulAccounts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Useful life of other equipment owned by public utility, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_PublicUtilitiesPropertyPlantAndEquipmentEquipmentUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period when payment is expected to be made to finance provider or intermediary in supplier finance program, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 405 -SubTopic 50 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479468/405-50-50-3 + Details
Name: | us-gaap_SupplierFinanceProgramPaymentTimingPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=run_VivantMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_CostOfGoodsTotalMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=run_TopFiveSuppliersMember
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=run_SolarEnergySystemsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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