Dunning / Mahnung / Warning Notice

I believe our dunning app is close to being done. I have made an 8 minute video walk through for those who are interested. Watch it here on Youtube.

We don’t really want to maintain this as a separate app. My goal is to now clean this up and get it ready for contribution to the ERPNext core. It is probably a day worth of work to get it merged, is anybody willing to financially contribute so we can pay Frappe to get this in Core?

POLL: Is this useful to you and should we try to get this into ERPNext core?

  • This is very useful
  • This is NOT useful

0 voters

Here are some screenshots

You can find the app here:


Great work, thanks a lot! Do you still plan to enable multiple invoices per dunning?

I’m ready to make the PR to the core, once we’re ready. There would be still some work needed to better integrate it with Sales Invoice (“Create → Dunning”, dashboard entry, sales invoice status according to dunning type).


I really like the approach and the way to get some feedback via this poll. I think this is a great example on how to get a matter like this moving forward and not letting it rot(*) inside a Custom App.

(*) no negative vibes implied. Just lack of ability to find better wording

We currently are not planning on multiple invoices per dunning, that could be useful but we were focussing on getting what you created to the level we need it at with single invoices.

Thank you for that, we noticed some more small stuff with currency precision and we might notice more bugs during our productive use. I think you can take what we have created by the end of the week and then work on getting this contribution ready.

1 Like

I think it shlould be generic so that it works for a single or multiple invoices. Usually it achieved by a table containing a list of overdue invoices, with a subtotal and interest calculated per line. I think my supplier has sent me a few over the past 10 years (they are Swiss, no excuse even for a single day… :grinning:). I will post a scan here during tomorrow.

1 Like

We could just use the function we can find in Purchase Order where we can pull Items from Material Request via “Get Items from” button.

That sounds like a system-wide logic applied.

Here is the main part of the remind I got from my supplier a year ago (we had some disputes at that time), I think it is a good example how a dunning letter for several invoices should look like:

1 Like

Allowing multiple outstanding invoices with the possibility of each having its charge will be great.

I like the work done here. We actually use a slightly different process, which aggregates invoices by customer to reduce number of payment reminders (we actually don’t call it dunning): implementation is available in the ERPNextSwiss app:

@dominik Thanks for putting all this together. This is very valuable work. Would love to see that in core in the future. Is there anything the community can do to help you with this?

I will talk to Frappe to see how to get this smoothly into the core.


@scdanieli continued the work of @KanchanChauhan on the dunning app. Dunning is now similiar to other sales documents and it’s possible to smoothly upgrade from the previous version. Here are some screenshots of the current state:

If you already have the app installed you can update to the new version:

bench update

If you don’t have it yet, you can install it with

bench get-app https://github.com/alyf-de/erpnext_dunning.git
bench install-app erpnext_dunning
1 Like

@lasalesi Many thanks for sharing this link. Based on my limited capability / review - it seems this doctype / app allows for the ability to send customers a payment reminder (automated based on past due?) on the total amount owed? The Dunning app - seems more legal - applies to individual invoices and allows tacking on interest and tracks the number of reminders sent?

The ability to send this consolidated / automated payment reminder to customers seems applicable to all ERPn usage. Is it possible to distribute this feature as a generic app (without other Swiss related mods) / easily setup the payment reminder doctype for non-swiss ERPnext instances?

Thank you again for sharing. Appreciate your thoughts / guidance - as always.

Hi @zerodiscount,

thanks for your feedback. How do you mean “more legal”? Both are actually apps, equally legal. While the dunning app is based on per invoice basis, the payment reminder function of ERPNextSwiss has the function to aggregate reminders per customer. This way, instead of getting one reminder per invoice, customers get an overall reminder. Both apps track the reminders sent out per invoice and allow for charges (payment reminder does charge per reminder, not on interest - refer to current negative interest rates, you would actually have to give customers dicsount :wink: ) The payment reminder can be automated, e.g. on a bi-weekly level using a cron job (bench execute).

ERPNext is designed in a (semi-)monolithic way with only few apps. Frappe, ERPNext, … Therefore, we have decided to bundle all center-Europe topics in the ERPNextSwiss app, which nicely extends ERPNext and at the same time allows us to maintain the package at the required speed. You are of course free to use it. As for integration, I guess a discussion would need to take place as to how integration would make sense. As long as this does not interfere with the app, I am happy to support.

In Germany we charge 9 percentage points above the base rate, so you never have the opportunity to give an involuntary discount. :smiley:

Regarding speed, the Frappe team got incredibly fast. My last pull requests got merged within a few days. :slight_smile:

Hi @rmeyer,

thanks for your feedback. I know that it is (still) practise to calculate generic interest rates on open receivables, but if you check this against actual life, no debtor will actually pay this, so calculation is actually not worth the effort. A blank fee is more practical (yet even that will no always be paid by the debtor…)…

Don’t get me wrong, the speed of the frappe team is great, and I highly appreciate the work they do. My concern is with getting through fixes. And this works perfectly well in this current setup. (My PR to resolve an issue with the easy installer - which seems to be broken for weeks now - is still pending…)

I’m sorry if I jump in too late after so much great work has been done :+1:

My question is, does this dunning in any way can be done with Payment Request? Maybe add some fields to make it more useful as dunning as well?

Hi @rahy, Dunning is more comparable to a Notice of Default than to a Payment Reminder. It has special legal implications and shouldn’t be confused with a friendly reminder.

@rmeyer look what i want to do

Hi all, we recently developed “payments based dunning”. Previously a Dunning had to be created against an overdue Sales Invoice. Now we can pull all overdue payments of a Customer into a single Dunning.

On the accounting side, we will no longer record the fees and interest as receivable when submitting a Dunning. Instead, fees that have actually been paid will be recorded as additional income in the Payment Entry. See here and here for further reading (in german).

Please check this pull request and let me know if you have any questions and suggestions: