Contact

CUMPRINC Function (LibreOffice Calc)

Financial Intermediate LibreOffice Calc Introduction not established

The CUMPRINC function returns the cumulative principal paid on a loan between two specified periods. It is used in amortization schedules, loan modeling, and financial analysis.

Verification status: Consult the documentation, examples and any stated test scope below. How formula examples are checked

Availability and version history

  • Introduced: Documented by LibreOffice 26.8.1.1; original introduction not established.
  • Availability: Supported in LibreOffice 26.8.1.1, verified against its function registry. This identifies a supported release, not a final working version.
  • Scope: Desktop Calc, using the English function name. Availability in other spreadsheet applications is separate.
  • Checked: 2026-10-14 — function reference; versioned support. Documentation/source check; not a new native test. Existing example-specific test claims below retain their stated scope.
The **CUMPRINC** function calculates the **total principal repaid** on a loan between two payment periods. It is essential for amortization schedules, loan analysis, and financial reporting.

What the CUMPRINC Function Does

  • Returns cumulative principal between two periods
  • Supports monthly, quarterly, annual, or custom payment frequencies
  • Works with standard amortizing loans
  • Returns a negative number (cash outflow)

Syntax

CUMPRINC(rate; nper; pv; start_period; end_period; type)

Arguments

  • rate:
    Interest rate per period.

  • nper:
    Total number of payment periods.

  • pv:
    Present value (loan amount).

  • start_period:
    First period in the range (1‑based).

  • end_period:
    Last period in the range.

  • type:
    Payment timing:

    • 0 = end of period
    • 1 = beginning of period

Basic Examples

Principal repaid in the first year of a 5‑year loan

=CUMPRINC(0.05/12; 60; 20000; 1; 12; 0)

Principal repaid in periods 13–24

=CUMPRINC(0.05/12; 60; 20000; 13; 24; 0)

Annual payments (type = 1)

=CUMPRINC(0.06; 10; 15000; 1; 3; 1)

Advanced Examples

Build a full amortization schedule

Principal for each year:

=CUMPRINC(rate/12; nper; pv; (year-1)*12+1; year*12; 0)

Combine with CUMIPMT for full breakdown

=CUMPRINC(rate; nper; pv; s; e; 0)
=CUMIPMT(rate; nper; pv; s; e; 0)

Validate period range

=IF(A4 > A5; "Invalid"; CUMPRINC(rate; nper; pv; A4; A5; 0))

Compute principal for a custom quarter

=CUMPRINC(rate/12; nper; pv; 25; 27; 0)

Use with PMT to verify totals

=ABS(CUMPRINC(...)) + ABS(CUMIPMT(...))

Edge Cases and Behavior Details

CUMPRINC returns a negative number

This represents principal paid (cash outflow).
Use ABS() if you need a positive value.

Behavior details

  • Periods must be integers
  • start_period ≥ 1
  • end_period ≤ nper
  • start_period ≤ end_period
  • rate must match the period frequency
  • pv must be positive for loans

Invalid inputs → Err:502

Common Errors and Fixes

Err:502 — Invalid argument

Cause:

  • start_period < 1
  • end_period > nper
  • start_period > end_period
  • type not 0 or 1

Fix:

  • Validate period boundaries
  • Use correct payment timing

Wrong principal amount

Cause:

  • Using annual rate with monthly periods

Fix:

  • Convert rate: annual_rate / 12

Best Practices

  • Always match rate to the period frequency
  • Use type = 0 unless modeling annuity‑due payments
  • Pair with CUMIPMT for full amortization analysis
  • Use PMT to verify payment consistency
  • Use ABS() when presenting principal as a positive value
CUMPRINC is essential for building professional‑grade amortization schedules — it gives you precise control over principal repayment across any period range.
  • CUMIPMT — cumulative interest
  • IPMT / PPMT — interest/principal for a single period
  • PMT — payment amount
  • RATE / NPER / PV / FV — loan structure functions

By mastering CUMPRINC, you can build accurate, auditable loan and amortization models in LibreOffice Calc.