ADempiere Dunning

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.


Prepared by: Carlos Ruiz – globalqss

Sponsored by: Metas GmbH

Conventions: blue text is taken from the application help, green text is written to extend with a little more technical information, red text is to remark potential parts to improve, but they need more functional discussion.


The Dunning Window defines the parameters that will be used when generating Dunning Letters. Each customer can be associated with a Dunning Code.

You can configure the dunning level for a business partner, if you leave the dunning level empty for the BP, then the dunning level of the BP group will be used.


01 DHLD Dunning.png

Create levels sequentially

Create Dunning Letter by level sequentially

If selected, the dunning letters are created in the sequence of the dunning levels. Otherwise, the dunning level is based on the days (over)due.

The effect of “Create levels sequentially” is to create the invoice just on one level, when enabled the program check for other levels with smaller days. The final result is that an invoice is just created on the level where the minimum DaysAfterDue value. (Probably a better business case would be to consider the opposite, the invoice must be dunned in the maximum DaysAfterDue, but it needs further functional forum discussion as it could broke the usage on other current sites. Another possible solution to preserve backward compatibility could be to create a new flag “Create levels sequentially high to low”).


The Dunning Level Tab defines the timing and frequency of the dunning notices.

02 DHLD DunningLevel.jpg

Days after due date

Days after due date to dun (if negative days until due)

The Days After Due Date indicates the number of days after the payment due date to initiate dunning. If the number is negative, it includes the not due invoices.

This is to determine which invoices are considered to dune. The invoices included in the process will be affected by the flags “Show Not Due” and “Show All Due”

Days between dunning

Days between sending dunning notices

The Days Between Dunning indicates the number of days between sending dunning notices.

This is to avoid dunning the same invoice or business partner during a period. For example if you run the process weekly, you don't want the same business partner being dunned every week, so you can configure the days between dunning to a value like 27 to include the invoices every month.

Show Not Due

Show/print all invoices which are not due (yet).

The dunning letter with this level incudes all not due invoices.

This flag indicates that the dunning letter will include not due invoices (this is, invoices with due date in future)

Show All Due

Show/print all due invoices

The dunnThe Dunning Level Tab defines the timing and frequency of the dunning letter with this level incudes all due invoices.

Show in the letter even the due invoices that doesn't match the days after due configured. Otherwise it will show just the invoices due on the configured level.

There is a problem with this approach, if you set “Show All Due” then DaysBetweenDunning don't work as expected. As the process don't know if the invoice was included previously because it's to dun, or because the “Show All Due” was marked. To solve this I think we would need a new column C_DunningRunLine.IsDunned, and the process needs to be refactored to be executed in two passes (currently it run in just one pass) – first pass just to determine if there are invoices to dun, and mark those invoices with IsDunned=Y, and second pass to add the rest of the invoices according to the “Show All Due” and “Show Not Due” flags, these additional invoices must be marked as IsDunned=N. The “Create Levels Sequentially high to low” and “Days Between Dunning” must consider just IsDunned=Y invoices. Dunning BP consequences (fee, stop credit and change of payment term) and dunning invoice consequences (change dun level) must be executed just if there are dunned invoces, and just on those (currently all invoices are marked on the dun level – so “Show All Due” and “Show Not Due” have this problem of marking every invoice of the bp).

Charge fee

Indicates if fees will be charged for overdue invoices

The Charge Fee checkbox indicates if the dunning letter will include fees for overdue invoices

The consequence of this flag is to add a line to the statement charging a fee, defined on the next field “Fee Amount”. Actually the fee is just informative, there is no process to charge such fee on an invoice or receipt. There is also a non-developed part about Charge Interest (the field was hidden because functionality was not developed), this is harder to achieve and it will need more functional discussion about the possible business cases.

Fee Amount

Fee amount in invoice currency

The Fee Amount indicates the charge amount on a dunning letter for overdue invoices. This field will only display if the charge fee checkbox has been selected.

Credit Stop

Set the business partner to credit stop

If a dunning letter of this level is created, the business partner is set to Credit Stop (needs to be manually changed).

This is to indicate that credit status of the business partner must be marked as “Credit Stop” when this level of dunning is processed.

Set Payment Term

Set the payment term of the Business Partner

If a dunning letter of this level is created, the payment term of this business partner is overwritten.

This is to indicate that default payment term of the business partner must be marked as the payment term defined (commonly to configure it with “Immediate”) when this level of dunning is processed.

Collection Status

Invoice Collection Status

Status of the invoice collection process

This is to indicate that invoice must be marked with this collection status when this level of dunning is processed. If not filled the invoice will be marked with Collection Status = “Dunning”. Independent if this flag is marked or not the invoice will be marked with the dunning level where it's printed.

