Debt Sculpting: Turning CFADS Into an Amortization Schedule Without Hiding the Circularity

Debt Sculpting: Turning CFADS Into an Amortization Schedule Without Hiding the Circularity

September 17, 2026 · Dezzmond Team
Project Finance Debt Sizing: From Constraints to Merchant Tail Debt Sizing

A credit agreement can say the debt is sized on a sculpted basis taking into account seasonality of projected revenues.

That sounds like the hard part.

It usually is not.

If CFADS, the target DSCR and the debt rate are already known, the sculpt itself is just a payment schedule:

Debt Service(t)
=
CFADS(t) / Target DSCR(t)

Discount those permitted debt-service payments at the debt rate and you have the opening debt balance.

Then interest and principal follow.

The circularity appears when the debt changes the CFADS being used to size the debt — through taxes, fees, reserve funding, construction interest or another item that sits on both sides of the calculation.

That distinction matters because many models turn iterative calculation on for the entire workbook to solve a problem that only exists in a few rows.

The pure sculpt is a present-value problem

Assume the lender has approved this annual CFADS profile:

Year 1   $26.0m
Year 2   $25.7m
Year 3   $25.5m
...

Target DSCR is 1.30x.

Maximum permitted debt service is simply:

Year 1   26.0 / 1.30 = $20.00m
Year 2   25.7 / 1.30 = $19.77m
Year 3   25.5 / 1.30 = $19.62m
...

If the debt rate is fixed at 6.5%, the initial loan balance is the present value of that debt-service stream.

Opening Debt
=
Σ [ Debt Service(t) / (1 + 6.5%)^t ]

Once the opening balance is known:

Interest(t)
=
Opening Balance(t) × Rate(t)

Principal(t)
=
Debt Service(t) - Interest(t)

Closing Balance(t)
=
Opening Balance(t) - Principal(t)

Run the schedule forward and, absent other constraints, the closing balance reaches zero at the end of the amortization period.

No Goal Seek is required.

No workbook iteration is required.

The same principle appears in filed credit agreements. Greenbacker's financing documents expressly describe principal and interest that would be required if the approved project debt were amortized on a sculpted basis taking into account seasonality of projected revenues. The credit agreement is not telling Excel to iterate. It is describing a payment profile tied to cash flow.

Sculpting does not mean DSCR must be perfectly flat

A model can be “sculpted” without every period landing exactly on the same ratio.

Why?

Because the credit agreement can add constraints on top of the target coverage profile.

Examples:

  • minimum principal amortization;
  • fixed mandatory installments;
  • legal maturity before notional amortization ends;
  • cash sweep;
  • merchant-period step-up in target DSCR;
  • P50 and P99 sizing simultaneously;
  • a maximum balloon;
  • a hard commitment cap.

A 2026 financing agreement filed with the SEC gives a particularly clear example. It defines Debt Sizing Parameters using different contracted and non-contracted cash-flow divisors, with P50 and P99 alternatives, and also imposes a limit on the term loans projected to remain outstanding at maturity.

So the practical sculpt is:

Desired DS from coverage target
→ apply required amortization / maturity constraints
→ calculate interest
→ derive principal
→ verify coverage and final balance

The target DSCR is an input to the repayment shape.

It is not a promise that every row of the finished schedule will equal the target to four decimals.

Seasonality is one reason sculpting exists

A solar project does not produce a level amount of cash every quarter.

Neither does wind.

A level amortization schedule against seasonal CFADS creates high coverage in strong quarters and low coverage in weak quarters.

Sculpting can move principal into the periods where cash is available.

Quarterly illustration:

CFADS       Target DSCR      Max DS
Q1  $4.0m      1.30x        $3.08m
Q2  $8.0m      1.30x        $6.15m
Q3  $9.0m      1.30x        $6.92m
Q4  $5.0m      1.30x        $3.85m

A level $5 million quarterly debt service would create:

Q1 DSCR = 0.80x
Q2 DSCR = 1.60x
Q3 DSCR = 1.80x
Q4 DSCR = 1.00x

The annual cash may be enough.

The quarterly structure is not.

A sculpt uses the project's cash shape rather than pretending the asset is an annuity.

This is one reason the payment frequency, seasonality and DSCR test period need to be aligned.

A stepped target is still a clean sculpt

Suppose a project has twelve years of contracted revenue followed by three merchant years.

