CUMPRINC Function in SoftMaker PlanMaker: Cumulative Principal Repaid
Use CUMPRINC in PlanMaker with documented arguments, a reproducible loan worksheet, payment timing, reconciliation checks and practical limits.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =CUMPRINC(10%/12,6*12,100000,24,36,0) totals the principal components of monthly payments 24 through 36. The official PlanMaker example returns -16,863.71. Both endpoints count, so this covers 13 payments, not twelve.
Availability and version history
- Introduced: Documented in the PlanMaker 2016 manual; the first introduction release and date remain unknown.
- Availability: Documented in the 2026 English reference; no final supported-version endpoint is established.
- Scope: Versioned documentation does not establish identical behavior in every desktop, mobile or localized build.
- Checked: October 14, 2026, against the official CUMPRINC reference, with independent amortization calculations. No native PlanMaker test.
Syntax and arguments
=CUMPRINC(Rate, NPer, PV, P1, P2, Type)
| Argument | Meaning | Worked value |
|---|---|---|
Rate |
Interest rate per payment period | 10%/12 |
NPer |
Total scheduled payment count | 6*12, or 72 |
PV |
Original loan amount | 100000 |
P1 |
First selected period, inclusive | 24 |
P2 |
Last selected period, inclusive | 36 |
Type |
0 for payment at period-end; 1 at period-start | 0 |
The 2026 reference shows Type in the signature without optional brackets, but its explanation says 0 or omitted means period-end. Supply it explicitly, as all examples here do. This avoids relying on omitted-argument handling when transferring a workbook. Period numbering begins at 1.
These are equally spaced, constant-payment loans at a fixed rate. There is no FV argument for a separate balloon target. Irregular dates, additional principal payments, fees and changing rates need an explicit schedule. English manual examples use commas; use your installed editor’s required formula separators.
Reproduce the documented result
In a blank worksheet put labels in column A and values or formulas in B:
| Row | A: Label | B: Enter |
|---|---|---|
| 2 | Original loan | 100000 |
| 3 | Nominal annual rate | 10% |
| 4 | Payments per year | 12 |
| 5 | Years | 6 |
| 6 | First selected payment | 24 |
| 7 | Last selected payment | 36 |
| 8 | Timing | 0 |
| 9 | Rate per payment | =B3/B4 |
| 10 | Total payment count | =B5*B4 |
| 11 | Regular payment | =PMT(B9,B10,B2,0,B8) |
| 12 | Interest in selected interval | =CUMIPMT(B9,B10,B2,B6,B7,B8) |
| 13 | Principal in selected interval | =CUMPRINC(B9,B10,B2,B6,B7,B8) |
| 14 | Component reconciliation | =B12+B13-B11*(B7-B6+1) |
Expected B9 is 0.0083333333…, B10 72, B11 -1,852.58, B12 -7,219.88 and B13 -16,863.71. B14 should be close to zero. Format currency to two decimals but retain full calculation precision.
The selected total repayment is -24,083.59, the sum of interest and principal. PMT returns each full payment, while the official CUMIPMT reference explains the other cumulative component. A negative result means money paid out on a positive loan; =-CUMPRINC(...) presents a positive amount paid without changing the underlying model.
Compare repayment windows
Keep B2:B5 and B8 unchanged. Use each pair below in B6:B7:
| First period | Last period | Payments | Expected interest | Expected principal |
|---|---|---|---|---|
| 1 | 12 | 12 | -9,423.54 | -12,807.46 |
| 13 | 24 | 12 | -8,082.44 | -14,148.57 |
| 24 | 36 | 13 | -7,219.88 | -16,863.71 |
| 61 | 72 | 12 | -1,158.78 | -21,072.23 |
Later payments devote more of the same installment to principal. Payment numbers are not calendar dates: “first 12 payments” is not necessarily January through December. Map the contract’s first-payment date separately when preparing a calendar-year report.
Beginning-period timing
Restore B6=24 and B7=36, then set B8=1. Expected payment B11 is -1,837.27, interest B12 -7,160.21, and principal B13 -16,724.34. B14 remains close to zero. The first payment in this model happens immediately, before interest accrues; the changed timing affects both the installment and its components.
These figures use the documented timing meaning and an independent annuity calculation. They do not introduce extra payments or shorten NPer. Reset B8=0 before building the end-period schedule below.
Independently reconstruct the repayment schedule
Keep B6=24, B7=36 and B8=0. In C20:G20 enter Period, Opening balance, Interest, Principal, Closing balance. Build the first two rows:
| Cell | Enter |
|---|---|
| C21 | 1 |
| D21 | =$B$2 |
| E21 | =-D21*$B$9 |
| F21 | =$B$11-E21 |
| G21 | =D21+F21 |
| C22 | =C21+1 |
| D22 | =G21 |
| E22 | =-D22*$B$9 |
| F22 | =$B$11-E22 |
| G22 | =D22+F22 |
Fill C22:G22 through row 92, the 72nd payment. First-period interest is -833.33, principal -1,019.25, and closing balance 98,980.75. The final G92 balance should be near zero.
Payment 24 is row 44 and payment 36 is row 56. In B16 enter =SUM(E44:E56)-B12, and in B17 enter =SUM(F44:F56)-B13; expect both to be close to zero. This schedule calculates components from balances, without calling either cumulative function. It also catches an off-by-one interval such as accidentally including row 43.
Find the remaining balance, rather than just a selected subtotal
In B18 enter =B2+CUMPRINC(B9,B10,B2,1,36,0). Its expected result is 57,413.86, agreeing with G56 in the schedule. The range starts at payment 1 because all principal repaid up to payment 36 must be included.
Adding only B13 to the original loan would omit principal repaid in payments 1–23. Conversely, the cumulative principal total for payments 1–72 is -100,000.00, leaving the original loan plus that signed total at zero.
Troubleshooting and safe input checks
- Wrong time units: Rate is per payment. Enter
10%/12with 72 monthly periods; entering 10 instead of 10% supplies a rate of 1,000%. - Wrong number of installments: the interval includes both endpoints, so its count is
P2-P1+1. - Invalid period range: a sensible workbook guard requires whole periods with
1 <= P1 <= P2 <= NPer. This is a validation recommendation, not a claim about a particular PlanMaker error code. - Unexpected negative amount: negative cash flow is normal for repayment of a positive loan. Avoid mixing positive reporting amounts into signed reconciliation formulas.
- Zero or negative rate: the short reference does not establish all boundary behavior; the worked cases use positive rates. Do not import another spreadsheet’s error rules as PlanMaker evidence.
- Residual cents: format the display instead of rounding each balance calculation. A contract that rounds every payment may need a separate final adjustment.
Fractional-period coercion, text-as-number conversion and every invalid-input error are not specified by the cited function page. After importing into another spreadsheet, compare representative periods and the complete principal total. ABS can turn a reconciliation into a tolerance check, such as =ABS(B14)<0.01.