Help & Documentation
Offline-first guidance for safe gear lists.
Dunning (Mahnwesen)
A worklist of overdue invoices plus the engine for stages, fees, and statutory late-payment interest
Dunning has two surfaces. The worklist (Accounting → Dunning) lists every overdue invoice and tells you which is due for its next Mahnung; you review each one and issue it. By default nothing goes out automatically, but an opt-in 'Automatic dispatch' setting can issue due Mahnungen for you. The settings engine (Settings → Accounting → Dunning) defines the ladder of stages (by default Zahlungserinnerung, 1./2./3. Mahnung), the per-stage reminder fee, payment term and email template, the Basiszinssatz that drives Verzugszinsen, and the § 288 Abs. 5 BGB €40 lump-sum for B2B. Issuing a Mahnung increments the invoice's dunning stage, computes the fee plus interest, produces a Mahnung PDF, and queues an email to the customer.
How dunning works here
Two routes, one engine: a review worklist and the stage configuration that powers it.
- The worklist lives at Accounting → Dunning; the engine that configures stages, fees, interest, and templates lives at Settings → Accounting → Dunning.
- By default nothing is sent automatically: the app surfaces what's due and computes the figures — you review and click to issue each Mahnung. An opt-in 'Automatic dispatch' setting (off by default) can instead issue due Mahnungen for you.
- An invoice becomes dunnable once it's overdue and still open. Sent, overdue, and partially-paid invoices qualify; drafts, cancelled, and fully-paid ones don't. A finalised invoice that was never emailed is listed too, but its Mahnung can only be issued once the invoice has been sent.
- Issuing a Mahnung advances the invoice to the next stage, records the reminder on the invoice, generates a Mahnung PDF, and queues an email to the customer.
Tips
- A partial payment does not stop dunning — the unpaid remainder stays dunnable and interest keeps accruing on it. A full payment suppresses any further Mahnung.
The worklist
Every overdue invoice with its next stage and what's outstanding: the ones due for a Mahnung first and, within each status, the longest overdue on top.
- One list shows every overdue invoice, due ones first. Each row has a status: 'Due now' (the next Mahnung can be issued), 'Waiting' (the next stage is not due yet), 'Last stage issued' or 'Settled'. The chips above the list filter by status and show a count each; the search field finds an invoice by number, customer or Mahnung number. If a filter or search hides everything, the page says how many invoices are hidden and offers 'Show all'.
- Each row shows the invoice number, customer, outstanding amount, days overdue, and the next stage. Due rows show the stage name (e.g. '1. Mahnung'); not-yet-due rows show 'due in N days'.
- Outstanding is the unpaid remainder (invoice total minus any amount already paid), not the original total.
- A count badge in the header shows how many invoices are due for a Mahnung right now; it's hidden when nothing is due.
- A stage is not offered while the payment deadline of the last Mahnung is still running, even if its days-after-due threshold has been reached. The row then shows the stage and the date after which it can be issued.
Tips
- When you open an accounting page, the app raises one notification per calendar day if any invoices are due for a Mahnung. It's a review prompt only — it never issues anything.
Dun an invoice from another system
Register an invoice you issued elsewhere so you can dun it here — without adding it to your invoice books.
- Some invoices you need to chase never lived here — you issued them in sevdesk, lexware, or a spreadsheet. 'Add external invoice' on the worklist lets you dun one without importing it into your invoices.
- Fastest route: export the invoice from sevdesk/lexware as an e-Rechnung (XRechnung XML or a ZUGFeRD/Factur-X PDF) and import it here. It is read exactly from the structured data — number, customer, address, amount, invoice date and due date — with no AI key and no OCR guessing. A ZUGFeRD PDF is read from the XML embedded inside it, not from the printed page.
- For a plain scan, or a PDF with no e-Rechnung inside, AI reads it instead (that needs your receipt-scanning key from Settings). Either way you can correct every field before adding, and the manual form always works on its own.
- An external invoice is added ONLY to the dunning worklist — never to your invoice list, P&L, or numbering. Your books of record stay in the other system; this app only tracks the dunning.
- Once added it behaves like any overdue invoice and counts in the badge on the Dunning tile of the Accounting home and in the daily 'due' notification: the same due-date badge, the same stage ladder, Mahngebühr, Verzugszinsen and Verzugspauschale, and you issue each Mahnung the same way. One difference: its email carries the Mahnung PDF only, because the original invoice is not kept here.
- External invoices and their issued Mahnungen follow you to your other devices: an encrypted copy is kept in your account, fetched after the app starts and updated shortly after every change. You do not have to open the worklist first.
Tips
- External dunning invoices are stored separately from your real invoices, so they can never leak into invoice totals, reports, or the next invoice number. An encrypted copy is kept in your account: open the dunning worklist on another device and they appear there, with their issued Mahnungen.
- Once the customer has paid, click 'Mark as paid' on the external invoice's row: it leaves the worklist and automatic dispatch stops sending Mahnungen for it. 'Remove' deletes it from dunning altogether. Both can be undone for a few seconds.
- A credit note is refused on import — a refund cannot be dunned.
Issue a Mahnung
Preview the Mahnung, adjust its texts, then confirm in a second step — by email or without. Several invoices can be issued at once. From the invoice itself, 'Send Mahnung' opens the same preview, texts and second step, plus a template choice, the recipient list and an optional Verzug start-date override.
- On a due row, click 'Issue {stage}'. A preview opens with the Mahnung PDF exactly as it will be issued, the recipient, the amounts (Mahngebühr, Verzugszinsen, the Verzugspauschale if it applies, the total demanded) and the email subject and message. Opening the preview issues nothing.
- Choose the language if needed: 'Language of the Mahnung' switches the letter, the email texts and the attached invoice copy between German and English. It starts with the customer's language. Switching replaces your edits with the standard texts of that language, which you can then edit again.
- Edit the texts if you want: salutation, opening paragraph, payment request and closing line of the letter, and the email subject and message. The PDF preview updates after each change; 'Reset to standard texts' undoes your edits. The invoice reference, the amounts and the legal note are fixed.
- 'Download PDF' saves the Mahnung as shown.
- Choose 'Send by email…' or 'Issue without email…'. A second step names the stage, the invoice and the recipient; only its button issues the Mahnung (this needs an internet connection). 'Back' returns to the preview with your edits kept.
- By email: the Mahnung PDF and a copy of the invoice go to the customer (for an external invoice the Mahnung PDF only), and you receive a copy of that email as your confirmation. Without email: the Mahnung is recorded and its PDF is downloaded so you can send it yourself.
- The row then shows what happened to the Mahnung: emailed on a date, email waiting to be sent, email failed (with the reason, 'Try again' and 'Discard email'), issued without email, or no email recorded (for example a Mahnung issued before this version, or emailed from another device). Click that line to open the issued Mahnung again — download it, or send it by email if it has not gone out. The invoice itself shows the same line for every Mahnung under 'Reminders sent', with the same actions.
- For a batch, tick several due rows and use 'Issue selected'. The dialog lists every selected invoice with the language its Mahnung goes out in, which is the customer's language; 'Language of the Mahnung' there sets German or English for all of them instead. A batch has no per-invoice preview and uses the letter texts saved for each stage; its summary reports how many were issued, skipped and failed, and what happened to the emails.
Tips
- Issued a Mahnung by mistake? Open the invoice from the invoices list: under 'Reminders sent', 'Withdraw' takes it back. The same list in the read-only view opens each Mahnung to download it or send it by email.
Common Pitfalls
- A customer without an email address can only get a Mahnung issued without email; 'Send by email' is disabled and says why, and a batch skips and reports that invoice.
- The email for an invoice from another system (external invoice) carries the Mahnung PDF only — your original invoice was issued elsewhere and is not attached. Send it separately if the customer needs it again.
- Issuing stage 1 or later needs a Basiszinssatz. The published rate is preset; if you replaced it with your own and cleared that, the preview tells you to set it first, and a batch skips that invoice.
- An issued Mahnung cannot be edited afterwards — check the preview before the second step.
- If the same Mahnung was just issued from another device, the issue is rejected (stage-gate collision) — reload and retry.
The dunning stages
A ladder of one to ten stages (four by default), configured under Settings → Accounting → Dunning.
- By default there are four stages: Zahlungserinnerung, 1. Mahnung, 2. Mahnung and 3. Mahnung. 'Add stage' and 'Remove last stage' under Settings → Accounting → Dunning set the ladder to between 1 and 10 stages. The first stage is always the payment reminder; the last stage (from the 2. Mahnung on) is worded as the final Mahnung and announces legal action.
- Move a stage up or down, or remove any stage, with the buttons on its row. A stage takes its thresholds, fee, days to pay, its email and letter texts and its automatic-dispatch switch with it. Removing asks first and deletes that stage's texts. Mahnungen already issued stay as they are, and an invoice continues with the stage after the highest one it has received.
- Each stage has a name, a 'Days after due' threshold that controls when it becomes available, a reminder fee (Mahngebühr), and an 'Optional stage' flag.
- A stage you renamed prints its name as the headline of the Mahnung, in the PDF title and as {stageName} in the email, in German and in English letters. A stage that keeps its default name prints the standard title of the letter's language ('2. Mahnung' / 'Second Reminder'). The name is stored on the Mahnung when it is issued, so renaming a stage later does not change letters that already went out.
- Defaults: Zahlungserinnerung at 7 days / €0, 1. Mahnung at 14 days / €2.50, 2. Mahnung at 28 days / €5, 3. Mahnung at 42 days / €10. Zahlungserinnerung is optional by default.
- A stage's threshold is days after the invoice due date — the app counts the next due stage from the invoice's current stage and how many days it's overdue.
- Marking a stage optional lets the app skip it: if its threshold and the next stage's threshold are both met, the next due stage jumps past the optional one.
- Days to pay: each stage has its own payment term. The Mahnung prints the resulting date in the payment request and as 'Payable by' in the letter head. 0 asks for immediate payment.
Tips
- Edits auto-save on blur. A non-blocking warning appears if a stage's days-after-due isn't later than the previous stage's, or if a fee is negative — it flags the value but doesn't stop you saving.
- Removing a stage never changes a Mahnung that was already issued: it keeps its stage, its payment term and its wording.
- In the invoices list, the Mahnung badge names the letter an invoice last received (a renamed stage keeps the name it was sent with; a withdrawn Mahnung is skipped). The list's stage filter follows today's ladder, like the worklist.
Interest and fees on a Mahnung
What the figures on a Mahnung are and how German law sets them.
- Mahngebühr is the reminder fee for that stage, taken from the stage's configured fee. For a business customer the €40 lump sum counts towards the fees, so a fee is only charged for the part of all fees that exceeds €40. Consumers can only be charged what a reminder actually costs you.
- Verzugszinsen is statutory late-payment interest under § 288 BGB: outstanding amount × (Basiszinssatz + spread) ÷ 100 × (days ÷ 365). The spread is 5 percentage points for consumers (§ 288 Abs. 1) and 9 for businesses (§ 288 Abs. 2).
- Default (Verzug) begins with the first reminder sent after the due date, or 30 days after the invoice was sent, whichever comes first (§ 286 BGB). For a consumer the 30-day rule only counts if the invoice said so; invoices to consumers now carry that notice below the closing note, and invoices issued earlier do not. Interest runs from that day up to the day you issue.
- A due date you set on the invoice yourself does not start default. If the payment date was agreed (in a contract or an accepted quote), tick 'The payment date was agreed with the customer' in the reminder dialog: default is then counted from the day after the due date, and that date stays on the invoice.
- The reminder that puts the customer in default carries no fee, no €40 and no interest. The dialog says so.
- Verzugspauschale is the § 288 Abs. 5 BGB €40 lump-sum, added once per invoice on the first Mahnung (stage 1 or later) to a business customer who is already in default, while it's enabled and not yet claimed.
- Zahlungserinnerung (stage 0) is a friendly reminder: no fee, no interest, and no Basiszinssatz needed.
- Payment QR code: with the EPC QR code switched on under Settings → Accounting → Invoice settings and an IBAN in your profile, the Mahnung prints a Girocode beside the amounts. A banking app fills in your account, the new total amount and the invoice number as the reference. A withdrawn Mahnung and an invoice in another currency than EUR get no code.
Common Pitfalls
- Interest accrues daily, so the Verzugszinsen — and the total — differ depending on the day you issue. The amount you see in the dialog is computed for today.
Set the Basiszinssatz
The base interest rate that drives Verzugszinsen, with a dated history.
- Open Settings → Accounting → Dunning and find 'Base interest rate (Basiszinssatz)'.
- The rates published by the Deutsche Bundesbank are preset: the current rate and the history of past changes. They are updated with the app, so there is nothing to enter. The Bundesbank revises the rate on 1 January and 1 July each year (§ 247 BGB).
- To use your own rates, change the current rate (%) and its 'Effective from' date, or add or remove an entry under 'Rate history'. From then on the app uses your rates and no longer follows the published ones.
- 'Use the published rates' switches back to the Bundesbank rates and discards your own.
Tips
- If you clear your own rate you can still issue a Zahlungserinnerung, but stage 1 and later are blocked because they need a rate to compute interest. 'Use the published rates' fixes that.
- The interest engine reads the dated history per period, so a single overdue invoice spanning a rate change is split and each segment uses its own rate.
Email and letter texts, and the lump-sum toggle
Per-stage email text and the B2B Verzugspauschale switch.
- Each stage has its own email template — a subject and body in both German and English — edited from 'Add/Edit email and letter texts' on the stage.
- Each stage also has its own letter texts: salutation, opening paragraph, payment request and closing line, in German and English. Edit them under 'Letter (PDF)' in the same dialog. An empty field keeps the built-in text shown in grey.
- In the preview of a Mahnung, 'Save letter texts as standard for this stage' keeps the texts you see as that stage's standard for the language you see. The deadline, the invoice number and the customer name are saved as the placeholders {deadline}, {invoiceNumber} and {customerName}, so they fit the next Mahnung; {payByDate} and {paymentDays} are available too.
- Every new Mahnung of the stage starts with the saved texts, also in batch and automatic dispatch. An edit in the preview applies to that one Mahnung. The texts are stored on the Mahnung when it is issued: changing a template later does not change it.
- Templates support merge variables you can click to insert: {invoiceNumber}, {customerName}, {stageName} and {mahnungNumber}. {senderName} is filled in too when you type it into the email subject or message. The built-in email text ends with your sender name from Settings → Accounting → Email defaults, else your company name, else your account name; a text you saved yourself is sent as written. {mahnungNumber} is the Mahnung's own number: the invoice number plus -M1, -M2, … in the order the Mahnungen of that invoice were issued. It is also printed on the letter ('Mahnungs-Nr.') and names the PDF file; a withdrawn Mahnung keeps its number.
- The email language follows the customer's language (English if set to English, otherwise German).
- The 'Late-payment lump sum (€40)' toggle auto-includes the §288 €40 Pauschale on B2B Mahnungen. Turn it off for goodwill on small claims; the issue dialog has no per-Mahnung switch for it.
Treat dunning as review-then-issue: the worklist tells you what's due, the settings engine sets the stages, fees, and Basiszinssatz, and you confirm each Mahnung. The Basiszinssatz history comes preset from the Bundesbank; if you keep your own, keep it current — it's what makes the Verzugszinsen on a long-overdue invoice legally correct.
Related Topics
See also
