Overpayment Segmentation

When a customer pays more than they owe, you must decide what to do with the excess money. The following points describe two possibilities:

  • You could create a new contract to hold the excess (let's call it an overpayment contract). The credit would be transferred from this contract to the billable contracts when the next bill is completed. This means that all billable contracts have the same opportunity to receive the overpayment when they are billed in the future.
  • You could amalgamate the excess payment on one of the existing, billable contracts. For example, if a customer has both banking and insurance service, the excess funds could be kept on either the banking or insurance contract. This would result in the following:
    • The contracts that do NOT receive the overpayment will have debt when they are next billed.
    • The contract that receives the overpayment could have its future debt offset by the overpayment (meaning that it could have a credit balance until the contract's future bill segments offset the overpayment amount).
  • The above situation is not desirable unless the customer intentionally overpaid one contract. The first method (keeping the overpayment on a separate contract) obviates this potential problem. Obviously, if your organization sells a single service (and therefore your customers have a single contract) you would choose the second method.

You control which method is used by plugging in the appropriate Overpayment Distribution algorithm on each Customer Class (i.e., you can choose a different method for different customer classes). If you choose to hold overpayments on a separate contract, then you must set up an contract type as described in the following table:

The following table illustrates a sample overpayment contract type.
Division/Contract Type Service Type Distrib.Code Eligible for Billing Debt Class Pay Seg Type Do Not Overpay One-time
CA/OVERPAY Financial Service A/P - OVER Not billed N/A Normal No Yes

Notice the following about the new overpayment contract type:

  • It has an interesting distribution code. This is because when a payment segment is created for this type of contracts, the system must credit a liability (an overpayment is a liability).
  • It's important to indicate that the overpayment contract is a one-time contract. Why? Because this means that the system will automatically close the contract when it's balance falls to zero (i.e., when all of the overpayment has been used to satisfy future bills).
  • A bill segment type is not needed because the system never creates bill segments for such contracts (they exist only to hold excess credits).
  • You may also want to turn on the alert message.
    CAUTION: Important! You must plug-in a bill completion algorithm on this contract type. This bill completion algorithm will transfer the credit balance to the account's other contracts when the bill is completed. Refer to The Credit Transfer Algorithm for more information about this algorithm.
  • You must also reference this overpayment contract type as the parameter value on your overpayment algorithm (this algorithm is plugged in on the desired customer classes). Refer to Overpayment Algorithm for more information about this algorithm.
Note: If overpayment means charitable contribution. Some organizations sponsor a program that works as follows - if a customer overpays a bill by a given amount (say $5), this amount is assumed to be a charitable contribution. If you have this requirement, you will create another contract type to hold a customer's charitable contributions. The funds will be credited to this contract by creating a new overpayment algorithm that is similar to the base package Overpayment Algorithm. This new algorithm will be very similar to the existing algorithm. The main difference will be that it will have to check if the overpayment amount is an exact value (say $5). If so, it will create a payment segment for the charitable contribution contract type; otherwise it will create a payment segment for the overpayment contract.