# Amortization_CFpub ( principal ; interest ; periods ; payment ; term ; currency )

Produces the principal remaining at the end of a fixed rate amortization period.

Average rating: 4.6 (28 votes) Log in to vote

James Hea - Show more from this author |

Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

/*

Amortization_CFpub

Use this function to calculate the Principal at the end of a fixed payment period in a mortgage.

This is a tail-recursion function that accepts the following parameters:

principal - This value is the opening balance of the mortgage.

interest - This is the annual interest rate entered in full numbers i.e. 6.95 for 6.95%.

periods - The function is expecting this to be in months i.e. 12 for one year 360 for 30 years.

payment - Make sure to supply the payment using the same principal, interest and periods.

term - This value is supplied externally and should not exceed the total number of periods.

Notes: The interest is divided by 12 to derive the monthly interest rate and then by 100 to derive the actual percentage.

Author: James Hea, 2010

Email: james.m.hea@hbsc.bm

*/

Let(

[

p = principal;

i = interest/12/100;

d = periods;

c = Case(

currency = "BMD"; 365/365;

currency = "USD" ; 365/360;

365/365

);

start = 1;

m = payment;

r = p - ((p - m) + p * i * c)

];

Round(

Case(

term > d ; "" ;

term > 1 ; Amortization_CFpub( p - r; i ; d ; m ; term - 1; currency) ;

p-r

) // end Case

; 2 ) // end Round

) // end let

## Comments

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.