Finance & Business · Project Finance & Infrastructure Investment · Project tax depreciation, interest limits, NOLs, and cash tax

Tax Depreciation NOL Carryforward Cash Tax Calculator

Builds a ten-year synthetic cash-tax schedule with straight-line, declining-balance, or entered depreciation; full or EBITDA-capped interest deduction with carryforward; limited or unrestricted modeled NOL utilization; and visible basis and NOL roll-forwards.

Last updated
System Flow

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

TAX Depreciation Mode
About this input

Selects vintage-tracked straight-line, pooled declining-balance, or entered annual tax depreciation.

Default Straight-line by vintage Allowed Straight-line by vintage, Declining-balance pooled basis, Entered tax depreciation
TAX NOL Utilization Mode
About this input

Limits NOL usage to the entered percentage of positive taxable income or allows up to the full amount.

Default Limited percentage of positive taxable income Allowed Limited percentage of positive taxable income, Unrestricted modeled utilization
TAX Interest Deduction Mode
About this input

Fully deducts modeled interest and carryforward or caps the deduction at an entered percentage of positive EBITDA.

Default EBITDA percentage cap Allowed Full modeled interest deduction, EBITDA percentage cap
TAX Straight Line Life Years
About this input

Five-, seven-, or ten-year life applied separately to opening basis and each annual tax-capex vintage.

Default 10 Allowed 5, 7, 10
TAX Opening Tax Basis
About this input

Tax basis available before year-one tax capex; the straight-line route treats it as an age-one vintage in year one.

Unit currency millions Default 500 Range 0 to 1000000000000
TAX Declining Balance Rate
About this input

Annual rate applied to available pooled basis in the declining-balance route.

Unit fraction/year Default 0.2 Range 0 to 1
TAX Statutory Tax Rate
About this input

User-entered rate applied to positive taxable income after NOL utilization.

Unit fraction Default 0.25 Range 0 to 1
TAX Opening NOL Carryforward
About this input

Modeled loss carryforward available at the start of year one.

Unit currency millions Default 100 Range 0 to 1000000000000
TAX NOL Utilization Percent
About this input

Maximum fraction of positive pre-NOL taxable income offset in the limited route.

Unit fraction Default 0.8 Range 0 to 1
TAX Interest Cap Percent EBITDA
About this input

Maximum modeled interest deduction as a fraction of positive EBITDA in the capped route.

Unit fraction Default 0.3 Range 0 to 1
TAX Annual Grid
About this input

Exactly ten complete rows with positional year, nonnegative revenue, deductible operating cost, cash interest, tax capex, and entered depreciation.

Default 10 rows
ColumnRange or allowed values
Year 1 to 10
Revenue 0 to 1000000000000
Deductible operating cost 0 to 1000000000000
Cash interest 0 to 1000000000000
Tax capex 0 to 1000000000000
Entered tax depreciation 0 to 1000000000000

Outputs

TAX Total Tax Depreciation Conditional
About this output

Sum of annual depreciation allowed by the selected route and available pooled basis.

Unit currency millions
TAX Total Allowed Interest Conditional
About this output

Sum of modeled current and carried interest deductions allowed by the selected route.

Unit currency millions
TAX Ending Disallowed Interest Carryforward Conditional
About this output

Current and prior modeled interest not deducted by the final year.

Unit currency millions
TAX Total NOL Utilized Conditional
About this output

Sum of NOL applied to positive taxable income across ten years.

Unit currency millions
TAX Ending NOL Carryforward Conditional
About this output

Opening and generated NOL less modeled utilization through year ten.

Unit currency millions
TAX Total Taxable Income After NOL Conditional
About this output

Sum of positive taxable income remaining after annual NOL usage.

Unit currency millions
TAX Total Cash Tax Conditional
About this output

Sum of annual taxable income after NOL multiplied by the entered tax rate.

Unit currency millions
TAX Ending Tax Basis Conditional
About this output

Opening basis plus tax capex less modeled depreciation through year ten.

Unit currency millions
TAX Effective Cash Tax Rate Conditional
About this output

Total modeled cash tax divided by total positive taxable income after NOL; zero when the denominator is zero.

Unit fraction
Model Status
About this output

OK means the tax-basis, disallowed-interest, NOL, taxable-income, and cash-tax roll-forwards are finite and reconciled.

No unit declared

Methodology

Purpose and model boundary

This model builds a ten-year synthetic cash-tax schedule. It rolls tax basis through straight-line, declining-balance, or entered depreciation; applies full or EBITDA-capped interest deduction with carryforward; generates and uses modeled net operating losses (NOLs); and calculates taxable income and cash tax.

It is a transparent arithmetic template, not tax advice, a tax return, deferred-tax accounting, or a statement of law for any taxpayer or jurisdiction. Rates, lives, limits, and annual amounts are user assumptions and require qualified tax review.

Inputs and units

Tax basis, revenue, deductible operating cost, cash interest, tax capex, depreciation, NOL, taxable income, and cash tax use one user-consistent currency scale, shown as currency millions. The annual grid contains exactly ten positional years.

Depreciation can be straight-line by vintage, declining-balance on pooled basis, or an entered annual schedule. Straight-line life is 5, 7, or 10 years. Interest can be fully deducted or capped at an entered fraction of positive EBITDA. NOL use can be unrestricted within the model or limited to an entered fraction of positive pre-NOL taxable income.

Governing relationships

For year t, modeled EBITDA is:

EBITDA_t = Revenue_t - Deductible operating cost_t

