SolarSoftwares
Book a demo

What Is Solar Financial Modelling?

How we keep reviews fair

Quick answer

Solar financial modelling (also spelled modeling) is the year-by-year model that turns a PV system’s energy yield into cash flow, IRR, NPV, payback and debt cover. It is built in 5 linked blocks: inputs, a yield-to-revenue chain, costs, debt and tax, and outputs. Sensitivity, scenarios and audit checks test the result.

Ready to see how it works?

Tell the SolarSoftwares team which tool you are considering. We reply by email to book your demo.

Book a demo
Jump to a section

Key takeaways

  • A solar model has five blocks, from inputs to outputs. The FAST Standard asks for separate sheets by type: foundation, workings, presentation and control.
  • This example’s 2 MWdc project has capex of 2.30 million USD and debt of 1.51 million USD. Project IRR is 6.77%, equity IRR is 8.42% and the lowest debt cover is 1.30.
  • Moving price or yield by 10% shifted equity IRR by about 2.2 to 2.4 points. Degradation moved it by 0.10 points.
  • A combined downside (P90 energy, flat price, O&M up 10%) took equity IRR to 2.12% and lowest debt cover to 0.92. Six years fell below 1.00.
  • Six seeded mistakes moved equity IRR by 0.13 to 4.78 points. A targeted check flagged each one, but "NPV at the IRR is zero" flagged none.

To build debt, tax and what-if cases in software, see the best solar financial modelling software.

Financial modelling at a glance

A financial model is a set of linked calculations. It answers "what do we earn, and how sure are we?" for one set of assumptions.

ItemDetail
Core chainSize × yield × availability × degradation = energy. Energy × price = revenue. Revenue − costs = EBITDA. EBITDA − debt service − tax = cash to equity.
OutputsCash flow, IRR, NPV, payback, LCOE and debt cover. Our example: 8.42% equity IRR, 1.30 lowest cover.
Where it mattersCommercial and utility proposals, lender and investor packs, PPA pricing, go or no-go studies.
Standard or ruleNo solar-specific standard was found. The FAST Standard (July 2019) sets rules for how to build a spreadsheet, such as consistent formulas and no embedded constants.
In softwareDesign and finance tools bundle a financial block. Depth of debt, tax and what-if tools differs.

Why does financial modelling matter for installers?

The model sets the price a buyer sees and the debt a lender offers. Small slips can hide inside a model that still gives a tidy IRR.

In the seeded-mistake table below, one wrong O&M unit lifted equity IRR by 4.78 points. A buyer’s finance team will ask what sits behind the headline number. You need a structure you can explain. You also need checks you can show. For the cash flow table itself, see cash flow analysis.

Tornado of equity IRR change for seven inputs beside six seeded modelling mistakes and the checks that flag them

Figure 1. A single modelling slip can move equity IRR as far as a 10% swing in price. Only targeted checks flag it.

What are the blocks of a solar financial model?

A solar model has five blocks. Inputs feed a yield-to-revenue chain, a cost block and a debt and tax block. Outputs read from all of them.

  1. Inputs. Size, capex, yield, availability, degradation, price, escalators, O&M, debt terms and tax. Each input has one cell and one unit.
  2. Yield-to-revenue chain. Energy comes from an energy yield simulation, less degradation. Price turns energy into revenue. See power purchase agreements.
  3. Costs. Year-0 capex, then yearly O&M and other opex.
  4. Debt and tax. A loan schedule gives interest and principal. Tax uses profit after depreciation and interest.
  5. Outputs. Cash flow, IRR, NPV, payback and debt cover, plus the audit checks.

The FAST Standard (version 02c, July 2019) gives related rules for sheets. Quotes are as printed in the PDF on fast-standard.org.

  • Rule 1.01-01: "Separate worksheets by type: Foundation, Workings, Presentation and Control."
  • Rule 3.02-01: "Formulas must be consistent".
  • Rule 3.04-01: "Do not write formulas with embedded constants".
  • Rule 3.05-04: "Include a units designator on all line items".
  • Rule 2.03-05: "Include master error checks and alert indicators in the freeze pane".

HelioScope’s help shows the same idea in a tool. In a project, you can set its financial inputs as editable or locked (help article dated 4 September 2026 as it prints).

Worked example: a 2 MWdc commercial project

