Return the depreciation for a specified period using the fixed-declining balance method. <span align="right" style="background-color:99FF99"><strong>Excel: DB</strong></span>

You're viewing an older version of this page (#325). View the current version.

View versions (1)

Interface

#include <codecogs/finance/accounting/deprecfixeddec.h>

using namespace Finance::Accounting;

This function calculates the depreciation of an asset for a specified period. The method used is a fixed-declining method. This function is equivalent to the Microsoft Excel function DB. It works on the following set of equations:

rate = 1.0 - (\frac{salv}{cost})^{(\frac{1}{life})}
(1)
deprec = (cost-prevTot)*rate
(2)

With two special cases, when period=1:

deprec = cost*rate*\frac{month}{12}
(3)

When period=life:

deprec = (cost-prevTot)*rate*\frac{12-month}{12}
(4)

Where:

  • salv is the salvage value of the asset,
  • cost is the initial cost of the asset,
  • life is the number of periods over which the asset is being depreciated.
  • prevTot is the total depreciation from previous periods.

References

http://www.vni.com/products/imsl/jmsl/v30/api/

Example 1

#include <stdio.h>
#include <codecogs/finance/accounting/deprecfixeddec.h>

int main(void)
{
  double costVal=1000000;
  double salvVal=100000;
  
  printf("Consider an asset with the following terms:\n");
  printf("Cost\t\tSalvage\t\tLife\tPeriod\tMonth\tDepreciation\n");
 
  for (int per=1; per<=7; ++per) { 
    printf("%f\t%f\t6\t%i\t7\t%f\n",
           costVal,
           salvVal,
           per,
           Finance::Accounting::deprecFixedDec(costVal, salvVal, 6, per, 7));
  }
   
  printf("\n");
  costVal=2500;
  salvVal=500;
  for (int per=1; per<=4; ++per) { 
    printf("%f\t%f\t3\t%i\t6\t%f\n",
           costVal,
           salvVal,
           per,
           Finance::Accounting::deprecFixedDec(costVal, salvVal, 3, per, 6));
   }
  
   return 0;
}

Output:

Consider an asset with the following terms:
Cost            Salvage         Life    Period  Month   Depreciation
1000000.000000  100000.000000   6       1       7       186083.333333
1000000.000000  100000.000000   6       2       7       259639.416667
1000000.000000  100000.000000   6       3       7       176814.442750
1000000.000000  100000.000000   6       4       7       120410.635513
1000000.000000  100000.000000   6       5       7       81999.642784
1000000.000000  100000.000000   6       6       7       55841.756736
1000000.000000  100000.000000   6       7       7       15845.098474

2500.000000     500.000000      3       1       6       518.750000
2500.000000     500.000000      3       2       6       822.218750
2500.000000     500.000000      3       3       6       480.997969
2500.000000     500.000000      3       4       6       140.691906

Parameters

valCost
The initial cost of the asset.
valSalv
The salvage value of the asset at the end of its life.
life
The is the number of periods over which the asset is
Blank

being depreciated (sometimes called the useful life of the asset).

Parameters

per
The period for which you want to calculate the
Blank

depreciation. per must have the same units as life.

Parameters

month
The number of months in the first year. This value defaults to 12.

Returns

The depreciation for each accounting period.
GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

valCost
valSalv
life
per
month
Result