Basis available is beginning tax basis plus current tax capex. Under straight-line depreciation, opening basis and every capex addition are separate vintages. Each vintage contributes Vintage basis / selected life beginning in its first modeled year and stops after the selected life. Total depreciation is capped at available basis.

The other routes are:

Declining-balance depreciation_t = min(Available basis_t, Available basis_t × Declining-balance rate)

Entered depreciation_t = min(Available basis_t, Entered depreciation_t)

Ending basis is max(0, Available basis_t - Depreciation_t).

Interest available for deduction is current cash interest plus prior disallowed interest. Full-deduction mode deducts that amount. Capped mode uses:

Allowed interest_t = min(Interest available_t, max(0, EBITDA_t × Interest cap percent))

Disallowed interest carried forward is interest available less allowed interest. Taxable income before NOL is:

Pre-NOL taxable income_t = EBITDA_t - Depreciation_t - Allowed interest_t

For positive pre-NOL income:

NOL used_t = min(Beginning NOL_t, Pre-NOL income_t × utilization fraction)

The utilization fraction is 1 in unrestricted mode or the entered limit in limited mode. A loss creates NOL generated_t = max(0, -Pre-NOL income_t). Ending NOL is beginning NOL less use plus generation. Taxable income after NOL is max(0, Pre-NOL income_t - NOL used_t), and cash tax is that amount times the entered statutory rate.

Calculation sequence

  1. Validate depreciation, NOL, interest, and life routes, scalar bounds, and the ten positional annual rows.
  2. Calculate EBITDA and basis available for each year.
  3. Apply vintage straight-line, pooled declining-balance, or entered depreciation and roll ending basis forward.
  4. Add current interest to prior disallowed interest, apply the selected deduction route, and roll the disallowed balance forward.
  5. Calculate pre-NOL taxable income, generate losses, apply permitted NOL use, and roll NOL forward.
  6. Calculate taxable income after NOL and cash tax.
  7. Sum the schedule, calculate ending basis/carryforwards and effective cash-tax rate, populate the chart, apply the basis reconciliation gate, and evaluate status.

Outputs and interpretation

The flow stages report total depreciation and ending basis; total allowed interest and ending disallowed-interest carryforward; total NOL utilized and ending NOL; total positive taxable income after NOL; and total cash tax with the effective cash-tax rate. The chart compares annual taxable income after NOL with annual cash tax.

Effective cash-tax rate is total cash tax divided by total positive taxable income after NOL, or zero when the denominator is zero. It is a model output under the entered rate, not a financial-statement effective tax rate.

Validation and status logic

The workbook evaluates status in this order:

Condition Returned status
A depreciation, NOL, interest, or life route is unsupported, a scalar bound fails, or years 1 through 10 are incomplete or out of position NOT VALID: choose supported depreciation, NOL, interest, and life routes and complete years one through ten
Basis, interest carryforward, NOL, taxable income, cash tax, or the basis reconciliation is nonnumeric, negative where prohibited, or outside the workbook's supported range NOT VALID: tax basis, carryforward, or cash-tax arithmetic exceeds the supported range
Neither condition applies OK

The derived gate requires ending basis to reconcile to opening basis plus total capex less total depreciation within 0.000000001 × max(1, opening basis + total capex). The workbook has no CHECK state.

Assumptions and limitations

  • Straight-line timing starts each vintage in its first modeled year. It does not apply statutory asset classes, half-year or mid-quarter conventions, bonus depreciation, or placed-in-service dates within a year.
  • Declining-balance and entered depreciation use pooled available basis. Entered depreciation is capped at basis, and unused requested depreciation does not carry forward.
  • The NOL utilization percentage and EBITDA interest cap are user assumptions, not claims about current statutory thresholds.
  • Disallowed interest carries forward without expiration, ordering, ownership-change, or jurisdiction-specific restrictions.
  • Deferred tax, tax credits, minimum tax, partnership allocations, withholding, consolidation, and jurisdictional apportionment are excluded.
  • All shipped basis, rates, NOLs, and annual rows are synthetic illustrations.

Restrictions and non-computing states

The grid must contain exactly ten complete rows, with year equal to row position 1 through 10. Revenue, deductible operating cost, cash interest, tax capex, and entered depreciation are nonnegative and within the published limits. Opening basis and opening NOL are nonnegative. Declining-balance rate, statutory rate, NOL utilization percent, and interest cap percent are from 0 through 1.

Zero basis, zero tax rate, losses, and zero annual amounts are valid. Inputs for an inactive depreciation route remain in the form but do not drive that route. Errors in the entered values and in the shape of the grid are rejected before calculation; an in-range year in the wrong row returns workbook NOT VALID.

Errors and warnings

A rejected entry means the submitted option, number, or fixed-grid entry did not satisfy the published input rules. Workbook NOT VALID identifies an unsupported/incomplete input domain or failed derived roll-forward arithmetic. There is no workbook CHECK state. A connection or calculation-service failure is a service error, not a tax result. OK confirms modeled arithmetic only and is not tax compliance or advice.

References

Depreciation context follows IRS Publication 946, NOL context follows IRS Publication 536, and interest-limitation context follows IRS Form 8990. The workbook does not reproduce a statutory table, legal threshold, form, instruction, example, or tax position.

This page is provided by LogicCommons for informational purposes only. Results are analysis outputs computed from the inputs you supply and are not engineering advice, a design, or a substitute for review by a licensed professional under the codes adopted where the work is built. Verify all inputs and results independently.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.