SYD Function (OpenOffice Calc)
Calculate sum-of-years-digits depreciation with OpenOffice SYD, including native early and final periods, weighting checks and explicit schedule limits.
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 and results were checked. How formula examples are checked
Quick answer: =SYD(1000;100;5;1) returned approximately 300 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 mathematics were also checked.
What SYD returns
SYD allocates Cost−Salvage using descending period weights. For Life=n and Period=k, it returns (Cost−Salvage)×(n−k+1)/(n(n+1)/2). Ordinary whole-period schedules therefore charge more depreciation earlier and less later. Release implementation.
Syntax and arguments
=SYD(Cost; Salvage; Life; Period)
All four arguments are required. Cost, Salvage and Life describe the model; Period selects the allocation. For the usual schedule, use a positive integer Life and an integer Period from 1 through Life. The source directly evaluates the equation without enforcing all of these model assumptions.
Eight reproducible examples
The native column contains saved 4.1.16 results; the independent column uses high-precision mathematical calculations. Values are displayed to twelve decimal places, so harmless final-place differences remain visible.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=SYD(1000;100;5;1) |
300 |
300 |
=SYD(1000;100;5;2) |
240 |
240 |
=SYD(1000;100;5;5) |
60 |
60 |
=SYD(5000;500;3;1) |
2250 |
2250 |
=SYD(5000;500;3;3) |
750 |
750 |
=SYD(100;100;5;1) |
0 |
0 |
=SYD(1000;0;10;4) |
127.272727272727 |
127.272727272727 |
=SYD(1200;200;4;2) |
300 |
300 |
Practical worksheet
For Cost=1000, Salvage=100 and Life=5, the denominator is 5+4+3+2+1=15. Period 1 receives 900×5/15=300, period 2 receives 240, and period 5 receives 60. These are native examples in the table. The sum of all five modeled allocations is 900.
Keep the period number in a worksheet column and calculate the formula for each row. A fixed Cost, Salvage and Life should remain fixed as the period number changes; accidental relative references can silently change the schedule.
Advanced interpretation and checks
The five weights sum to one after division by 15. This provides an independent total check: 300+240+180+120+60=900, leaving the residual 100. SYD is a weighting calculation, not a forecast that an asset physically loses exactly that market value each year.
Compared with the straight-line amount 180 for the same inputs, SYD allocates more in the first two years and less in the final two. Both arithmetic schedules have the same full-life total when the same cost and residual are used. Choosing an allowed method is an accounting-policy question outside the function.
Fractional Life or Period values enter the source arithmetic without a general partial-year rule. If a schedule uses partial periods, define that convention explicitly rather than assuming a fractional period number prorates the yearly amount in the intended way.
Boundaries and troubleshooting
The formula denominator vanishes at Life=0 and Life=−1. A period beyond the stated life can produce zero and then negative amounts because there is no general schedule guard. Validate 1≤Period≤Life with integer periods before treating an output as depreciation. Salvage above Cost similarly changes the sign without validating the economic assumptions.
Related functions
Official evidence and checking scope
The generated ODF input produced the informational load warning “Not all attributes could be read.” After it was acknowledged, the sheet was hard-recalculated and saved separately. All eight ordinary function identities and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated formula examples, not every workbook style or every invalid input. The original XLSX was not executed. Other explanatory calculations are independent mathematical checks; this guide does not claim a fully executed amortization schedule, other releases or all boundary cases.