COUPDAYSNC Function (OpenOffice Calc)
Calculate days from settlement to the next coupon in OpenOffice Calc. Compare actual remaining days with the 30/360 remainder rule and coupon-date settlement.
Verification status: Eight ordinary reference formulas were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, through generated native ODF and GUI hard recalculation. Saved identities, inputs and results were checked. How formula examples are checked
Quick answer: =COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;0) returned 105 in the tested Apache OpenOffice 4.1.16 build.
Availability and version history
- Introduced: First release not established; documented by OpenOffice.org 3.3.
- Supported in: Apache OpenOffice 4.1.16; this is a verified release, not a final supported version.
- Scope: Desktop Calc, English function names and semicolon-separated formulas.
- Checked: October 14, 2026. Eight ordinary reference formulas were recalculated from generated ODF in 4.1.16 on Linux x86-64, Build 9816. Source and independent arithmetic were checked.
What COUPDAYSNC returns
COUPDAYSNC returns the day-count distance from settlement to the next coupon date on a regular maturity-anchored schedule. The next coupon is strictly later than settlement. The function returns a count, whereas COUPNCD returns a date serial. Release implementation.
Syntax and arguments
COUPDAYSNC(Settlement;Maturity;Frequency[;Basis])
- Settlement: date at which the regular coupon schedule is evaluated.
- Maturity: later final coupon date; the schedule is anchored to this date.
- Frequency: 1, 2 or 4 payments per year.
- Basis: optional, defaults to 0: US 30/360. Other values are 1 actual/actual, 2 actual/360, 3 actual/365 and 4 European 30/360. The functions implement the release-specific rules discussed below.
Eight reproducible examples
The native column contains saved 4.1.16 results; independent references use high-precision arithmetic and the stated source rules. Values are shown to twelve decimal places where needed. Enter DATE expressions directly rather than locale-dependent date text.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;0) |
105 |
105 |
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;1) |
107 |
107 |
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;2) |
107 |
107 |
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;3) |
107 |
107 |
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;12;31);2;4) |
105 |
105 |
=COUPDAYSNC(DATE(2024;6;30);DATE(2025;12;31);2;1) |
184 |
184 |
=COUPDAYSNC(DATE(2024;3;15);DATE(2025;2;28);1;0) |
345 |
345 |
=COUPDAYSNC(DATE(2024;1;15);DATE(2025;12;31);4;1) |
76 |
76 |
Practical worksheet
For settlement March 15, 2024 and a semiannual schedule ending December 31, 2025, the next coupon is June 30, 2024. Bases 1, 2 and 3 return the actual 107 remaining calendar days. Bases 0 and 4 return 105 convention-based units.
At settlement June 30, 2024, the next coupon advances to December 31, 2024; actual/actual returns 184, not zero. For quarterly payments at January 15, 2024, the next date is March 31 and the actual count is 76.
Advanced interpretation and checks
The two 30/360 modes compute this result as COUPDAYS-COUPDAYBS. The first example therefore gives 180−75=105. The three actual-day modes instead measure settlement to the next coupon directly.
This is why subtracting COUPDAYBS from COUPDAYS is not a universal replacement. Under basis 2, 180−75=105 but COUPDAYSNC returns 107; under basis 3, 182.5−75=107.5 but the returned actual count is still 107. The guide’s tested values expose the difference rather than assuming all period components use the same denominator.
Boundaries and troubleshooting
The next-date search moves in whole coupon months while preserving the maturity anchor’s day or month-end behavior. An annual schedule ending February 28, 2025 yields a 30/360 remainder of 345 at March 15, 2024. That value is a convention count, not a claim that 345 calendar days separate the dates.
Settlement must precede maturity; use frequency 1, 2 or 4 and basis 0–4. All native examples are ordinary valid date-only inputs. Irregular schedules, invalid parameters and fractional-date conversions were not tested. Do not confuse a remaining day count with the number of payments or a discount factor.
Related functions
Official evidence and checking scope
- Function-specific release implementation
- GetCoupdaysnc schedule/date helper
- lcl_GetCouppcd schedule/date helper
- ScaDate::setDay schedule/date helper
- ScaDate::getDate schedule/date helper
- ScaDate::getDiff schedule/date helper
- GetCoupdays schedule/date helper
- GetCoupdaybs schedule/date helper
- lcl_GetCoupncd schedule/date helper
- Maturity month-end preservation
- Optional basis conversion and validation
The generated ODF produced the informational load warning “Not all attributes could be read.” The sheet was hard-recalculated and saved separately. All eight ordinary function identities, inputs and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated examples, not every workbook style or invalid input. Other explanatory identities are independent calculations. The authoring-tool XLSX was not executed in OpenOffice, and its preview values are not the native results reported here.