Dunning¶
DiKAS has a three-level dunning process for overdue invoices. You can simulate the dunning run (preview), automatically send the dunning levels by email, and customize the dunning templates with placeholders.
Admin → Invoices → Dunning
Dunning Process¶
Invoice created → Payment due date reached → Status: Overdue
↓
Dunning Level 1 (Payment reminder)
↓ (7–14 days)
Dunning Level 2 (Dunning notice)
↓ (7–14 days)
Dunning Level 3 (Final notice)
Dunning Levels Compared¶
| Level | Name | Tone | Typical Dunning Fee |
|---|---|---|---|
| 0 | No dunning | — | — |
| 1 | Payment reminder | Friendly, matter-of-fact | None |
| 2 | Dunning notice | Firm, with deadline | Optional (e.g., 5.00 €) |
| 3 | Final notice | Serious, with consequences warning | Optional (e.g., 10.00 €) |
After level 3, no further automatic dunning occurs. Additional steps (collections, attorney) must be initiated manually.
Checking Open Invoices¶
Color Coding¶
Overdue invoices are color-coded in the invoice list:
| Color | Meaning |
|---|---|
| Yellow | 1–7 days overdue |
| Orange | 8–21 days overdue |
| Red | More than 21 days overdue |
Open Items Overview¶
Under Admin → Invoices → Overview, you can see all open invoices grouped by dunning level:
Level 0 (Not yet dunned): 12 invoices 4,567.00 €
Level 1 (Payment reminder): 3 invoices 1,234.50 €
Level 2 (Dunning notice): 1 invoice 456.00 €
Level 3 (Final notice): 0 invoices 0.00 €
─────────────────────────────────────────────────────────────
Total open: 16 invoices 6,257.50 €
Performing a Dunning Run¶
Step 1: Simulation (Preview)¶
Before dunning notices are sent, the simulation shows which invoices would be affected:
- Admin → Invoices → Dunning → "Simulate"
- DiKAS checks all open invoices:
- Status: Open, Partially Paid, or Overdue
- Outstanding amount > 0
- Payment due date exceeded
- Dunning level < 3 (not yet final notice)
- Customer is not marked as "Do not dun"
- Result: list of all affected invoices
| Column | Description |
|---|---|
| Invoice No. | Invoice number |
| Customer | Customer name |
| Outstanding Amount | Still owed |
| Current Level | Previous dunning level |
| New Level | Next dunning level |
| Due Since | Payment due date |
| Warnings | e.g., "No email address" |
The simulation can be filtered and sorted (by due date, amount, customer name, level).
Step 2: Execute Dunning Run¶
- Review simulation → "Execute dunning run"
- DiKAS performs the following for each affected invoice:
- Increase dunning level (e.g., 0 → 1, 1 → 2, 2 → 3)
- Set status to "Overdue"
- Update dunning date
- Email delivery: invoices are grouped by customer
- Per customer: one consolidated email with all open invoices
- Template is selected based on the highest dunning level
- Placeholders are replaced
- Email footer from configuration is appended
Customizing Dunning Templates¶
Admin → Settings → Email → Templates
For each dunning level, there is a separate email template. DiKAS looks for the template with the type dunning1, dunning2, or dunning3.
Available Placeholders¶
Customer data:
| Placeholder | Replaced by |
|---|---|
{Firma} |
Customer company name |
{Name} |
Display name (company name or first/last name) |
{Vorname} / {Nachname} |
First and last name |
{Strasse} |
Street and house number |
{PLZ} / {Ort} |
Postal code and city |
Invoice data:
| Placeholder | Replaced by |
|---|---|
{RechnungsNr} |
Invoice number |
{RechnungsDatum} |
Invoice date (dd.MM.yyyy) |
{FaelligDatum} |
Original payment due date |
{Netto} / {MwSt} / {Brutto} |
Amounts (formatted) |
{OffenerBetrag} |
Outstanding balance |
Bank details:
| Placeholder | Replaced by |
|---|---|
{IBAN} / {BIC} |
Your bank details |
{Bank} |
Bank name |
{Kontoinhaber} |
Account holder |
{Firmenname} |
Your business name |
Dunning-specific (for multiple invoices):
| Placeholder | Replaced by |
|---|---|
{MahnStufe} |
Current dunning level (1, 2, or 3) |
{RechnungsListe} |
HTML table of all open invoices |
{GesamtOffen} |
Sum of all outstanding amounts |
{AnzahlRechnungen} |
Number of open invoices |
Invoice List (Consolidated Format)¶
The placeholder {RechnungsListe} generates a formatted table:
| Invoice | Date | Due | Amount |
|---|---|---|---|
| RE-2026-0038 | 10.02.2026 | 24.02.2026 | 456.00 € |
| RE-2026-0041 | 01.03.2026 | 15.03.2026 | 178.88 € |
| Total | 634.88 € |
Example Level 1 (Payment Reminder)¶
Subject: Payment reminder – Invoice {RechnungsNr}
Dear {Name},
our invoice {RechnungsNr} for {Brutto}
was due for payment on {FaelligDatum}.
We would like to kindly remind you of the
outstanding payment. Please transfer the amount
to the following account:
IBAN: {IBAN}
Reference: {RechnungsNr}
If payment has already been made,
please disregard this notice.
Best regards,
{Firmenname}
Example Level 3 (Final Notice)¶
Subject: Final notice – {AnzahlRechnungen} open invoices
Dear {Name},
despite our previous reminders, the following
invoices remain outstanding:
{RechnungsListe}
Total amount: {GesamtOffen}
We urgently request that you settle the outstanding
amount within 7 days.
Otherwise, we will be compelled to take
further action.
IBAN: {IBAN}
Reference: Invoice numbers (see above)
Best regards,
{Firmenname}
"Do Not Dun" Flag¶
For certain customers, you can disable the dunning process:
Admin → Customers → [Customer] → General → "Do not dun"
| Use Case | Description |
|---|---|
| Payment arrangement | Customer is paying in installments — no automatic dunning |
| Dispute | Invoice is being contested — resolution in progress |
| Corporate customer with special terms | Extended payment terms, separate agreement |
| VIP customer | Personal contact instead of automatic dunning |
Invoices for these customers are skipped during simulation and dunning runs.
Payment Receipt¶
Manual¶
- Open invoice → "Record payment"
- Enter amount and payment date
- Status changes to "Paid" (or "Partially Paid")
Automatic (Bank Import)¶
DiKAS automatically recognizes incoming payments based on: - Invoice number in the payment reference - Customer name and IBAN - Amount (exact or partial payment)
Practical Example: Monthly Dunning Run¶
Situation: Restaurant with 50 corporate customers, of which 5 have open invoices.
- Start simulation: 5 overdue invoices are displayed
- 3 invoices at level 0 → advance to level 1 (reminder)
- 1 invoice at level 1 → advance to level 2 (dunning notice)
- 1 invoice at level 2 → advance to level 3 (final notice)
- Warning: Customer Schmidt has no email → postal dunning needed
- Execute dunning run: 4 emails are sent
- Customer Müller (2 open invoices) receives a consolidated email with
{RechnungsListe} - After 3 days: bank import shows payment from Müller → both invoices automatically set to "Paid"
Next Step¶
→ Subscriptions — Recurring invoices