to select ↑↓ to navigate
ERPNext

ERPNext

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Subscriptions

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.

  1. Customer pays their first invoice via Mollie (any method).
  2. During checkout, Mollie shows a "Save this payment method for future charges?" option if the Customer's mollie_mandate_type is set to recurring or first.
  3. Customer ticks the box and authorises.
  4. After payment, the integration stores the Mollie mandate ID (mdt_xxx) on the Customer.
  5. 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.

  1. Set the Customer's Mandate Type to recurring.
  2. From the Customer form, click Create Mollie Mandate.
  3. The integration creates a Mollie checkout for a €0 verification transaction (or a tiny verification amount, depending on bank policy).
  4. The customer authorises in Mollie's checkout.
  5. 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:

  1. Create an ERPNext Subscription record referencing the Customer and the items / plans they're subscribed to.
  2. ERPNext generates a Sales Invoice on each renewal date.
  3. The integration sees the new Sales Invoice on a Customer with an active mandate.
  4. It calls Mollie's API to charge the saved payment method.
  5. Webhook arrives confirming success.
  6. 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:

  1. Open the Customer.
  2. Click Revoke Mollie Mandate.
  3. 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.

Last updated 3 days ago
Was this helpful?
Thanks!