Delinquency Run

The Delinquency Run task manages the processing of billing accounts with bills that remain unpaid past their delinquent dates.

Delinquency processing in Infor Public Sector is structured around the concept of milestones, where each milestone represents a particular state of delinquency and specifies certain actions to be taken. For example, the first milestone might involve sending a notice to the customer, while more advanced milestones call for more serious actions, such as cutting off the customer’s service.

It is important to note that an account can have more than one delinquency at a time. Depending on your system configuration, delinquencies can be recorded for bill types or for specific bills. Therefore, an account can have separate delinquency records for different bill types or individual bills.

The basic steps in a delinquency run are to set the correct milestone for each account delinquency and then perform the specified actions. There are two different delinquency processes that you can run separately or together. An Entry Accounts run sends new accounts or bills to delinquency processing, while an Advancement of Accounts run increments milestones for accounts or bills already in delinquency. A delinquency run can also decrement or resolve delinquencies for qualifying accounts.

For an Entry Accounts run, these steps are completed:

  1. Query for accounts that qualify to enter delinquency.
    • The query selects the account key, bill type key, and delinquent balance for each account with a bill that is unpaid after its delinquency date, and that is not already in delinquency. The query also selected the bill key if delinquency processing is by bill. The query also considers any parameters that you entered for the delinquency run, such as filtering by account class or billing cycle.
    • The run will also include any accounts with final bills, regardless of the parameters that you enter, unless you enter a bill type. If you enter a bill type, then the run will include all accounts with final bills that match that bill type.
  2. Create an account delinquency record (ACCOUNTDELINQUENCY table) for each delinquent bill type or bill on each qualifying account.
  3. Get the correct milestone for each account delinquency.
    1. Get delinquency setup for bill type
    2. Get the correct delinquency group, either by evaluating the setup’s entry group formula or by taking the first group for which the account meets the minimum entry amount.
    3. Get the correct delinquency scheme, either by evaluating the group’s entry scheme formula or by taking the first scheme in display order.
    4. Get the correct milestone, either by evaluating the scheme’s entry scheme formula or by taking the first milestone in display order.
  4. Set ACCOUNT.COLLECTIONSELIGIBLEFLAG and ACCOUNT.LIENELIGIBLEFLAG to Y if milestone is eligible.
  5. Add the milestone key, delinquency level, milestone entry date, and milestone due date to the account delinquency record.
  6. Insert a delinquency history record (DELINQUENCYHISTORY table).
  7. Perform milestone actions.

For an Advancement of Accounts run, these steps are performed:

  1. Query for accounts in delinquency that qualify for advancement.

    For an Advancement of Accounts run, the query selects the account key, account delinquency key, bill type key, bill key (if delinquency processing is by bill), milestone key, and delinquent balance for each delinquent account that matches the parameters entered for the run.

  2. Determine whether each delinquency is eligible for advancement.

    Eligibility is determined based on the duration specified for the current milestone, which can be either a formula or a value. If the current milestone has been extended, the extension is also considered.

  3. For each account delinquency, determine the next milestone.

    The next milestone is defined in the setup for the current milestone, either using a formula or a value.

  4. Set COLLECTIONSELIGIBLEFLAG to Y if milestone is collections eligible.
  5. Set LIENELIGIBLEFLAG to Y if milestone is lien eligible.
  6. Update the account delinquency record.
  7. Insert a delinquency history record.
  8. Perform milestone actions.