The lender can use one target during the contracted period and another during the merchant period.

Illustrative only:

Years 1–12   Target DSCR = 1.30x
Years 13–15  Target DSCR = 1.80x

Then:

DS(t)
=
CFADS(t) / applicable target(t)

Nothing becomes circular merely because the target changes.

The merchant years simply support less debt service per dollar of CFADS.

A DESRI filed financing agreement uses exactly this kind of conceptual split: one coverage requirement during the PPA term and a materially higher P50 requirement for a limited period after PPA expiry.

The lesson is useful beyond merchant tails.

A stepped target can also reflect:

  • counterparty downgrade;
  • change from fixed to floating revenue;
  • end of a hedge;
  • phase-specific operating risk;
  • explicit credit-agreement sizing rules.

Floating-rate debt changes the discounting mechanics

The cleanest sculpt assumes a known debt rate.

Many facilities are floating-rate loans with an interest-rate swap or another hedge.

The model then needs the rate path used for sizing.

A filed Greenbacker facility, for example, references a forward swap rate plus a margin when determining the amortization used for project value.

That means the sizing rate can be a curve, not one flat cell.

The present-value logic still works:

DF(t)
=
1 /
Π(1 + rate for each period to t)

Debt
=
Σ [ Debt Service(t) × DF(t) ]

The repayment schedule then uses the same sizing-rate assumptions unless the financing documents specify another convention.

The mistake is to sculpt at one assumed rate and then calculate interest using another rate path without checking the final debt balance.

The zero-balance check is the first control

A clean sculpt has a very simple model control:

Closing Debt Balance at end of amortization
=
0

If the required structure includes a permitted balloon, the control becomes:

Closing balance
=
contractual permitted balloon

That check belongs on the output page.

Do not hide it in the debt tab.

A schedule that reports perfect DSCRs and leaves $8 million unpaid at the end is not a successful sculpt.

It is an incomplete loan.

Where the real circularity begins: tax

Suppose cash tax is included in CFADS.

Interest expense affects taxable income.

Interest depends on debt.

Debt is sized from CFADS.

Now the loop is real:

Debt
→ Interest
→ Taxable Income
→ Cash Tax
→ CFADS
→ Debt

This cannot be solved by pretending the interest deduction does not exist.

But it can be isolated.

A disciplined process is:

  1. size the debt on a first-pass tax assumption;
  2. calculate interest;
  3. recalculate cash tax;
  4. recalculate CFADS;
  5. resize;
  6. repeat until the debt movement is below a stated tolerance.

The key is that the tax loop is being iterated.

The pure sculpt is still just the PV of allowable debt service.

That separation makes the model much easier to audit.

Tax losses create kinks

The loop gets harder when tax is not a smooth function.

For example:

Cash Tax
=
MAX(0, Taxable Income - NOL Utilization) × Tax Rate

Now one iteration can put the project just above the tax threshold and the next can put it below.

The same issue arises with:

  • interest-deduction limitations;
  • tax-loss carryforwards;
  • minimum taxes;
  • tax-credit utilization;
  • step changes in depreciation.

That is where a model can oscillate rather than converge smoothly.

A reviewer should therefore look at the convergence path, not merely the final value.

Construction circularity is a different loop

IDC creates a separate problem.

During construction:

More debt
→ more interest during construction
→ more project cost
→ possibly more gearing debt
→ more debt

Fees can do the same thing if they are calculated as a percentage of the facility and financed as part of project cost.

A debt-service reserve can create another loop if it is:

  • sized from future debt service;
  • funded from debt;
  • included in project cost;
  • and project cost affects the permitted debt amount.

Those loops should not be mixed with the operating sculpt.

I would keep separate blocks for:

Construction funding / IDC circularity
Operating debt sculpt
Tax / CFADS circularity
DSRA / financing-cost circularity

Then each loop can have its own control and tolerance.

Turning Excel iteration on globally can conceal all four.

The model can often solve construction gearing algebraically

Some construction circularities have a direct solution.

Simplified example:

Base project cost excluding IDC      C
Gearing percentage                   g
Debt rate during construction        r
Average debt balance factor          a
Construction period                  T

Approximate IDC:

IDC
=
Debt × r × a × T

If debt equals gearing times total cost:

Debt
=
g × (C + IDC)

Substitute:

