Cash-flow NPV and IRR
Regular monthly/yearly cash flows, time-zero first; discount rate per interval. NPV, numerical IRR candidates, ambiguity and residuals.
- Runs in your browser
- No upload
- Check before download
Regular monthly/yearly cash flows, time-zero first; discount rate per interval. NPV, numerical IRR candidates, ambiguity and residuals.
Calculations run locally and inputs are not saved automatically. Download an input backup before closing the tab. Input data, formulas and filenames are never sent. Only with your optional consent, Refentra sends aggregate counts of actions and outcomes, without input content.
What are the limits?
Maximum amount 1 trillion units; total 100 trillion cents. Up to 100 rows, 50 people, 20 tiers, 100 depreciation years, 1,200 schedule periods, 61 cash flows. IRR range −99% to 1,000% per interval, numerical candidates only. Rates: up to eight decimals. Backup: 1 MiB. CSV formula-leading text gets an apostrophe. Use decimal points, no thousands separators.
Amounts use two decimals in your stated unit. Exact decimal inputs; cent rounding half away from zero. Table sums balance. Largest fractional remainders receive shared cents; equal remainders use row order. No tax, fees, legal entitlement or current prices are inferred.
Non-monetary values are shown with up to ten significant digits. CAGR, fractional-year inflation and IRR use numerical approximations; IRR candidates are not a symbolic proof. CSV keeps the numeric values before display rounding.
NPV = Σ CF_t/(1+r)^t; Σ CF_t × x^t = 0; x = 1/(1+r); −99% ≤ r ≤ 1000%
Calculate with your own assumptions
- Enter the inputs
Choose equal monthly or yearly intervals. Enter the cash flows in order: the first row is time 0, usually a negative investment. The discount percentage applies to each interval you select. Enter decimals with a point and without thousands separators.
- Check a worked example
Yearly flows −100 then 110 with a 10% discount give NPV=−100+110/1.1=0 EUR and one IRR candidate of 10%. Flows of −100, 230, −132 instead have two IRR candidates, 10% and 20%.
- Interpret and save the result
Read the NPV separately from the IRR status. No candidate in range, several candidates and indeterminate are different outcomes. A monthly IRR is annualized as (1+r)^12−1, and the displayed candidates are numerical estimates. Save the cash-flow CSV.
Method, errors and limits
Can I reopen editable inputs from the CSV?
The CSV is a report of the results, not a backup of your inputs. Download the separate JSON input backup before you close the page, then import it into this same tool to edit your assumptions again. Import accepts files up to 1 MiB and checks that the file belongs to this tool. Inputs are not saved automatically.
Which input mistakes should I check?
Use signed amounts, and don't put dates or currency symbols in numeric fields. Don't enter an annual discount rate for monthly intervals without converting it yourself. If all flows are zero, the result is allRates, not a unique 0% return.
What are this model’s limits?
2–61 regularly spaced flows, with a discount/IRR range of −99% to 1000% per interval. The bounded numerical search doesn't prove that it has found every possible root. No irregular dates, taxes, fees or investment recommendations.