ODDFYIELD in Collabora Office: Implementation Limits
Documented odd-first yield syntax, the inspected throwing helper and a separately labelled cash-flow yield calculation.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Compatibility notice: Collabora’s help documents ODDFYIELD for a security with an irregular first coupon. At the inspected Collabora co-26.04 source pin, the public financial add-in path reaches an unconditionally throwing helper. This article explains the limitation without claiming a successful ODDFYIELD output or an established retirement.
Documented syntax, not an execution recipe
ODDFYIELD(Settlement; Maturity; Issue; FirstCoupon; Rate; Price; Redemption; Frequency [; Basis])
Price is the security price input; the documented function seeks its yield. Keep price and redemption on a consistent per-100-par scale when preserving the intended financial model. All arguments except Basis are required. A plausible input set is not evidence of successful execution of this implementation.
Documented arguments and conventions
Settlement is the purchase/settlement date; Maturity is the maturity date; Issue is the issue date; FirstCoupon is the first coupon date. Rate is the annual coupon rate, not the yield. Redemption is the amount repaid per 100 units of par. Frequency is the documented annual coupon count: 1, 2 or 4. Rates are decimal fractions or percentages.
Basis is optional: omitted or 0 means US/NASD 30/360; 1 means actual/actual; 2 actual/360; 3 actual/365; 4 European 30/360. These are documented argument meanings, not evidence that the inspected odd-first helper computes them. Use date cells or DATE when preserving a workbook formula; locale-dependent date text adds a separate migration risk.
Exact source scope and unresolved runtime behavior
The archived branch response identifies distro/collabora/co-26.04 at commit c1013fad0d38683630b48c01b6d5208b8d81181e in the LibreOffice/core repository. The source is therefore inspected as a Collabora distribution pin, rather than inferred from another application’s behavior. The financial add-in registry includes the function name.
The public entrypoint checks arguments first. Both odd-first entrypoints reject invalid frequency or dates outside Issue < Settlement < FirstCoupon < Maturity. ODDFPRICE rejects negative coupon rate or yield; ODDFYIELD rejects negative coupon rate or a nonpositive price. After input/date-mode handling, the inspected helper ignores its arguments and unconditionally throws uno::RuntimeException; the caller comments explicitly acknowledge the throwing helper.
This establishes a limitation in that specific inspected implementation path. An earlier invalid-argument rejection would not prove successful operation for valid inputs. It does not establish which worksheet error appears, whether a particular installed build follows an alternate path, or whether a desktop, Online or mobile deployment behaves the same way. No crash behavior or universal product failure is claimed.
No native Collabora execution occurred. The Help and main financial-source snapshots were retrieved October 17, 2026 and reviewed October 19. This is not a fresh branch-head check or a binary test. First introduced release, last working release/build and current working deployment boundaries remain unknown. A throwing stub is not proof of retirement; no retirement date is established.
Independent alternative: solve a fully stated cash-flow equation
A yield calculation needs a price convention and a discount model. Consider a simplified contract with no accrued interest: price 98.257121716318499…, a cash receipt of 3 after 0.5 years, and a final receipt of 103 after 1 year. Here yield means an effective annual discount rate y, not the nominal annual bond yield returned under an unspecified odd-coupon convention.
The independently defined equation is:
98.257121716318499… = 3/(1+y)^0.5 + 103/(1+y)
With x = square root of (1+y), multiplying through by x squared gives P*x^2 - 3*x - 103 = 0. For P greater than zero, its positive solution is x=(3+sqrt(9+412*P))/(2*P), followed by y=x^2-1.
To reproduce the control without rounding the starting price, enter =3/(1+8%)^0.5+103/(1+8%) in B2. Then the ordinary-arithmetic formula =((3+(9+412*B2)^0.5)/(2*B2))^2-1 independently targets 0.08, or 8% effective annually. This is algebra applied to the stated cash flows; no ODDFYIELD or other financial function is invoked or verified.
If instead you type the rounded price 98.26, the independently calculated effective annual yield is approximately 7.996789242816%. That small difference is a price-rounding effect; it should not be diagnosed as an application bug. Keep full precision for reconciliation and round only displayed results when appropriate.
For this positive-cash-flow model, increasing y above -1 reduces present value, so the positive-x solution provides an unambiguous admissible rate. More complicated cash flows can have different solution properties. This short derivation does not establish that the same rate would be returned by any odd-coupon bond-yield function, nor does it implement coupon accrual, clean-price conversion or a particular basis.
Compatibility decisions and next steps
Keep a copy of the original workbook before changing formulas. Record product edition, exact build, formula, dates, basis, coupon schedule, price convention and any independently obtained benchmark. Do not infer working support from a function-list entry or the help page alone. Resolving this conflict requires build-specific evidence of an implemented path or an authoritative explanation of alternate dispatch; the evidence here supplies neither.
For genuinely regular coupon periods, examine the separately documented PRICE and YIELD guides. Those regular-period functions are not drop-in substitutes for an irregular first coupon. Likewise, an odd-last-coupon calculation addresses a different contract. A manual cash-flow model must explicitly choose accrual, coupon fractions, discount timing, clean-versus-dirty price and annualization before any comparison is meaningful.
This article provides implementation-limit coverage, not a working-function tutorial or a successful ODDF output. No automatic conversion or equivalence is asserted.
References
- Official Financial Functions Part Three: documented names and syntax, saved October 17, 2026 as Collabora Office 26.04 Help;
/latest/may change. - Pinned add-in registry.
- ODDFPRICE entrypoint and throwing helper.
- ODDFYIELD entrypoint and throwing helper.
- Collabora function catalogue.