If your organisation is in Europe and uses CiviCRM to manage recurring contributions, you will need this extension.

Introduction to SEPA

SEPA is EU regulation. It describes under what conditions organisations in the European Union can collect money from their contacts bank accounts through direct debit and on the basis of a mutual agreement (called a "mandate") between organisation and contact.


CiviSEPA is a CiviCRM extension that enables SEPA compliant direct debit actions with your constituents.

This branch is currently maintained by Xavier Dutoit (TTTP, xavier@tttp.eu) and Björn Endres (SYSTOPIA, endres@systopia.de).

View this extension in the Extension Directory.

Find more documentation on http://wiki.civicrm.org/confluence/display/CRM/CiviSEPA

Important: Please download a official release! Don't use the master branch unless you want bleeding edge and you know what you're doing.

What it can do

  • OOFF and RCUR payments
  • SEPA dashboard gives you great status overview
  • payment processer for online donations and event registrations*
  • UI to manipulate mandates
  • automatic BIC lookup if Little BIC Extension in installed
  • full SEPA group life cycle: 'open'-'closed/sent'->'received'
  • record SEPA payment action and form for contacts
  • manual batching with parameters for notice period and horizon
  • automatic adjustment of late OOFF and RCUR transactions
  • integration with CiviBanking

What it can not (yet) do

  • permission management
  • membership payments
  • automatic submission to the banks


Use the following steps to install CiviSEPA. * Administer > System Settings > Extensions * Add New * Find, download, and install


If you need customised mandate references, exclude certain collection dates, or add a custom transaction message to the collection, you want to create a sepa customization extension implementing the following hooks:

  • civicrm_create_mandate - to generate custom mandate reference numbers
  • civicrm_defer_collection_date - to avoid days when your bank won't accept collections. (Version 1.2+ can skip weekends w/o this hook)
  • civicrm_modify_txmessage - to customize the transaction message (Version 1.2+ can set a generic message w/o this hook)

We added an example implementation for your convenience: org.project60.sepacustom

If you want to customize the transaction message without creating an extension you can use tokens if you install nl.hollandopensource.sepatxmessagetokens.