Skip to content

Best Practice: Dunning Setup

To help tracking and claiming outstanding payments, JustOn supports dunning processes.

Dunning process concepts

Basically, the dunning process involves three main steps:

  • Dunning run: You create draft dunnings for open invoices or account statements.
  • Finalizing: You close the dunnings and generate the dunning reminder PDF documents.
  • Distribution: You send out the dunning reminders via email.

The dunning run refers to the operation that creates dunning notifications. The statements issued with the dunning run are referred to as dunnings. Depending on the progress of the dunning process, they can have different statuses.

  • Draft: New dunnings have the status Draft. You can check draft dunnings for correctness and edit them as necessary.
  • Closed: 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. As a whole, this makes the dunning operation legally effective.

In order to use the dunning process feature, you must configure it accordingly using the custom setting Dunning Levels. This setting defines, among others,

  • the condition to be matched for activating the process,
  • dunning fees and late fees as required,
  • the due period and a grace period.
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 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.

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

Once set up, you can then start a dunning run using the Statement Runs functionality.

Postponing the payment due date for an invoice suspends applicable dunning procedures for the specified time.

Assume the following example dunning escalation scenario:

Invoice payment due
Failure to payment: First reminder
      Failure to first reminder: Second reminder
           Failure to second reminder: Final reminder

(1) You set up invoices due to be paid within 14 days after their date of issue.

(2) If your customer has failed to pay within the payment due period, you issue the first reminder (a friendly reminder about the outstanding payment), setting a dunning due of 14 days.

(3) If the customer has failed to pay within the dunning due period, you issue the second reminder (a firm reminder of the overdue amount 28 days after the original invoice due), setting another dunning due of 14 days.

(4) If the customer has failed again to pay within the (new) dunning due period, you issue the final reminder (a last request to pay 42 days after the original invoice due), adding a late payment charge of 5%.

(5) You want the defined escalation and the corresponding period before issuing a higher-level reminder be respected. So even if a payment is due for more than 42 days, you want the first reminder first, then, after 14 days, the second reminder, and only after another 14 days the final reminder – and not all reminders at once.

(6) Optionally, you can allow for excluding individual accounts or individual invoices from being subject to the dunning process.

To implement this scenario, you need

  • A custom formula field on the invoice to count the days after the last dunning
  • Three Dunning Levels settings.

Calculating Days Since Last Dunning

For your escalation scenario and the defined periods to be respected, you include a condition that evaluates the days since the last dunning for a particular invoice has occurred. To calculate this period, you add a custom formula field, like, for example, DaysSinceDunning, on the Invoice object:

  1. Navigate to the fields list of the Invoice object.
  2. Create the following new field.

    API Name Data Type Value
    DaysSinceDunning Formula (Number) TODAY() - ONB2__LastDunningDate__c

Dunning Levels Information

Following the outlined example, the required Dunning Levels settings specify the following information:

Field Level 1 Value Level 2 Value Level 3 Value
Name First Reminder Second Reminder Final Reminder
Dunning Level 1 2 3
Grace Period 14 28 42
Dunning Due 14 14 14
Late Fee Rate 5%
Condition DaysOverdue__c >= :gracePeriod AND DunningLevel__c = 1 AND DaysSinceDunning__c >= 14 DaysOverdue__c >= :gracePeriod AND DunningLevel__c = 2 AND DaysSinceDunning__c >= 14


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.

Optionally: Excluding accounts or invoices from the dunning run

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. Broadly speaking, 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.

Creating Dunning Levels Settings

You create an individual Dunning Levels record for each level of your dunning escalation scenario.

  1. In Setup, open Custom Settings.

    In Salesforce Lightning, navigate to Custom Code > Custom Settings.

    In Salesforce Classic, navigate to Develop > Custom Settings.

  2. Click Manage in the row of Dunning Levels.

  3. Click New.
  4. Specify the details as necessary.

    The mandatory information include Name and Dunning Level.

    For more details, see Dunning Levels Information.

  5. Click Save.

    This creates the dunning level configuration, making it immediately available for dunning runs or individual dunning reminders.

Related information:

Customizing Dunning Reminders
Managing Dunning Reminders
How to work with draft dunning reminders?