IPMT Function (Gnumeric)
Calculate the interest component of a regular loan payment in Gnumeric, with period-specific examples and source-verified bounds.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
Gnumeric’s IPMT returns only the interest component of a fixed annuity payment for a specified period. It is not the entire payment and is not the amount of principal repaid. Use it with PMT and PPMT to audit the split. [G1, G3]
Exact syntax and inputs
=IPMT(rate,per,nper,pv,[fv],[type])
Square brackets indicate optional documentation arguments; do not type brackets in a formula. The registered Gnumeric signature is ffff|ff: four required numeric arguments, two optional numeric arguments. [G3]
| Argument | Position | Type / default | Meaning |
|---|---|---|---|
rate |
1 | Required number | Rate for one payment period, such as 6%/12 in the worked monthly loan. |
per |
2 | Required number | Period to inspect, counted starting with 1. See the bound check below. |
nper |
3 | Required number | Total number of payments (12 for the example). |
pv |
4 | Required number | Present value / loan principal. |
fv |
5 | Optional number; defaults to 0 | Future balance target. |
type |
6 | Optional numeric flag; defaults to 0 | 0 end of period, 1 beginning of period. |
For this implementation, per < 1 or per >= nper+1 returns #NUM!. The source checks the numeric bound and does not explicitly reject noninteger per, but ordinary payment schedules use integer periods. This is verified in the Gnumeric source, not extrapolated from Excel. [G3]
Reproduce the worked loan example
Create a blank worksheet and enter these values without rounding intermediate calculations:
| Cell | Enter | Meaning |
|---|---|---|
B2 |
12000 |
Loan received / present value (currency units) |
B3 |
6% |
Illustrative nominal annual rate, divided monthly below |
B4 |
12 |
Number of monthly payments |
B5 |
=B3/12 |
Periodic rate: 0.005 = 0.5% per month |
B6 |
0 |
Target future balance (zero) |
B7 |
0 |
Payment at the end of each month |
B8 |
1 |
Period number for interest/principal detail |
The formula arguments use a periodic interest rate because the Gnumeric implementation compounds rate each period. Do not pass 6% directly as the rate for a monthly twelve-period example: 6%/12 is the intended illustrative monthly rate here. The sample uses a nominal annual rate evenly split into 12 monthly periods; an effective annual 6% rate would instead need (1+6%)^(1/12)-1. The cash-flow sign is negative for repayments, because the present-value loan receipt is positive. This sign convention is visible in the upstream formula. [G1, G3]
| Formula entered into any blank cell | Expected result (displayed) | What it checks |
|---|---|---|
=PMT(B5,B4,B2,B6,B7) |
-1032.80 | Monthly payment, full precision about -1032.797156484968 |
=IPMT(B5,B8,B4,B2,B6,B7) |
-60.00 | Interest component in month 1 |
=PPMT(B5,B8,B4,B2,B6,B7) |
-972.80 | Principal component in month 1 |
=IPMT(B5,6,B4,B2,B6,B7) |
-35.44 | Interest component in month 6 |
=PPMT(B5,6,B4,B2,B6,B7) |
-997.36 | Principal component in month 6 |
=PMT(0,12,12000) |
-1000.00 | Zero-interest payment, 12 equal periods |
How outputs were checked: Values were independently calculated with decimal arithmetic from the formula shown by Gnumeric’s public source. They are expected worksheet results, not observed output from a running Gnumeric application. Display rounding is to two decimals; do not round formula cells to two decimals when testing reconciliation. [G3]
Interpret the interest portion
=IPMT(B5,1,B4,B2,B6,B7) should display -60.00 for the first month because the month begins with a loan principal of 12,000 and the illustrative rate is 0.005 per month: -12000 × 0.005 = -60. In month 6, the corresponding independent result is approximately -35.435652759278 (display -35.44). The interest charge declines for the example’s ordinary end-of-period amortization because principal is being repaid. [G3]
For default type=0 and fv=0, the source computes pmt0=PMT(rate,nper,pv,0,0) and then obtains the interest amount for per from the accumulated balance. The implementation’s direct expression is:
IPMT = -(pv*(1+rate)^(per-1)*rate
+ PMT(rate,nper,pv,fv,0)*((1+rate)^(per-1)-1))
When type=1, the same source divides that calculated interest by 1+rate rather than directly transferring another application’s period-1 interest convention. For accurate beginning-of-period schedules, validate the actual deployment in native Gnumeric. The worked example deliberately sets type=0. [G3]
Period selection and zero-interest checks
| Formula | Independent expectation | Reason |
|---|---|---|
=IPMT(B5,1,B4,B2) |
-60.00 | Both optional arguments default to zero. |
=IPMT(B5,2,B4,B2) |
-55.136014217575… | Remaining balance after month 1 is lower. |
=IPMT(B5,12,B4,B2) |
-5.138294310870… | Final payment’s interest component. |
=IPMT(0,1,12,12000) |
0.00 | No interest charge if rate is zero. |
=IPMT(B5,0,B4,B2) |
#NUM! |
Source explicitly rejects per<1. |
=IPMT(B5,13,B4,B2) |
#NUM! |
Source explicitly rejects per>=nper+1. |
The source’s period-bound error handling is verified by code inspection; the numeric amounts are independent calculations. No native execution was performed. [G3]
Advanced example: build a twelve-row amortization audit
With the inputs from the table above, create the following headers in row 11: A11 = Period, B11 = Total payment, C11 = Interest, D11 = Principal, and E11 = Remaining balance. Then enter:
| Cell | Formula / value | Purpose |
|---|---|---|
A12 |
1 |
First month |
A13 |
=A12+1 |
Copy downward through period 12 |
B12 |
=PMT($B$5,$B$4,$B$2,$B$6,$B$7) |
Fixed installment |
C12 |
=IPMT($B$5,A12,$B$4,$B$2,$B$6,$B$7) |
Period-specific interest |
D12 |
=PPMT($B$5,A12,$B$4,$B$2,$B$6,$B$7) |
Period-specific principal |
E12 |
=$B$2+SUM($D$12:D12) |
Loan received plus cumulative negative principal payments |
Copy B12:E12 through row 23, and A13 through row 23. Expect B12 to remain near -1032.80 each row, while the interest amount moves from -60.00 in period 1 to approximately -5.14 in period 12; the principal amount moves from approximately -972.80 to -1027.66. The unrounded balance in E23 should be approximately zero. The reconciliation check =B12-(C12+D12) should also be approximately zero. [G1, G3]
Use the actual full-precision numeric cells for sums. Formatting the results as currency does not round the underlying amortization, whereas physically rounding each row’s value would introduce a small cumulative difference. The model assumes a fixed rate and fixed payment schedule; changed rates, real lender day-count rules, additional payments and fees require an adjusted model.
Errors, edge cases and troubleshooting
| Symptom | Explanation grounded in Gnumeric’s references | What to do |
|---|---|---|
| Results are dramatically too large or too small | rate and nper must use the same time unit; the source applies rate once per period. [G3] |
Use an appropriate periodic rate and the matching number of periods. |
| Payment shows a negative amount | This is normal for money paid out when pv is positive; the source cash-flow formula has the minus sign. [G3] |
Use =-PMT(...) (or negate an individual component) for positive reporting; do not silently invert the loan inputs. |
| A formula doesn’t parse under a different locale | Gnumeric’s syntax and presentation interact with language/locale settings; the English documentation examples use commas. [G1, G4] | Check the active locale/decimal and argument separator instead of importing another spreadsheet application’s convention as fact. |
| Values appear inconsistent when individually rounded | Each calculated component may include fractional cents. | Format cells as currency, keep their calculation precision, and compare with a small tolerance. |
| Formula is used for variable-rate or irregular cash flows | These functions are defined for a periodic constant-rate annuity. [G1, G3] | Recalculate after a rate change or use a cash-flow model appropriate to the actual contract. |
| Zero periods, invalid input, or a mathematically undefined power | Outside supported practical domains the underlying financial expressions can become singular or undefined. [G3] | Check nper>0, finite numeric inputs, reasonable rate, and that the output remains meaningful. An exact error token is not asserted without native execution. |
Compatibility and software/version evidence
- Gnumeric, not Excel: These are Gnumeric formulas. The official Gnumeric 1.12 Finance manual documents the names and argument order. Gnumeric’s public catalogue labels the function a Complete implementation with Basic upstream testing; that status does not verify this tutorial’s specific cells or cross-application import. [G1, G2]
- Source check: The implementation and registration were reviewed in
plugins/fn-financial/functions.cfrom the checksum-verified official Gnumeric 1.12.62 source archive. Source inspection does not establish execution or every packaged platform’s behavior. [G3] - Release/platform scope: The GNOME 1.12 release directory establishes availability of Gnumeric 1.12 source releases, but no installed Linux, Windows or macOS Gnumeric build was started here. Packaging, plugin activation, and localized parsing were not tested. [G5]
- Payment timing: The official manual documents
type=0for payments at the end of a period (default) andtype=1at the beginning. Gnumeric source maps a nonzero numerictypeto1, but use explicit0or1for clarity. Fortype=1, IPMT is specifically computed from its type-0 helper and divided by(1+rate); do not substitute another spreadsheet application’s assumptions. The example table above uses onlytype=0. [G1, G3] - Locale: The manual’s formulas are shown using commas. Gnumeric’s localization documentation explains the environment’s locale-dependent conventions; the syntax in a configured installation should be confirmed in that installation before promising copied formulas will parse unchanged. [G1, G4]
Checked related Gnumeric function guides
Primary references and validation record
Sources checked 13 October 2026 (UTC). The bracketed evidence keys above refer to the following claim-level primary sources:
- [G1] Gnumeric 1.12 official Finance function reference — search within the manual for this function’s heading; confirms function purpose, argument order,
typeinterpretation, and official related functions. - [G2] Gnumeric official function catalogue — establishes catalogue registration and upstream Complete / Basic classification, not runtime proof.
- [G3] GNOME Gnumeric upstream financial-functions C source, from the verified 1.12.62 source archive — search
gnumeric_pmt,gnumeric_ipmt,gnumeric_ppmt, andcalculate_pmt/calculate_ipmt; confirms optional arguments, defaults, repayment arithmetic, bounds checks, and payment-timing source behavior. - [G4] Gnumeric official Languages and Locales guidance — locale context, not a test of the current operating system.
- [G5] GNOME official Gnumeric 1.12 source-release directory — release provenance, not application execution on the user’s platform.
Validation scope: Official manual and verified 1.12.62 source were reviewed; listed examples were independently calculated. Native Gnumeric execution, screenshots and locale/platform regression tests were not performed. The implementation compounds the supplied rate once per payment period, which controls the 6%/12 conversion. [G1, G3]