Debt
=
g × (C + Debt × r × a × T)

Solve:

Debt
=
g × C
/
(1 - g × r × a × T)

A full construction model is more granular than that, but the principle matters: a circular dependency does not automatically require workbook iteration.

Sometimes the algebra is available.

Minimum amortization can break the perfect sculpt

Suppose the coverage-based principal in year 1 is only $2 million, but the credit agreement requires at least $5 million of principal.

Then debt service is no longer:

CFADS / Target DSCR

It becomes at least:

Interest + $5m principal

The resulting DSCR can be above or below the original target depending on the permitted starting debt.

This means the debt amount itself may have to be solved subject to the amortization floor.

The model should report the affected periods:

Period
Coverage-based principal
Minimum principal
Actual principal
DSCR after constraint

That is more transparent than calling the schedule “sculpted” and leaving the reader to discover the floor later.

Legal maturity and notional amortization can diverge

A mini-perm can be sized on a long notional amortization period but mature much earlier.

Example:

Notional amortization end   Year 20
Legal maturity              Year 7
Expected balance at Year 7  $X

The schedule from Year 1 to Year 20 determines the sizing.

The facility contractually matures in Year 7.

The remaining notional balance becomes the refinancing exposure.

This is another reason the final balance check has to be attached to the right date.

At legal maturity:

Expected balance = refinancing amount

At notional amortization end:

Expected balance = zero

Those are both correct.

They answer different questions.

How I would structure the Excel model

Keep the sizing logic visible.

Block 1 — lender cash flow

P50 CFADS
P99 CFADS
Contracted CFADS
Merchant CFADS
Applicable target DSCR by period

Block 2 — permitted debt service

Coverage Debt Service
Minimum / fixed amortization adjustment
Final Actual Debt Service

Block 3 — opening debt solve

For a clean sculpt:

Sized Debt
=
SUMPRODUCT(
  Debt Service,
  Discount Factors
)

Block 4 — amortization

Opening Balance
Interest
Principal
Closing Balance

Block 5 — controls

Final balance check
Minimum principal check
Minimum DSCR check
P50 sizing check
P99 sizing check
Maturity / balloon check

Block 6 — circularity controls

If iteration is required:

Iteration count
Debt change vs prior iteration
Tolerance
Convergence flag
Reason for circularity

That last line matters.

A reviewer should know why iteration is enabled.

A numerical sculpt

Illustrative assumptions:

P50 CFADS Year 1              $26.0m
Annual CFADS decline             1.0%
Target DSCR                     1.30x
Debt rate                        6.5%
Amortization period           18 years

Year 1 permitted debt service:

26.0 / 1.30 = $20.0m

Year 2 CFADS:

26.0 × 99% = $25.74m

Year 2 permitted debt service:

25.74 / 1.30 = $19.80m

Continue the series, discount the debt-service profile at 6.5%, and the present value is the opening loan.

Then calculate:

Interest Year 1
=
Opening Debt × 6.5%

Principal Year 1
=
20.0 - Interest Year 1

The final debt balance should resolve to zero if there are no additional constraints.

Now add a stepped merchant target in years 16–18 and recompute the debt-service stream.

No circularity was introduced.

The tail simply contributes less present value.

A sensitivity table can expose bad circularity

There is a useful QA test that rarely appears in models.

Run the same input sensitivity twice:

  1. from low to high;
  2. from high to low.

If the model contains an unstable circularity, the result can depend on the direction from which Excel approached the solution.

A well-behaved model should return the same result.

Also test:

  • full recalc from a fresh file open;
  • iteration tolerance tightened;
  • iteration count increased;
  • a small irrelevant input changed and changed back.

If the debt amount does not return to the same value, the model is landing rather than solving.

That is a model risk, not a formatting issue.

The handoff to merchant debt

Sculpting tells you how an approved cash-flow case becomes debt service.

It does not tell you which cash flow the lender is willing to approve.

That question becomes most visible at the end of the PPA.

Part 3 separates contracted cash from merchant cash, uses filed credit agreements to show how the lender can apply different coverage ratios and explicit merchant caps, and measures what the merchant tail actually contributes to the loan.

Sources: SEC — Greenbacker Credit Agreement: Sculpted Amortization · SEC — 2026 Debt Sizing Parameters With Contracted / Non-Contracted Cash Flow · SEC — DESRI Financing Agreement