Business Functions:
The Sum of the Year Digits Depreciation


The Sum-Of-The-Years’-Digits provides another technique for calculating the depreciation of an item. Imagine that a restaurant bought a commercial refrigerator (“cold chamber”) for $18,000 and wants to estimate its depreciation after 5 years using the Sum-Of-Years’-Digits technique. Each year is assigned a number, also called a tag, using a consecutive count. This means that the first year is appended 1, the second is 2, etc. This way, the depreciation is not uniformly applied to all years.

Year => 1, 2, 3, 4, and 5.

The total count is made for these tags. For our refrigerator example, this would be

Sum = 1 + 2 + 3 + 4 + 5 = 15

Each year is divided by this Sum, also called the sum of years, used as the common denominator:

This is equivalent to 1. As you can see, the first year would have the lowest dividend (1/15 ≈ 0.0067) and the last year would have the highest (5/15 ≈ 0.33).

To calculate the depreciation for each year, the fractions (1/15 + 2/15 + 3/15 + 4/15 + 5/15) are reversed so that the depreciation of the first year is calculated based on the last fraction (the last year divided by the common denominator). Then the new fraction for each year is multiplied by the original price of the asset. This would produce:

Year Fraction * Amount = Depreciation
1 5/15 * $18,000.00 = $6,000.00
2 4/15 * $18,000.00 = $4,800.00
3 3/15 * $18,000.00 = $3,600.00
4 2/15 * $18,000.00 = $2,400.00
5 1/15 * $18,000.00 = $1,200.00
Total Depreciation = $18,000.00

The VCL function used to calculate the depreciation of an asset using the sum of the years is called SYDDepreciation() and its syntax is:

Extended __fastcall SYDDepreciation(constExtended Cost,
 				    const Extended Salvage,
				    int Life,
				    int Period);

The Cost parameter is the original value of the item. In our example, this would be $18,000. The Salvage parameter is the value the asset would have (or has) at the end of its useful life. The Life is the number of years of the asset would have a useful life. The Period is the particular period or rank of a Life portion; for example, if the Life of the depreciation is set to 5 (years), the Period could be any number between 1 and 5. If set to 1, the depreciation would be calculated for the first year. If the Period is set to 4, the depreciation would be calculated for the 4th year. You can also set the Period to a value higher than Life. For example, if Life is set to 5 but you pass 8 for the Period, the depreciation would be calculated for the 8th year. If the asset is worthless in the 8th year, the depreciation would be 0.

Here is an example:


void __fastcall TForm1::btnCalculateClick(TObject *Sender)
	Extended DeprecYear1, DeprecYearN, Cost, Salvage;
	int Life;

	Cost = StrToFloat(edtCost->Text);
	Salvage = StrToFloat(edtSalvage->Text);
	Life = StrToInt(edtLife->Text);
	DeprecYear1 = SYDDepreciation(Cost, Salvage, Life, 1);
	DeprecYearN = SYDDepreciation(Cost, Salvage, Life, Life);

	edtYear1->Text = FloatToStrF(DeprecYear1, ffCurrency, 8, 2);
	edtYearN->Text = FloatToStrF(DeprecYearN, ffCurrency, 8, 2);
Home Copyright © 2004 FunctionX, Inc.