top of page

84. Amortization Table


Computes the level periodic payment for a loan.



( InterestRate-n / 100 ) / Interval-n


( PrincipalAmount-n * PeriodicRate-c ) /
( 1 - POWER( 1 + PeriodicRate-c, -TotalPayments-n ) )


Let me try to make a small contribution toward the matter of a HotDocs amortization table.

The code above creates an algebraic formula to determine the amount of a level periodic payment that will amortize a loan, with each payment being applied first to interest, then to principal (as is done commonly with a home mortgage).


• PrincipalAmount-n - a number variable for the original principal amount of the loan.
• InterestRate-n - a number variable for the interest rate on the loan, as a percent per annum.
• TotalPayments-n - a number variable for the total number of payments to be made on the loan.
• Interval-n - a number variable for the number of payments per year.


PeriodicRate-c. This computation converts the per annum interest rate (as a percent) into the decimal rate per month (for monthly payments), per quarter (for quarterly payments), etc.

PaymentAmount-c. This computation will yield the level payment amount (rounded to two decimal places) that will amortize the loan over the scheduled total number of payments. Since it's easy to miss, note that the exponent in the POWER computation is a negative number.

I'm not an expert on financial mathematics. There may be different formulas, depending on whether interest is charged on an actual days/360-day year basis, 365/66 day basis, 12 thirty-day months, etc. The formula above assumes equal intervals, even though, with monthly payments for example, the months are of different lengths. The formula yields approximately the same result as the PMT function in Excel (with some differences because Excel can handle more than five decimal places).

I have tested the formula primarily by setting the Interval-n variable to a number that divides the year into commonly recognized payment intervals, e.g., 12 (monthly payments), 6 (bi-monthly), 4 (quarterly), 3 (every four months), 2 (semi-annual) and 1 (annual).

Using the payment amount obtained by the PaymentAmount-c computation, a programmer can use HotDocs with WordPerfect tables to construct a complete amortization schedule, showing the payment dates, each payment, how much is applied to interest, how much to principal, remaining balance, etc. Using Word to construct a similar schedule may be substantially more difficult because Word tables don't have the computational power that WordPerfect provides.

WordPerfect also provides a function for tables that will calculate the payment amount. The HotDocs method has the advantage of presenting a simple interface to the user, who doesn't need to know anything about WordPerfect table functions.

bottom of page