If the delinquency run is also checking for auto decrement and resolve, these steps are performed before account are advanced:

  1. Check each delinquency to determine if it’s eligible to be resolved.

    A delinquency is eligible to be resolved if the delinquent balance is fully paid, or if the balance is below the amount specified for the current milestone.

  2. If the delinquency is eligible for resolution:
    1. Get the correct resolution code for the current milestone.
    2. Insert a delinquency history record.
    3. Exit the current milestone and perform exit actions.

      Just as you can define actions to be performed when an account enters a certain delinquency milestone, you can define milestone actions to be performed when the account is resolved out of delinquency, when it’s resolved due to full payment, or when it’s decremented to another milestone. When adding an action to a milestone, you indicate when it’s to be performed by setting the Perform On column to one of these values:

      • Decrement from this milestone
      • Entry or Increment to this milestone
      • Resolved due to full payment
      • Resolved from formula or Below Amount
    4. Resolve any collections or liens.
    5. Delete the account delinquency record.
  3. If not eligible for resolution, check if the delinquency is eligible to be decremented.
  4. If the delinquency is eligible for decrement:
    1. Get the auto decrement milestone for the current milestone.
    2. Enter the new milestone and perform milestone actions.
    3. Exit the old milestone and perform milestone exit actions.
    4. Attempt to resolve and decrement again based on the rules for the new milestone.

Setup

This table describes the Configuration Editor settings that affect this task:

Configuration and path Comments
BatchProcessing/TASKS/Task: DelinquencyRun/Threads Sets the number of asynchronous threads the Batch Manager will use for the Delinquency Run process.

The default number of threads for all multithreaded processes is set in the BatchManager configuration’s Number of Task Threads attribute. You only need to enter a separate value here if you want to override the default.

BILLING/BATCHMANAGER/Create Delinquency Run Inputs Sets the commit number for all delinquency runs. The commit number determines the number of accounts processed in each thread.
Note: You can enter any number, but there are limitations at the database level. Oracle databases have a limit of 1,000 records, and SQL Server databases have a limit of 2,000 records. Entering a larger number will cause errors.
BILLING/DELINQUENCY/Auto Decrement and Resolve Holds Indicates whether Infor Public Sector will auto decrement or resolve delinquencies that have been placed on hold. This applies to cases where Infor Public Sector would automatically decrement or resolve a delinquency following the rules defined for the delinquency milestone.
BILLING/DELINQUENCY/Delinquency Balance Type Balance that Infor Public Sector will use for delinquency advancement processing. Can be set to Delinquent to use the current amount, or Entry to use the delinquency entry balance. Entry is the default.

This table describes the Infor Public Sector setup forms that are used to configure this task:

Setup form Comments
Alert Setup (BA) Defines alert types.
Bill Type (BBT) Specifies whether delinquency processing is by bill type or by bill.
Correspondence Process Setup (SCPS) Defines the correspondence process setups that are used to send delinquency notices.
Credit Rating Setup (BCR) Defines how Infor Public Sector tracks customers’ credit ratings.
Delinquency Setup (BD) The main setup form for delinquency processing. Defines delinquency groups, schemes, and milestones for different bill types, and specifies the actions to be taken at each milestone.
Line Item Setup (BLI) Defines line item setups for one-off charges, deposit demands, and one-off penalties.
Service Request Type (CSSRT) Defines service request types.

This table lists the database tables that store setup information for this task:

Table Comments
BILLING.BILLTYPE Stores delinquency information for bill types, such as a formula for calculating the delinquent date. The DELINQUENCYTYPE column indicates whether delinquency processing is per bill type or per bill.
BILLING.DELINQUENCYGROUP Stores delinquency groups.
BILLING.DELINQUENCYMILESTONE Stores delinquency milestone definitions.
BILLING.DELINQUENCYMSALERT Defines account alerts to be added at particular delinquency milestones.
BILLING. DELINQUENCYMSCREDITRATE Defines credit ratings to be added at particular delinquency milestones.
BILLING.DELINQUENCYMSDEPOSIT Defines deposit charges to be added at particular delinquency milestones.
BILLING.DELINQUENCYMSLOG Defines log entries to be added to accounts at particular delinquency milestones.
BILLING.DELINQUENCYMSNOTICE Defines delinquency notices to be created at particular delinquency milestones.
BILLING.DELINQUENCYMSONEOFFCHARGE Defines one-off charges to be added to accounts at particular delinquency milestones.
BILLING.DELINQUENCYMSPENALTY Defines one-off penalties to be added at particular delinquency milestones.
BILLING.DELINQUENCYMSSERVICEREQUEST Defines service request types to be added at particular delinquency milestones.
BILLING.DELINQUENCYSCHEME Stores delinquency schemes.
BILLING.DELINQUCYSETUP Stores delinquency setups.
BILLING.DELINQUENCYSE TUPBILLTYPE Links delinquency setups to bill types.

