Collabora Office CUMPRINC_ADD: Accumulate principal repayments over a period band
Calculate principal repaid with CUMPRINC_ADD, reconcile it with interest and distinguish integer-bound add-in arguments from CUMPRINC.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =CUMPRINC_ADD(0.01;12;1200;3;6;0) independently gives approximately −391.9114442116. This is the principal portion of payments 3 through 6 for a twelve-payment, 1,200-unit loan at 1% per period. It excludes interest.
Syntax and required arguments
=CUMPRINC_ADD(Rate; NPer; PV; StartPeriod; EndPeriod; Type)
Rate is the interest rate per payment period. NPer is the total payment count and PV the positive initial principal. StartPeriod and EndPeriod specify an inclusive interval, with the first payment numbered 1. Type 0 places payments at period ends; Type 1 places them at beginnings. All six arguments are required. Official CUMPRINC_ADD help.
This is principal repayment, despite potentially confusing descriptions of related functions elsewhere in financial-help pages. The full payment contains both interest and principal. The calculation assumes a constant periodic rate, level payments and zero final balance, without separate fees, extra repayments or a balloon balance.
The source requires positive Rate and PV, StartPeriod at least 1, ordered endpoints within NPer and a converted Type of 0 or 1. Zero-interest schedules are mathematically meaningful, but this add-in rejects Rate = 0 rather than treating that as a special supported case.
Worked example: four middle payments
In a fresh sheet enter:
| Cell | Meaning | Value |
|---|---|---|
| B2 | Periodic rate | 0.01 |
| B3 | Number of payments | 12 |
| B4 | Principal received | 1200 |
| B5 | First included payment | 3 |
| B6 | Last included payment | 6 |
| B7 | End-of-period timing | 0 |
Use =CUMPRINC_ADD(B2;B3;B4;B5;B6;B7). The independently calculated result is −391.9114442116005.
The standard level-payment calculation gives approximately −106.6185464140 per period. With a positive opening balance, the interest cash flow is negative opening balance × 0.01. Principal cash flow is payment minus interest. Updating the balance by the principal cash flow and repeating the calculation generates the independent amortization schedule.
For the first Type 0 payment, interest is −12 and principal is approximately −94.6185464140. As the balance falls, later payments contain less interest and more principal, even though the total payment remains constant.
Advanced use: payment-component and closing-balance checks
For periods 3–6, the matching CUMIPMT_ADD interest is approximately −34.5627414444. Principal plus interest is −426.4741856560, equal to four modeled payments.
Across all twelve Type 0 payments, cumulative principal is mathematically −1200, and cumulative interest is approximately −79.4225569681. The principal total cancels the initial positive balance, providing a useful full-term reconciliation. Tiny floating-point or rounding residuals should be distinguished from a missing payment or inconsistent interval.
To present “principal repaid” as a positive amount, negate the signed result in a report. Keep the underlying positive PV and negative repayment convention consistent. CUMPRINC_ADD is not the remaining balance itself: cumulative repayment is a cash-flow total, while the balance is an amount outstanding at a point in the schedule.
For nominal monthly compounding, match monthly Rate with monthly NPer. If an annual input is effective rather than nominal, use the appropriate periodic conversion; dividing by twelve indiscriminately changes the assumed loan model.
Beginning-of-period timing
With Type 1 the first payment occurs before interest accrues, so the entire first payment is principal. Here that payment is approximately −105.5629172416. Consequently, =CUMPRINC_ADD(0.01;12;1200;1;1;1) predicts that amount, while its matching first-period interest is zero.
For Type 1 periods 3–6, cumulative principal is approximately −388.0311328828 and interest approximately −34.2205360836. Together they equal four of the smaller beginning-of-period payments. The full-term principal remains −1200; timing changes the interest and payment allocation, not the original amount repaid under a fully amortizing model.
Add-in conversion, errors and compatibility
NPer, StartPeriod, EndPeriod and Type are signed 32-bit integer arguments in the analysis add-in. The caller’s GetInt32 conversion approximately truncates fractional values toward zero before validation. The source path for =CUMPRINC_ADD(0.01;12.9;1200;3.9;6.9;0.9) therefore matches the integer example 12, 3, 6 and 0.
Use those integers explicitly. Unsuffixed CUMPRINC retains a floating total period count and has a different payment-type validation path. Merely removing _ADD is not a guaranteed equivalent transformation across all inputs.
The principal evaluator throws IllegalArgumentException for an invalid interval, nonpositive Rate/PV or a Type other than 0 or 1 after conversion. Native error display and save/reopen behavior were not measured. The help’s broad Excel 2003 comparison is recorded as vendor context, not an all-input parity certification.
Round output only according to the intended reporting rule. A schedule rounded at every installment can differ from this unrounded mathematical model, especially in its final payment adjustment.
Product scope, compatibility and evidence
This guide covers the new Collabora Office desktop for Linux, using the Flathub source tag coda-26.04.4.3-1 and commit 81339d176148d0d5c81ff05d82540f58f8aaa117. The official desktop release notes and Linux package manifest identify that product/build. The package manifest is a dated observation from October 18, 2026, rather than an installed-binary check.
The 26.04 function help and exact evaluator source were inspected on October 18, 2026. Expected examples were independently calculated; no Collabora application was run. Expected scalar results were derived from the documented contracts, inspected source and independent calculations; native output formatting and error localization have not been tested. Classic, Online/CODE, other operating systems and file-format round trips require their own checks.
Availability here is established from the function-specific help and the mapped package source. Related functions may have different arguments or boundary rules. The first Collabora release introducing this function is not established by the reviewed sources. No cited retirement or deprecation notice was found. Unknown introduction dates do not imply that the function is deprecated. File-format round trips require separate verification.
Related functions
- CUMIPMT_ADD: calculate interest for the same payment interval
- CUMPRINC: compare the unsuffixed total-period and type handling