Generate Schedule

Of all the debt transaction actions, this is the one most used to have the transaction create the payment schedule and any amortization schedule necessary. The action takes the information entered on the Schedule transaction tab, where the action is found, to create Schedule Detail records. When taken, the action sets a protected flag, called Generated Schedule, on the Schedule record so you know that the Schedule Details were initially created from the Schedule and not manually entered or uploaded.

Schedule generation has multiple steps as follows:

  1. Can the action be taken? First, the action only works on a new schedule record and never on one brought into a modification transaction from a registry page. Second, the action is not allowed if the Schedule Type is Other or if the payment Frequency is One Time. If any of these are violated, the action stops any further action and issues an error.

  2. Infer all necessary information. The action performs a save on the Schedule record in order to infer any information not yet inferred from the Debt Instrument, Debt Type code, and Debt Terms code.

  3. Check that all necessary information is present. There is a minimum amount of information needed for the different Schedule Type choices and to create amortization records. If any such information is missing, the action will stop any further action and issue an error. Examples include the need for a Number of Payments or Maturity Date to determine the number of payment records. Others include subsequent terms necessary for the payment Frequency and Amortization Frequency, a Yield to Maturity for a Constant Yield amortization, and amortization terms if an Other Amount is > $0 with an amortization Schedule Generation Action. Also, there are several limitsseveral limits to generation that will stop further processing when the amortization method is Constant Yield. If any of these are encountered, there are two options: enter them manually or go with the straight line amortization.

  4. Clear any existing Schedule Details for the Schedule. Please be careful if you received an error up to this point, you will still have any Schedule Details from a prior generation that was successful. Do not assume that the records are new in such a case. If you navigate from the Schedule transaction tab, any generation error will be dropped from view. Also, if you receive a generation error, it will be presented with any pre-existing errors you may have had.

  5. Create and save Schedule Detail records. The transaction will only proceed with this step if no errors have been issued in previous steps. Please keep in mind this step may take some time if you have a debt instrument that will have a high number of Schedule Details created. The last payment and amortization records will receive the necessary rounding necessary.  

More InfoMore Info

The following tables show how the Generate Schedule action determines the amount of principal and interest for all Schedule Types other than compounding interest. The formula is used for all loans, bonds, and capital leases where there is no down payment.

Payment Formula

A = P * r(1+R)^N / ((1+r)^N – 1)

Where:

A = Payment amount per period

P = Principal:

N = Number of Payments

R = Interest rate per period

OPBP = Outstanding Principal Before Payment

FPI = First Payment Interest Rate

FPD = First Payment Date

SSPD = Second Scheduled Payment Date

SD = Start Date

FIPA = Fixed Interest Payment Amount

MD = Maturity Date

NPY = Number of Payments in a year (derived from the Frequency, so Semi-Annually results in 2 payments, Semi-Monthly has 24 payments, etc.)

NDBP = Number of Days Between Scheduled Payments (derived from Frequency so 7 for Weekly, 15 for Semi-Monthly, 30 for Monthly, 120 for Quarterly, 180 for Semi-Annually, and 360 for Yearly).

PILPO = Principal in Last Payment

 

 

Schedule Type

Calculation

Amortized Payment

PILPO w/Rate Interest

PILPO w/Fixed Interest

1st Payment

Interest

OPBP * FPI * (FPD - SD) / 360

OPBP * FPI * (FPD - SD) / 360

FIPA x (FPD-SD / NDBP)

Principal

Principal = (Scheduled Payment – Interest)

Scheduled Payment = Payment Amount Formula

$0.00

$0.00

2nd Payment

Interest

OPBP * Interest Rate * (SSPD - FPD) / 360

OPBP * Interest Rate * (SSPD - FPD) / 360

FIPA x (SSPD - FPD / NDBP)

Principal

Principal = (Scheduled Payment – Interest)

Scheduled Payment = Payment Amount Formula*

$0.00

$0.00

Remaining Payments

Interest

OPBP * Interest Rate / NPY

OPBP * Interest Rate * (Second Schedule Payment Date - FPD) / 360

FIPA

Principal

Principal = (Scheduled Payment – Interest)

Scheduled Payment = Payment Amount Formula

$0.00

$0.00

Monthly Payment

Interest

OPBP * Interest Rate * (number of days from the previous scheduled payment to the MD / 360)

OPBP * Interest Rate * (no. of days from the previous scheduled payment to the MD / 360)

FIPA * (no. of days from the previous scheduled payment to the MD / NDBP)

Principal

Principal = OPBP of prior schedule detail record

All of the Principal paid at maturity (last payment schedule detail record)

All of the Principal paid at maturity (last payment schedule detail record)

The following table shows how the Generate Schedule action determines the amount of interest for a Capital Lease where there is a down payment. The calculation is different because the down payment changes the payment time from the end of the payment period to the beginning of the payment period. The following is the formula for the calculation of the Present Value of an Annuity Due of 1.

Payment Formula

A = P / PVAD

Where:

A = Payment amount per period

P = Principal = Present Value of an Annuity Due of 1

PVAD = Present Value of an Annuity Due of 1 or

((1 – (1/1+R)^N)/R) * (1 + R)

Where:

N = Number of Payments

R = Interest rate per period

The following table shows how the Generate Schedule action determines the amount of interest a Principal in Last Payment w/Compound Interest schedule.

Interest Formula

I = P * (1 + R/NPY)^(NPY*T)

Where:

I = Compounded Interest Amount

P = Principal:

N = Number of Payments

R = Annual Interest rate

NPY = Number of Payments in a year (derived from the Frequency, so Semi-Annually results in 2 payments, Semi-Monthly has 24 payments, etc.)

T (Number of Years) = (Maturity Date – Start Date) / 360.  This formula gives compounding interest over the life of the bond.  For each Schedule Detail = (Scheduled Date – Start Date) / 360.

To use this action:

  1. Complete all necessary Schedule fields that will not default.

  2. Take the Generate Schedule action.