COUPNCD Function (Calligra Sheets)
Find the next maturity-anchored coupon date in Calligra Sheets, including month-end behavior, date formatting and on-coupon settlement rules.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =COUPNCD(DATE(2025;3;15);DATE(2026;12;31);2;1) is expected to return the date June 30, 2025. Format the output as a date to inspect it clearly.
COUPNCD returns the next regular coupon date strictly after settlement. It does not return a count of days, the coupon amount or a holiday-adjusted payment date.
Availability and evidence
- Introduced: Original introduction release not established. Presence in the checked release is not an introduction date.
- Available in source: Calligra Sheets 26.08.2, checked against first-party pinned source retrieved on October 18, 2026.
- Retired versus deprecated: Neither retirement nor deprecation is established; the function remains registered in this release.
- Verification: Selected formulas were executed in the Calligra Sheets 25.04.2 GUI on October 18, 2026. The native-results section lists those observations separately from independent calendar calculations and source analysis. 26.08.2 was source-checked only.
- Entry style: English names and semicolon separators. DATE constructors avoid locale-ambiguous date strings. Brackets in displayed syntax mark optional arguments and are not typed.
The inspected financial.xml has no dedicated COUPNCD description. Its availability and argument count are established by the runtime registration, not by an invented handbook section.
Syntax and argument roles
=COUPNCD(settlement; maturity; frequency[; basis])
| Argument | Requirement |
|---|---|
| settlement | Required valid date before maturity |
| maturity | Required later date that anchors the regular coupon schedule |
| frequency | Required positive payment frequency; use 1 (annual), 2 (semiannual) or 4 (quarterly) for these examples |
| basis | Optional integer day-count selector, default 0 |
The source accepts nonzero integer divisors of 12, more than the ordinary 1/2/4 conventions. This guide does not promote extra frequencies as financially validated. Supply whole positive inputs deliberately; the source does not safely establish every negative or fractional case.
Build the next-date example
Use a fresh worksheet. Enter A1 “Settlement”, A2 “Maturity”, A3 “Frequency” and A4 “Basis”. Put =DATE(2025;3;15) in B1, =DATE(2026;12;31) in B2, 2 in B3 and 1 in B4. Keep formula outputs below the input block.
The regular semiannual schedule anchored to this end-of-month maturity has December 31 and June 30 coupon dates. Around settlement, the relevant dates are December 31, 2024 and June 30, 2025. Calendar subtraction gives 74 elapsed days and 107 remaining days, a total of 181 actual days in that period.
- Enter
=COUPNCD(B1;B2;B3;B4)in B6. - Apply a date format such as yyyy-MM-dd. Independently expect 2025-06-30.
- Check the schedule by stepping backward from maturity in six-month intervals: December 31, 2026; June 30, 2026; December 31, 2025; June 30, 2025; December 31, 2024.
- June 30, 2025 is the first date in that regular schedule after the March 15 settlement.
The implementation constructs a date-valued result using the workbook’s calculation settings. A visible serial number is a formatting clue, not evidence that the function returned a day count. This guide compares calendar dates rather than hard-coding a serial number tied to a particular date-system setting.
Frequency changes the inferred schedule
Keep settlement March 15, 2025 and maturity December 31, 2026:
| Frequency | Interval | Expected next date |
|---|---|---|
| 1 | Annual | December 31, 2025 |
| 2 | Semiannual | June 30, 2025 |
| 4 | Quarterly | March 31, 2025 |
The maturity date anchors every result. No issue date is supplied. A real instrument’s first payment could differ from this inferred regular schedule, so establish whether the schedule is applicable before using it for cash planning.
Basis defaults to 0 and is validated in the shared helper, but it does not change the generated coupon date. The same positive-frequency dates are expected with bases 0, 1 or 3. The accepted range is 0–5; a selector outside that range is still invalid even though no basis-specific day arithmetic is required for this output.
Advanced case: month-end rollovers
Use settlement August 28, 2025, maturity February 28, 2026, and frequency 2. Maturity is the last day of its month. The helper moves each generated coupon date to its month end, so the prior semiannual anchor in August is August 31, not August 28. =COUPNCD(DATE(2025;8;28);DATE(2026;2;28);2;0) is therefore source-predicted to return August 31, 2025.
This shows why simply subtracting six calendar months from maturity without applying the source’s month-end rule can produce the wrong next date. COUPNCD exposes no optional end-of-month flag; its three/four-argument interface uses that mode enabled. Do not copy COUPNUM’s source-supported fifth argument into COUPNCD.
For maturity dates that are not at month end, the helper uses month subtraction without that explicit month-end promotion. Date clipping in short months is another reason to check actual date values rather than assuming every coupon falls on the same numerical day in all months.
Settlement exactly on a coupon date
With settlement June 30, 2025 and the main maturity/frequency, the expected next date is December 31, 2025. It does not return June 30 again. A payment report that must include a coupon “today” needs an explicit inclusion rule outside this function.
The expected actual-day gap from June 30 to December 31 is 184. If instead you need the prior/current coupon anchor, use the corresponding previous-coupon function. Comparing dates is clearer than inferring their identity from formatted day-count results.
Errors, boundaries and compatibility
- The source explicitly returns
#VALUE!when settlement is on or after maturity, basis is outside 0–5, frequency is zero or frequency does not divide 12. These are source-predicted errors; their native cell display is not claimed here. - Use positive frequencies. Some negative divisors pass the explicit validation, and the coupon-date iteration is not safe to assume terminating for those inputs. Do not use negative-frequency trial formulas in a production workbook.
- Validate date inputs before calling the function. Invalid text dates, blanks, imported errors and fractional-selector coercion are outside the verified examples.
- The schedule is inferred backward from maturity at fixed month intervals. There is no issue date, first-coupon date, holiday calendar, business-day adjustment or irregular-stub argument. A computed date or count is not proof of the actual instrument’s payment schedule.
- End-of-month handling matters: when maturity is the last day of its month and end-of-month mode is enabled, generated coupon dates are moved to the last day of their respective months. Leap years and unequal month lengths therefore deserve explicit tests.
- Formula-name compatibility is not import/export verification. No workbook round trip or comparison with another spreadsheet engine has been performed.
Related guides and evidence
- DATE constructs unambiguous date inputs.
- YEARFRAC is a separate year-fraction calculation, not a substitute for the coupon schedule.
- DAYS can support a date-difference cross-check when its argument order is observed.
The registered alternate name COM.SUN.STAR.SHEET.ADDIN.ANALYSIS.GETCOUPNCD invokes COUPNCD. It is the same function under another name; it does not select a different day-count method.
Selected native results and screenshot
These formulas were recalculated in Calligra Sheets 25.04.2 using a prepared ODS workbook, then saved by the application. The table records the native-saved results. Date-returning cells use ISO date formatting. Other examples in this guide remain independently calculated expectations or source analysis unless listed here.
| Entered formula | Native result |
|---|---|
=COUPNCD(DATE(2025;3;15);DATE(2026;12;31);2;0) |
2025-06-30 |
=COUPNCD(DATE(2025;3;15);DATE(2026;12;31);2;1) |
2025-06-30 |
=COUPNCD(DATE(2025;3;15);DATE(2026;12;31);2;3) |
2025-06-30 |
=COUPNCD(DATE(2025;6;30);DATE(2026;12;31);2;1) |
2025-12-31 |

Screenshot: Native Calligra Sheets 25.04.2. Selected cell B2 evaluates =COUPNCD(DATE(2025;3;15);DATE(2026;12;31);2;0) and shows 2025-06-30. Column B contains application results; column C shows the corresponding formula text. The output cells are formatted as calendar dates, not numeric day counts.
These selected observations establish 25.04.2 behavior for the listed formulas. They do not establish execution in 26.08.2, another locale or another spreadsheet product, nor do they validate an actual instrument’s contractual schedule.