Is Statement

Dunning Level is a definition of a statement

This is to indicate that the configuration of this level is to show an statement, not a dunning letter (commonly usage when DaysAfterDue=-9999). This flag is to avoid setting collection status if statement, adding payment lines even if invoice doesn't exist, avoid adding a fee if statement.


Dunning Run

03 DHLD DunningRun.jpg

Dunning Date

Date of Dunning

This is the date which will be taken into account to calculate the DaysDue. Recommended to use the current date.


Dunning Rules for overdue invoices

The Dunning indicates the rules and method of dunning for past due payments.

Define the dunning configuration to be ran. If Dunning Level is not filled then all the levels will be ran when the process is executed – and all the levels will be printed when the printing process is executed.

Dunning Level

You can also define to run just one level of the Dunning process.

Create Dunning Run

Create Dunning Run Entries based on the Dunning Level criteria

This button executes the “Create Dunning Run” process explained in more detail below.


The document has been processed

The Processed checkbox indicates that a document has been processed.

This flag is checked when the printing process is executed. It's not recommended to change this flag by hand as it doesn't have any consequence on the processing of entries and lines. It would be recommendable to make this field read-only.

Create Dunning Run

Create Dunning Run Entries based on the Dunning Level criteria.

Note all previous entries will be deleted when running this process.

04 DHLD CreateDunningRun.jpg

Organization (mandatory)

This is to FILTER the invoices and payments, it's recommended to use the organization *, just fill it with a different value if you need to include on the letter just the invoices and payment of one organization.

Include disputed

Include disputed Invoices

This flag indicates if the process must include also the invoices flagged as In Dispute.

Only Sales Invoices

Otherwise also Payments and AP Invoices

When this flag is checked just sales invoices and receipts are taken into account (not purchase invoices neither payments).

Default Sales Rep (mandatory)

This is the sales rep to assign to the new entries. If an entry already exist for the BP and dunning level then it will be used, otherwise an entry will be created and sales rep on the entry will be assigned to this parameter.

Dunning Currency (mandatory)

Currency to create Dunning Letters

The currency to show the balance of the invoices, payments and total of the letter.

Include All Currencies

Report not just foreign currency Invoices

If this flag is checked, all the invoices will be included, and foreign currency invoices will be converted to the Dunning Currency using the current date and default conversion type.

If the flag is unchecked then JUST invoices with the Dunning Currency will be included.

Business Partner

Fill it if you want to run the process just for one BP.

Business Partner Group

Fill it if you want to run the process just for one BP Group.

Dunning Run Entry

05 DHLD DunningRunEntry.jpg

Entries are created by the “Create Dunning Run” process, you can enter new entries, or delete/modify existing ones.

On this tab you can push the “Print” or “Print Preview” button to create the corresponding letter or statement.

If you check the processed flag on the entry and save it, then all lines will be marked as processed (with corresponding invoice consequences if you mark the processed on line), and the BP consequences (set credit stop and payment term) will be done.

Dunning Run Line

06 DHLD DunningRunLine.jpg

Lines are created by the “Create Dunning Run” process, you can enter new entries, or delete/modify existing ones.

Every line correspond to an Invoice, Invoice Schedule, Payment or Fee.

If you check the processed flag on the line and save it, then the invoice consequences (set dunning level and collection status) will be done. This is also done if you check the processed flag on the entry.

Print Dunning Letters

Print Dunning letters to paper or send PDF

(Re)Print Dunning Letters or send them as PDF attachments to the Business Partner Contact with a valid EMail addres.

Note that entries will be marked as processed (and the dunning consequences set on BP and invoice) if the printing is ok, or if the e-mail is properly sent.

07 DHLD PrintDunningLetters.jpg

Email PDF

If this flag is checked then process will create a PDF for each letter (entry) and send an e-mail with the PDF attached and using the Mail Template.

If the flag is unchecked then the letters will be sent directly to the printer.

The e-mail will be sent to the contact of the entry (you need to ensure the user has a valid e-mail address)

Mail Template

You can configure a mail template to send e-mails. On this template you can use context variables to be replaced. You can use any column from the contact, BP and entry (in this order, this is, if you use the @Name@ variable - Adempiere will replace with the Name of the contact).

Dunning Run

Define here the dunning run to be printed, if the dunning run has several levels, each level will be processed and all entries printed.

Only if BP has balance

Include only if Business Partner has outstanding Balance

Print the letter JUST if the entry has positive amount.

Print unprocessed entries only

Print the unprocessed (unprinted) entries of the dunning run only.

Just the entries marked as not processed will be taken into account.