project60 / org.project60.sepa
This extension provides SEPA Direct Debit processing.
Package info
github.com/Project60/org.project60.sepa
Type:civicrm-ext
pkg:composer/project60/org.project60.sepa
Requires
- php: ^8.1
- civicrm/civicrm-core: >=6.1
- civicrm/civicrm-packages: >=6.1
- webmozart/assert: ^1 || ^2
Conflicts
- pear/mail_mime: <1.10.2
- pear/pear-core-minimal: <1.10.16
This package is auto-updated.
Last update: 2026-06-05 12:40:57 UTC
README
If you are in Europe and want to use CiviCRM to collect recurring (or one-time) contributions, you'll need this extension.
SEPA Direct Debit Module
This branch is currently maintained by Björn Endres (SYSTOPIA, endres@systopia.de).
Find more documentation here.
Important: Please use an official release!
What it can do
- OOFF and RCUR payments
- SEPA dashboard gives you great status overview
- Payment processer for online donations and event registrations with the SEPA PP Extension or SDDPP.
- 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
- Retry collections of failed attempts
- Integration with FormProcessor Actions
- Integration with CiviBanking
- Membership payments (with the Project60 Membership Extension)
What it can not (yet) do
- automatic submission to the banks
Automated Testing
Customisation
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 numberscivicrm_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)civicrm_alter_next_collection_date- alter the next collection date for a mandate.civicrm_modify_endtoendid- override the SDD's end2end ID (default is contribution ID)civicrm_installment_created- custom postprocessing when CiviSEPA creates a new contribution to be collected
We added an example implementation for your convenience: org.project60.sepacustom
Documentation
- EN: https://docs.civicrm.org/civisepa/en/latest/ (automatic publishing)