[12.0][ENH]camt.052 support

This commit is contained in:
Luc De Meyer 2019-12-11 19:57:00 +01:00
parent 5cf574b6e6
commit 844097437e
3 changed files with 25 additions and 3 deletions

View File

@ -3,7 +3,7 @@
{ {
'name': 'EBICS banking protocol', 'name': 'EBICS banking protocol',
'version': '12.0.1.0.0', 'version': '12.0.1.0.1',
'license': 'LGPL-3', 'license': 'LGPL-3',
'author': 'Noviat', 'author': 'Noviat',
'category': 'Accounting & Finance', 'category': 'Accounting & Finance',

View File

@ -14,6 +14,18 @@
<field name="suffix">c53.xml</field> <field name="suffix">c53.xml</field>
</record> </record>
<!--
File format tested with the following banks:
- Kreissparkasse Göppingen (Germany)
-->
<record id="ebics_ff_camt_052_001_02_stm" model="ebics.file.format">
<field name="name">camt.052.001.02.stm</field>
<field name="type">down</field>
<field name="order_type">C52</field>
<field name="description">Bank Statement in Format camt.052</field>
<field name="suffix">c52.xml</field>
</record>
<!-- <!--
File format tested with the following banks: File format tested with the following banks:
- GLS Gemeinschaftsbank (Germany) - GLS Gemeinschaftsbank (Germany)

View File

@ -165,7 +165,7 @@ class EbicsXfer(models.TransientModel):
params = {} params = {}
if order_type == 'FDL': if order_type == 'FDL':
params['filetype'] = df.name params['filetype'] = df.name
if order_type in ['FDL', 'C53']: if order_type in ['FDL', 'C52', 'C53']:
params.update({ params.update({
'start': 'start':
self.date_from and self.date_from.isoformat() self.date_from and self.date_from.isoformat()
@ -399,6 +399,7 @@ class EbicsXfer(models.TransientModel):
""" """
res = { res = {
'camt.xxx.cfonb120.stm': self._handle_cfonb120, 'camt.xxx.cfonb120.stm': self._handle_cfonb120,
'camt.052.001.02.stm': self._handle_camt052,
'camt.053.001.02.stm': self._handle_camt053, 'camt.053.001.02.stm': self._handle_camt053,
} }
return res return res
@ -535,6 +536,15 @@ class EbicsXfer(models.TransientModel):
def _handle_cfonb240(self, data_in): def _handle_cfonb240(self, data_in):
return self._insert_line_terminator(data_in, 240) return self._insert_line_terminator(data_in, 240)
def _handle_camt052(self, data_in):
"""
Use this method if you need to fix camt files received
from your bank before passing them to the
Odoo Community CAMT parser.
Remark: Odoo Enterprise doesn't support camt.052.
"""
return data_in
def _handle_camt053(self, data_in): def _handle_camt053(self, data_in):
""" """
Use this method if you need to fix camt files received Use this method if you need to fix camt files received