Contract Type - Algorithms

Open Admin Menu, Contract Type and navigate to the Algorithm tab to define the algorithms that should be executed for contracts of a given type.

Description of Page

The grid contains Algorithms that control important functions in the system. You must define the following for each algorithm:

  • Specify the System Event with which the algorithm is associated (descriptions of all possible events are provided below).
  • Specify the Sequence and Algorithm for each system event. You can set the Sequence to 10 unless you have a System Event that has multiple Algorithms. In this case, you need to tell the system the Sequence in which they should execute.
CAUTION: These algorithms are typically significant processes. The absence of an algorithm may prevent the system from operating correctly.

The following table describes each System Event for which you can define algorithms.

The following table lists and describes the system events to which you can attach algorithms in a contract type.
System Event Optional / Required Description
Bill Completion Optional

These algorithms are executed whenever a bill is completed for an account that contains a non-canceled contract of this type. The following situations necessitate the definition of a completion algorithm on an contract type:

- As explained under Overpayment Segmentation, when a bill is completed, the system may apply an excess credit from a prior overpayment to an account's contracts.

Note. Algorithms of this type are called for all non- Canceled contracts, regardless of whether or not they are billed. If your algorithms should only be processed under certain conditions (for example, only process this algorithm for Active contracts), then it is the responsibility of the algorithm to check the conditions before continuing.

Click here to see the algorithm types available for this system event.

Budget Eligibility Optional

These algorithms are executed when determining in a contract is eligible for budget. Algorithms of this type are only applicable on contract types that are marked as eligible for budget and may be used to override that setting and indicate that the contract is not eligible.

For example, maybe contracts in a certain rate are not eligible. Or perhaps contracts with a given characteristic value are not eligible.

Click here to see the algorithm types available for this system event.

FT Freeze Optional

These algorithms are executed whenever a financial transaction is frozen that is linked to a contract of this type.

Click here to see the algorithm types available for this system event.

Loan Interest Charge Optional

These algorithms are executed whenever the interest charge needs to be calculated for a loan, such as when the loan amortization schedule is created and when a bill segment is created for a loan contract. This algorithm should be specified on contract types with a special role of Loan. Refer to Defining Loan Options for more information.

Click here to see the algorithm types available for this system event.

Loan Periods and Amount Optional

These algorithms are executed whenever a user clicks the Calculate button on Loan - Main or on the Start Contract Confirmation dialog for a loan contract. It calculates either the number of periodic payments or the payment amount (depending on whether the user specifies the number of payments or the payment amount as input). This algorithm should be specified on contract types with a special role of Loan. Refer to Defining Loan Options for more information.

Click here to see the algorithm types available for this system event.

Loan Schedule Optional

Thesealgorithms are executed whenever the system needs to create a loan amortization schedule for a loan, such as when you renegotiate the terms of a loan on Loan - Main. This algorithm should be specified on contract types with a special role of Loan. Refer to Defining Loan Options for more information.

Click here to see the algorithm types available for this system event.

Payment Arrangement Optional

These algorithms are by executed to handle the creation, breaking and canceling of payment arrangement contracts. This algorithm should be specified on contract types with a special role of Payment Arrangement to perform special actions that take place during the lifecycle of a payment arrangement. Refer to Monitoring Payment Arrangements for more information about payment arrangements. Note that the Payment Arrangement algorithm and the Break Pay Arrangement algorithm are mutually exclusive.

Payment Freeze Optional

These algorithms are executed whenever a payment is frozen. The following situations necessitate the definition of such an algorithm:

- For a loan contract, such an algorithm is required to create a frozen adjustment that transfers any credit balance resulting from an overpayment to the loan's principal balance. Refer to Defining Loan Options for more information.

Click here to see the algorithm types available for this system event.

Pre-Bill Completion Optional

These algorithms are executed immediately prior to bill completion when a bill contains a bill segment for a contract whose contract type has such an algorithm. The following situations necessitate the definition of such an algorithm:

- If you want to delete a bill segment that's in error on the last night of a bill cycle when there are other bill segments that aren't in error, use such an algorithm.

Click here to see the algorithm types available for this system event.

Process NBB Scheduled Payment Optional

These algorithms are executed by the NBB Scheduled Payment Processing background process whenever a scheduled payment is due. If the non-billed budget contract is unmonitored, this algorithm is not called. This algorithm should be specified on non-billed budget contract types to create the necessary adjustments for the non-billed budget contract.

Click here to see the algorithm types available for this system event.

Proposal Contract Acceptance Optional

These algorithms are executed when a proposal contract is accepted. Refer to Enabling The Creation Of A Real Contract for more information.

Click here to see the algorithm types available for this system event.

Proposal Contract Bill Segment Generation Optional

These algorithms are executed to generate simulated bills segments for a proposal contract. Refer to Enabling The Generation Of Simulated Bill Segments for more information.

Click here to see the algorithm types available for this system event.

Proposal Contract Creation Optional

These algorithms are executed when a proposal contract is created. Refer to Enabling The Automatic Generation Of Billing Scenarios for more information.

Click here to see the algorithm types available for this system event.

Contract Activation Optional

These algorithms are executed when a contract status changes from Pending Start to Active. It performs any additional activities that are necessary to activate an contract. The following situations necessitate the definition of such an algorithm:

- If you want to create a customer contact to indicate that a non-billed budget has been activated, use such an algorithm.

Click here to see the algorithm types available for this system event.

Contract Cancel Optional

These algorithms are executed when a contract status changes to Canceled. It performs any additional activities that are necessary to cancel an contract.

An example of when you may use this algorithm is that perhaps your business rules dictate that the creation of a payment arrangement should create a credit rating history transaction. When a payment arrangement contract is canceled, the credit rating should be updated with an end date.

Click here to see the algorithm types available for this system event.

Contract Creation Optional

These algorithms are executed when a contract is created. The following situations necessitate the definition of such an algorithm on an contract type:

- If you want to create a To Do entry whenever a new contract of a given type is added, specify such an algorithm.

- If you want to automatically activate contracts of a given type (instead of waiting for the background contract activation process to run), specify such an algorithm.

- If you want to create a Workflow Process when a contract of a given type is added, specify such an algorithm.

Click here to see the algorithm types available for this system event.

Contract Information Optional

We use the term "contract information" to describe the basic information that appears throughout the system to describe a contract. The data that appears in "contract information" is constructed using this algorithm.

Plug an algorithm into this spot to override the "contract information" algorithm on installation options or the system default "contract information" if no such algorithm is defined on installation options.

Click here to see the algorithm types available for this system event.

Contract Renewal Optional

These algorithms are executed by the contract Renewal background process whenever an contract is due for renewal or when the user clicks the Renew button (for non-billed budgets). It performs any activities that are necessary to renew an contract and returns the new renewal and expiration dates for the contract.

Click here to see the algorithm types available for this system event.

Contract Stop Optional

These algorithms are executed whenever a contract's status changes from pending stop to stopped. The following situations necessitate the definition of a contract stop algorithm:

- For service credit memberships that have a refundable membership fee, an Contract Stop algorithm attempts to refund the fee if this is the last contract linked to the membership that is being stopped.

Click here to see the algorithm types available for this system event.

Contract Stop Initiation Optional

These algorithms are executed whenever a contract's status becomes pending stop. The following situations necessitate the definition of a stop initiation algorithm on an contract type:

- As explained under Finalizing Pending Stops, contracts are normally transitioned from pending stop to stopped by a background process (or manually).

When does a contract become pending stop? contracts typically become pending stop when a user initiates a request to stop service on Start Stop - Main.

Click here to see the algorithm types available for this system event.