Understand Custom Sink Schedules

Using custom sink schedules allows you to process revised sink payments by modifying the data in the TRADESDBO.CORP_ACT_HIST table without needing to modify the RULESDBO.SCHEDULE data for the purpose of accounting for unexpected differences in cash that are received. The expectation is that you will eventually modify the sink schedule data in both tables to reflect the impact of the unexpected cash difference (surplus or deficit) on future payments. If you do not maintain the schedule data appropriately, you can encounter unexpected gains/losses on sink payments due to amortization differences that occur as a result of incorrect yields being used going forward.

When you use custom sink schedules to process sinking fund payments, you define the Custom Sinking Fund Schedule in the Schedule table and the system defines the corresponding Sinking Fund Schedule in the Corporate Action table. The Add Schedule procedure automatically updates the corporate action record. You add the sink payments as sink percentages. For example, you enter a 10% Sinking Fund Payment as .10. The entire Sinking Fund Schedule must add up to 1.00 in each of the tables when you define a typical sinking fund schedule. However, you can set up a custom sink schedule to bypass the requirement for the payments to add up to 1.00 in each of the tables.

When you use custom sink schedules, there is an underlying assumption that, temporarily, there will be a difference between schedule data and the corresponding corporate action data. This workflow accommodates the need to match cash activity produced by revised sink payment actions versus the actual payments received, with the expectation that the schedule data will be ultimately be adjusted to reflect the actual cash payments received.

Custom Sinking Fund Schedule Example

When you define a custom sinking fund schedule in the Schedule table, the schedule is based on the percentage sunk. For example, if the Original Issue Amount was $1,000,000, and the Sinking Fund Percentage is .1%, the amount posted is $1,000. For a typical sinking fund schedule, the entire Sinking Fund schedule must have Schedule Amount values that add up to 1.00 (100%). For a custom sinking fund schedule, you can set up the schedule to avoid the requirement that Schedule Amount values total to 1.00. 

For example, say you create a custom sink schedule for a security such as private placement where you do not know the full schedule at the time you create the schedule. While you initially expect four equal payments of 25% each, the actual payments may vary. For example, the first payment you actually receive is 26%, and the second payment you actually receive is 24%. While the four payments total to 1.0 (100%) by the final payment, you do not necessarily know all the actual payment amounts until the security is paid in full, and totals to 1.0 (100%). To accommodate this scenario, Eagle Accounting allows you to define a custom sink schedule that does not require all the payments to total to 1.0 (100%). 

When you receive an actual payment that does not correspond to the expected payment, you can modify the custom sinking fund schedule to reflect the actual payment. In this example, while you expect a first payment of 25%, you actually receive a first payment of 26%. You can change the custom sinking fund schedule to change the first payment from 25% to 26%. The system allows you to make this change because the schedule does not require all the payments to total to 100%. It anticipates that the payments will total to 100% by the time you receive the actual final payment. 

About Adding a Custom Sink Schedule

Adding a custom sink schedule is similar to adding a sink schedule. However, the value of the Bypass Sink Check field determines whether the schedule's schedule amounts can exceed 1.0, or 100%.

When you add the custom sink schedule, the add procedure can include a check that ensures that the sum of all the rows does not exceed 1.00 and if the primary key already exists. The system performs this check for custom sink schedules if you set the Bypass Sink Check field to a null value. The system does this check for both the Schedule and Corporate Action tables. If the check generates an error during the insertion into the Schedule table, nothing is inserted into either table. If, however, the errors occur during the insertion into the Corporate Action table, the system rolls back the insert to the Schedule table, and inserts no rows into either table. As long as the check passes on both tables, the data is inserted successfully. If you set the Bypass Sink Check field to Yes, the system does not perform this check, and allows the schedule's schedule amounts to exceed 1.0, or 100%.

While writing data to the Corporate Action table, if a row does not exist, the system inserts a new row. If a row already exists for the Sec Alias and Effective Date, and the schedule amount has not changed, no update takes place. If the schedule amount is different, the system calls the Corporate Action Cancel/Rebook procedure. As a result, the system updates the Status for the original row to CL; it inserts a new row, and it also inserts a CANCEL record for the original row. Both are set with a Status of RD. The CANCEL record has a Sweep Date set to sys date. As for the new corporate action record, if Effective Date of the original record <= sys date, the Sweep Date is set to sys date; otherwise, Sweep Date = Effective Date.

About Editing a Custom Sink Schedule

During the update, if the primary keys do not exist, the update procedure generates an error message. If the schedule has the Bypass Sink Check field set to Null, built into the procedure is a check to ensure that the sum of all the rows does not exceed 1.00. It is important to note that when calculating the sum, the system does not count the existing row against the total; instead, it uses the incoming value. This check is done for both the Schedule and Corporate Action tables. If the check generates an error during the insertion into the Schedule table, the system inserts nothing into either table. If, however, the errors occur during the insertion into the Corporate Action table, the insert to the Schedule table is rolled back, and the system inserts no rows into either table. As long as the check passes on both tables, the data is inserted successfully. If you set the Bypass Sink Check field to Yes, the system does not perform this check, and allows the schedule's schedule amounts to exceed 1.0, or 100%.

While writing data to the Corporate Action table, if a row does not exist, the system inserts a new row. If a row already exists for the sec alias and Effective Date, and the scheduled amount has not changed, no update takes place. If the schedule amount is different, the system calls the Corporate Action Cancel/Rebook procedure. As a result, the system updates the Status for the original row to CL, it inserts a new row, and it also inserts a CANCEL record for the original row. Both records are set with a Status = RD. The CANCEL record has a Sweep Date set to sys date. As for the new corporate action record, if the Effective Date of the original record <= sys date, Sweep Date is set to sys date; otherwise, Sweep Date = Effective Date.

About Deleting a Custom Sink Schedule

For custom sink schedules, the same procedure used to delete a custom sink schedule also deletes the corresponding sink payment record in the Corporate Action table. When you delete a schedule, the system physically removes the data from the Schedule table, and also physically removes any rows in the Corporate Action table that have Effective Date > sys date. If the Effective Date <= sys date, the system creates a CANCEL corporate action record, with a Sweep Date = sys date, and sets the original corporate action Status to CL.