IPMT Function (LibreOffice Calc)
Learn the IPMT function in LibreOffice Calc: Compounded interest. Calculates the interest payment on the principal for an investment with regular payments.
Verification status: Consult the documentation and examples below. Native application testing has not been documented for this guide. How formula examples are checked
Testing scope (13 October 2026): The numerical examples and diagnostics identified as native results come from a recorded LibreOffice Calc 25.2.3.2 Linux run. Its saved formulas and results were checked against the retained workbook, and the numerical examples were independently recalculated. No new Calc run was performed for this review. Current online Help displays 26.8; that application version and other platforms were not tested.
IPMT returns the interest portion of one payment in a loan or annuity with a fixed periodic interest rate and regular payments. It answers “How much of payment 12 is interest?”, not “How much is my monthly payment?” For the payment total use PMT; for the principal portion use PPMT.
Syntax and arguments
=IPMT(Rate; Period; NPer; PV [; FV [; Type]])
| Argument | Required? | Meaning | Typical entry |
|---|---|---|---|
Rate |
Yes | Interest rate per payment period, not automatically an annual rate. | 6%/12 for 6% annual interest paid monthly |
Period |
Yes | Which payment’s interest portion to calculate, ordinarily 1 through NPer. | 12 for the twelfth monthly payment |
NPer |
Yes | Total number of equal payment periods. | 36 for three years of monthly payments |
PV |
Yes | Present value or starting balance. The sign establishes your cash-flow perspective. | 12000 for a loan received |
FV |
No | Desired balance at the end of the payments. Defaults to 0 in OpenFormula. | 0 for a fully amortizing loan |
Type |
No | Payment timing: 0 = end of period, 1 = beginning. Defaults to 0 in OpenFormula. |
0 for ordinary loan payments |
Use semicolons in these examples: that is the default argument separator for the shown English-language Calc configuration. LibreOffice allows the formula separator and decimal separator to be configured; different local settings can require adjustments. Percentages such as 6% are equivalent to decimal 0.06.
Important omission rule: To provide Type, also provide its preceding FV argument (usually zero):
=IPMT(5%/12; 1; 24; 10000; 0; 1)
Avoid leaving an interior empty argument and relying on Calc’s tolerance. The fully explicit form is clearer and portable.
Official syntax and defaults: LibreOffice Financial Functions Part Three, IPMT and OpenDocument 1.4, §6.12.23 IPMT, checked 2026-10-13. LibreOffice Help confirms the argument order and example; OpenFormula explicitly defines the optional argument defaults.
Example 1: interest in month 12 of a three-year loan
Imagine borrowing 12,000 at a fixed 6% annual rate and repaying the loan monthly over 36 months. The month-specific interest amount declines as the loan balance is paid down.
Create a new Calc sheet and type:
| Cell | Label or value | Explanation |
|---|---|---|
A2 |
Principal |
Label |
B2 |
12000 |
Starting loan |
A3 |
Annual rate |
Label |
B3 |
6% |
Fixed annual rate |
A4 |
Months |
Label |
B4 |
36 |
Three years × 12 payments |
A5 |
Payment number |
Label |
B5 |
12 |
Month of interest |
A7 |
Interest in payment |
Label |
B7 |
=IPMT(B3/12;B5;B4;B2) |
Interest component |
A8 |
Total payment |
Label |
B8 |
=PMT(B3/12;B4;B2) |
Interest + principal |
A9 |
Principal in payment |
Label |
B9 |
=PPMT(B3/12;B5;B4;B2) |
Principal component |
A10 |
Reconciliation |
Label |
B10 |
=B8-B7-B9 |
Should be approximately zero |
Native Calc 25.2.3.2 results:
| Cell | Expected visible amount, formatted with two decimal places | Meaning |
|---|---|---|
B7 |
−42.80 | Interest paid during month 12 |
B8 |
−365.06 | Total scheduled payment |
B9 |
−322.27 | Principal repaid during month 12 |
B10 |
0.00 (within floating-point tolerance) | The components add back to the total |
The negative figures are outflows from the borrower’s cash-flow perspective. Format the result as currency if useful; Calc does not automatically impose a currency symbol. For an unsigned interest expense, use =ABS(IPMT(B3/12;B5;B4;B2)), returning about 42.80.
Reproducibility: The native verification workbook contains =IPMT(6%/12;12;36;12000) with unrounded result −42.7957040225633. PMT was independently calculated from the annuity equation; PMT−PPMT was also observed in native Calc as a diagnostic, not included as one of the 33 numerical assertions. The slight ~1e−11 difference between computed paths reflects floating-point arithmetic.
Check the first and last installments
Change B5 to 1 to obtain −60.00 in interest; change it to 36 to obtain about −1.82. These are separately native-verified results for the same 12,000 loan:
| Period | Formula | Calc result |
|---|---|---|
| 1 | =IPMT(6%/12;1;36;12000) |
−60.0000000000 |
| 12 | =IPMT(6%/12;12;36;12000) |
−42.7957040226 |
| 36 | =IPMT(6%/12;36;36;12000) |
−1.8162350717 |
Interest falls while principal repayment rises, even though the total payment is constant. This is the key difference between equal total payments (IPMT/PPMT) and equal principal amortization (ISPMT).
Example 2: reproduce LibreOffice’s official example
LibreOffice 26.8 Help asks for the fifth payment-period interest in a seven-period arrangement with a 5% periodic rate and starting value 15,000:
=IPMT(5%;5;7;15000)
Expected display: −352.97 (raw Calc 25.2.3.2 value approximately −352.973422514774). This exactly reproduces the rounded result in official Help. Here 5% means 5% each period; it is not automatically converted to 5% per year or per month. See LibreOffice 26.8 Help: IPMT example, checked 2026-10-13.
Example 3: payments at the beginning versus end
Consider a 10,000 loan over 24 months at 5% per year. You must tell Calc the payment timing if installments are due immediately at the start of each period.
| Timing | Formula | Native result |
|---|---|---|
| Standard month-end, payment 1 | =IPMT(5%/12;1;24;10000) |
about −41.67 |
| Beginning-of-period, payment 1 | =IPMT(5%/12;1;24;10000;0;1) |
0.00 |
| Beginning-of-period, payment 2 | =IPMT(5%/12;2;24;10000;0;1) |
about −39.85 |
Payment 1 for a beginning-of-period annuity occurs immediately, before the balance accrues interest for a full period. Do not assume Type=1 changes the interest rate or converts an annual percentage into a monthly one.
Evidence: The Type=1 first and second period values were native-tested in Calc 25.2.3.2; timing semantics are defined in OpenFormula §6.12.23 (checked 2026-10-13).
Example 4: a loan with a future balance
Not every annuity must reach a zero balance. To calculate the interest portion in payment 6 of a 36-month arrangement with starting value 5,000, 5% annual interest and a specified future value of positive 1,000 under Calc cash-flow conventions:
=IPMT(5%/12;6;36;5000;1000)
Native Calc result is approximately −17.5808128908267. FV changes the amount of every regular payment and consequently the interest pattern. Be careful: the sign of FV matters and the correct sign depends on whose cash flows you model; a positive target value is not interchangeable with a negative remaining-debt balance. Record the desired cash-flow perspective explicitly before using an actual balloon-loan contract.
Build an amortization schedule with IPMT
For the 12,000 loan above, enter the inputs B2:B4 as specified in Example 1. Starting in row 14, add headers Period, Interest, Principal, Total payment and Outstanding balance to cells A14:E14.
Use row 15 for the first payment and copy the row’s formulas down through row 50 (36 rows total):
| Cell | Formula or value | Purpose |
|---|---|---|
A15 |
1 |
First payment number |
A16 |
=A15+1 |
Copy to A50 to number remaining payments |
B15 |
=IPMT($B$3/12;A15;$B$4;$B$2) |
Interest (negative outflow) |
C15 |
=PPMT($B$3/12;A15;$B$4;$B$2) |
Principal (negative outflow) |
D15 |
=PMT($B$3/12;$B$4;$B$2) |
Constant payment (negative) |
E15 |
=$B$2+SUM($C$15:C15) |
Starting balance plus cumulative principal outflows |
Copy B15:E15 down through row 50; change A16 then fill A16:A50. The first balance E15 is starting principal less the positive magnitude of payment 1 principal. By the end, E50 should be approximately zero; display only two decimal places and allow for tiny binary rounding differences. (The schedule itself is a reproducible formula design; the numerical assertions were for individual IPMT calls, not an unrecorded full 36-row native schedule.)
A built-in cross-check for a period is =PMT(rate;nper;pv)-PPMT(rate;period;nper;pv); it should agree with IPMT within rounding tolerance. To total interest for the term use =SUM(B15:B50), keeping sign convention. CUMIPMT can calculate cumulative interest without a manual row-by-row schedule; confirm the start/end-period and payment timing arguments in its documentation.
How IPMT is calculated: independent sanity check
For an end-of-period payment loan with Rate = r, NPer = n, PV = L, FV = 0 and Type = 0, a constant scheduled payment is
Payment = -L*r / (1 - (1+r)^(-n)) [r ≠ 0]
Before each payment, the interest outflow is approximately
Interest_outflow(k) = -r * balance_at_start_of_period_k
The principal outflow in period k is Payment − Interest_outflow(k); subtract the magnitude of that principal from the previous balance for the next row. If r=0, interest is zero and the payment is −L/n for a standard zero-balance loan.
This recurrence was used for independent Python Decimal arithmetic in the historical verification. It is not a claim that Calc internally uses these exact source operations in that sequence. See ODF 1.4 OpenFormula §6.12.23, checked 2026-10-13.
Errors, limits and common mistakes
| Symptom | Cause and action |
|---|---|
| Interest is around 12 times too large | An annual percentage was entered as the monthly rate. For monthly payments use AnnualRate/12; use Years*12 for NPer. |
| The result is negative | Normal borrower’s cash-outflow convention with a positive loan PV. If reporting positive expense only, use ABS(...), not a change to the underlying model. |
| Wrong payment’s interest | IPMT ordinarily numbers interest-bearing payments from 1 through NPer. Do not use the 0-based schedule convention explained on ISPMT. |
| Formula uses commas and will not parse | In this Calc configuration arguments are separated with semicolons; regional decimal/fraction separators may differ. Verify Tools → Options → LibreOffice Calc → Formula settings. |
| Beginning-of-period calculation looks like month-end | Pass FV explicitly and set Type=1; check whether installment 1 really occurs immediately. |
| Loan never reaches zero | Check rate frequency, NPer, sign and FV, and confirm that the intended remaining principal is represented with the correct sign. |
#VALUE! or another error |
A required argument is text, a formula is malformed, or a numeric range contains an invalid cell. Confirm types using direct numeric constants before restoring cell references. |
| Result is a tiny nonzero residue | IEEE-style floating-point arithmetic can create a few units in the last decimal; format as currency for display, but do not confuse display rounding with a changed underlying value. |
Version-specific warning: Although ordinary financial modelling should keep 1 ≤ Period ≤ NPer, native Calc 25.2.3.2 did not always reject out-of-range or fractional periods: =IPMT(5%/12;0;24;10000) returned about −43.31416555 and =IPMT(5%/12;25;24;10000) returned approximately zero. A Type of 2 was also accepted in one diagnostic. These are observations, not recommended inputs and not documented validation guarantees. Explicitly validate user-entered parameters, for example:
=IF(OR(B5<1;B5>B4;B5<>INT(B5));"Invalid payment number";IPMT(B3/12;B5;B4;B2))
Use a positive integer NPer, nonzero target PV if appropriate, and Type of only 0 or 1. Validate input rates and feasibility for your contractual scenario; OpenFormula §6.12.23 states no formal function constraints, which does not make strange inputs financially meaningful.
Compatibility and edition notes
- LibreOffice: Syntax and presence checked against LibreOffice 26.8 Help, with native Calc 25.2.3.2 execution. Other 25.x/26.x builds and platforms were not run.
- ODF/OpenFormula:
IPMTis the standard identifier in OpenDocument 1.4 Part 4 §6.12.23; the standard specifiesFV=0andType=0defaults. This checks the specification, not every ODF reader’s execution. - Microsoft Excel: The vendor documents an
IPMTfunction as well; Excel formula examples conventionally use commas. This is documentation-level compatibility, not an Excel native execution claim. Check payment timing and workbook locale after transfer. - Other products: No claim is made here for Numbers, Google Sheets, WPS, or other tools because they were not researched or run for this guide.
Related LibreOffice Calc functions
| Function | When to use it |
|---|---|
| PMT | Total scheduled periodic loan payment |
| PPMT | Principal portion of the given payment |
| ISPMT | Interest with equal principal reduction rather than equal total payment |
| CUMIPMT | Sum of interest across a span of payments |
| CUMPRINC | Sum of principal repaid |
| NPER | Number of periods implied by rate and payments |
| PV | Present value |
| RATE | Effective rate per period in a regular-payment arrangement |
Official sources and verification details
- LibreOffice Help 26.8, “Financial Functions Part Three”, IPMT, syntax, definitions, and fifth-period example. Checked 2026-10-13: https://help.libreoffice.org/latest/en-US/text/scalc/01/04060118.html
- OASIS OpenDocument v1.4, Part 4, §6.12.23 IPMT (OASIS Standard 2025-10-06), formal syntax, default
FVandType, and interest semantics. Checked 2026-10-13: https://docs.oasis-open.org/office/OpenDocument/v1.4/os/part4-formula/OpenDocument-v1.4-os-part4-formula.html - LibreOffice Formula options, configurable separators. Checked 2026-10-13: https://help.libreoffice.org/latest/en-GB/text/shared/optionen/01060900.html
- Microsoft Support, “IPMT function”, Excel vendor-documented support only. Checked 2026-10-13: https://support.microsoft.com/en-us/excel/functions/ipmt-function
- Native evidence: Calc 25.2.3.2 Linux; 19 IPMT numerical assertions independently checked, plus 11 separately recorded IPMT diagnostics (including a
PMT−PPMTreconciliation). The saved ODS formulas and CSV output corroborate the historical observations. No new native execution is claimed.