Invocation

You can use the Batch Manager form or the Billing Calendar to schedule delinquency runs, and you can also use the Create Delinquency Run form to create a new run by hand.

This table describes each parameter for this task:

Form Console Description
Account Area AccountArea (string) Account area for which you’re processing delinquencies. Used for Entry Accounts runs only.
Account Class AccountClass (string) Account class for which you’re processing delinquencies. Used for Entry Accounts runs only.
Bill Type BillType (int) Key to the bill type for which you’re processing delinquencies. Used for Entry Accounts runs only.
Billing Cycle BillingCycle (string) Billing cycle for which you’re processing delinquencies. Used for Entry Accounts runs only.
Check for Auto Decrement and Resolve AutoDecrementAccounts (bool) Indicates whether you want to consider delinquencies to be resolved or decremented during the run. Used for Advancement of Accounts runs only.
Commit Interval CommitInterval (int) Number of accounts processed in each batch.
Note: You can enter any number, but there are limitations at the database level. Oracle databases have a limit of 1,000 records, and SQL Server databases have a limit of 2,000 records. Entering a larger number will cause errors.
Group Group (string) Account group for which you’re processing delinquencies. Used for Entry Accounts runs only.
Meter Reading Cycle MeterReadingCycle (string) Reading cycle for which you’re processing delinquencies. Used for Entry Accounts runs only.
Meter Reading Route MeterReadingRoute (int) Key to the reading route for which you’re processing delinquencies. Used for Entry Accounts runs only.
Process Process (string) Indicates which delinquency processes the run will perform. You can select AdvancementOfAccounts, EntryAccounts, or Both.
Subgroup SubGroup (string) Account subgroup for which you’re processing delinquencies. Used for Entry Accounts runs only.

Monitoring

