ISPMT Function in ONLYOFFICE Spreadsheet Editor: Syntax and Examples
Calculate straight-line declining-balance interest with explicit period indexing, sign conventions and a comparison with annuity interest.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer
=ISPMT(0.10,1,4,1200) is expected to return β90. The inspected formula is pv Γ rate Γ (per/nper β 1): interest declines linearly as the period index increases. This differs from IPMTβs interest component of a constant-total-payment annuity.
Indexing caution: the official help says per must be from 1 to nper. The version-pinned implementation does not enforce that range and evaluates the same expression at 0, where it gives the full initial-balance interest. This guide distinguishes the documented interval from source-derived boundary behavior rather than silently assuming one-based annuity indexing.
Syntax and rate units
=ISPMT(rate, per, nper, pv)
All four arguments are required; there are no defaults, future-value argument or payment-timing flag.
| Argument | Meaning |
|---|---|
rate |
Rate per modeled period |
per |
Period index used in the straight-line expression |
nper |
Total number of modeled periods; nonzero in the source guard |
pv |
Starting amount, with sign chosen consistently |
For monthly periods, divide an appropriate nominal annual rate by 12 and express the term in months. Do not pass an annual rate unchanged alongside monthly period counts. A positive starting amount and positive rate yield negative interest for indices below nper; reversing pv reverses the sign.
Step-by-step: a four-period straight-line example
- Enter rate
0.10in B1, number of periods4in B2 and starting amount1200in B3. - Enter indices 1, 2, 3, 4 in A6:A9.
- Put
=ISPMT($B$1,A6,$B$2,$B$3)in B6 and fill down. - Label the rows by their actual index; do not relabel them as a different repayment convention.
| Index | Source expression | Expected interest |
|---|---|---|
| 1 | 1200Γ0.10Γ(1/4β1) | β90 |
| 2 | 1200Γ0.10Γ(2/4β1) | β60 |
| 3 | 1200Γ0.10Γ(3/4β1) | β30 |
| 4 | 1200Γ0.10Γ(4/4β1) | 0 |
The implied equal principal step is 1200/4 = 300. At index 1 the remaining amount in this formula is 900; at index 4 it is zero. The source-derived control =ISPMT(0.10,0,4,1200) is expected to return β120, but index 0 lies outside the helpβs stated 1-to-nper interval. This is an implementation observation from reading source, not an application-tested compatibility promise.
Advanced case: align the model with the repayment schedule
If a fictional equal-principal schedule charges interest on opening balances 1200, 900, 600, 300 before each principal repayment, the corresponding source-expression indices are 0, 1, 2, 3. Its expected interest amounts are β120, β90, β60, β30, totaling β300. The documented-index table 1, 2, 3, 4 instead totals β180 because it omits the initial full-balance charge and includes the terminal zero.
That difference is an indexing/model decision, not rounding. Decide when the interest is assessed and when principal is reduced before constructing the worksheet. If the agreement instead specifies equal total payments, use the annuity model associated with IPMT and PMT; straight-line principal reduction generally gives changing total payments.
A monthly arithmetic control is =ISPMT(0.12/12,1,12,1200), expected β11: the rate is 1% per month and the index 1 balance is 1100. This illustrates rate/period consistency without asserting that a real loan follows this repayment structure.
Errors and unchecked inputs
The explicit source domain guard is nper=0, which returns #DIV/0!. Existing conversion errors propagate. The wrapper does not floor per or nper, and it does not reject a negative count or an out-of-range index. For example, the expression at per=5,nper=4,pv=1200,rate=0.10 gives +30. That numerical result is not a sensible continuation of a fully repaid positive loan.
Validate positive integer term lengths and the intended index range in your worksheet rather than relying on the function to reject economically invalid inputs. A zero rate gives zero for nonzero nper; a negative pv reverses the worked signs. Do not remove the sign merely to make a table look positive without documenting whether it represents cash paid or received.
Availability and verification scope
Checked October 18, 2026 against the official ISPMT help and official SDKJS source tagged v10.0.0.169. Desktop Editors 10.0 was released October 13, 2026. The original introduction version for this individual function is not established; current help does not mark it retired or deprecated.
All results in this guide are expected values from documentation, source inspection and independent arithmetic, not application observations. Neither the application nor its calculation engine was used to test these examples. The tag matches the installed version/build designation but does not establish identical behavior in every older release, mobile client, server deployment or imported workbook. Examples use English names and comma argument separators; adapt separators to editor settings. These fictional calculations explain a function, not an investment or borrowing recommendation.