Financial
CUMPRINC Function in Excel
Returns the cumulative principal paid between two periods.
Syntax
- =CUMPRINC(rate, nper, pv, start_period, end_period, type)
Arguments
- rate (required): Interest rate per period
- nper (required): Total number of periods
- pv (required): Present value (loan amount)
- start_period (required): First period
- end_period (required): Last period
- type (required): 0=end of period, 1=beginning
Examples
- =CUMPRINC(0.05/12, 360, 200000, 1, 12, 0) - First year principal - Result: Total principal
Excel CUMPRINC function documentation
- CUMPRINC returns cumulative principal paid on a loan between two periods.
- Syntax: =CUMPRINC(rate, nper, pv, start_period, end_period, type).
- Use CUMPRINC to measure paydown progress and remaining-balance trajectories.
- Common pairings include [PMT](/functions/pmt/), [PPMT](/functions/ppmt/), [PV](/functions/pv/), and [Financial functions](/categories/financial/).
CUMPRINC input requirements
- rate and nper must align by frequency and unit.
- start_period and end_period define the principal accumulation window.
- type controls beginning vs end payment timing conventions.
- pv sign choice influences whether results appear negative or positive.
Step-by-step: principal repaid in years 1 to 5
- Step 1 — Build monthly loan assumptions in fixed input cells.
- Step 2 — Compute year-by-year principal windows (1-12, 13-24, etc.).
- Step 3 — Use =CUMPRINC(rate/12, nper*12, pv, start, end, 0).
- Step 4 — Chart principal acceleration across years.
- Step 5 — Cross-check with [CUMIPMT](/functions/cumipmt/) so payment totals reconcile.
CUMPRINC vs PPMT
- CUMPRINC aggregates principal over a range of periods.
- PPMT gives principal for a single specified period.
- CUMPRINC is better for annual summaries and refinance breakpoints.
- PPMT is better for line-by-line amortization reporting.
Worked examples to copy
- Principal repaid first year: =CUMPRINC(5%/12,240,180000,1,12,0).
- Principal repaid months 121-180: =CUMPRINC(rate,nper,pv,121,180,0).
- Beginning payment mode: =CUMPRINC(rate,nper,pv,1,12,1).
- Schedule audit: compare CUMPRINC window to sum of [PPMT](/functions/ppmt/) entries.
People also ask
- Why does CUMPRINC start small? — Early payments are more interest-heavy.
- Can CUMPRINC exceed loan amount? — Not in a correctly configured standard loan.
- How to show remaining balance? — Initial pv minus cumulative principal paid.
- How to value prepayment options? — Discount scenarios with [NPV](/functions/npv/) and compare.
Common errors
- #NUM! if parameters invalid
Use cases
- Loan payoff tracking
- Amortization
- Equity building
Frequently asked questions
- What is CUMPRINC used for? CUMPRINC calculates total principal paid over a range of loan periods. Use it to track equity building in a mortgage, understand how much of your payments reduce the loan balance, and plan accelerated payoff strategies.
- How do I track equity building in a mortgage? Use =CUMPRINC(rate/12, nper, pv, 1, period, 0) to see cumulative principal paid. After 5 years (60 payments) on a $300,000 mortgage at 6%: =-CUMPRINC(0.06/12, 360, 300000, 1, 60, 0) shows about $24,000 in equity built.
- Why is early principal payoff so slow? In early years, most of each payment goes to interest. CUMPRINC shows this clearly. Compare first year: =CUMPRINC(...,1,12,0) vs last year: =CUMPRINC(...,349,360,0). Early payments are mostly interest; later payments are mostly principal.
Editorial review
- Reviewed by Excel.Directory Editorial Team. Updated May 2026.
When to use CUMPRINC
- Loan payoff tracking — common Financial scenario for CUMPRINC.
- Amortization — common Financial scenario for CUMPRINC.
- Equity building — common Financial scenario for CUMPRINC.
CUMPRINC in the Financial category
- Browse all Financial functions at /categories/financial/ for related formulas.
- CUMPRINC syntax: =CUMPRINC(rate, nper, pv, start_period, end_period, type)
- rate (required): Interest rate per period
- nper (required): Total number of periods
- pv (required): Present value (loan amount)
- start_period (required): First period
- Confirm CUMPRINC arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
Formula checklist before you copy down
- Confirm CUMPRINC arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
- If results look wrong, check for text stored as numbers and invisible spaces with TRIM.
- Spot-check three known input rows manually against expected output.
Related Excel functions
- CUMIPMT (/functions/cumipmt/): Returns the cumulative interest paid between two periods.
- PPMT (/functions/ppmt/): Returns the principal payment for a given period of an investment.
- PMT (/functions/pmt/): Calculates the payment for a loan based on constant payments and a constant interest rate.
Errors to watch for
- #NUM! if parameters invalid — review causes on linked error pages in the directory.
Copy-paste audit workflow
- Enter CUMPRINC on three test rows with known expected output documented on a QA tab.
- Fill down only after absolute references are locked on lookup tables and rate tables.
- Compare against manual calculation or a calculator for financial and statistical functions.
- Search this directory for comparison guides when choosing between similar functions in the same category.
CUMPRINC worked examples to copy
- =CUMPRINC(0.05/12, 360, 200000, 1, 12, 0) — First year principal. Expected result: Total principal.
CUMPRINC reference summary for crawlers and offline review
- CUMPRINC belongs to the Financial category in Excel. Returns the cumulative principal paid between two periods.
- Full syntax: =CUMPRINC(rate, nper, pv, start_period, end_period, type). Open /functions/cumprinc/ for parameters, FAQs, and related pages.
- Common mistakes: #NUM! if parameters invalid
- Pair this function with comparison guides when another Excel formula might fit the same task better.
- Review fix-excel-formula-errors when unexpected errors appear after upgrading Excel or sharing across locales.