If the Delinquency Run task is successful, you can expect to see a series of messages similar to these in the Billing Batch Process log:

  • Delinquency/Collections Run process started for Key [run key] at: [date/time]
  • Starting pools for the process...
  • Retrieving full list of Account Keys...
  • Batch started for Delinquent Accounts
  • Batch ended for [#] Accounts and [#] Exceptions
  • Delinquency Run process finished.

In the BILLING.DELINQUENCYRUN table, the PROCESSINGFLAG column is set to Y at the beginning of a run, and set back to N when the run is finished.

Common errors

This table lists some common errors that this task may return:

Error message Comments
GetGroup: Could not locate DelinquencyGroup for Account([account #]) and BillType [bill type] with GroupCode([code]) Check your delinquency setups. Account was evaluated and could not determine a group to enter/advance delinquency.
GetScheme: Could not locate DelinquencyScheme for Account([account #]) and BillType [bill type] with GroupCode([code]) Check your delinquency setups. This message indicates that the specified group was found, but the process was unable to determine a scheme to enter/advance delinquency.
GetEntryScheme: Could not locate an entry delinquency group for Account([account #]) and BillType([bill type]) and DelinquencySetupCode([code]) Check your delinquency setups. If the specified delinquency setup has an Entry Group Formula, that formula is evaluated to determine the correct group for each account. Otherwise the first group defined for the delinquency setup is used.
GetEntryScheme: Could not locate a delinquency setup for Account([account #]) and BillType([bill type]) Check your delinquency setups, or check in the DELINQUENCYSETUPBILLTYPE table for the combination. If it’s not found, and a delinquency setup exists for at least one bill type, the OTHER node should be used for any other bill type. Contact Infor Support if this message is encountered.
GetMilestone: Could not locate milestone with MilestoneCode([code]) The milestone code returned by a progression formula wasn’t found. Check your delinquency setups
GetSuccessorMilestone: Could not locate milestone for SchemeCode([code]) The milestone code returned by a progression formula wasn’t found. Check your delinquency setups
Could not locate entry milestone for account# [account #] with BillTypeKey=[bill type] The entry process has failed due to an entry milestone not being available.
GetGroup: Could not locate DelinquencyGroup with GroupCode([code]) This message would only happen in one-off processes for which the scheme, and hence the parent group, are fed into the process (such as transfer).
GetScheme: Could not locate DelinquencyScheme with SchemeCode([code]) This message would only happen in one-off processes for which the scheme, and hence the parent group, are fed into the process (such as transfer).
GetCollectionsEntryMilestone: Could not locate scheme by schemecode ([code]) Entering collections requires selecting the scheme that the account will be entered into. After the scheme is located, the Entry Milestone formula is evaluated. If there are no qualifying milestones, then this message is displayed.

Data output

This table lists the database tables in which this task adds or updates records:

Table Comments
BILLING.ACCOUNT Sets the DELINQUENCYFLAG column to Y or N for accounts entering or exiting delinquency. Also sets the COLLECTIONSELIGIBLEFLAG to Y for accounts that are eligible for collections, and sets the LIENELIGIBLEFLAG to Y for accounts that are eligible for liens.
BILLING.ACCOUNTACTIVITY For each one-off and each deposit charge added during the delinquency run, there will also be an account activity record. Account activities for one-off charges link to the ONEOFFCHARGE table through the ONEOFFCHARGEKEY column, and activities for deposit charges link to the DEPOSITCHARGE table through the DEPOSITCHARGEKEY column.
BILLING.ACCOUNTALERT
BILLING.ACCOUNTDELINQUENCY Stores delinquency information for accounts that are currently in delinquency.
BILLING. DELINQUENCYHISTORY Stores a complete history of delinquency processing for each account.
BILLING.DELINQUENCYRUN Stores information on each delinquency run, including the parameters entered for the run, the date and time the run started, and the number of accounts processed.
BILLING.DEPOSITCHARGE Stores deposit charges added during the delinquency run.
BILLING.LOG Stores log entries added during the delinquency run.
BILLING.ONEOFFCHARGE Stores one-off charges added during the delinquency run.
CORE.CORRESPONDENCE. CORRSCHEDULE Stores correspondence schedules for delinquency notices.
CRM.CUSTPROB Stores service requests added during the delinquency run.
PROPERTY.ADDRLIEN Stores address liens added during the delinquency run.
PROPERTY.PARCELLIEN Stores parcel liens added during the delinquency run.
RESOURCES.CREDITHISTORY Stores entries that affect contacts’ credit ratings.

This table lists the Infor Public Sector forms that you can use to review the results of this task:

Form Comments
Lookup Delinquency Runs (BLDR) Standard Infor Public Sector lookup used to search for delinquency runs.
Delinquency Run InfoViewer Shows information on a selected delinquency run.
Manage Account page (BMA) Used to review delinquency information for individual accounts.
Bill InfoViewer If delinquency processing is by bill, the Bill InfoViewer shows information about delinquent bills.
Collections Eligible Accounts item in My Infor Shows a list of accounts that are eligible to be sent to collections.
Delinquency Officer Accounts item in My Infor Shows a list of delinquent accounts that are assigned to a particular delinquency officer.
Lien Eligible Accounts item in My Infor Similar to the Collection Eligible Accounts item, this item is used to add liens to accounts that have been marked as eligible during a Delinquency Run.
Manage Delinquency Accounts item in My Infor Shows a list of accounts in delinquency. You can perform actions such as incrementing or decrementing the delinquency milestone, resolving delinquency, or granting an extension.