CUMPRINC Function in ONLYOFFICE Spreadsheet Editor: Syntax, Examples and Troubleshooting
Calculate principal repaid over a selected contiguous range of loan periods.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
CUMPRINC totals the principal portions of scheduled payments across an inclusive period range. Use it to measure debt reduction during a year or calculate the balance remaining after several installments.
Availability and version history
- Introduced: The original release and date are not established by the official sources checked.
- Availability: Documented in the current ONLYOFFICE Spreadsheet Editor help; no final working-version endpoint is established.
- Scope: Docs and Desktop Editors release separately. This unversioned reference does not establish support in every older build or mobile client.
- Checked: October 14, 2026, against the official CUMPRINC reference. Documentation check; not a new native test.
Syntax and arguments
=CUMPRINC(rate, nper, pv, start_period, end_period, type)
| Argument | Meaning |
|---|---|
rate |
Interest rate per payment period |
nper |
Total scheduled payments |
pv |
Opening present value; a positive loan advance in these examples |
start_period |
First included payment, from 1 through nper |
end_period |
Last included payment, from 1 through nper |
type |
0 for payments at period end; 1 for payments at period start |
Always supply type. The official reference prints six arguments without optional brackets, but its description also mentions an omitted value of zero. An explicit 0 or 1 avoids relying on that documentation ambiguity. There is no fv argument; use a payment-by-payment schedule if you need a nonzero terminal target.
Set up the worksheet
Enter these values in a blank worksheet and place results in unused cells, leaving the inputs intact.
| Cell | Enter | Purpose |
|---|---|---|
B2 |
=6%/12 |
Monthly rate, 0.005 |
B3 |
60 |
Five years of monthly payments |
B4 |
10000 |
Opening loan principal |
B5 |
1 |
First included payment |
B6 |
12 |
Last included payment |
B7 |
0 |
End-of-month payments |
Money received is positive and money paid out is negative, so the principal total is negative for this borrower. The result is a cash amount in the same units as pv, not a rate or percentage.
Worked examples
| Formula | Expected result | Meaning |
|---|---|---|
=CUMPRINC(B2,B3,B4,B5,B6,B7) |
-1768.031672 |
First 12 payments |
=CUMPRINC(B2,B3,B4,13,24,0) |
-1877.079997 |
Second year only |
=CUMPRINC(B2,B3,B4,1,60,0) |
-10000.000000 |
Entire term |
=CUMPRINC(B2,B3,B4,60,60,0) |
-192.366184 |
A one-payment range |
=CUMPRINC(B2,B3,B4,1,1,1) |
-192.366184 |
First immediate payment |
=CUMPRINC(B2,B3,B4,1,12,1) |
-1808.986739 |
First year, beginning payments |
The first 12 payments reduce the principal by about 1768.03. That is not the same as the total cash paid: part of each installment covers interest.
Calculate the balance after year one
Add cumulative signed principal to the opening loan:
=B4+CUMPRINC(B2,B3,B4,1,12,0)
The expected balance is 8231.968328. Subtracting the negative CUMPRINC result would increase the debt incorrectly. After payment 24, the same formula with an end period of 24 gives 6354.888330. For all 60 payments, cumulative principal is -10000, leaving a mathematical zero balance.
Reconcile principal and interest for a reporting year
For payments 13–24, principal is -1877.079997 and interest is -442.856186. Their unrounded sum equals 12 complete monthly installments:
=CUMPRINC(B2,B3,B4,13,24,0)+CUMIPMT(B2,B3,B4,13,24,0)
The expected result is -2319.936184, matching =12*PMT(B2,B3,B4,0,0). Calculate with unrounded components; adding values already rounded for display can differ in the final decimal.
With beginning payments (type=1), the first installment is entirely principal. A full-term check still repays the original principal:
=CUMPRINC(B2,B3,B4,1,60,1)
The expected result is -10000.000000, although the payment amount and interest total differ from the end-of-period schedule.
Audit against individual payments
Enter payment numbers 1 through 12 in D2:D13. In E2, enter:
=PPMT($B$2,D2,$B$3,$B$4,0,$B$7)
Fill down to E13, then enter =SUM(E2:E13) in E15. The expected total is -1768.031672, matching the first table row. This provides a transparent breakdown when a range total looks surprising.
Troubleshooting and practical limits
- Unexpected sign: Positive loan proceeds produce negative repayment components. Negate a result for a positive cost or debt-reduction display, but retain signed values in reconciliation formulas.
- Wrong rate or term: Match units. For a nominal 6% annual rate and monthly payments, use
6%/12and60, not6and5. - Invalid period: Use whole-number payment indices from
1throughnper. A range must have its start no later than its end. - Totals differ by cents: Format results for display without rounding intermediate formulas. A lender that rounds each installment, uses daily interest or changes the last payment can produce different totals.
- Formula error: Check numeric inputs, period bounds, timing and the configured formula language. The short official reference does not specify every error token or text/blank coercion rule.
These examples assume fixed rates, equal periods and the scheduled payments. Extra payments, skipped installments, fees and variable rates need a separate cash-flow schedule.
Related functions and further reading
- PMT calculates the complete periodic payment.
- IPMT and PPMT split one payment into interest and principal.
- CUMIPMT and CUMPRINC total a selected range.
- SUM adds worksheet components; ROUND is useful when a model explicitly calls for rounded amounts.
The function-entry guide explains the function dialog. Advanced Settings covers formula language and regional settings; examples here use English names, decimal points and commas.
Example verification: Results were independently calculated with high-precision annuity equations and a separate discounted-payment/amortization model. Values shown use six-decimal half-up display rounding; no example was executed in ONLYOFFICE.