Calculates the amortization value of a good over a specific period of time, via the formula for fixed-rate decreasing amortization.

Example

// Amortization value of a good bought for 25000 Euros // whose residual value will be 15000 Euros after 6 years. ResAmortization = FinDecreasingRedemption(25000, 15000, 6)

Value of the amortization for the given <Period> or 0 if the amortization is null.

<Acquisition cost>: Real or currency

Acquisition cost of good. This cost cannot be null.

<Residual value>: Real or currency

Residual value of good after amortization.

<Duration>: Real

Number of periods during which the good is repaid. This duration cannot be null.

<Period>: Optional integer

Period over which the amortization must be calculated (1 by default).

<Number of months year 1>: Optional integer

Number of months in the first amortization year (1 by default). This number must be included between 0 and 12.

Remarks

Fixed-rate amortization

The method for fixed-rate amortization consists in calculating the amortization of a good via a fixed rate over the amortization period.

This rate is applied to the current value of the good over each period. The current value of the good corresponds to:

<Acquisition cost> - <Amortization total>

where <Amortization total> represents the sum of the amortization for the previous periods.

This rate is calculated according to the residual value, the acquisition cost of the good and the duration of the amortization.

A specific calculation must be performed regarding the amortization value for the first year and for the last year:

for the first year, only the number of months amortized is taken into account (<Number of months for year 1>);

for the last year, the number of months amortized corresponds to:

12 - <Number of months for year 1>

Remark: If the number of months for the first year is equal to 12, this year is included in the duration.

Managing errors

Caution: FinDecreasingRedemption returns no error code. To determine if this function has generated errors, use FinError. To get more details on the error, use ErrorInfo with the errMessage constant.