Contact

DB Function (Calligra Sheets)

Financial Intermediate Calligra Sheets

Calculate fixed declining-balance depreciation with Calligra DB. Check three-decimal rate rounding, partial first/last years and incomplete period/month validation.

Verification status: 22 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library. Exact outputs, mathematical references and source limitations are documented separately. Version 26.08.2 was source-checked only; no GUI-cell or import claim. How formula examples are checked

Schedule-validation limitation: the tested engine accepts invalid months and several out-of-range or fractional periods. With default months, period 2.5 returned zero rather than a meaningful partial-period charge. Validate the schedule explicitly.

Quick answer: =DB(1000;100;5;1) gives approximately 369 in the tested Calligra calculation engine.

Availability and version history

  • Introduced: First release not established; the name is present in Calligra 2.4.0 source.
  • Supported in: Calligra Sheets 26.08.2, with no retirement established.
  • Scope: Desktop Sheets with the Financial module. Examples use English semicolon-separated formulas.
  • Checked: October 14, 2026. Selected formulas ran through the official 25.04.2 engine library. Source and independent mathematics were checked. This is engine evidence, with no GUI-cell or import verification; 26.08.2 was source-checked only.

What DB returns

DB computes fixed declining-balance depreciation using rate 1−(salvage/cost)^(1/life), rounded to three decimal places before applying it. The first charge is prorated by months/12; ordinary later charges apply the fixed rate to remaining book value. Function-specific official reference.

Syntax and arguments

=DB(cost;salvage;life;period[;months])

Cost, salvage, life and period are required. Months defaults to 12. For an ordinary schedule, use positive cost and integer life, 0≤salvage≤cost, integer months from 1 to 12 and valid integer period positions. The source enforces only part of that domain. Brackets indicate optional arguments and are not entered in the formula. Registration and implementation.

Reproducible engine examples

The engine and mathematical columns are separate. Results are rounded to twelve decimal places, or thirteen significant digits in scientific notation for very small or large values. This is a display choice, not an accuracy guarantee.

Formula Engine result Independent mathematical 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;6;6) 23.852712458788 23.852712458788
=DB(1000;0;5;1) 1000 1000

Practical worksheet

For cost 1000, salvage 100 and life five years, the rounded fixed rate is 0.369. The first two charges are 369 and 232.839. Each later ordinary charge uses the previous book value, without recomputing a rate from the remaining life.

The five full-year charges total approximately 899.966193207849, leaving 100.033806792151. The small excess over target salvage is a consequence of rounding the fixed rate, rather than an exact residual clamp. The advanced sum below preserves that distinction.

Advanced interpretation and checks

With months=6, the first charge is 184.5. The source’s extra final-period branch applies the complementary six-month fraction after the intervening whole-year reductions; the tested period 6 charge is approximately 23.852712458788. Keep the same months input throughout a schedule.

A practical worksheet should include period, opening book value, charge and closing book value. Independently sum the charges and compare the final balance with the intended salvage. DB does not automatically guarantee exact salvage because its rounded rate is fixed.

The executed advanced check was:

=DB(1000;100;5;1)+DB(1000;100;5;2)+DB(1000;100;5;3)+DB(1000;100;5;4)+DB(1000;100;5;5)

Its engine result was 899.966193207849.

Boundaries and troubleshooting

Zero cost, nonpositive life, period zero and a negative salvage/cost ratio give #NUM!. Other checks are absent: months 0 returned zero first-year depreciation; months 13 produced an oversized charge. Salvage above cost produced negative depreciation.

The period-matching loop tests equality against integer positions. Fractional period 2.5, negative period −1 and period 7 with life 5 reached the final branch and returned zero when months=12. Those are observed continuations, not valid schedules. Nonnumeric cost becomes zero and errors; wrong arity gives #VALUE!.

Formula Engine result
=DB(0;100;5;1) #NUM!
=DB(1000;100;0;1) #NUM!
=DB(1000;100;5;0) #NUM!
=DB(1000;-100;5;1) #NUM!
=DB(1000;100;5;2.5) 0
=DB(1000;100;5;7) 0
=DB(1000;100;5;-1) 0
=DB(1000;100;5;1;0) 0
=DB(1000;100;5;1;13) 399.75
=DB(1000;1200;5;1) -37
=DB("abc";100;5;1) #NUM!
=DB(1000;100;5) #VALUE!
=DB(1000;100;5;1;12;0) #VALUE!

Official evidence and precision scope

The financial module and value-calculation helpers are byte-identical between the inspected 25.04.2 and 26.08.2 sources. That comparison supports the source discussion but does not establish later-version execution, GUI-cell behavior or other locales.