Year 1 of our example turns 2.97 million kWh into 48,104 USD of cash to equity. The figures are computed in code, and the calculator gives the same results. This example project differs from the one on the IRR page.

Input (example)Value
Size and capex2,000 kWdc at 1.15 USD per W = 2,300,000 USD at year 0
Energy1,500 kWh per kWdc (P50 yield) × 99% availability. Degradation 0.5% a year from year 2. 25 years
Price0.085 USD per kWh in year 1, rising 1.5% a year
O&M22 USD per kWdc in year 1 (44,000 USD), rising 2% a year
DebtSized so the lowest year of EBITDA ÷ debt service is 1.30. Capped at 70% of capex. 6.5%. 15 level payments
TaxFlat 25% of EBITDA − depreciation − interest, floored at zero. Straight-line depreciation over 20 years. No loss carry-forward
Left outIncentives, reserve accounts, fees, land, insurance and working capital
Year-1 lineValueHow it is built
Energy2,970,000 kWh2,000 × 1,500 × 0.99
Revenue252,450 USDEnergy × 0.085
O&M44,000 USD2,000 × 22
EBITDA208,450 USDRevenue − O&M
Debt service160,346 USD1,507,682 USD at 6.5% over 15 years, level payments
Tax0 USD208,450 − 115,000 depreciation − 97,999 interest is below zero
Cash to equity48,104 USDEBITDA − debt service − tax

Debt is 65.6% of capex, so equity puts in 792,318 USD at year 0. Project IRR is 6.77% and equity IRR is 8.42%. The lowest debt cover is 1.30 by design. The average is 1.37. Energy in year 25 is 2,633,361 kWh, which is 11.3% below year 1. We measure debt cover on pre-tax EBITDA. That avoids a loop between tax and debt. Lenders set their own cover terms. For what IRR and NPV mean, see the IRR and NPV pages.

How should you test a model: sensitivity or scenarios?

Sensitivity moves one input at a time. A scenario moves several inputs together under a name. Use sensitivity to find what matters. Use scenarios to test what could go wrong at once.

Our sensitivity moves each input 10% (relative). The debt amount stays at 1,507,682 USD. A real loan does not shrink when yield falls. Capex and yield or price move equity IRR the most.

Input moved 10%Equity IRR change, points (lower / higher)
Capex+2.74 / −1.84
Yield, or price in year 1−2.43 / +2.24
Debt interest rate+0.44 / −0.47
O&M+0.44 / −0.45
Price escalator−0.28 / +0.28
Degradation+0.10 / −0.10

Yield and price share one row because they move revenue in the same way. A 10% move in a 0.5% degradation rate is only 0.05 points of rate. Equal relative moves are not equally likely, so pick each range from evidence. Yield or price at minus 10% also cut lowest debt cover from 1.30 to 1.14.

The next table shows how combined downsides hit returns and debt cover. Scenarios keep the debt amount at the base figure too, unless the row says "re-sized". Our P90 factor is 0.8975. We get it from P90 = P50 × (1 − 1.2816 × U) with an example U of 8%. See P50, P90 and P99.

Scenario (debt held unless stated)Equity IRRProject IRRLowest coverYears below 1.00
Base (P50)8.42%6.77%1.300
P90 energy only5.93%5.55%1.140
Flat price (0% escalator) only5.44%5.17%1.110
O&M up 10% only7.98%6.55%1.270
Combined downside2.12%3.63%0.926
Combined downside, debt re-sized to 1.30 (1,065,754 USD)2.95%3.63%1.300

The three single effects sum to −5.92 points. The combined case is −6.31. Effects interact, so adding single tests understates a joint downside. Re-sizing debt raised equity IRR here only because debt at 6.5% costs more than the project’s 3.63% return. In the combined row, a year where debt service is above EBITDA counts as an equity top-up.

Which checks catch model errors?

Each check should test one thing the model could get wrong, from outside the formula chain. Six mistakes were put into the correct model, one at a time, and seven checks were run. The table shows which check flagged which mistake.

