PHPackages                             bolovsky/sepa-xml - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. bolovsky/sepa-xml

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

bolovsky/sepa-xml
=================

Creates an XML file for a Single Euro Payments Area (SEPA) Credit Transfer. Altered the original for compatibility with portuguese standards

0.10.1(12y ago)239GNU Lesser General Public License v3.0PHPPHP &gt;=5.3.2

Since Jul 12Pushed 12y ago4 watchersCompare

[ Source](https://github.com/bolovsky/php-sepa-xml)[ Packagist](https://packagist.org/packages/bolovsky/sepa-xml)[ RSS](/packages/bolovsky-sepa-xml/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (7)Used By (0)

php-sepa-xml
============

[](#php-sepa-xml)

Master: [![Build Status](https://camo.githubusercontent.com/8dbf6c2f76ebb26012070a48037d721dd588e5adb76a4c32b056271a14032e96/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f646967697469636b2f7068702d736570612d786d6c2e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/digitick/php-sepa-xml)

SEPA file generator for PHP.

Creates an XML file for a Single Euro Payments Area (SEPA) Credit Transfer and Direct Debit.

License: GNU Lesser General Public License v3.0

The version of the standard followed is: *pain.001.001.03* and *pain.008.001.02*

Institutions and associations that should accept this format:

- Banco de Portugal

However, always verify generated files with your bank before using!

\##Installation ###Composer This library is available in packagist.org, you can add it to your project via Composer.

In the "require" section of your composer.json file:

Always up to date (bleeding edge, API *not* guaranteed stable)

```
"bolovsky/sepa-xml" : "dev-master"
```

No namespaces, only bugfixes

```
"digitick/sepa-xml" : "dev-no_namespace"
```

\##Sample Usage DirectDebit with Factory

```
//Set the initial information
$directDebit = TransferFileFacadeFactory::createDirectDebit('test123', 'Me');

// create a payment, it's possible to create multiple payments,
// "firstPayment" is the identifier for the transactions
$directDebit->addPaymentInfo('firstPayment', array(
	'id' 					=> 'firstPayment',
	'creditorName' 			=> 'My Company',
	'creditorAccountIBAN'	=> 'FI1350001540000056',
	'creditorAgentBIC' 		=> 'PSSTFRPPMON',
	'seqType'				=> PaymentInformation::S_ONEOFF,
	'creditorId'			=> 'DE21WVM1234567890'
));
// Add a Single Transaction to the named payment
$directDebit->addTransfer('firstPayment', array(
	'amount'				=> '500',
	'debtorIban'			=> 'FI1350001540000056',
	'debtorBic'				=> 'OKOYFIHH',
	'debtorName'			=> 'Their Company',
	'debtorMandate'			=>  'AB12345',
	'debtorMandateSignDate'	=> '13.10.2012',
	'remittanceInformation'	=> 'Purpose of this direct debit'
));
// Retrieve the resulting XML
$directDebit->asXML();
```

\##Extended Usage Credit Transfer

```
// Create the initiating information
$groupHeader = new GroupHeader('SEPA File Identifier', 'Your Company Name');

// Some portuguese banks require Fiscal Identification Number as Id
$groupHeader->setInitiatingPartyId("123456789");

$sepaFile = new CustomerCreditTransferFile($groupHeader);

$transfer = new CustomerCreditTransferInformation(
    '0.02', // Amount
    'FI1350001540000056', //IBAN of creditor
    'Their Corp' //Name of Creditor
    );
$transfer->setBic('OKOYFIHH'); // Set the BIC explicitly
$transfer->setRemittanceInformation('Transaction Description');
$sepa_transfer->setCode("SCOR"); // transaction code for this specific transfer, according to annex 5 (ISO codes billing/transfer reasons)
$sepa_transfer->setReference("INV20140101A-033"); // reference number to descript this transaction, i.e. an invoice

// Create a PaymentInformation the Transfer belongs to
$payment = new PaymentInformation(
    'Payment Info ID',
    'FR1420041010050500013M02606', // IBAN the money is transferred from
    'PSSTFRPPMON',  // BIC
    'My Corp' // Debitor Name
    );
// It's possible to add multiple Transfers in one Payment
$payment->addTransfer($transfer);

// It's possible to add multiple payments to one SEPA File
$sepaFile->addPaymentInformation($payment);

// Attach a dombuilder to the sepaFile to create the XML output
$domBuilder = DomBuilderFactory::createDomBuilder($sepaFile);

$domBuilder->asXml();
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Total

5

Last Release

4529d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8b1008483233258788950a0ca4ab236bb03a347d583b34518bab00e4e5968773?d=identicon)[bolovsky](/maintainers/bolovsky)

![](https://www.gravatar.com/avatar/4ae51fdc91b7eb3a53ecd5a3224317c6a0feaacd17e7f1cacc7fa009c51ea5ea?d=identicon)[xsoares](/maintainers/xsoares)

---

Top Contributors

[![ianare](https://avatars.githubusercontent.com/u/697242?v=4)](https://github.com/ianare "ianare (56 commits)")[![monofone](https://avatars.githubusercontent.com/u/373163?v=4)](https://github.com/monofone "monofone (9 commits)")[![bolovsky](https://avatars.githubusercontent.com/u/944734?v=4)](https://github.com/bolovsky "bolovsky (5 commits)")[![denis-sokolov](https://avatars.githubusercontent.com/u/113721?v=4)](https://github.com/denis-sokolov "denis-sokolov (3 commits)")[![momobulle](https://avatars.githubusercontent.com/u/1569428?v=4)](https://github.com/momobulle "momobulle (2 commits)")[![NanneHuiges](https://avatars.githubusercontent.com/u/1526794?v=4)](https://github.com/NanneHuiges "NanneHuiges (2 commits)")[![ruudk](https://avatars.githubusercontent.com/u/104180?v=4)](https://github.com/ruudk "ruudk (1 commits)")

---

Tags

xmlsepaBanking

### Embed Badge

![Health badge](/badges/bolovsky-sepa-xml/health.svg)

```
[![Health](https://phpackages.com/badges/bolovsky-sepa-xml/health.svg)](https://phpackages.com/packages/bolovsky-sepa-xml)
```

###  Alternatives

[digitick/sepa-xml

Creates Single Euro Payments Area (SEPA) XML files for the Direct Debit and Credit Transfer operations.

2836.0M12](/packages/digitick-sepa-xml)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[abcaeffchen/sephpa

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

711.7M](/packages/abcaeffchen-sephpa)[dmitrirussu/php-sepa-xml-generator

Creates an XML file for a Single Euro Payments Area (SEPA) Direct Debit Payment.

5644.0k](/packages/dmitrirussu-php-sepa-xml-generator)[perryfaro/sepa

Creates an XML file for a Single Euro Payments Area (SEPA) Credit Transfer.

1148.7k](/packages/perryfaro-sepa)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
