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:
-
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.
-
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.
-
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.
-
Amortization Frequency must be equal to or less frequent than the payment Frequency.
-
Amortization Date or Amortization Day (depending on which applies) must be the same as the payment Date or payment Day.
-
Yield to Maturity (YTM) cannot be negative.
-
YTM must be different than the interest rate.
-
First Payment Interest Rate cannot be different than the normal Interest Rate.
-
Two frequency combinations are not allowed: Amortization Frequency = Semi-Monthly / payment Frequency = Pay Weekly and Amortize Monthly / Pay Weekly as they are not multiples of each other.
-
Constant Yield Amortizations of Other Amounts 3, 4, and 5 are not allowed if there is no Other Amount 1 or 2 being amortized by the Constant Yield method too.
-
-
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.
-
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.
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:
-
Complete all necessary Schedule fields that will not default.
-
Take the Generate Schedule action.