Generates SEPA files for credit transfers (pain.001.001.03, pain.001.002.03, pain.001.003.03) and direct debit (pain.008.001.02, pain.008.002.02, pain.008.003.02)

Fund package maintenance!

2.1.2 2021-09-08 01:00 UTC

This package is auto-updated.

Last update: 2023-01-11 01:45:26 UTC


Sephpa Logo

Sephpa - A PHP class to export SEPA files

Build Status Latest Stable Version Total Downloads License Gitter


Sephpa [sefa] is a PHP class that creates SEPA XML files. The created XML files fulfill the specifications of Electronic Banking Internet Communication Standard (EBICS).

Supported file versions

  • SEPA Credit Transfer
    • pain.001.001.03
    • pain.001.002.03
    • pain.001.003.03
  • SEPA Direct Debit
    • pain.008.001.02
    • pain.008.001.02.austrian.003
    • pain.008.002.02
    • pain.008.003.02


Sephpa was created for PHP >=7.1 including PHP 8 and requires SepaUtilities 1.3.4+ and SimpleXML. Sephpa should also work with PHP <=5.6, but since these versions are very old and don't get any security updates, it is strongly recommended not to use PHP older than 5.6.

If you want to download correctly sorted files, you also need the zip library and for documentation files you need SepaDocumentor.



Just add

    "require": {
        "abcaeffchen/sephpa": "^2.0"

to your composer.json and include the Composer autoloader to your script.

Direct download

You can download Sephpa from this GitHub page. Make sure you also download SepaUtilities. You should store the files in a structure that looks like this:

your project root
├── your_code
│   └── ...
└── vendor
    ├── Sephpa          (the Sephpa project go here)
    ├── SepaUtilities   (the SepaUtilities files go here)
    └── ...

In your code you can include the Sephpa autoloader by including the file


You also need to include the SepaUtilities file which should be


In total your code should look something like this:

require PROJECT_ROOT . '/vendor/Sephpa/src/autoloader.php';
require PROJECT_ROOT . '/vendor/abcaeffchen/sepa-utilities/src/SepaUtilities.php';

You need to define PROJECT_ROOT by yourself.

Documentation Module

Sephpa uses SepaDocumentor to create File Routing Slips and Control Lists. If you are interested in this files you need to add

    "require": {
        "abcaeffchen/sepa-documentor": "^1.0"

to your composer file or download it from the website and make it available to Sephpa.


Sephpa is not meant to teach you SEPA. If you want to learn more about SEPA or SEPA files, you should ask your bank for help. You use this library at your own risk and I assume no liability if anything goes wrong. You are supposed to check the files before handing them to your bank.


Have a look at the wiki pages for the documentation and examples.


Thanks to Hermann Herz who supported me debugging and with great ideas to improve Sephpa and SepaUtilities.
Thanks to sargac for the help with the wiki pages and for creating the nice logo.

Support Sephpa

If you use and like Sephpa, drop me a note on what project you use it. I'm really curious. If you like it a lot, consider buying me a coffee :)


Licensed under the LGPL v3.0 License.