DB Function (OpenOffice Calc)
Use DB depreciation in Apache OpenOffice Calc. See the rounded fixed rate, partial first-year months and exact period-by-period examples.
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: =DB(1000;100;5;1) returned 369 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 DB returns
DB returns fixed declining-balance depreciation for one period. It derives a rate from Cost, Salvage and Life, rounds that rate to three decimal places, and applies it to the remaining balance. Months controls the length of the first depreciation year, not every period. Release implementation.
Syntax and arguments
DB(Cost;Salvage;Life;Period[;Months])
- Cost, Salvage: initial cost and residual value, in the same units. The ordinary examples use positive Cost and 0<Salvage<Cost.
- Life: useful life in periods. Period: the requested period.
- Months: optional, defaults to 12. The source floors this argument and requires 1–12.
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.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=DB(1000;100;5;1) |
369 |
369 |
=DB(1000;100;5;2) |
232.839 |
232.839 |
=DB(1000;100;5;3) |
146.921409 |
146.921409 |
=DB(1000;100;5;4) |
92.707409079 |
92.707409079 |
=DB(1000;100;5;5) |
58.498375128849 |
58.498375128849 |
=DB(1000;100;5;1;6) |
184.5 |
184.5 |
=DB(1000;100;5;2;6) |
300.9195 |
300.9195 |
=DB(1000;100;5;6;6) |
23.852712458788 |
23.852712458788 |
Practical worksheet
For Cost=1000, Salvage=100 and Life=5, the unrounded rate is 1-(100/1000)^(1/5). Rounding it to three decimal places gives 0.369. Period 1 depreciation is 369, leaving 631; period 2 is 631×0.369=232.839.
The next three listed charges are 146.921409, 92.707409079 and 58.498375128849. Keep the rate rounding in a hand-built reconciliation. Using the unrounded rate instead describes a different schedule.
Advanced interpretation and checks
With Months=6, period 1 receives half the ordinary first-year charge: 184.5. Period 2 applies the full rate to the remaining 815.5 and gives 300.9195. The extra sixth period uses the remaining six months and returns approximately 23.852712458788.
Rate rounding means the full-year schedule need not land exactly on the entered salvage amount. For the five full-year charges above, their sum is approximately 899.966193207849, leaving 100.033806792151. DB does not automatically replace the final amount with an exact salvage adjustment in that example.
Boundaries and troubleshooting
Use positive, ordinary integer Life and Period values deliberately. The source has specific bounds, including Life≤1200, Months from 1 to 12 and Period no later than Life+1. The fixture does not test zero-life, zero-cost, fractional-period or invalid-domain cases.
DB is an arithmetic depreciation method, not a statement that a particular accounting or tax treatment is permitted. Keep cost, residual assumptions, life and first-year months documented. Do not substitute DDB merely because both function names refer to declining balances; DDB uses a factor rather than this rounded derived rate.
Related functions
Official evidence and checking scope
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.