Configuring Credit Ratings and Payment Terms
- 1 Summary
- 2 Initial Configuration / Pre-Seeding Payment Terms
- 3 Adding Credit Ratings
- 4 Adding Action Scripts
- 5 Applying Credit Ratings to Accounts
- 6 When Do Credit Ratings Run and on Which Customers?
- 7 Credit Rating Scenarios
- 8 Tracking Credit Rating Activity
- 9 Pre-Seed Payment Terms for Production Environments
- 10 Troubleshooting
Summary
This article describes the configuration and actions that Credit Ratings perform on accounts. Credit Ratings and their sub component of 'Payment Terms' define the rules with which accounts are processed and assessed penalties for overdue invoices. These include sending of emails, late fee charges on customer accounts, the creation of notification tickets and other actions.
Initial Configuration / Pre-Seeding Payment Terms
For proper execution of payment terms LogiSense customer support must pre-seed payment terms in your EngageIP production environment. A SQL script will be added which will seed payment terms so that customers who are very overdue will not receive multiple email notifications on one day.
If you have not already done so, contact LogiSense Support using the information below to setup pre-seeding in your EngageIP environment:
LogiSense Support | email: support@logisense.com | |
phone (Canada): 1-519-249-0508 | phone (USA): 1-917-410-3584 |
For additional details see the Pre-Seed Payment Terms for Production Environments section below.
Adding Credit Ratings
The default credit rating exists after install and you can create extra credit ratings as required.
Click Setup
Select the Credit Ratings option
Click the Add button in the lower right
Enter the following information in to the fields provided:
Name - a descriptive name for the credit rating which will be applied to accounts
Terms - this sets the due date on invoices. The due date is determined on the date it is closed and based off that date. The term can either be a fixed day, or a time period. A term of +30 will set the due date 30 days from invoice date (not close, or sent or created dates). A term of 10 will set the due date on the 10th day of the month (e.g. if the invoice close date is Jan 1st, the Due Date will be Jan 10th, if the invoice is closed on Jan 11th, the Due Date will be Feb 10th). Entering +0 in this field will set the invoice as Due On Receipt (due on the invoice date)
Sort Order - represents the order in which items will be displayed in their respected drop down menus through out the application. This is an optional field where the lowest number will display its value at the top of the list
Click Save to save the credit rating, or Save/New to save and create additional credit ratings
Next to setup Payment Terms, click on the name of the credit rating you created:
Under Payment Terms click Add (Payment Terms are the rules that will fire in sequence as added)
Enter a number in the Days Overdue field
Select the Action to take place (Charge Late Fee, etc.)
Select whether this item is Active or not
Click Save
If prompted with a profile question enter the proper information and click Save (see 'Adding Action Scripts' below for more information)
Click Add again under payment terms to add a new one to build up your list of terms
Adding Action Scripts
Actions are scripts in the system that perform various tasks. The default system actions can be found by going to the Setup page / Actions link
Alert: Actions will be performed on any invoice with a due date earlier than the date you run the billing process on (i.e. regardless of the bill run date range the credit rating fires prior to billing and will check if there are any overdue invoices as of NOW) so for example the customer may receive multiple emails for multiple invoices on their account that are due the first time you have configured and run billing to process credit ratings.
Once you have created a credit rating with payment terms (for example a Residential credit rating with a payment term 'Days Overdue' value of 10 days) you can supply actions to take, e.g. sending a late payment email 10 days past the invoice date.
Sample Residential Credit Rating
Sample Payment Overdue Details
Once you define the action 'Send Email' and click Save, a profile question should appear. This is where you select the email to send to the customer (for example a 'Payment Overdue' notification)
Sample Payment Terms
When you click on the name of your Credit Rating to view it's configuration you will see a Payment Terms table displaying the terms you have setup (sample below):
As Credit Rating options are built up you can create multiple actions based on the number of days overdue and the system will execute as configured until the outstanding invoice is paid. Below is an explanation how the actions displayed in the Payment Terms table will execute.
Execution of Sample Payment Term Actions
Note: Actions are triggered by Bill Runs which have the 'Run Payment Term' option enabled. If Bill Runs aren't enabled (running daily) or if the Run Payment Term option is disabled then Payment Term Actions will not run.
At 10 days overdue, the system will:
Apply a late fee to the customer's account
Send a warning email telling the customer that payment is overdue and a late fee has been applied
At 20 days overdue, the system will:
Send a final email notifying the customer that their account has been cancelled
Update the User Status (Account Status) in EngageIP to 'Disabled', which will also result in a prorated refund for the period amount remaining (shown in the image below)
There can be as many 'action' items as you wish and will be executed based on the days overdue value.
Current Action Scripts Included
Charge Late Fee - Applies a late fee (example below, a 5% late charge of the invoice balance). GL codes can be applied as well to late fee charges by editing the 'Charge Late Fee' action script, see the Action Scripts Listing article for details
Open Ticket - Configures EngageIP to automatically create and assign a ticket. If for example, you would like someone in a specific department to follow up with the customer
Send Email - Sends an email to the users billing contact following the format of the email you select
Note: email messages are setup in the Setup page / Communication Services / Email Messages sectionSet User Status - Automatically sets the user status to a status you choose. When the user status is changed the system will not add a transaction, the balance will be left as is (assuming there was no late fee applied as part of previous action that was triggered)
Applying Credit Ratings to Accounts
A credit rating must selected when creating a new account, if you wish to change the credit rating setup on an existing account do the following:
Search for and load the appropriate account
Click on Tools
Under the Account Settings section click on Credit Rating
Select the appropriate Credit Rating for the account from the drop down menu
Click the Save button
When Do Credit Ratings Run and on Which Customers?
Credit Ratings are executed when the Bill Run option 'Run Payment Term' is checked. When Credit Ratings are executed all customers will be processed regardless of whether they have been billed or not. (e.g. if a customer was billed last week and hasn't paid they may be overdue by now, so executing Credit Ratings is required).
Credit Ratings do NOT apply to OPEN invoices. invoices must be closed for the due date to become effective for payment terms.
Overdue Calculation:
The timing of credit rating is critical, the code precisely calculates and fires scripts if they are X days past due based on the following calculation:
now - Invoice.DueDate = overdue days
for example:
now = 22nd due date = 20th 22 - 20 = 2 (2 days overdue)
The due date on invoices includes a time stamp, if the invoice due date even a second shy of 14 days it will still be evaluated as 13 days.
Credit Rating Scenarios
The below scenarios will attempt to portray a number of real situation examples of how credit ratings may be setup and applied to customers.
Scenario A: Credit rating is configured to disable a customer's account if they have not paid an invoice after 10 Days.
Bill day on user = 15
Invoice Due Date = 25th of month (+10 / Due 10 days after the invoice is closed)
On the 25th of the month the 'Change User Status' script will execute and disable the customer account resulting in a prorated credit. The customer's account will stay in a disabled state until an EngageIP user re-enables their account. If the customer pays on the 10th of the next month for example, a user in the EngageIP AdminPortal will need to apply the payment and then manually switch the account status back to active/enabled.
Scenario B: Credit rating is configured to set due date as of date of invoice close date, send an email if unpaid after 5 days, add a late fee after 10 days and change the users status to canceled after 30 days.
Bill Day = 1
Invoice Due Date = 1 (first of month, due effectively on the bill day of the customer)
As shown below, an example of how such a credit rating would be configured
On the 5 day of the invoice being overdue (which would be the 6th of the month) the customer will be sent an email. On the 11th (10 days overdue) the customer will have a late fee applied, in this case 5% of the customers invoice balance. After 30 days overdue from the date of invoice, the customers account status will be changed to 'Canceled' and a prorated amount in the form of a credit will be applied. If a customer provides payment, an EngageIP user would need to enable their account manually
The image below is an example of transactions that would occur as a result of Scenario B:
The refund under the Account's Transactions page / Credits would appear as shown below:
Scenario C: Credit rating is configured to set the due date on the invoice to the 15th of the month regardless of delivery date of the invoice. An email warning the customer to pay the invoice will be sent after 10 days, followed by a flat fee of $50 which occurs 45 days after failure to pay the invoice (late fee scripts are available for Flat Fee or Percentage amounts based on outstanding invoice balance).
Bill day on customer is 10 - Customer will be billed on the 10th of each month
Invoice Due Date will be set to the 15th of the month regardless of when the invoice was delivered
Note: the terms below are set as '15' without the '+' (plus sign). This means that the terms relate to a day of the month and not 'X' days after the due date. For more detail see the 'Terms' definition at the top of this article.
Customer will receive invoice on for example the 12th (if it takes a day or two to be mailed to them), the due date will show that the invoice is due on the 15th of the current month. If the invoice remains unpaid after 10 days then an email will be sent warning them that the invoice balance is due. If no payment has occurred after 45 days past due date (15th of the month) a flat fee of $50 will be applied to the account and will be shown on the latest open invoice (or the fee will cause a new open invoice to be created if no open invoice exists).
Tracking Credit Rating Activity
Click on Reports
Under the Owner Reports heading click the Event Log
On the Event Log table that loads click on the heading 'Action' and enter a Filter of 'ProcessPaymentTerms' (this will return all the payment terms being executed on and which user they are associated with)
To find more detail relating to actions, e.g. to see a snippet of the email that gets sent when the 'Send Email' action fires, you can then filter the report by date range using the first and last date you see in the event log after filtering. This way you can get a full list of actions that have processed that may or may not be related to payment terms
Finally, to confirm what has happened on specific accounts:
Click on the account link
Once the account is loaded, click Reports
Under the Account Reports heading click the Event Log
Scroll through to see all the actions taken directly on that customer account
Once you've created these filters you can create a saved list so that you can use these filters in the future without having to recreate them. See the article Customizing Data Displayed on Lists/Tables Using View Filters for more information.
Pre-Seed Payment Terms for Production Environments
The pre-seeding script allows you to seed payment terms so that customers who are very overdue do not receive multiple email notifications at one time. This script will add payment term logs into the 'paymenttermprocesslog' which tells payment terms that it has already executed terms on the invoices listed and therefore will not execute the specific payment term again for the overdue invoices. The script should be run once for each credit rating in your system, it will add bogus data for credit ratings that are not on the account specifically but this will not cause problems.
Functionality
The seed script will look at all DUE invoices and add payment term logs where the number of days due (per payment terms rule) is greater than the due date (if the days due is greater than due date, that means the time to apply that particular rule has already passed - so only future rules will apply)
For instance if there are three invoices that are due in the system, the seed script will look at each invoice and seed one or more of the rules (if the rules should have already run on a system that had payment terms running routinely). This leaves only the valid subsequent rules to apply on one or more of the due invoices.
Pre-Seed Example
If today is February 1st, the due date of an invoice is January 15th and three rules are setup (1 day overdue email, 30 days overdue email and 60 days overdue email) the outcome of pre-seeding payment terms will be as follows:
Invoice Due Date = January 15
1 Day overdue email = will get seeded (so an overdue email notification will not get triggered for this invoice)
30 day overdue email = will occur at future billing
60 day overdue email = will occur at a future billing
Example where all Payment Terms are Pre-Seeded
Current Day = Feb 1st
Invoice Due Date = November 15th
1 day overdue email = will get seeded so that it will not be triggered
30 day overdue email = will get seeded so that it will not be triggered
60 day overdue email = will get seeded so that it will not be triggered
Effectively for the above invoice, no payment term rules will occur as they have already been seeded and its assumed dunning was completed manually or otherwise previous to the payment term configuration.
Pre-Seeding Process
Copy the following SQL Script:
/****** Object: StoredProcedure [dbo].[SetupPastDueNotice] Script Date: 04/28/2010 10:54:05 ******/IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SetupPastDueNotice]') AND TYPE IN (N'P', N'PC')) DROP PROCEDURE [dbo].[SetupPastDueNotice] GOUSE [boss] GO/****** Object: StoredProcedure [dbo].[SetupPastDueNotice]Script Date: 04/28/2010 10:54:05 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ON GO----============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[SetupPastDueNotice] @CreditRatingID INT AS BEGIN SET NOCOUNT ON;DECLARE @TblNrDaysTillDue INT DECLARE @TblInvoiceID INT DECLARE @TblPurchaseRaw_AcceptedID INT SELECT ID AS InvoiceID,DATEDIFF(DAY,DueDate,GETDATE()) AS NrDaysTillDue INTO #tmpTblOverdueInv FROM Invoice WHILE EXISTS (SELECT TOP 1 * FROM #tmpTblOverdueInv) BEGIN SELECT TOP 1 @TblNrDaysTillDue = NrDaysTillDue, @TblInvoiceID = InvoiceID FROM #tmpTblOverdueInv SELECT ID AS PaymentTermID, DaysOverdue INTO #tmpTblRemainingPaymentTerms FROM PaymentTerms WHERE CreditRatingID=@CreditRatingID AND ID NOT IN (SELECT PaymentTermsID FROM PaymentTermProcessLog WHERE InvoiceID = @TblInvoiceID) AND ID NOT IN (SELECT TOP 1 ID FROM PaymentTerms ORDER BY DaysOverdue DESC)DECLARE @tmpPaymentTermID INT DECLARE @tmpDaysOverdue INT DECLARE @tmpCountRows INT WHILE EXISTS (SELECT TOP 1 * FROM #tmpTblRemainingPaymentTerms) BEGIN SELECT TOP 1 @tmpPaymentTermID=PaymentTermID,@tmpDaysOverdue=DaysOverdue FROM #tmpTblRemainingPaymentTerms IF @TblNrDaysTillDue > @tmpDaysOverdue BEGIN INSERT INTO PaymentTermProcessLog (PaymentTermsID,InvoiceId,ProcessDate) VALUES (@tmpPaymentTermID,@TblInvoiceID,GetDate()) END DELETE FROM #tmpTblRemainingPaymentTerms WHERE PaymentTermID = @tmpPaymentTermID END DROP TABLE #tmpTblRemainingPaymentTerms DELETE FROM #tmpTblOverdueInv WHERE InvoiceID = @TblInvoiceID END DROP TABLE #tmpTblOverdueInv ENDGOPaste the script into SQL Studio Management on the EngageIP (BOSS) database
Paste the script into SQL Studio Management on the EngageIP (BOSS) database
Execute
Run it by right clicking and executing
Enter the ID of the credit rating you'd like to pre-seed for
Check PaymentTermsProcess for a number of users to check that they are truly set to only receive the last payment term according to the number of days overdue they are
Troubleshooting
Credit Ratings are Not Running
Ensure the Payment Term rules are marked as 'enabled' (click on the credit rating, then the payment term and check 'Active')
Ensure billing is running/has been run since Credit Rating terms have been setup. Billing is required to run to perform the credit rating check. If billing is not executing via a Bill Run ensure the EngageIP Billing Service in windows is running/restarted
Ensure the Bill Group is 'billable'. The Bill Group must be billable for billing to process the customers within that bill group. On the Setup page click on the appropriate Bill Group name and check 'Billable'
If Credit Rating has already run today and you expect an adjustment to credit rating to look at an invoice again the same day, you will need to update lastcheckeddate in the invoice table to NULL. This is the field that the system checks each day so that credit rating doesn't run multiple times per day on the same invoice