ODDFPRICE Function in ONLYOFFICE Spreadsheet Editor: Syntax and Examples
Price a security per 100 face value with a short first coupon, separating accrued interest from discounted payments.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer
For issue March 15, 2026, settlement May 15, 2026, first coupon July 15, 2026 and maturity July 15, 2027, a 6% coupon and 6% yield give an expected clean price of approximately 99.9999355986 per 100 face value, using semiannual payments and basis 0.
An odd first coupon is shorter or longer than a normal coupon interval. Its payment must reflect that interval; simply using an ordinary PRICE schedule can misstate the cash flows. This guide verifies a short-first-coupon case. Long-first schedules require separate checking of quasi-coupon dates and are not covered by these numerical assurances.
Syntax and units
=ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])
The first eight arguments are required. Dates must satisfy issue < settlement < first_coupon < maturity. rate is the annual coupon rate, yld the annual yield, and redemption the amount paid at maturity per 100 face value. Use 0.06 for 6%, not 6. Frequency is 1, 2 or 4 for annual, semiannual or quarterly payments. Basis defaults to 0: US (NASD) 30/360; the other codes are 1 actual/actual, 2 actual/360, 3 actual/365 and 4 European 30/360.
The output is a price per 100, not a currency total or a percentage stored as a fraction. A price near 100 means near face value. The source subtracts accrued coupon interest from the discounted future payments, producing a clean-price calculation.
Step-by-step: a four-month first coupon
Enter this input table, formatting the date cells as dates.
| Cell | Input | Meaning |
|---|---|---|
| B2 | =DATE(2026,5,15) |
Settlement |
| B3 | =DATE(2027,7,15) |
Maturity |
| B4 | =DATE(2026,3,15) |
Issue |
| B5 | =DATE(2026,7,15) |
First coupon |
| B6 | 0.06 |
Annual coupon |
| B7 | 0.06 |
Annual yield |
| B8 | 100 |
Redemption per 100 |
| B9 | 2 |
Semiannual frequency |
| B10 | 0 |
Basis |
Enter =ODDFPRICE(B2,B3,B4,B5,B6,B7,B8,B9,B10) in B12. Expected: 99.9999355986 approximately.
Under the selected 30/360 convention, the normal period is 180 days, issue to first coupon is 120 days, issue to settlement is 60 days, and settlement to first coupon is 60 days. The normal coupon is 3 per 100. The first payment is therefore 2; accrued interest is 1. The remaining coupon dates are January 15 and July 15, 2027.
Independent discounted cash flows give:
2 / 1.03^(1/3)
+ 3 / 1.03^(4/3)
+ 103 / 1.03^(7/3)
- 1
= 99.9999355986 approximately
This explains why matching coupon and yield does not force exactly 100 for the chosen irregular first payment.
Advanced use: price sensitivity and settlement amount
Hold the dates and coupon fixed while changing only B7. At 4% yield the expected price is 102.2577150813; at 8% it is 97.8135775555. These are model comparisons, not forecasts.
For a fictional face amount of 10,000, multiply the clean price by 100, giving approximately 9,999.99356. Accrued interest is another 100 in the same currency, so the modeled dirty amount is approximately 10,099.99356, before fees or market rounding. Keep clean price and cash settlement amount in separate cells.
At zero yield the source permits the input and the independent undiscounted result is 107: future payments total 108, less accrued interest 1.
Errors, schedule limits and compatibility
The inspected wrapper returns #NUM! for violated date order, negative coupon/yield/redemption, frequency outside 1/2/4 or basis outside 0–4. Dates, frequency and basis are floored before these checks. Numeric conversion errors propagate. Zero redemption is not rejected by this wrapper, although an ordinary redeemable-bond model should use a positive amount.
A valid date order does not prove that the first coupon and maturity belong to a coherent regular schedule. Check subsequent coupon dates explicitly. Avoid assuming that every month-end or leap-year schedule agrees with another spreadsheet: the source uses its own coupon helpers and has a separate long-first branch. The examples here use aligned 15th-of-month dates and basis 0, with a first period strictly shorter than the normal period. They do not validate all long-first, end-of-month or actual-basis cases.
Availability and verification scope
Checked October 18, 2026 against the official ODDFPRICE 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.