Contact

ISPMT Function (Calligra Sheets)

Financial Intermediate Calligra Sheets

Calculate Calligra ISPMT interest for equal-principal repayment. Verify its one-based period restriction, declining interest, fractional periods and sign behavior.

Verification status: 19 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library. Exact outputs, mathematical references and source limitations are documented separately. Version 26.08.2 was source-checked only; no GUI-cell or import claim. How formula examples are checked

Quick answer: =ISPMT(.1;1;4;1000) gives approximately -75 in the tested Calligra calculation engine.

Availability and version history

  • Introduced: First release not established; the name is present in Calligra 2.4.0 source.
  • Supported in: Calligra Sheets 26.08.2, with no retirement established.
  • Scope: Desktop Sheets with the Financial module. Examples use English semicolon-separated formulas.
  • Checked: October 14, 2026. Selected formulas ran through the official 25.04.2 engine library. Source and independent mathematics were checked. This is engine evidence, with no GUI-cell or import verification; 26.08.2 was source-checked only.

What ISPMT returns

ISPMT calculates −presentValue*rate*(1−period/totalPeriods). It describes interest on a linearly declining principal balance, rather than the interest component of a constant-payment annuity. The formula uses the balance after the specified count of equal principal reductions. Function-specific official reference.

Syntax and arguments

=ISPMT(rate;period;totalPeriods;presentValue)

Exactly four arguments are required: rate per period, selected period, total periods and present value. This implementation requires 1≤period≤totalPeriods. It does not require either period argument to be an integer. Registration and implementation.

Reproducible engine examples

The engine and mathematical columns are separate. Results are rounded to twelve decimal places, or thirteen significant digits in scientific notation for very small or large values. This is a display choice, not an accuracy guarantee.

Formula Engine result Independent mathematical reference
=ISPMT(.1;1;4;1000) -75 -75
=ISPMT(.1;2;4;1000) -50 -50
=ISPMT(.1;3;4;1000) -25 -25
=ISPMT(.1;4;4;1000) 0 0
=ISPMT(.01;1;12;1200) -11 -11
=ISPMT(.05;2;5;1000) -30 -30
=ISPMT(0;1;4;1000) 0 0
=ISPMT(.1;1.5;4;1000) -62.5 -62.5

Practical worksheet

For present value 1000, rate 10% per period and four equal principal reductions, the tested period results are −75, −50, −25 and 0. Each reduction is 250; the formula applies interest to balances 750, 500, 250 and 0.

Period zero is rejected. Consequently, this exact function call sequence does not include the −100 interest on the unreduced initial balance. Define the intended payment timing before comparing the four returned values with an amortization schedule.

Advanced interpretation and checks

The advanced check below sums periods 1 through 4 and returns −150. For a positive integer total N, this implementation’s complete one-based sequence sums to −presentValue*rate*(N−1)/2. The corresponding period-zero-through-N−1 sequence would have a different sum, but period zero is not accepted here.

At period 1.5 in the four-period example, the function returns −62.5. That is arithmetic interpolation, not an automatically implemented half-period billing convention. A negative rate or negative present value changes signs rather than triggering a financial-domain guard.

The executed advanced check was:

=ISPMT(.1;1;4;1000)+ISPMT(.1;2;4;1000)+ISPMT(.1;3;4;1000)+ISPMT(.1;4;4;1000)

Its engine result was -150.

Boundaries and troubleshooting

A period below 1 or above totalPeriods gives #VALUE!. The tested zero-total case also reaches this range guard. Zero rate returns zero for a valid period; the last period likewise returns zero.

Numeric text is converted in the arithmetic. Nonnumeric rate or present value became zero in the tested cases. Wrong arity gives #VALUE!. Validate the schedule, numeric types and sign convention explicitly. Do not substitute ISPMT for an annuity interest breakdown merely because both return amounts described as interest.

Formula Engine result
=ISPMT(.1;0;4;1000) #VALUE!
=ISPMT(.1;5;4;1000) #VALUE!
=ISPMT(.1;1;0;1000) #VALUE!
=ISPMT(-.1;1;4;1000) 75
=ISPMT(.1;1;4;-1000) 75
=ISPMT(".1";1;4;1000) -75
=ISPMT("abc";1;4;1000) 0
=ISPMT(.1;1;4;"abc") 0
=ISPMT(.1;1;4) #VALUE!
=ISPMT(.1;1;4;1000;0) #VALUE!

Official evidence and precision scope

The financial module and value-calculation helpers are byte-identical between the inspected 25.04.2 and 26.08.2 sources. That comparison supports the source discussion but does not establish later-version execution, GUI-cell behavior or other locales.

PMT, SUM, SLN.