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'smollie_mandate_type
is 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.