CheckTestSeeded mistake it flagged (equity IRR change)
C1Year-1 energy equals size × yield × availabilityDegradation applied from year 1 (−0.13 points)
C2Energy never rises when degradation is above zeroDegradation sign flipped (+1.85)
C3O&M path matches an independent formulaO&M escalator applied twice (−0.92)
C4O&M input sits inside a sanity band (this example’s band: 5 to 60 USD per kWdc per year)O&M typed per MWdc, so 1,000 times too small (+4.78)
C5Loan balance is zero after the last paymentInterest charged on the original loan (+0.63)
C6Tax equals rate × (EBITDA − depreciation − interest)Tax before the interest deduction (−1.43)
C7NPV at the reported equity IRR is zeroNone of the six

C7 passes every time because it tests the solver, not the logic. A passing check proves only what it tests. Only one check caught the smallest slip, 0.13 points. It was C1.

These checks are our design. They match the spirit of FAST Appendix B: a check "should not fail" whatever the scenario. Run them on every scenario, not only the base case. Set a band like C4 from your own past projects, because ours is example.

Solar financial model checker

The presets match the tables above. The seed menu matches the audit table. The calculator warns about blank, zero, negative or out-of-range inputs instead of showing a wrong number. It is a design aid, not financial advice.

Open the calculator on its own page

How solar software handles financial modelling

All five tools below name a tax input. They differ on debt and on what-if tools: only SAM lists parametric and stochastic runs, and Aurora’s loan inputs cover customer payments. The pages were checked October 2026.

SoftwareDebt and tax inputsWhat-if toolsSource and date
SAMDebt: yes. Tax: yes.Yes: parametrics and stochastic runsSAM help, financial parameters and simulation options. No date shown. Twelve financial models listed
Solargis ProspectDebt: yes. Tax: yes.Partly: saved input setsSolargis knowledge base, updated 24 September 2026
HelioScopeDebt: Not stated. Tax: yes, effective tax rate and depreciation.Partly: yearly debug viewDepreciation article updated 8 July 2025. Debug article: no date shown. Step-by-step article dated 4 September 2026
Aurora SolarDebt: partly, customer loan rate, dealer fee and term. Tax: yes, rates and depreciation (MACRS, straight-line or none).Partly: with and without solarAurora help, updated 15 May 2026
PVsystDebt: yes, the Loans input. Tax: yes, the “Income tax rate” input.Not statedPVsyst help, financial parameters and economic evaluation. No date shown

"Yes" means the page names the input or tool. "Partly" means it names a narrower input than the full job. "Not stated" means the pages read do not mention it. That covers the HelioScope debt input and PVsyst what-if tools. PVsyst batch and parametric pages were not among the pages read. For tools that build debt, tax and what-if cases, see the best solar financial modelling software.

Common mistakes with financial modelling

FAQs

What is the difference between sensitivity and scenario analysis?

Sensitivity changes one input and holds the rest. Scenario analysis changes several inputs together, such as P90 energy, flat price and higher O&M. In our example the three single effects summed to −5.92 points. The combined case gave −6.31.

What should a solar financial model include?

A solar financial model turns energy yield into cash flow, IRR, NPV, payback and debt cover. It should include five blocks: inputs, a yield-to-revenue chain, costs, debt and tax, and outputs. Keep sheets separate by type, as the FAST Standard asks. Add audit checks and test more than one scenario, so the results show a range.

Should debt be re-sized when I test a downside?

Do both, and label which is which. Hold the loan amount to see whether the project can pay the debt it has. Re-size to see what a lender might offer on that case. Annual debt service equals the lowest EBITDA divided by the target cover. Our combined downside gave debt cover of 0.92 when held. It gave 1.30 when re-sized to 1,065,754 USD.

How do I check a solar financial model for errors?

Test inputs, schedules and logic separately. Tie year-1 energy back to size and yield. Check that the loan reaches zero. Work out tax again from its parts. Add range bands on inputs. Run every check on every scenario.

Does a financial model predict returns?

No. It shows what follows from your assumptions. So show the range and state each assumption beside each result. For real versus nominal rates, see NPV.

Why do two tools give different results for one project?

Often the blocks differ: tax, debt, timing, horizon or incentives. In our example, one modelling choice alone moved the combined downside from 2.12% equity IRR with debt held to 2.95% when re-sized.

Next step: compare how tools handle debt, tax and what-if cases in the best solar financial modelling software.

Sources

Last updated 30 October 2026. Next scheduled review: 30 January 2027.

See the software on your shortlist.

Tell the SolarSoftwares team what you want in your solar software.

Your request goes by email to the SolarSoftwares team. A demo time is set only after we reply.