# SEPA & EBICS eBanking Integration

**URL:** https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548
**Category:** Feature
**Tags:** accounting
**Created:** [April 26, 2018, 8:52am UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548 "2018-04-26T08:52:47Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [April 26, 2018, 8:52am UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/1 "2018-04-26T08:52:47Z")

</div>

Dear all  
We actually would like to integrate eBanking into tryton and I saw code snippets for different tasks. I write this topic with the idea to have an overview on the subtasks and try to encourage your bringing eBanking to fly in tryton.

There is a SEPA Module for tryton existing that can produce some SEPA-Standard-XML-ePayment files (eg. pain.001 to pay the supplier and pain.008 to get money from a customer with debit direct and camt.053 to get info about the moves on my bank account).

PAY SUPPLIER INVOICES (pain.001)

> Here, we need to extend it for Switzerland. In general, we use pain.001.001.03, which is existing in tryton 4.0 we use. In depth, the banking industry extended that flavour to pain.001.001.03.ch.02 with some more payment types  
> We need somebody, who extends the tryton-standard-flavour to pain.001.001.03.ch.02, see [Infrastructure, Data & Services for Finance | SIX](https://www.six-interbank-clearing.com/dam/downloads/en/standardization/iso/swiss-recommendations/implementation-guidelines-camt.pdf)

DEBIT DIRECT (pain.008)  
Pain.008 we plan to do later an but we have a customer who is interested in using pain.008 in germany. So if there is anybody out there who could the existing tryton-standard, feel free contacting me.

SYNC TRYTON ACCOUNTING WITH BANK ACCOUNT (camt.053)  
On the other hand, the paid invoices need to be imported into tryton and the bank account then should get “synchronized” with the accounting bank account in tryton.

> For that task, one can get a camt.053 XML file from the bank and import it into tryton.  
> Then, tryton can read out all account moves on the bank account und check the accounting bank account in tryton, weather the same moves exist. If they do not exist it would be a nice idea to immediately be able to link a accounting journal to that moove and then tryton produces the corresponding accounting record.  
> Also for this case, I found two existing projects for tryton:
> 
> > [CAMT053 SEPA Statement module (#4658) · Issues · Tryton / Tryton · GitLab](https://bugs.tryton.org/issue4658)  
> > [RFC: Account statement import (#5882) · Issues · Tryton / Tryton · GitLab](https://bugs.tryton.org/issue5882)  
> > In Switzerland, we have an extended flavour for camt.053, see [Infrastructure, Data & Services for Finance | SIX](https://www.six-interbank-clearing.com/dam/downloads/en/standardization/iso/swiss-recommendations/implementation-guidelines-ct.pdf)  
> > Could we motivate that team making a final tryton module out of it? What would it cost?

EXCHANGE FILES WITH BANK (EBICS)  
Further on, these XML Files should be transferred between the bank and tryton. Cedric already wrote some code for that as it looks like:

> [https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html](https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html)  
> Could we motivate Cedric to make a final tryton module out of it? What would it cost?

Hope my writing is ok like this. It is my first topic.  
All the best, Stefan

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [April 26, 2018, 10:37am UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/2 "2018-04-26T10:37:55Z")

</div>

> [@s.vogel](#):
>
> Here, we need to extend it for Switzerland. In general, we use pain.001.001.03, which is existing in tryton 4.0 we use. In depth, the banking industry extended that flavour to pain.001.001.03.ch.02 with some more payment types

I do not see by “more payment types”. I think it is better to try as much as possible to get `account_payment_sepa` modules flexible enough to work on most of the country. We have `account_payment_sepa_cfonb` because it was really not possible to do other way.

> [@s.vogel](#):
>
> Then, tryton can read out all account moves on the bank account und check the accounting bank account in tryton, weather the same moves exist. If they do not exist it would be a nice idea to immediately be able to link a accounting journal to that moove and then tryton produces the corresponding accounting record.

This is not how Tryton works. If the user want to create accounting move before receiving the bank statement, he must use the `account_payment_clearing` module. So there should never be duplicates moves to be reconciled.

> [@s.vogel](#):
>
> Also for this case, I found two existing projects for tryton:

[issue4658](https://bugs.tryton.org/issue4658) has been stalling for 3 years now. And it would require a complete redesign to follow the [issue5882](https://bugs.tryton.org/issue5882).

> [@s.vogel](#):
>
> Further on, these XML Files should be transferred between the bank and tryton. Cedric already wrote some code for that as it looks like:
> 
> [https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html](https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html)
> 
> Could we motivate Cedric to make a final tryton module out of it? What would it cost?

I stopped working on it. It is quite difficult because we could not find a testing service. (And our customer dropped the requirement).  
It is probably cheaper and faster to use services like:

- [https://www.ebicsbox.com/](https://www.ebicsbox.com/)
- [https://www.codabox.com/](https://www.codabox.com/)

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [April 26, 2018, 12:07pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/3 "2018-04-26T12:07:55Z")

</div>

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > Here, we need to extend it for Switzerland. In general, we use pain.001.001.03, which is existing in tryton 4.0 we use. In depth, the banking industry extended that flavour to pain.001.001.03.ch.02 with some more payment types
> 
> I do not see by “more payment types”. I think it is better to try as much as possible to get `account_payment_sepa` modules flexible enough to work on most of the country. We have `account_payment_sepa_cfonb` because it was really not possible to do other way.

No problem. Let’s integrate that. It not more than some variants on a B-Layer of XML file. For example we send your invoices with a code (called ESR) to the customers. It inherits the bank where to send the money and the invoice number ant the amount so the issuer of the invoice then can import a file with the payment and automatically can match the payments to an invoice and set it to the paid status in tryton.

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > Then, tryton can read out all account moves on the bank account und check the accounting bank account in tryton, weather the same moves exist. If they do not exist it would be a nice idea to immediately be able to link a accounting journal to that moove and then tryton produces the corresponding accounting record.
> 
> This is not how Tryton works. If the user want to create accounting move before receiving the bank statement, he must use the `account_payment_clearing` module. So there should never be duplicates moves to be reconciled.

I’m not sure weather we understand each other. I’m not a developer, you must know. I just read about `account_payment_clearing` in the doc on the repository. The bank statement (camt.053) would be imported first as existing in tryton. Then the payment and account moves are done. Also as existing in tryton.

But after all that, most likely, the bank account still won’t be in sync with the corresponding account in tryton and it takes a lot of time to bring it in sync. The request is to let the user (or tryton by learning) easily execute an account move by selecting a suitable journal describing what the amount on the bank statement is about (e.g. rent, wages, banker’s orders, kick-backs, …).

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > Also for this case, I found two existing projects for tryton:
> 
> [issue4658](https://bugs.tryton.org/issue4658) has been stalling for 3 years now. And it would require a complete redesign to follow the [issue5882](https://bugs.tryton.org/issue5882).
> 
> > [@s.vogel](#):
> >
> > Further on, these XML Files should be transferred between the bank and tryton. Cedric already wrote some code for that as it looks like:
> > 
> > [https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html](https://www.mail-archive.com/tryton-contrib@googlegroups.com/msg00165.html)
> > 
> > Could we motivate Cedric to make a final tryton module out of it? What would it cost?
> 
> I stopped working on it. It is quite difficult because we could not find a testing service. (And our customer dropped the requirement).  
> It is probably cheaper and faster to use services like:
> 
> - [https://www.ebicsbox.com/](https://www.ebicsbox.com/)
> - [https://www.codabox.com/](https://www.codabox.com/)

Good point to take such a service, but they do not support such special flavours the the discussed standards. Payment automation has become a central subject in business and needs certain flexibility that we could cover with tryton in the different countries. So I focus on motivating you on reengaging with the project 🙂

Testing environments is no problem. In the meantime, I had various talks with banks and postfinance and we can get test environments from them. [https://www.six-interbank-clearing.com](https://www.six-interbank-clearing.com) ist the company (daughter of the swiss banks federation) which cares about all that testing.  
What do you mean?

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [April 26, 2018, 12:52pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/4 "2018-04-26T12:52:47Z")

</div>

> [@s.vogel](#):
>
> some variants on a B-Layer of XML file

What is B-Layer?

> [@s.vogel](#):
>
> with a code (called ESR)

Do you mean an “EndToEndId”?

> [@s.vogel](#):
>
> The request is to let the user (or tryton by learning) easily execute an account move by selecting a suitable journal describing what the amount on the bank statement is about (e.g. rent, wages, banker’s orders, kick-backs, …).

This is already what the statement does.

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [April 26, 2018, 1:30pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/5 "2018-04-26T13:30:17Z")

</div>

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > some variants on a B-Layer of XML file
> 
> What is B-Layer?

Sorry, I meant the C-level. As much as I know, the XML file is built up hierarchically. There are several levels in depth.  
— A Header and description of the transaction  
------ B Sum of the payments  
--------- C Level with invoice data

In this third level, the ESR-Data needs to be implemented.

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > with a code (called ESR)
> 
> Do you mean an “EndToEndId”?

ESR comes from “Einzahlungsschein mit Referenznummer”). Check out [Einzahlungsschein (Schweiz) – Wikipedia](https://de.wikipedia.org/wiki/Einzahlungsschein_mit_Referenznummer) (in german 😉 or the camt.53 documentation from six.

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > The request is to let the user (or tryton by learning) easily execute an account move by selecting a suitable journal describing what the amount on the bank statement is about (e.g. rent, wages, banker’s orders, kick-backs, …).
> 
> This is already what the statement does.

Cool. So I ask Udo Spallek to integrate it on our instance and we “only” need the integration of camt.053. Do you know more about the status there?

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [April 26, 2018, 1:58pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/6 "2018-04-26T13:58:04Z")

</div>

> [@s.vogel](#):
>
> Sorry, I meant the C-level. As much as I know, the XML file is built up hierarchically. There are several levels in depth.
> 
> — A Header and description of the transaction
> 
> ------ B Sum of the payments
> 
> --------- C Level with invoice data

I wrote the XML template and I do not know about such naming convention.  
Could you point to an example?

> [@s.vogel](#):
>
> ESR comes from “Einzahlungsschein mit Referenznummer”). Check out [Einzahlungsschein (Schweiz) – Wikipedia](https://de.wikipedia.org/wiki/Einzahlungsschein_mit_Referenznummer) (in german 😉 or the camt.53 documentation from six.

So for me, it is an “EndToEndId”.

> [@s.vogel](#):
>
> we “only” need the integration of camt.053. Do you know more about the status there?

It is stalling:

> [@ced](#):
>
> issue4658 has been stalling for 3 years now. And it would require a complete redesign to follow the issue5882.

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [April 26, 2018, 2:23pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/7 "2018-04-26T14:23:48Z")

</div>

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > Sorry, I meant the C-level. As much as I know, the XML file is built up hierarchically. There are several levels in depth.
> > 
> > — A Header and description of the transaction
> > 
> > ------ B Sum of the payments
> > 
> > --------- C Level with invoice data
> 
> I wrote the XML template and I do not know about such naming convention.  
> Could you point to an example?

> **[Infrastructure, Data & Services for Finance | SIX](https://www.six-group.com/en/home.html)**
>
> SIX connects financial markets with infrastructure, data and services powering the future of finance.

> [@ced](#):
>
> > [@s.vogel](#):
> >
> > ESR comes from “Einzahlungsschein mit Referenznummer”). Check out [Einzahlungsschein (Schweiz) – Wikipedia](https://de.wikipedia.org/wiki/Einzahlungsschein_mit_Referenznummer) (in german 😉 or the camt.53 documentation from six.
> 
> So for me, it is an “EndToEndId”.

Yes, you’re right.

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [April 26, 2018, 2:56pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/8 "2018-04-26T14:56:40Z")

</div>

Here also a pain.001 example:

> **[Infrastructure, Data & Services for Finance | SIX](https://www.six-group.com/en/home.html)**
>
> SIX connects financial markets with infrastructure, data and services powering the future of finance.

---

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [June 11, 2018, 1:49pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/9 "2018-06-11T13:49:47Z")

</div>

> [@s.vogel](#):
>
> Here also a pain.001 example:  
> [Infrastructure, Data & Services for Finance | SIX](https://www.six-interbank-clearing.com/dam/downloads/en/standardization/iso/swiss-recommendations/implementation-guidelines-ct-examples.zip)

Too bad the Switzerland has created one more format instead of reusing the standard SEPA. So it seems it will require to have a specific module like the account\_payment\_sepa\_cfonb.

> [@ced](#):
>
> It is probably cheaper and faster to use services like:
> 
> - [https://www.ebicsbox.com/](https://www.ebicsbox.com/)
> - [https://www.codabox.com/](https://www.codabox.com/)

There is also this proprietary library: [fintech · PyPI](https://pypi.org/project/fintech/)

---

<div class="post-metadata">

### Author: ![pocock](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/p/a88e57/32.png) [@pocock](https://discuss.tryton.org/u/pocock)
#### Post date: [April 26, 2021, 12:50pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/10 "2021-04-26T12:50:15Z")

</div>

I previously worked on the messaging technologies within UBS and I may be able to offer some support for this effort. Has anybody already made any progress on it? How much demand is there from users who have Tryton or want to adopt it?

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [February 15, 2023, 4:21pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/11 "2023-02-15T16:21:09Z")

</div>

Dear Daniel  
Virtual Things integrated SEPA including this “swiss layer” for the common payment reference number “ESR”. Pain.001 is working and also camt.053. With pain.008 we integrated it and we are in a test-project where “the customer is on it”. So far so good.

EBICS would be a great idea and we’d like to have it, but I have no idea about potential costs for it. So if you have a clou how to integrate it and what a budget could be, I was very happy.

---

<div class="post-metadata">

### Author: ![yangoon](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/y/67e7ee/32.png) [@yangoon](https://discuss.tryton.org/u/yangoon)
#### Post date: [February 16, 2023, 7:33am UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/12 "2023-02-16T07:33:15Z")

</div>

> [@s.vogel](#):
>
> Virtual Things integrated SEPA including this “swiss layer” for the common payment reference number “ESR”. Pain.001 is working and also camt.053. With pain.008 we integrated it and we are in a test-project where “the customer is on it”. So far so good.

Is this integration publicly available somewhere?

---

<div class="post-metadata">

### Author: ![s.vogel](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/s.vogel/32/2328_2.png) [@s.vogel](https://discuss.tryton.org/u/s.vogel)
#### Post date: [February 16, 2023, 9:11pm UTC](https://discuss.tryton.org/t/sepa-ebics-ebanking-integration/548/13 "2023-02-16T21:11:02Z")

</div>

Dear Mathias  
So far - it’s not. We just use it on our SAAS platform tryton.cloud in Switzerland.
