CUMPRINC Function (Calligra Sheets)
Sum principal repayment over a loan period range in Calligra Sheets, with balance reconciliation and a source-backed type-1 timing limitation.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =CUMPRINC(0.01;12;1200;1;3;0) is independently expected to return β286.7036574891, the principal outflow in the first three payments of a 1,200 loan at 1% per period over 12 periods.
Important limitation: The inspected type-1 path does not repay the full original principal over the full term. For this dataset it predicts β1188.1188118812 rather than β1200. Do not treat that as normal rounding or a correct standard annuity-due schedule.
Availability and verification scope
- Introduced: Original introduction release not established; the inspected release is not an introduction date.
- Available: Registered in Calligra Sheets 26.08.2, verified from first-party released source retrieved on October 18, 2026.
- Retired or deprecated: Neither is established by the inspected sources. The function remains registered; retirement and deprecation are different claims.
- Evidence: Selected formulas were executed in the Calligra Sheets 25.04.2 GUI on October 18, 2026. The native-results section lists those observations separately from independent arithmetic and source analysis. 26.08.2 was source-checked only.
- Entry style: English function names, semicolon argument separators and decimal points. Use DATE constructors instead of ambiguous date text. Optional-argument brackets shown in syntax are not entered literally.
Syntax and arguments
=CUMPRINC(rate; periods; value; start; end; type)
| Argument | Meaning |
|---|---|
| rate | Positive interest rate per payment period, not an unconverted annual percentage |
| periods | Positive total number of payment periods |
| value | Positive initial principal/present value |
| start | First included payment period, starting at 1 |
| end | Last included payment period; both endpoints are included |
| type | Required timing selector: 0 for end-of-period; 1 requests beginning-of-period behavior, subject to the Calligra limitation below |
All six arguments are required; there are no optional defaults. The internal model uses a zero future balance and a constant rate/payment. There is no fee, balloon, irregular-date or variable-rate argument. For a nominal 12% annual rate with monthly periods, use 0.12/12 and the number of months; do not mix monthly rate with annual period counts.
Set up the principal-repayment example
On a fresh worksheet put 0.01 in B1, 12 in B2, 1200 in B3, 1 in B4, 3 in B5 and 0 in B6. Label them periodic rate, total periods, principal, start, end and timing.
- Enter
=CUMPRINC(B1;B2;B3;B4;B5;B6)in B8. - Expect β286.7036574891. A two-decimal display is β286.70, but keep the underlying precision.
- In B9 enter
=B3+B8to calculate the expected balance after the first three payments: 913.2963425109. - Independently verify the result by subtracting each period’s interest from the signed constant payment.
The independent end-period payment is β106.6185464140. Signed principal equals signed payment minus signed interest.
| Period | Payment | Interest | Principal |
|---|---|---|---|
| 1 | β106.6185464140 | β12.0000000000 | β94.6185464140 |
| 2 | β106.6185464140 | β11.0538145359 | β95.5647318782 |
| 3 | β106.6185464140 | β10.0981672171 | β96.5203791969 |
The three principal components sum to β286.7036574891. Their magnitudes grow because the interest portion falls as the loan balance declines. These amounts were calculated independently; matching selected native results are recorded below.
Advanced case: reconcile total payments, interest and principal
For periods 1β3, three payments total β319.8556392420. Subtracting cumulative interest β33.1519817529 gives cumulative principal β286.7036574891. This is the same relationship the implementation uses: number of included payments Γ payment, minus cumulative interest.
For periods 4β12, independently expected principal is β913.2963425109. For the complete 1β12 range it is β1200 to floating-point tolerance. The two disjoint ranges add to the original principal repayment. Use =CUMPRINC(0.01;12;1200;4;12;0) for the second range and =CUMPRINC(0.01;12;1200;1;12;0) for the total.
Do not interpret a period-range principal total as the ending balance. With a positive starting balance, add the negative cumulative principal to that balance. For an internal range such as periods 4β12, its total alone does not tell you the balance at period 3 unless you know the original loan schedule.
Why type 1 needs separate reconciliation
The payment helper adjusts payment by 1+rate for type 1, but the interest helper also divides the ordinary-period interest by that factor without making the immediate first payment’s interest zero. Consequently, the full-term principal total becomes βvalue/(1+rate) for this model.
For value 1200 and rate 0.01, the source-derived total is β1188.1188118812, leaving a difference of 11.8811881188 from the original 1200. The first-period type-1 principal is source-predicted as β93.6817291228. The selected 25.04.2 native run confirmed these implementation-specific amounts. A standard beginning-payment schedule should apply the immediate payment without accrued first-period interest and repay the specified principal over its term.
This discrepancy is much larger than a cent-formatting issue. Keep type 0 for the ordinary examples here; for a genuine beginning-payment contract, build and validate the intended schedule before relying on this function. The payment helper and interest helper expose the two branches.
Input validation and numerical limits
- The source returns its internal
errorVALUEfor rate β€ 0, nonpositive periods or principal, start outside 1β¦periods, end before start, or end beyond periods. The selected zero-rate native test displayed#VALUE!; the other validation branches were source-checked only. A zero-interest loan is mathematically meaningful, but this function rejects rate 0. - Start/end/type pass through integer conversion. Use actual whole-number period inputs; fractional/text conversion is not established by the ordinary examples.
- The body checks whether type conversion produced an error but does not restrict the resulting integer to 0 or 1. Use only those intended choices; arbitrary nonzero type values are not a supported modeling shortcut.
- Positive principal represents borrowed funds received; calculated payments are negative outflows. Negating a result for a presentation label is different from changing the principal sign, which the function rejects.
- The model does not round every payment to cents. A real lender’s cent-rounded schedule can differ slightly; reconcile against the contract’s rounding and final-payment rules.
- Large period ranges run a loop over included payments in the interest calculation. Keep checks bounded and do not interpret successful evaluation as a performance guarantee for enormous inputs.
Compatibility, aliases and related guides
The Financial module registers COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.GETCUMPRINC as an alternate name for CUMPRINC. It invokes the same implementation. An alias registration does not establish a workbook import/export guarantee, identical error behavior in other products or availability in every packaged build.
- PMT calculates the level payment used in a reconciliation.
- SUM can total a separately checked principal column.
- POWER supports an independent amortization formula.
- KDE CUMPRINC handbook documents the function interface.
- Released function implementation provides the actual validation and calculation rules.
Selected native results and screenshot
These formulas were recalculated in Calligra Sheets 25.04.2 from a prepared ODS workbook and saved by the application. The table records the native-saved results. Other scenarios remain independent expectations or source analysis unless listed here.
| Entered formula | Native result |
|---|---|
=CUMPRINC(0.01;12;1200;1;1;0) |
-94.6185464140101 |
=CUMPRINC(0.01;12;1200;1;3;0) |
-286.703657489092 |
=CUMPRINC(0.01;12;1200;4;12;0) |
-913.296342510908 |
=CUMPRINC(0.01;12;1200;1;12;0) |
-1200.0 |
=CUMPRINC(0.01;12;1200;1;1;1) |
-93.6817291227822 |
=CUMPRINC(0.01;12;1200;1;12;1) |
-1188.11881188119 |
=CUMPRINC(0;12;1200;1;12;0) |
#VALUE! |

Screenshot: Native Calligra Sheets 25.04.2. Selected cell B2 evaluates =CUMPRINC(0.01;12;1200;1;1;0) and displays -94.6185464140. Column B contains application results; column C contains the corresponding formula text. The type-1 full-term row visibly totals approximately β1188.1188118812, rather than β1200.
These observations cover only the listed cases in 25.04.2. They do not establish execution in 26.08.2, another locale, general workbook compatibility or the economic validity of unsuitable inputs.