Setting Up Dunning Process Management
← Setting Up Overdue Receivables Management
Dunning, in general, is the process of communicating with customers to claim outstanding receivables, for example (but not exclusively), overdue payment requests for invoices.
JustOn Billing & Invoice Management implements dunning process support based on configurable dunning statements.
Understanding dunning
Sometimes customers default on payments – for example, they may not pay their invoices promptly or completely. In such cases, businesses usually send notifications, stating the overdue payment. According to the overdue status, these notifications progress from friendly reminders to firm warning letters.
If the dunning communication remains unfruitful, businesses may turn customers over to debt collection agencies, who usually proceed to take other collection options.
As receivables become more overdue, you may consider applying individual value adjustments in parallel in order to devalue the corresponding invoice amounts.
Implementation details
To help tracking and claiming outstanding payments, JustOn supports dunning processes. With this respect, the following objects are important:
- Statements
- Represent the dunning statements that document outstanding payments, based on which you generate dunning reminders to be sent out to the corresponding accounts. The statement records are associated to the relevant accounts and hold the corresponding data as well as payment information.
- Statement details
-
Represent the individual items to which the dunning refers – the actual invoices and, if set up accordingly, the dunning fees. Statement details are in a master-detail relationship to a statement.
A dunning run can include multiple invoices per account, producing an individual statement detail for each involved invoice. Consequently, an invoice that is subject to a dunning process relates to the produced statement detail, but not to the statement.
For invoices with installments, the dunning run takes the relevant amount due only. If, for example, at the time of a dunning run only the first and second installments of a payment plan are overdue, only this portion will be subject to the produced reminder.
Dunning reminder that involves two invoices
The statement records display their involved statement details in a related list. The PDF file printed from the statement includes the statement detail table, which, by default, shows the original invoice numbers.
For more details, see the Statement and Statement Detail object references.
Setting up dunning processes involves the following tasks:
-
Basic (minimum required) configuration
-
Additional options
- Enabling contact roles for the dunning reminder distribution
- Adding custom fields to the dunning and the statement details
- Separating or combining invoices on dunning creation
- Enabling template text copies
- Enabling dunning reminder PDF regeneration
-
Advanced options for specific use cases
Basic Dunning Configuration
Configuring Dunning Levels
Dunning levels control your dunning processes. They determine for which invoices, at what times and, optionally, at what costs you want to notify your customers about outstanding payments. Using multiple dunning levels you can build your individual dunning escalation scenario, which may progress from friendly reminders to firm warning letters:
Invoice payment due
↳ Failure to payment: First reminder
↳ Failure to first reminder: Second reminder
↳ Failure to second reminder: Final reminder
Dunning procedure examples
Example dunning procedure using three dunning level configurations (First Reminder, Second Reminder, Final Reminder) with a fix dunning fee:
Dunning Characteristic | First Reminder | Second Reminder | Final Reminder |
---|---|---|---|
friendly reminder about an outstanding payment | firm reminder of the overdue amount, adding a late payment charge | last request to pay before legal action is taken and the service is terminated | |
Grace Period | 30 days | 60 days | 90 days |
Dunning Fee | 0,00 | 5,00 | 10,00 |
If you apply fix dunning fees, JustOn recommends to include the corresponding information in the statement detail table of templates for higher dunning levels.
Example dunning procedure using three dunning level configurations (First Reminder, Second Reminder, Final Reminder) with a percentage late fee:
Dunning Characteristic | First Reminder | Second Reminder | Final Reminder |
---|---|---|---|
friendly reminder about an outstanding payment | firm reminder of the overdue amount, adding a late payment charge | last request to pay before legal action is taken and the service is terminated | |
Grace Period | 30 days | 60 days | 90 days |
Late Fee Rate | 0% | 2% | 5% |
Dunning Levels Information
JustOn implements dunning levels using the custom setting Dunning Levels. It includes the following information:
Label | Data Type | Description |
---|---|---|
Name | Text (255) | A unique name for the custom setting record. |
Condition | Text (255) | A custom SOQL condition to determine to which invoices this dunning level applies. If empty, JustOn uses the following default condition:DaysOverdue__c > :gracePeriod AND (DunningLevel__c = null OR DunningLevel__c < :level) |
Create Notification Tasks | Text (255) | If set, creates notification tasks. Specifies the object on which the task should be created. Allowed values include Dunning , Invoice , Account or empty. If empty, no task is created. |
Dunning Due | Number (3,0) | The due terms of the dunning in days, defaults to zero if left empty. This value is copied to the field Payment Due of the dunning. |
Dunning Fee | Currency (16,2) | A fixed amount that is added to the dunning record as a separate statement detail. Is always calculated without tax. JustOn recommends to include the fix dunning fee information in the statement detail table of templates for higher dunning levels. You can define different dunning fees for various currencies. To do so, add the number field ON_DunningFee<CurrencyIsoCode> to the Dunning Levels custom setting, like ON_DunningFeeUSD . |
Dunning Level | Number (18,0) | The dunning level determines which invoices are in the scope of this setting (see Condition ).The values of Dunning Level determine the sequence in which JustOn applies the dunning levels. Use 0 or 1 for the first dunning level to apply. Increase the value accordingly for the consecutive dunning levels. |
Days Overdue Field | Text (255) | Defines a source field which specifies the number of days by which the invoice is overdue. |
Grace Period | Number (18,0) | The number of days after the invoice payment due. |
Include Standard Condition | Checkbox | If checked, the resulting condition is a combination of the default condition and the one defined with the current dunning level. |
Late Fee Rate | Percent (3,3) | Defines the monthly interest rate for calculating the late fees for invoices. Is added to the statement detail for the relevant invoice. Falls back to the late fee rate defined the Global Settings if not set. If neither is set, no late fee occurs. The resulting late fee is calculated as the multiplication product of the open invoice amount, the late fee percentage rate and the number of months since the overdue date, like Amount * Rate * DaysOverdue/30 |
Debt Collection Agency | Text (255) | The name of the debt collection agency for further processing. If there is already a debt collection agency set on an invoice, it will take precedence over this configuration. |
Do Not Send | Checkbox | Prevents dunning statements of this dunning level from being sent by email. |
Exclude Invoice PDF | Checkbox | Determines whether the related invoice PDF files are preselected (or not) to be attached to the dunning reminder email. Users can override this setting when emailing an individual dunning reminder. |
Dunning fee or late fee?
You decide whether to apply a flat dunning fee or percentage-based late fee (or both). The dunning fee is a fix amount (per dunning level) that is added, if set, to the dunning record as a separate statement detail. The late fee is a calculated amount that is added, if set, to the statement detail for the relevant invoice.
Applying dunning fee and late fee with dunnings
The late fee is calculated as follows:
Amount * Rate * DaysOverdue/30
So it is the multiplication product of the open invoice amount, the late fee percentage rate and the number of months since the overdue date. Assume, for example, an open invoice amount of 120,00, a late fee rate of 5% and 45 days overdue. The calculation would be as follows 120,00 x 5% x (45/30)
(or 120,00 x 0,05 x 1,5
), resulting in a late fee of 9,00
. Consequently, this produces a statement detail amount of 129,00
for the open invoice.
Both the dunning fee and the late fee show up as individual balance records on the open invoice.
Creating Dunning Levels Configuration
To cover your (possibly complex) dunning process requirements, you may have to create different dunning level configurations.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Dunning Levels.
- Click New.
-
Specify the details as necessary.
The mandatory information include
Name
andDunning Level
.For more details, see Dunning Levels Information.
-
Click Save.
This creates the dunning level configuration, making it immediately available fo users to execute dunning runs or create individual dunning reminders.
Creating a friendly (first) reminder about an outstanding payment, setting a dunning due of 14 days
How to exclude accounts or invoices from the dunning run (dunning block)?
Certain circumstances may require to postpone the payment due date for invoices. This suspends applicable dunning procedures for the specified time.
As an alternative to the due date deferral, you may consider excluding specific accounts or specific invoices from being subject to the dunning process – using a so-called dunning block.
This involves the following steps:
(1) Create a custom checkbox, like, for example, PreventDunning
, on the Account or Invoice object that defines whether to exclude (if true
) a given record from the dunning run. Depending on your requirements, you can have this checkbox selected manually by a user, or automatically via a formula, for example, that can check a record for certain criteria and consequently select (or not select) this checkbox.
(2) In each dunning level configuration that you intend to apply, add a condition that evaluates this checkbox and consequently determines whether to exclude the current record:
PreventDunning__c = false
Following the example, JustOn excludes an invoice from the dunning run if the checkbox is selected (true
) and the condition therefore yields false
.
Customizing Dunning Reminders
JustOn ships a default template detail Reminder, intended to overwrite certain template fields when generating dunning reminders and printing the corresponding PDF files.
Info
You need separate dunning template details
- for each template you use for the invoice generation
- for each dunning level configuration you set up, where the name of a template detail must match the name of the corresponding dunning level setting
Use the default Reminder template detail as a model when creating your custom template details for your dunning levels.
Customizing the template details for dunning reminders according to your organization's requirements usually involves:
- Configuring a dunning counter
- Adjusting the statement detail table display
- Modifying text building blocks
Configuring Dunning Counter
Dunning reminders must have unique numbers to comply with legal regulations. When setting them to Closed
, JustOn creates the unique and unalterable numbers for dunnings based on defined counters.
Your business may require an individual number pattern for dunning reminders, or even multiple ones for different dunning levels. In this case, you must configure the dunning counters and assign them to the corresponding template details.
-
Create dunning counters as necessary.
For details, see Counters and Number Ranges.
-
Open the relevant template detail.
- In the Information section, click
next to the
Counter
field and specify the counter to be used. - Click Save.
Note
If there are no specific dunning counters configured and assigned to the corresponding dunning template details, JustOn uses the configured invoice counter for dunning reminders.
While not illegal, using the same counter for invoices and dunning reminders is not a recommended practice.
Adjusting Statement Detail Table
The Table Columns
field determines the contents of the statement detail table on the printed dunning reminder. This field contains a list of statement detail fields, separated by semicolon, which determines the visible table columns and their sequence.
The default setting in the Reminder template detail is:
PosNo;Title__c;PaymentDueDate__c;DaysOverdue__c;Amount__c;LateFee__c;DunningAmount__c
This produces the following statement detail information:
- Position number
-
Statement detail title
For the statement detail type
Dunning
(which refers to the actual invoices), the title is set in the template fieldDunning Title
. It defaults to the original invoice number using the custom placeholder[RelatedInvoiceNo]
.For the statement detail type
Dunning Fee
(which is produced if the applied dunning level defines a dunning fee), the title is set in the template fieldDunning Fee Title
. Adjust the default value according to your needs, and provide relevant translations for your localized templates. -
Original payment due date
- Days overdue
- Open amount
- Included late fee
- Statement detail total
Depending on your organization's requirements, you must remove columns you do not need or add new columns. To do so:
- Open the relevant template detail.
- In the Information section, click
next to the
Table Columns
field and specify the information as required. - Click Save.
Info
You can use any statement detail field. Remember that the specified order defines the column sequence.
If your business applies fix dunning fees, JustOn recommends to show the dunning fees that have accrued in previous dunning levels. To this end, add the field Previous Fees
to the table configuration in templates that you use for subsequent dunning levels:
PosNo;Title__c;GrandTotal__c;Amount__c;DaysOverdue__c;PreviousFees__c;LateFee__c;DunningAmount__c
This produces the following statement detail information:
- Position number
-
Statement detail title
Defaults to the original invoice number using the custom placeholder
[RelatedInvoiceNo]
. -
Original invoice total
- Open invoice amount (minus received payments)
- Days overdue
- Sum of previously accrued fixed dunning fees
- Included late fee
- Statement detail total
Modifying Dunning Reminder Texts
Depending on your organization's requirements, you must modify the text building blocks for the dunning reminders. Usually, the relevant texts are included in the following fields of your dunning reminder template details:
Field | Description | Default Value |
---|---|---|
Display Type | Specifies the type of the document to be printed to the PDF. | Reminder |
Info Right | Defines an area for printing general information like a page counter and the date above the actual document text. You can use all account and dunning placeholders here. |
|
Text 1 | Specifies the text to be rendered above the detail table, can include placeholders. | |
Email Subject | Defines the default email subject, can include placeholders. | |
Email Body | Defines the plain text body for the email, can include placeholders. Line breaks are considered. |
|
PDF Name | Specifies the name pattern for the generated PDF file, can include placeholders. |
Note
Since the dunning statement can include multiple invoices (1:n relation), you must not use placeholders that relate to an individual invoice on the dunning reminder level. To name the involved invoices on the dunning reminder PDF, you include the Title
column in the detail table.
To modify the texts:
- Open the relevant template detail.
-
Click next to the intended field and specify the corresponding text as required.
Alternatively, you can click Edit in the detail view to edit all fields at once.
-
Click Save.
Info
Repeat this step for each dunning level-specific template detail. Feel free to adjust the texts to the intended dunning escalation scenario.
Scheduling Dunning Run Job
If your business produces large numbers of invoices, you may require to start the dunning run automatically on a regular basis. To this end, you set up a corresponding job to produce dunning reminders at regular intervals.
Info
JustOn recommends to have the dunning run job executed after the payment entry import to avoid inapplicable dunning reminders.
Handling recommendations
Once the dunning run job is scheduled, it executes at the specified time, creating a new dunning run and new dunning reminders for all configured dunning levels.
Make sure to check the produced dunning reminders on a regular base, too. JustOn recommends to finish or delete new dunning reminders as soon as possible. There should be no draft dunning reminders left at the end of the job's execution interval.
The dunning run job does not require additional parameters. That is, you can set up the job directly for the corresponding Apex class ScheduledDunningRun
. For details, see Scheduling Concepts.
To schedule the dunning run job, you can use either JustOn's Scheduled Jobs page or Salesforce's Schedule Apex functionality. For details, see Scheduling a Job.
Via JustOn's Scheduled Jobs page:
-
Open the Scheduled Jobs page.
Use the following URL
https://login.salesforce.com/apex/ONB2__JobsSetup
, or, if you are already logged in, appendapex/ONB2__JobsSetup
to your org's domain name.You can access the Scheduled Jobs page via the JustOn configuration app ( > JustOn Configuration > Jobs Setup).
-
From the
Apex Job
drop-down list, selectDunning Run Job
.The
Job Name
field is automatically set toScheduledDunningRun
. -
From the
Start Time
drop-down list, select the preferred execution time. - Optionally, edit the displayed cron expression to adjust the execution time.
-
Click Schedule.
This sets up the dunning reminder generation to be executed at the specified time.
Info
From the Scheduled Jobs page, you can also run the job immediately.
Via Salesforce's Schedule Apex functionality:
-
Click to enter Setup, then open Apex Classes.
In Salesforce Lightning, navigate to Custom Code > Apex Classes.
In Salesforce Classic, navigate to Develop > Apex Classes.
-
Click Schedule Apex on top of the list.
-
Specify the details as required.
- Job Name
- Apex Class:
ScheduledDunningRun
- Frequency:
Weekly
orMonthly
(with an according weekday or day of month setting) - Start
- End
- Preferred Start Time
-
Click Save.
This sets up the dunning reminder generation to be executed at the specified time.
For more details about job scheduling, see Scheduling a Job in the JustOn documentation and Schedule Apex in the Salesforce Help.
Additional Dunning Options
Enabling Contact Roles for Dunning Distribution
You can use contact roles to pre-populate contact and address fields when executing a dunning run. JustOn supports contact roles as defined using the custom picklist field JustOn Contact Role
on the Contact object or on the Account Contact Relationship object.
Depending on your business requirements or use cases, proceed as follows:
- For users with a JustOn license, you add the managed field
JustOn Contact Role
(API nameONB2__ContactRole__c
) to the page layout of the Contact object. -
For users without a JustOn license, the managed Contact field
ONB2__ContactRole__c
is not visible. If you still must support contact roles on contacts, you create the custom fieldJustOnContactRole
on the Contact object, which replicates the behavior ofONB2__ContactRole__c
but is available for other Salesforce users.Once the custom field is defined, it takes precedence over the managed field.
-
If you need the contact role functionality on account–contact relationships, you create the custom field
JustOnContactRole
on the Account Contact Relationship object.
JustOn Contact Role priority
- If both
JustOn Contact Role
on the account–contact relationship andJustOn Contact Role
on the contact are set, the role defined on the account–contact relationship (irrespective of whether it is a primary or secondary relation) has priority over the role defined on the contact. - If
JustOn Contact Role
is set both on a direct and an indirect account–contact relationship, the role defined on the direct account–contact relationship (primary relation) has priority over the role defined on the indirect account–contact relationship. -
JustOn Billing & Invoice Management considers JustOn contact roles defined on primary contacts (related via a direct account–contact relationship) only.
If you need a JustOn contact role on a secondary contact (related via an indirect account–contact relationship), you must define it on the corresponding ACR record.
-
Salesforce allows time limitations and an explicit
Active
status for account–contact relationships. These settings, however, do not have influence on the priority of the assigned JustOn contact roles. If an account–contact relationship is valid on a given date, JustOn Billing & Invoice Management will consider the assigned contact role.You must make sure to not assign two or more contacts with the same role to an account. If this is the case, the system randomly picks one of them, which may produce unwanted results.
-
Contact role settings on the account–contact relationship (ACR) and on the contact can complement each other, as long as they are not in conflict.
- For compatibility reasons, JustOn Billing & Invoice Management still supports existing Salesforce Classic Account Contact Roles. If available, they take general precedence over the values set in the
JustOn Contact Role
fields on the contact or the account–contact relationship.
To keep control simple, use JustOn contact roles either on contacts or on account-contact relationships only. If you decide to use account-contact relationships, JustOn recommends to use JustOn contact roles on account-contact relationships for more flexibility.
The examples in JustOn Contact Role Priority illustrate the behavior.
Using Managed Contact Role Field on Contact
To add the managed field JustOn Contact Role
(API name ONB2__ContactRole__c
) to the page layout of the Contact object:
- Click to enter Setup, then navigate to the object management settings of the Contact object.
- Click Page Layouts.
- In the Contact Layout row, click Edit.
- Drag the
JustOn Contact Role
field to the page layout. -
Click Save.
For help about modifying page layouts, see Managing Pages.
Creating Custom Contact Role Field on Contact
To create the custom field JustOnContactRole
on the Contact object to replicate the behavior of ONB2__ContactRole__c
:
-
Click to enter Setup, then navigate to the fields list of the Contact object.
Open the field configuration for
JustOn Contact Role
in a new browser window or tab for later reference. -
Create the following new field.
Label API Name Data Type Values JustOn Contact Role JustOnContactRole
Picklist (Multi-Select) Copy all picklist entries from JustOn Contact Role
that are needed for your org's uses cases.
Make sure to use the same API names for the picklist entries.For help about creating fields, see Managing Object Fields in the JustOn Documentation or Create Custom Fields in the Salesforce Help.
-
Allow the relevant users access to the new field either by adding it to their assigned profiles or permission sets.
For details, see Set Field Permissions in Permission Sets and Profiles in the Salesforce Help.
-
Allowlist the new field to make it accessible for database queries.
To this end, create the new Field Whitelist record
JustOnContactRole__c
. -
Add the new picklist field (API name
JustOnContactRole
) to the Contact layout.Remove, if necessary, the managed field (API name
ONB2__ContactRole__c
) from the layout.For help about modifying page layouts, see Managing Pages or Page Layouts in the Salesforce Help.
Creating Contact Role Field on Account Contact Relationship
Salesforce allows associating one contact to multiple accounts through the Account Contact Relationship object. For details and configuration instructions, see
- Contacts to Multiple Accounts in the Salesforce Help
-
Set Up Contacts to Multiple Accounts
JustOn recommends to add both the Related Accounts related list to the relevant Contact page layouts and the Related Contacts related list to the relevant Account page layouts.
Once set up accordingly, you can enable JustOn contact roles on account–contact relationships. To this end, you create the custom field JustOnContactRole
on the Account Contact Relationship object:
-
Click to enter Setup, then navigate to the fields list of the Account Contact Relationship object.
Open the field configuration for
JustOn Contact Role
on the Contact object in a new browser window or tab for later reference. -
Create the following new field.
Label API Name Data Type Values JustOn Contact Role JustOnContactRole
Picklist (Multi-Select) Copy all picklist entries from JustOn Contact Role
on the Contact object that are needed for your org's uses cases.
Make sure to use the same API names for the picklist entries.For help about creating fields, see Managing Object Fields in the JustOn Documentation or Create Custom Fields in the Salesforce Help.
-
Allow the relevant users access to the new field either by adding it to their assigned profiles or permission sets.
For details, see Set Field Permissions in Permission Sets and Profiles in the Salesforce Help.
-
Allowlist the new field to make it accessible for database queries.
To this end, create the new Field Whitelist record
JustOnContactRole__c
.If you have already allowlisted the custom field
JustOnContactRole
as created on the Contact object, do not create a second record. A Field Whitelist record allowlists a field, irrespective of its object. -
Add the new picklist field (API name
JustOnContactRole
) to the Account Contact Relationship layout.For help about modifying page layouts, see Managing Pages or Page Layouts in the Salesforce Help.
Once enabled, users can define contact roles for the dunning reminder distribution use cases.
Adding Custom Dunning Fields
Depending on your business requirements, you may need additional information on your dunning reminders. Using the ON field mechanism, you can copy any custom invoice fields to these targets.
Info
Remember that the names of the ON fields must match the names of the dunning fields.
Example custom fields to be copied:
Invoice ON Field | Target Field (Dunning/Statement Detail) |
---|---|
ON_SAPNumber | SAPNumber |
ON_CustomerNumber | ON_CustomerNumber |
Separating or Combining Invoices
The dunning run combines invoices on one dunning reminder if the following criteria are met:
- the invoices belong to the same account
- the invoices use the same template
- the invoices use the same currency
- the invoices are subject to the same dunning level
Separating Invoices Based on Criteria
Certain uses cases require to distribute invoices to separate dunning reminders. To this end, add the custom formula field ON_DunningCriterion
to the Invoice object, and use it to specify your separation criterion.
The following table lists example uses cases for the invoice separation and the corresponding configurations for the ON_DunningCriterion
field.
Use Case | Field Configuration | Formula Value |
---|---|---|
Force an individual invoice per dunning | Formula (Text) | Name |
Separate by subscription | Formula (Text) | Subscription__c |
Separate by year | Formula (Number) | YEAR(Date__c) |
- Navigate to the fields list of the Invoice object.
-
Create the new field as required.
For example configurations, see the table above.
For help about creating fields, see Managing Object Fields.
Combining Invoices Based on Account-Specific Template
Usually, JustOn creates dunning reminders for each invoice template that an account uses. Thus, if a company (an account) uses different templates, they get as many dunning reminders as they use invoice templates. An account may, however, require to get a combined dunning reminder that includes all open invoices, irrespective of the template used.
To support this scenario, you add the custom field ON_DunningTemplate
to the Account object. This field must specify the template to be used for dunning reminders – either by its name or its ID.
- Navigate to the fields list of the Account object.
-
Create the following new field.
API Name Data Type Description ON_DunningTemplate Text
Formula (Text)Specifies the template by name or ID. For help about creating fields, see Managing Object Fields.
Once set, this produces one dunning reminder for the account, even if the invoices are based on several templates.
Enabling Template Text Copies
Usually, text fields are empty for draft statements. The corresponding values are taken from the template and the template detail Reminder when generating the PDF preview or when finalizing the statement. For details about the default text fields, see Template Structure and Building Blocks and Template Detail Concepts.
Depending on your organization's requirements, users must modify the texts for individual statements, that is, without applying the changes to the template or template detail. To this end, users can copy the text field contents from the corresponding template to the draft statement and then modify the texts as required.
To enable this option, add the Copy Text button to the statement detail view.
- Navigate to the object management settings of the Statement object.
- Click Page Layouts.
- In the Statement Layout row, click Edit.
-
Add the Copy Text button to the page layout.
In Salesforce Lightning, drag the button from the Mobile & Lightning Actions palette to the Salesforce Mobile and Lightning Experience Actions section.
In Salesforce Classic, drag the button from the Buttons palette to the Custom Buttons area.
-
Click Save.
For help about modifying page layouts, see Managing Pages.
Enabling Dunning PDF Regeneration
In certain business use cases, users may need to recreate the PDF file for an already finalized dunning reminder (status Closed
). Doing so does not modify any dunning reminder data.
To enable the option for individually recreating a PDF file for a finalized dunning reminder, add the Recreate PDF button to the dunning reminder detail view.
- Navigate to the object management settings of the Statement object.
- Click Page Layouts.
- In the Dunning Layout row, click Edit.
- Drag the Recreate PDF button to the Custom Buttons area in the Statement Detail section.
-
Click Save to save the modified page layout.
For help about modifying page layouts, see Managing Pages.
Advanced Dunning Options
Automating Dunning Reminder Email Dispatch
Your organization's business may require to send invoice or statement emails automatically upon finalization when certain conditions become true.
To support this scenario, you add the checkbox AutoSend
to the Invoice or Statement object. You can then apply custom logic to have this checkbox set selectively on specific records or globally on all produced records using a formula, the ON field mechanism or a Salesforce Flow. Remember that for an invoice or statement to be considered in the email distribution, the checkbox Email Invoice
or, respectively, Email Statement
must be selected.
Note
For the auto send feature to work, the custom setting Auto Queue Emails After Finalization
must not be selected.
- Navigate to the fields list of the Invoice or Statement object.
-
Create the following new field.
API Name Data Type Description AutoSend Formula (Checkbox)
CheckboxWhen selected, JustOn Billing & Invoice Management will automatically send the emails on invoice or statement finalization. For help about creating fields, see Managing Object Fields.
Automating Dunning Reminder Creation and Distribution
Your business may require all dunning reminders to be finalized automatically. Together with the automatic email dispatch using the checkbox AutoSend
(see Automating Dunning Reminder Email Dispatch), you can run the dunning reminder creation and distribution without user interaction.
To this end, you override the standard batch chain DunningRunChain
(alias DUNNINGRUN
) using a dedicated Custom Batch Chain setting, and, consequently, have it executed automatically.
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Custom Batch Chain.
- Click New.
-
Specify the details as necessary.
Field Value Name DUNNINGRUN
Batches DunningRunBatchHelper,BatchFinalizeDunning,BatchPdfGenerate,AutoSendDunningBatchHelper
-
Click Save.
This overrides the original dunning run batch chain and executes the customized batch chain when called from list views or when scheduled.
Disabling Manual Dunning Status Modification
Dunning reminders are supposed to be finalized using the Finalize functionality. Finalizing dunnings sets them to Closed
, generates the PDF dunning reminders to be sent out, and adds the defined dunning fees to the account balance and the open invoice amount.
To prevent users from accidentally (or incorrectly) changing the dunning status manually, you set the Status
field to Read-Only
.
- Navigate to the object management settings of the Statement object.
- Click Page Layouts.
- In the Dunning Layout row, click Edit.
- Click
next to the
Status
field to open the field properties. - Select the
Read-Only
checkbox. - Click OK to save the field properties.
-
Click Save to save the modified page layout.
For help about modifying page layouts, see Managing Pages.
Disabling Dunning Fee Balances
Usually, JustOn Billing & Invoice Management creates balances of the type Dunning Fee
for any involved flat dunning fee or percentage late fee when finalizing a dunning. Dunning fee balances, however, will show up as outstanding receivables. Therefore, your business may require to not immediately create dunning fee balances. In this case, you can disable the creation of dunning fee balances on dunning finalization.
Doing so, JustOn will still track dunning fees. If a dunning level defines a dunning fee or a late fee rate, it is saved in the invoice fields Expected Dunning Fee
or Expected Dunning Late Fee
. Now if a registered payment includes an additional amount to cover dunning fees, it is split into a Payment
balance that covers the original open invoice amount, and an additional Dunning Income
balance for the dunning fee amount. The two balances are assigned to the original invoice. Using this approach, a dunning fee produces a booking-relevant record only if and when it is actually paid. With a payment that covers the open invoice amount only, an invoice will still become Paid
.
Dunning income balance example
Assume this dunning statement:
Detail | Amount |
---|---|
Invoice | 100 |
Dunning fee | 10 |
With dunning fee balances disabled, JustOn creates these balance records when registering a payment of 110:
# | Type | Amount |
---|---|---|
1 | Payment | 100 |
2 | Dunning Income | 10 |
To disable the creation of dunning fee balances on dunning finalization:
-
Click to enter Setup, then open Custom Settings.
In Salesforce Lightning, navigate to Custom Code > Custom Settings.
In Salesforce Classic, navigate to Develop > Custom Settings.
-
Click Manage in the row of Global Settings.
- Click Edit in the Default row.
- Select the checkbox
Disable Dunning Fee Balances
. -
Click Save.
Now when registering a payment that is larger than the original open invoice amount, it is split into a
Payment
balance that covers the original open invoice amount, and an additionalDunning Income
balance for the remainder.
Specifying Debt Collection Agency
JustOn Billing & Invoice Management supports the integration of debt collection services. To this end, you can specify the name of a debt collection agency when configuring your dunning levels.
When set, JustOn copies the name to the field DebtCollectionAgency
on the invoice. It is then available for further custom processing – for example, as a trigger to start individual value adjustments.
Info
Once the field DebtCollectionAgency
on the invoice is set, this value will be used for all statements resulting from further dunning runs. That is, if there is already a debt collection agency set on an invoice before the dunning run (using the ON field mechanism, for example), it will take precedence over the corresponding dunning level configuration.