Subscriptions
Recurring billing — monthly software fees, subscription-box products, managed services with a fixed monthly retainer. This integration supports it via Mollie's mandate model.
The mandate model
A mandate is a customer's signed consent to be charged at intervals without entering payment details each time. Once you have a mandate, you can initiate charges from your side (push); without one, the customer has to come to your invoice every time (pull).
Two types of mandates:
- SEPA Direct Debit mandate — the customer's consent to debit their EUR IBAN. Free or near-free per transaction. Used for B2B subscriptions in the EU. Carries a refund right (8 weeks) so you can't bill someone who didn't actually consent.
- Credit card mandate — the customer's card on file, charged on a schedule. More expensive but works internationally.
Mandates are stored on the Customer record (not Subscription), which means one mandate can be used across multiple Subscriptions for the same Customer.
Getting a mandate from a customer
Two paths:
Path A — first-payment mandate
Best for SaaS-style flows where the customer is paying their first invoice anyway.
- Customer pays their first invoice via Mollie (any method).
- During checkout, Mollie shows a "Save this payment method for
future charges?" option if the Customer's
mollie_mandate_typeis set to recurring or first. - Customer ticks the box and authorises.
- After payment, the integration stores the Mollie mandate ID
(
mdt_xxx) on the Customer. - Future invoices to this Customer can be charged automatically.
Path B — explicit mandate setup
When the first payment is far in the future, or you want the mandate confirmed before any money moves.
- Set the Customer's Mandate Type to recurring.
- From the Customer form, click Create Mollie Mandate.
- The integration creates a Mollie checkout for a €0 verification transaction (or a tiny verification amount, depending on bank policy).
- The customer authorises in Mollie's checkout.
- Mandate is stored on the Customer. No invoice was generated.
Path B is cleaner for the customer but adds a step. Most Dutch B2B SaaS uses Path A.
Auto-charging subscriptions
Once a Customer has a mandate:
- Create an ERPNext Subscription record referencing the Customer and the items / plans they're subscribed to.
- ERPNext generates a Sales Invoice on each renewal date.
- The integration sees the new Sales Invoice on a Customer with an active mandate.
- It calls Mollie's API to charge the saved payment method.
- Webhook arrives confirming success.
- Payment Entry created, Sales Invoice marked Paid.
End-to-end automatic.
Dunning (failed payments)
When an auto-charge fails — insufficient funds, expired card, revoked mandate — Mollie retries based on your Mollie dashboard's dunning policy:
- Day 1 — first attempt fails.
- Day 4 / 7 / 14 — automatic retries (configurable in Mollie).
- After max retries — Mollie marks the mandate as failed; the integration reverts the Customer to first-payment mode for the next invoice.
ERPNext's view: the Subscription stays open with an unpaid Sales Invoice. You decide whether to ping the customer, write off, or chase manually.
Revoking a mandate
Customers can revoke mandates from their bank's UI (SEPA) or by asking you. To revoke from ERPNext side:
- Open the Customer.
- Click Revoke Mollie Mandate.
- Confirm. The integration calls Mollie's API to invalidate the mandate; the mandate ID is removed from the Customer.
Future invoices to this Customer will require a fresh payment via Path A or B above.
Common questions
Can I have multiple mandates per customer? The integration tracks one mandate per Customer. If a customer wants to pay via card for some subscriptions and SEPA DD for others, you'd need to split them across two Customer records (one Customer per mandate).
What if a customer wants to pause their subscription? Pause the ERPNext Subscription record. The mandate stays valid; when you resume, charging works again without re-authorisation.
Are mandates portable if I migrate to another Mollie account? No. Mandates are tied to your Mollie profile; if you move to a new Mollie account, customers re-authorise.