CUMPRINC Function (Gnumeric)
Calculate total loan principal repaid across selected payment periods with Gnumeric CUMPRINC and verify remaining balances.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
Validation scope: Results are independently calculated expectations, not outputs observed in a running Gnumeric session.
Gnumeric support and notation
This page concerns Gnumeric (GNOME’s spreadsheet application), not the identically named feature in another spreadsheet. The official Gnumeric Finance reference documents the signature and behaviour, and the public function catalogue lists the function’s implementation as Complete with Basic upstream testing (both checked 2026-10-13). The Gnumeric 1.12.62 release announcement confirms the target release exists, but this manuscript does not establish that every supported operating-system package ships identical binaries or that our examples ran in that version. Consult your distribution’s Gnumeric package and function list. These are finance functions, not optional add-ins asserted to be available on every platform.
Formula syntax below uses the English function name, decimal point and comma-separated arguments shown by the English Gnumeric reference. Some installations use a localized decimal separator and/or argument delimiter; check the on-screen Function Selector and adapt syntax rather than pasting commas blindly. Put percentage values in cells as numbers formatted as percentages (for example, 6% = 0.06); do not type the number 6 when you mean six percent.
What CUMPRINC measures
CUMPRINC calculates the signed principal component of a regular loan’s repayments between chosen payment numbers. It answers how much of the original borrowed amount has been paid down, rather than how much interest has been charged. Typical uses include annual debt-reduction reports, balance forecasts and checking whether principal repayment accelerates over a fixed-rate amortization. The official Gnumeric Finance manual explicitly identifies CUMPRINC as cumulative principal. Official Gnumeric manual — CUMPRINC, checked 2026-10-13.
CUMPRINC is not the sum of entire instalments (PMT), not the cost of borrowing (CUMIPMT), and not automatically the remaining balance. For the latter, compare the original positive loan value against the absolute principal repaid to date.
Exact Gnumeric syntax and required arguments
=CUMPRINC(rate,nper,pv,start_period,end_period,type)
| Order | Parameter | Input type | Meaning / default |
|---|---|---|---|
| 1 | rate |
Numeric interest rate per scheduled repayment period | Required; monthly for monthly payments. |
| 2 | nper |
Numeric total repayment periods, normally positive whole number | Required. |
| 3 | pv |
Numeric loan’s starting present value | Required; borrower receives positive pv in our example. |
| 4 | start_period |
Numeric first included payment, conventionally starting at 1 |
Required. |
| 5 | end_period |
Numeric last included payment | Required; include both interval endpoints. |
| 6 | type |
Timing flag 0 (end) or 1 (beginning) |
Required in 1.12.62 registration: 0 for end, 1 for beginning. The shared help note calls 0 the default, but do not omit this argument. |
The manual documents these argument names; its shared default-type note differs from the 1.12.62 registry, which requires all six arguments. It does not provide exhaustive coercion/error semantics for each type, so no undocumented assumptions about fractional nper values are presented as native Gnumeric facts. Gnumeric Finance manual.
Shared worksheet setup: twelve monthly loan payments
These examples use a $12,000 initial loan, 6% nominal annual interest, 12 equal monthly repayments, and payment at the end of each month. Gnumeric’s finance manual calls the first argument rate and explicitly defines it as per period; therefore use 6%/12, not 6%, when payments are monthly. Use the conventional finance signs: the loan received is positive, while payments made by the borrower are negative. Gnumeric manual — CUMIPMT, CUMPRINC, PMT.
| Cell | Meaning | Input / formula | Expected interpretation |
|---|---|---|---|
| A2 / B2 | Nominal annual interest | 6% |
Six percent yearly |
| A3 / B3 | Monthly interest rate | =B2/12 |
0.005 = 0.5% per month |
| A4 / B4 | Number of monthly payments | 12 |
12 periods |
| A5 / B5 | Amount borrowed (PV) | 12000 |
Positive $12,000 |
| A6 / B6 | Payment timing (type) |
0 |
End of each month |
| A7 / B7 | Monthly instalment | =PMT(B3,B4,B5,0,B6) |
-1032.797156485 |
Keep full precision in B7 for follow-on calculations; formatting a cell to two decimals is different from manually rounding intermediate values. The PMT expression is consistent with the constant-payment annuity identity -12000*(0.005)/(1-(1.005)^-12). Independent calculation finds -$1,032.80 per month to cents.
Create an independent amortization check: put periods 1 through 12 in A12:A23. In B12 enter =IPMT($B$3,A12,$B$4,$B$5,0,$B$6); in C12 enter =PPMT($B$3,A12,$B$4,$B$5,0,$B$6); fill both down to row 23. This produces a proposed formula-by-formula comparison, not a recorded Gnumeric run. The first expected row is interest -60.00, principal -972.797156485; each row’s signed interest + principal should equal $B$7. Official Gnumeric manual — IPMT and PPMT.
Reproducible CUMPRINC examples
Enter these functions with the common B2:B7 loan setup:
| Formula | Payment interval | Independently calculated signed principal amount |
|---|---|---|
=CUMPRINC($B$3,$B$4,$B$5,1,1,$B$6) |
Month 1 | -972.797156485 |
=CUMPRINC($B$3,$B$4,$B$5,1,3,$B$6) |
Months 1–3 | -2933.007746731 |
=CUMPRINC($B$3,$B$4,$B$5,4,6,$B$6) |
Months 4–6 | -2977.223205139 |
=CUMPRINC($B$3,$B$4,$B$5,1,6,$B$6) |
Months 1–6 | -5910.230951870 |
=CUMPRINC($B$3,$B$4,$B$5,1,12,$B$6) |
Full term | Approximately -12000.00 |
Since the original pv is positive (money received by borrower), principal paid out is negative. To present positive debt reduction, negate the result. A cumulative principal of -5910.230951870 at month 6 corresponds to approximately $5,910.23 repaid, not a negative remaining debt. These are independent expectations; there was no native Gnumeric session during this review.
Advanced use: build a remaining-balance report
The expected outstanding principal after month 6 is:
=$B$5+CUMPRINC($B$3,$B$4,$B$5,1,6,$B$6)
That is $12,000 + (-5,910.230951870) = $6,089.769048130 remaining, before any fees or additional unmodeled activity. This sign-preserving formula is more reliable than blindly using absolute values when auditing accounting cash-flow records.
To calculate principal repaid during months 4–6 in a selection table, set E2=4, E3=6, then enter =CUMPRINC($B$3,$B$4,$B$5,E2,E3,$B$6). Expected result -2977.223205139. Check against =SUM(C15:C17) after populating C12:C23 with the PPMT expressions in the shared setup. Record interval endpoints alongside financial reporting periods to avoid claiming an arbitrary three-payment interval exactly matches calendar-quarter dates.
Cross-check interest + principal = payments
A reliable expected reconciliation for months 1–3 is:
| Quantity | Independent amount |
|---|---|
=CUMIPMT($B$3,$B$4,$B$5,1,3,$B$6) |
-165.383722724 |
=CUMPRINC($B$3,$B$4,$B$5,1,3,$B$6) |
-2933.007746731 |
| Sum of interest + principal | -3098.391469455 |
=3*$B$7 |
-3098.391469455 |
Thus both cumulative functions should reconcile to three fixed instalments, allowing small numeric differences from floating-point evaluation. Documented Gnumeric companions: CUMIPMT, PMT, IPMT, PPMT.
Troubleshooting and limits
- Treating principal as interest:
CUMPRINCis the debt repayment component. For financing cost, useCUMIPMTinstead. - Using 6% directly for monthly payments: input a period rate consistent with your repayments, not the annual nominal quote. Here that is
=6%/12. - Wrong interval: verify
1 <= start_period <= end_period <= nperfor the conventional schedule. Documented function help defines start and end periods, but exact native error text for invalid bounds was not verified. - Wrong payment timing (
type): beginning-of-period1differs from end-of-period0. Do not pair atype=1result with atype=0PMT schedule. - Unexpected negative number: under positive
pv, principal repayment is a borrower cash outflow. Negate only for a clearly labeled positive repayment report. - Not matching a bank statement to the cent: lender-specific rounding, fees, nonmonthly accrual or extra payments can invalidate the fixed-annuity assumptions. Test the schedule’s contractual terms before drawing conclusions.
- Input bounds: The 1.12.62 source returns a NUM-kind error for nonpositive rate, principal or period count, or bounds outside
1 <= start_period <= end_period <= nper. Period counts are converted to integers. The timing helper maps zero to end-of-period and nonzero numeric values to beginning-of-period; use explicit 0 or 1. Exact UI rendering and text coercion remain untested; use positive numeric values and whole periods. - Locale differences: some installations need localized separators; follow Gnumeric’s Function Selector rather than assuming Excel settings.
Related canonical Gnumeric guides
Evidence and validation
Official sources were checked on 2026-10-13:
- Gnumeric manual — Finance function reference: exact Gnumeric signature, argument names, purpose and documented defaults; relevant function heading CUMPRINC. This is documentation evidence, not an execution trace.
- Gnumeric official function catalogue: lists cumprinc as Complete / Basic; catalogue classification is not a guarantee that this manuscript’s test values passed a native session.
- GNOME Gnumeric 1.12.62 release announcement: version context. The web reference is updated separately from specific installed builds, and the reviewed implementation is scoped to the checksum-verified official 1.12.62 source archive. No native application execution was performed.
Validation scope: Official documentation and checksum-verified Gnumeric 1.12.62 source were reviewed; example arithmetic was independently recalculated. Native Gnumeric execution, screenshots, locale/platform regression tests and workbook round-trips were not performed.