develop
			
			
		
		
							parent
							
								
									f24609a335
								
							
						
					
					
						commit
						d7a345b61d
					
				|  | @ -0,0 +1,52 @@ | |||
| .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||||
|     :target: https://www.gnu.com/licenses/agpl | ||||
|     :alt: License: AGPL-3 | ||||
| 
 | ||||
| ========================= | ||||
| Bank Statement Parse Camt | ||||
| ========================= | ||||
| 
 | ||||
| Module to import SEPA CAMT.053 and CAMT.054 Format bank statement files. | ||||
| 
 | ||||
| Based on the Banking addons framework. | ||||
| 
 | ||||
| .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas | ||||
|     :alt: Try me on Runbot | ||||
|     :target: https://runbot.odoo-community.org/runbot/174/11.0 | ||||
| 
 | ||||
| 
 | ||||
| Bug Tracker | ||||
| =========== | ||||
| 
 | ||||
| Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-statement-import/issues>`_. | ||||
| In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smash it by providing a detailed and welcomed feedback. | ||||
| 
 | ||||
| 
 | ||||
| Credits | ||||
| ======= | ||||
| 
 | ||||
| Contributors | ||||
| ------------ | ||||
| 
 | ||||
| * Holger Brunn <hbrunn@therp.nl> | ||||
| * Stefan Rijnhart <srijnhart@therp.nl> | ||||
| * Ronald Portier <rportier@therp.nl> | ||||
| * Andrea Stirpe <a.stirpe@onestein.nl> | ||||
| * Maxence Groine <mgroine@fiefmanage.ch> | ||||
| 
 | ||||
| Do not contact contributors directly about support or help with technical issues. | ||||
| 
 | ||||
| Maintainer | ||||
| ---------- | ||||
| 
 | ||||
| .. image:: https://odoo-community.org/logo.png | ||||
|    :alt: Odoo Community Association | ||||
|    :target: https://odoo-community.org | ||||
| 
 | ||||
| This module is maintained by the OCA. | ||||
| 
 | ||||
| OCA, or the Odoo Community Association, is a nonprofit organization whose | ||||
| mission is to support the collaborative development of Odoo features and | ||||
| promote its widespread use. | ||||
| 
 | ||||
| To contribute to this module, please visit http://odoo-community.org. | ||||
|  | @ -0,0 +1,3 @@ | |||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| from . import models | ||||
|  | @ -0,0 +1,16 @@ | |||
| # © 2013-2017 Therp BV <http://therp.nl> | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| { | ||||
|     'name': 'CAMT Format Bank Statements Import', | ||||
|     'version': '11.0.1.1.0', | ||||
|     'license': 'AGPL-3', | ||||
|     'author': 'Odoo Community Association (OCA), Therp BV', | ||||
|     'website': 'https://github.com/OCA/bank-statement-import', | ||||
|     'category': 'Banking addons', | ||||
|     'depends': [ | ||||
|         'account_bank_statement_import', | ||||
|     ], | ||||
|     'data': [ | ||||
|         'views/account_bank_statement_import.xml', | ||||
|     ], | ||||
| } | ||||
|  | @ -0,0 +1,50 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| #	* account_bank_statement_import_camt_oca | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "Last-Translator: <>\n" | ||||
| "Language-Team: \n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: \n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-07-24 21:51+0000\n" | ||||
| "PO-Revision-Date: 2015-10-04 11:43+0200\n" | ||||
| "Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n" | ||||
| "Language-Team: French (http://www.transifex.com/oca/OCA-bank-statement-" | ||||
| "import-8-0/language/fr/)\n" | ||||
| "Language: fr\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| "X-Generator: Poedit 1.8.3\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Kontoauszug importieren" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # OCA Transbot <transbot@odoo-community.org>, 2018 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2018-06-08 08:27+0000\n" | ||||
| "PO-Revision-Date: 2018-06-08 08:27+0000\n" | ||||
| "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n" | ||||
| "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" | ||||
| "Language: es\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "CAMT" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "Nombre a mostrar" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "ID" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importar extracto bancario" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "Última modificación en" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "account.bank.statement.import.camt.parser" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "CAMT en .zip" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # Mehdi Zarrinkolah <mehdi1811@gmail.com>, 2018 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2018-06-08 08:27+0000\n" | ||||
| "PO-Revision-Date: 2018-07-22 10:30+0000\n" | ||||
| "Last-Translator: derKonig <fshahy@gmail.com>\n" | ||||
| "Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n" | ||||
| "Language: fa\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=n > 1;\n" | ||||
| "X-Generator: Weblate 3.0.1\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "CAMT" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "نام صفحه نمایش" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "شناسه" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "ورود بیانیه بانکی" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "آخرین تغییر در" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "گزارش .حساب بانکی .وارد کننده .تقسیم کننده .تجزیه کننده" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "CAMT زیپ شده" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2017 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 9.0c\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2016-12-10 05:00+0000\n" | ||||
| "PO-Revision-Date: 2016-12-10 05:00+0000\n" | ||||
| "Last-Translator: Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2017\n" | ||||
| "Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" | ||||
| "Language: fi\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Tuo pankkiaineisto" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # OCA Transbot <transbot@odoo-community.org>, 2018 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2018-06-08 08:27+0000\n" | ||||
| "PO-Revision-Date: 2018-06-08 08:27+0000\n" | ||||
| "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n" | ||||
| "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" | ||||
| "Language: fr\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "CAMT" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "Nom affiché" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "ID" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importer Relevé Bancaire" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "Dernière modification le" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "CAMT zippé" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # OCA Transbot <transbot@odoo-community.org>, 2016 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 9.0c\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2016-12-09 17:00+0000\n" | ||||
| "PO-Revision-Date: 2016-12-09 17:00+0000\n" | ||||
| "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n" | ||||
| "Language-Team: French (Switzerland) (https://www.transifex.com/oca/" | ||||
| "teams/23907/fr_CH/)\n" | ||||
| "Language: fr_CH\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importer Relevé" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # Alejandro Santana <alejandrosantana@anubia.es>, 2016 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 9.0c\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2016-12-09 17:00+0000\n" | ||||
| "PO-Revision-Date: 2016-12-09 17:00+0000\n" | ||||
| "Last-Translator: Alejandro Santana <alejandrosantana@anubia.es>, 2016\n" | ||||
| "Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" | ||||
| "Language: gl\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importar extracto bancario" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # OCA Transbot <transbot@odoo-community.org>, 2018 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2018-06-08 08:27+0000\n" | ||||
| "PO-Revision-Date: 2018-06-08 08:27+0000\n" | ||||
| "Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n" | ||||
| "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" | ||||
| "Language: hr\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | ||||
| "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "CAMT" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "Naziv" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "ID" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Uvoz bankovnog izvoda" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "Zadnje modificirano" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "account.bank.statement.import.camt.parser" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "kompresirani CAMT" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-07-24 21:51+0000\n" | ||||
| "PO-Revision-Date: 2015-07-24 07:41+0000\n" | ||||
| "Last-Translator: <>\n" | ||||
| "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/oca/OCA-bank-" | ||||
| "statement-import-8-0/language/lt_LT/)\n" | ||||
| "Language: lt_LT\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" | ||||
| "%100<10 || n%100>=20) ? 1 : 2);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importuoti banko išrašą" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # Imre Kristoffer Eilertsen <imreeil42@gmail.com>, 2016 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 9.0c\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2016-12-09 17:00+0000\n" | ||||
| "PO-Revision-Date: 2016-12-09 17:00+0000\n" | ||||
| "Last-Translator: Imre Kristoffer Eilertsen <imreeil42@gmail.com>, 2016\n" | ||||
| "Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" | ||||
| "teams/23907/nb_NO/)\n" | ||||
| "Language: nb_NO\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importer bankutsagn" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,59 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| # Erwin van der Ploeg <erwin@bas-solutions.nl>, 2015 | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-07-24 21:51+0000\n" | ||||
| "PO-Revision-Date: 2018-12-03 10:43+0000\n" | ||||
| "Last-Translator: Yung-Wa <yw.ng@onestein.nl>\n" | ||||
| "Language-Team: Dutch (http://www.transifex.com/oca/" | ||||
| "OCA-bank-statement-import-8-0/language/nl/)\n" | ||||
| "Language: nl\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=n != 1;\n" | ||||
| "X-Generator: Weblate 3.3\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| #, fuzzy | ||||
| msgid "CAMT" | ||||
| msgstr "CAMT" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "Weergave naam" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| #, fuzzy | ||||
| msgid "ID" | ||||
| msgstr "ID" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importeer bankafschrift" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "Laatst gewijzigd op" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| #, fuzzy | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "account.bank.statement.import.camt.parser" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "zip formaat CAMT" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-10-09 09:23+0000\n" | ||||
| "PO-Revision-Date: 2015-10-09 00:26+0000\n" | ||||
| "Last-Translator: danimaribeiro <danimaribeiro@gmail.com>\n" | ||||
| "Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-" | ||||
| "statement-import-8-0/language/pt_BR/)\n" | ||||
| "Language: pt_BR\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importar Extrato Bancário" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,54 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2016-08-18 10:27+0000\n" | ||||
| "PO-Revision-Date: 2015-07-24 07:41+0000\n" | ||||
| "Last-Translator: <>\n" | ||||
| "Language-Team: Portuguese (Portugal) (http://www.transifex.com/oca/OCA-bank-" | ||||
| "statement-import-8-0/language/pt_PT/)\n" | ||||
| "Language: pt_PT\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Importar Extrato Bancário" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,55 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| # * account_bank_statement_import_camt_oca | ||||
| # | ||||
| # Translators: | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: bank-statement-import (8.0)\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2015-07-24 21:51+0000\n" | ||||
| "PO-Revision-Date: 2015-07-25 12:19+0000\n" | ||||
| "Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n" | ||||
| "Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-statement-" | ||||
| "import-8-0/language/sl/)\n" | ||||
| "Language: sl\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: \n" | ||||
| "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" | ||||
| "%100==4 ? 2 : 3);\n" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "CAMT" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_display_name | ||||
| msgid "Display Name" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser_id | ||||
| msgid "ID" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import | ||||
| msgid "Import Bank Statement" | ||||
| msgstr "Uvoz bančnega izpiska" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model.fields,field_description:account_bank_statement_import_camt_oca.field_account_bank_statement_import_camt_parser___last_update | ||||
| msgid "Last Modified on" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.model,name:account_bank_statement_import_camt_oca.model_account_bank_statement_import_camt_parser | ||||
| msgid "account.bank.statement.import.camt.parser" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: account_bank_statement_import_camt_oca | ||||
| #: model:ir.ui.view,arch_db:account_bank_statement_import_camt_oca.account_bank_statement_import_view | ||||
| msgid "zipped CAMT" | ||||
| msgstr "" | ||||
|  | @ -0,0 +1,4 @@ | |||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| from . import parser | ||||
| from . import account_bank_statement_import | ||||
|  | @ -0,0 +1,40 @@ | |||
| """Add process_camt method to account.bank.statement.import.""" | ||||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| import logging | ||||
| from io import BytesIO | ||||
| import zipfile | ||||
| from odoo import api, models | ||||
| 
 | ||||
| _logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| class AccountBankStatementImport(models.TransientModel): | ||||
|     """Add process_camt method to account.bank.statement.import.""" | ||||
|     _inherit = 'account.bank.statement.import' | ||||
| 
 | ||||
|     @api.model | ||||
|     def _parse_file(self, data_file): | ||||
|         """Parse a CAMT053 XML file.""" | ||||
|         try: | ||||
|             parser = self.env['account.bank.statement.import.camt.parser'] | ||||
|             _logger.debug("Try parsing with camt.") | ||||
|             return parser.parse(data_file) | ||||
|         except ValueError: | ||||
|             try: | ||||
|                 with zipfile.ZipFile(BytesIO(data_file)) as data: | ||||
|                     currency = None | ||||
|                     account_number = None | ||||
|                     transactions = [] | ||||
|                     for member in data.namelist(): | ||||
|                         currency, account_number, new = self._parse_file( | ||||
|                             data.open(member).read() | ||||
|                         ) | ||||
|                         transactions.extend(new) | ||||
|                 return currency, account_number, transactions | ||||
|             except (zipfile.BadZipFile, ValueError): | ||||
|                 pass | ||||
|             # Not a camt file, returning super will call next candidate: | ||||
|             _logger.debug("Statement file was not a camt file.", | ||||
|                           exc_info=True) | ||||
|         return super(AccountBankStatementImport, self)._parse_file(data_file) | ||||
|  | @ -0,0 +1,250 @@ | |||
| """Class to parse camt files.""" | ||||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # Copyright 2017 Open Net Sàrl | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| import re | ||||
| from lxml import etree | ||||
| 
 | ||||
| from odoo import models | ||||
| 
 | ||||
| 
 | ||||
| class CamtParser(models.AbstractModel): | ||||
|     """Parser for camt bank statement import files.""" | ||||
|     _name = 'account.bank.statement.import.camt.parser' | ||||
| 
 | ||||
|     def parse_amount(self, ns, node): | ||||
|         """Parse element that contains Amount and CreditDebitIndicator.""" | ||||
|         if node is None: | ||||
|             return 0.0 | ||||
|         sign = 1 | ||||
|         amount = 0.0 | ||||
|         sign_node = node.xpath('ns:CdtDbtInd', namespaces={'ns': ns}) | ||||
|         if not sign_node: | ||||
|             sign_node = node.xpath( | ||||
|                 '../../ns:CdtDbtInd', namespaces={'ns': ns}) | ||||
|         if sign_node and sign_node[0].text == 'DBIT': | ||||
|             sign = -1 | ||||
|         amount_node = node.xpath('ns:Amt', namespaces={'ns': ns}) | ||||
|         if not amount_node: | ||||
|             amount_node = node.xpath( | ||||
|                 './ns:AmtDtls/ns:TxAmt/ns:Amt', namespaces={'ns': ns}) | ||||
|         if amount_node: | ||||
|             amount = sign * float(amount_node[0].text) | ||||
|         return amount | ||||
| 
 | ||||
|     def add_value_from_node( | ||||
|             self, ns, node, xpath_str, obj, attr_name, join_str=None): | ||||
|         """Add value to object from first or all nodes found with xpath. | ||||
| 
 | ||||
|         If xpath_str is a list (or iterable), it will be seen as a series | ||||
|         of search path's in order of preference. The first item that results | ||||
|         in a found node will be used to set a value.""" | ||||
|         if not isinstance(xpath_str, (list, tuple)): | ||||
|             xpath_str = [xpath_str] | ||||
|         for search_str in xpath_str: | ||||
|             found_node = node.xpath(search_str, namespaces={'ns': ns}) | ||||
|             if found_node: | ||||
|                 if join_str is None: | ||||
|                     attr_value = found_node[0].text | ||||
|                 else: | ||||
|                     attr_value = join_str.join([x.text for x in found_node]) | ||||
|                 obj[attr_name] = attr_value | ||||
|                 break | ||||
| 
 | ||||
|     def parse_transaction_details(self, ns, node, transaction): | ||||
|         """Parse TxDtls node.""" | ||||
|         # message | ||||
|         if transaction['name'] == '/': | ||||
|             self.add_value_from_node( | ||||
|                 ns, node, [ | ||||
|                     './ns:RmtInf/ns:Ustrd|./ns:RtrInf/ns:AddtlInf', | ||||
|                     './ns:AddtlNtryInf', | ||||
|                     './ns:Refs/ns:InstrId', | ||||
|                     './ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref', | ||||
|                 ], transaction, 'name', join_str='\n') | ||||
|         # name | ||||
|         self.add_value_from_node( | ||||
|             ns, node, [ | ||||
|                 './ns:AddtlTxInf', | ||||
|             ], transaction, 'note', join_str='\n') | ||||
|         # eref | ||||
|         self.add_value_from_node( | ||||
|             ns, node, [ | ||||
|                 './ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref', | ||||
|                 './ns:Refs/ns:EndToEndId', | ||||
|                 './ns:Ntry/ns:AcctSvcrRef' | ||||
|             ], | ||||
|             transaction, 'ref' | ||||
|         ) | ||||
|         amount = self.parse_amount(ns, node) | ||||
|         if amount != 0.0: | ||||
|             transaction['amount'] = amount | ||||
|         # remote party values | ||||
|         party_type = 'Dbtr' | ||||
|         party_type_node = node.xpath( | ||||
|             '../../ns:CdtDbtInd', namespaces={'ns': ns}) | ||||
|         if party_type_node and party_type_node[0].text != 'CRDT': | ||||
|             party_type = 'Cdtr' | ||||
|         party_node = node.xpath( | ||||
|             './ns:RltdPties/ns:%s' % party_type, namespaces={'ns': ns}) | ||||
|         if party_node: | ||||
|             self.add_value_from_node( | ||||
|                 ns, party_node[0], './ns:Nm', transaction, 'partner_name') | ||||
|         # Get remote_account from iban or from domestic account: | ||||
|         account_node = node.xpath( | ||||
|             './ns:RltdPties/ns:%sAcct/ns:Id' % party_type, | ||||
|             namespaces={'ns': ns} | ||||
|         ) | ||||
|         if account_node: | ||||
|             iban_node = account_node[0].xpath( | ||||
|                 './ns:IBAN', namespaces={'ns': ns}) | ||||
|             if iban_node: | ||||
|                 transaction['account_number'] = iban_node[0].text | ||||
|             else: | ||||
|                 self.add_value_from_node( | ||||
|                     ns, account_node[0], './ns:Othr/ns:Id', transaction, | ||||
|                     'account_number' | ||||
|                 ) | ||||
| 
 | ||||
|     def parse_entry(self, ns, node): | ||||
|         """Parse an Ntry node and yield transactions""" | ||||
|         transaction = {'name': '/', 'amount': 0}  # fallback defaults | ||||
|         self.add_value_from_node( | ||||
|             ns, node, './ns:BookgDt/ns:Dt', transaction, 'date') | ||||
|         amount = self.parse_amount(ns, node) | ||||
|         if amount != 0.0: | ||||
|             transaction['amount'] = amount | ||||
|         self.add_value_from_node( | ||||
|             ns, node, './ns:AddtlNtryInf', transaction, 'name') | ||||
|         self.add_value_from_node( | ||||
|             ns, node, [ | ||||
|                 './ns:NtryDtls/ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref', | ||||
|                 './ns:NtryDtls/ns:Btch/ns:PmtInfId', | ||||
|                 './ns:NtryDtls/ns:TxDtls/ns:Refs/ns:AcctSvcrRef' | ||||
|             ], | ||||
|             transaction, 'ref' | ||||
|         ) | ||||
| 
 | ||||
|         details_nodes = node.xpath( | ||||
|             './ns:NtryDtls/ns:TxDtls', namespaces={'ns': ns}) | ||||
|         if len(details_nodes) == 0: | ||||
|             yield transaction | ||||
|             return | ||||
|         transaction_base = transaction | ||||
|         for node in details_nodes: | ||||
|             transaction = transaction_base.copy() | ||||
|             self.parse_transaction_details(ns, node, transaction) | ||||
|             yield transaction | ||||
| 
 | ||||
|     def get_balance_amounts(self, ns, node): | ||||
|         """Return opening and closing balance. | ||||
| 
 | ||||
|         Depending on kind of balance and statement, the balance might be in a | ||||
|         different kind of node: | ||||
|         OPBD = OpeningBalance | ||||
|         PRCD = PreviousClosingBalance | ||||
|         ITBD = InterimBalance (first ITBD is start-, second is end-balance) | ||||
|         CLBD = ClosingBalance | ||||
|         """ | ||||
|         start_balance_node = None | ||||
|         end_balance_node = None | ||||
|         for node_name in ['OPBD', 'PRCD', 'CLBD', 'ITBD']: | ||||
|             code_expr = ( | ||||
|                 './ns:Bal/ns:Tp/ns:CdOrPrtry/ns:Cd[text()="%s"]/../../..' % | ||||
|                 node_name | ||||
|             ) | ||||
|             balance_node = node.xpath(code_expr, namespaces={'ns': ns}) | ||||
|             if balance_node: | ||||
|                 if node_name in ['OPBD', 'PRCD']: | ||||
|                     start_balance_node = balance_node[0] | ||||
|                 elif node_name == 'CLBD': | ||||
|                     end_balance_node = balance_node[0] | ||||
|                 else: | ||||
|                     if not start_balance_node: | ||||
|                         start_balance_node = balance_node[0] | ||||
|                     if not end_balance_node: | ||||
|                         end_balance_node = balance_node[-1] | ||||
|         return ( | ||||
|             self.parse_amount(ns, start_balance_node), | ||||
|             self.parse_amount(ns, end_balance_node) | ||||
|         ) | ||||
| 
 | ||||
|     def parse_statement(self, ns, node): | ||||
|         """Parse a single Stmt node.""" | ||||
|         result = {} | ||||
|         self.add_value_from_node( | ||||
|             ns, node, [ | ||||
|                 './ns:Acct/ns:Id/ns:IBAN', | ||||
|                 './ns:Acct/ns:Id/ns:Othr/ns:Id', | ||||
|             ], result, 'account_number' | ||||
|         ) | ||||
|         self.add_value_from_node( | ||||
|             ns, node, './ns:Id', result, 'name') | ||||
|         self.add_value_from_node( | ||||
|             ns, node, './ns:Acct/ns:Ccy', result, 'currency') | ||||
|         result['balance_start'], result['balance_end_real'] = ( | ||||
|             self.get_balance_amounts(ns, node)) | ||||
|         entry_nodes = node.xpath('./ns:Ntry', namespaces={'ns': ns}) | ||||
|         transactions = [] | ||||
|         for entry_node in entry_nodes: | ||||
|             transactions.extend(self.parse_entry(ns, entry_node)) | ||||
|         result['transactions'] = transactions | ||||
|         result['date'] = None | ||||
|         if transactions: | ||||
|             result['date'] = sorted(transactions, | ||||
|                                     key=lambda x: x['date'], | ||||
|                                     reverse=True | ||||
|                                     )[0]['date'] | ||||
|         return result | ||||
| 
 | ||||
|     def check_version(self, ns, root): | ||||
|         """Validate validity of camt file.""" | ||||
|         # Check whether it is camt at all: | ||||
|         re_camt = re.compile( | ||||
|             r'(^urn:iso:std:iso:20022:tech:xsd:camt.' | ||||
|             r'|^ISO:camt.)' | ||||
|         ) | ||||
|         if not re_camt.search(ns): | ||||
|             raise ValueError('no camt: ' + ns) | ||||
|         # Check whether version 052 ,053 or 054: | ||||
|         re_camt_version = re.compile( | ||||
|             r'(^urn:iso:std:iso:20022:tech:xsd:camt.054.' | ||||
|             r'|^urn:iso:std:iso:20022:tech:xsd:camt.053.' | ||||
|             r'|^urn:iso:std:iso:20022:tech:xsd:camt.052.' | ||||
|             r'|^ISO:camt.054.' | ||||
|             r'|^ISO:camt.053.' | ||||
|             r'|^ISO:camt.052.)' | ||||
|         ) | ||||
|         if not re_camt_version.search(ns): | ||||
|             raise ValueError('no camt 052 or 053 or 054: ' + ns) | ||||
|         # Check GrpHdr element: | ||||
|         root_0_0 = root[0][0].tag[len(ns) + 2:]  # strip namespace | ||||
|         if root_0_0 != 'GrpHdr': | ||||
|             raise ValueError('expected GrpHdr, got: ' + root_0_0) | ||||
| 
 | ||||
|     def parse(self, data): | ||||
|         """Parse a camt.052 or camt.053 or camt.054 file.""" | ||||
|         try: | ||||
|             root = etree.fromstring( | ||||
|                 data, parser=etree.XMLParser(recover=True)) | ||||
|         except etree.XMLSyntaxError: | ||||
|             # ABNAmro is known to mix up encodings | ||||
|             root = etree.fromstring( | ||||
|                 data.decode('iso-8859-15').encode('utf-8')) | ||||
|         if root is None: | ||||
|             raise ValueError( | ||||
|                 'Not a valid xml file, or not an xml file at all.') | ||||
|         ns = root.tag[1:root.tag.index("}")] | ||||
|         self.check_version(ns, root) | ||||
|         statements = [] | ||||
|         currency = None | ||||
|         account_number = None | ||||
|         for node in root[0][1:]: | ||||
|             statement = self.parse_statement(ns, node) | ||||
|             if len(statement['transactions']): | ||||
|                 if 'currency' in statement: | ||||
|                     currency = statement.pop('currency') | ||||
|                 if 'account_number' in statement: | ||||
|                     account_number = statement.pop('account_number') | ||||
|                 statements.append(statement) | ||||
|         return currency, account_number, statements | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.2 KiB | 
|  | @ -0,0 +1 @@ | |||
| (None, None, []) | ||||
|  | @ -0,0 +1,18 @@ | |||
| (None, | ||||
|  'CH1111000000123456789', | ||||
|  [{'balance_end_real': 79443.15, | ||||
|    'balance_start': 75960.15, | ||||
|    'date': '2017-03-22', | ||||
|    'name': '20170323123456789012345', | ||||
|    'transactions': [{'account_number': 'CH2222000000123456789', | ||||
|                      'amount': 2187.0, | ||||
|                      'date': '2017-03-22', | ||||
|                      'name': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', | ||||
|                      'partner_name': 'Banque Cantonale Vaudoise', | ||||
|                      'ref': '302388292000011111111111111'}, | ||||
|                     {'account_number': 'CH3333000000123456789', | ||||
|                      'amount': 1296.0, | ||||
|                      'date': '2017-03-22', | ||||
|                      'name': 'CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE', | ||||
|                      'partner_name': 'Banque Cantonale Vaudoise', | ||||
|                      'ref': '302388292000022222222222222'}]}]) | ||||
|  | @ -0,0 +1,34 @@ | |||
| (None, | ||||
|  'NL77ABNA0574908765', | ||||
|  [{'balance_end_real': 15121.12, | ||||
|    'balance_start': 15568.27, | ||||
|    'date': '2014-01-05', | ||||
|    'name': '1234Test/1', | ||||
|    'transactions': [{'account_number': 'NL46ABNA0499998748', | ||||
|                      'amount': -754.25, | ||||
|                      'date': '2014-01-05', | ||||
|                      'name': 'Insurance policy 857239PERIOD 01.01.2014 - 31.12.2014', | ||||
|                      'note': 'MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014', | ||||
|                      'partner_name': 'INSURANCE COMPANY TESTX', | ||||
|                      'ref': '435005714488-ABNO33052620'}, | ||||
|                     {'account_number': 'NL46ABNA0499998748', | ||||
|                      'amount': -564.05, | ||||
|                      'date': '2014-01-05', | ||||
|                      'name': 'Direct Debit S14 0410', | ||||
|                      'note': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', | ||||
|                      'partner_name': 'Test Customer', | ||||
|                      'ref': 'TESTBANK/NL/20141229/01206408'}, | ||||
|                     {'account_number': 'NL46ABNA0499998748', | ||||
|                      'amount': -100.0, | ||||
|                      'date': '2014-01-05', | ||||
|                      'name': 'Direct Debit S14 0410', | ||||
|                      'note': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408', | ||||
|                      'partner_name': 'Test Customer', | ||||
|                      'ref': 'TESTBANK/NL/20141229/01206407'}, | ||||
|                     {'account_number': 'NL69ABNA0522123643', | ||||
|                      'amount': 1405.31, | ||||
|                      'date': '2014-01-05', | ||||
|                      'name': 'INNDNL2U20140105000217200000708', | ||||
|                      'note': '#RD PARTY MEDIA CUSNO 90782 4210773', | ||||
|                      'partner_name': '3rd party Media', | ||||
|                      'ref': '115'}]}]) | ||||
|  | @ -0,0 +1,289 @@ | |||
| <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02"> | ||||
|     <BkToCstmrStmt> | ||||
|         <GrpHdr> | ||||
|             <MsgId>TESTBANK/NL/1420561226673</MsgId> | ||||
|             <CreDtTm>2014-01-06T16:20:26.673Z</CreDtTm> | ||||
|         </GrpHdr> | ||||
|         <Stmt> | ||||
|             <Id>1234Test/1</Id> | ||||
|             <LglSeqNb>2</LglSeqNb> | ||||
|             <CreDtTm>2014-01-06T16:20:26.673Z</CreDtTm> | ||||
|             <FrToDt> | ||||
|                 <FrDtTm>2014-01-05T00:00:00.000Z</FrDtTm> | ||||
|                 <ToDtTm>2014-01-05T23:59:59.999Z</ToDtTm> | ||||
|             </FrToDt> | ||||
|             <Acct> | ||||
|                 <Id> | ||||
|                     <IBAN>NL77ABNA0574908765</IBAN> | ||||
|                 </Id> | ||||
|                 <Nm>Example company</Nm> | ||||
|                 <Svcr> | ||||
|                     <FinInstnId> | ||||
|                         <BIC>ABNANL2A</BIC> | ||||
|                     </FinInstnId> | ||||
|                 </Svcr> | ||||
|             </Acct> | ||||
|             <Bal> | ||||
|                 <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                         <Cd>OPBD</Cd> | ||||
|                     </CdOrPrtry> | ||||
|                 </Tp> | ||||
|                 <Amt Ccy="EUR">15568.27</Amt> | ||||
|                 <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|                 <Dt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </Dt> | ||||
|             </Bal> | ||||
|             <Bal> | ||||
|                 <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                         <Cd>CLBD</Cd> | ||||
|                     </CdOrPrtry> | ||||
|                 </Tp> | ||||
|                 <Amt Ccy="EUR">15121.12</Amt> | ||||
|                 <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|                 <Dt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </Dt> | ||||
|             </Bal> | ||||
|             <Ntry> | ||||
|                 <Amt Ccy="EUR">754.25</Amt> | ||||
|                 <CdtDbtInd>DBIT</CdtDbtInd> | ||||
|                 <Sts>BOOK</Sts> | ||||
|                 <BookgDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </BookgDt> | ||||
|                 <ValDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </ValDt> | ||||
|                 <BkTxCd> | ||||
|                     <Domn> | ||||
|                         <Cd>PMNT</Cd> | ||||
|                         <Fmly> | ||||
|                             <Cd>RDDT</Cd> | ||||
|                             <SubFmlyCd>ESDD</SubFmlyCd> | ||||
|                         </Fmly> | ||||
|                     </Domn> | ||||
|                     <Prtry> | ||||
|                         <Cd>EI</Cd> | ||||
|                     </Prtry> | ||||
|                 </BkTxCd> | ||||
|                 <NtryDtls> | ||||
|                     <TxDtls> | ||||
|                         <Refs> | ||||
|                             <InstrId>INNDNL2U20141231000142300002844</InstrId> | ||||
|                             <EndToEndId>435005714488-ABNO33052620</EndToEndId> | ||||
|                             <MndtId>1880000341866</MndtId> | ||||
|                         </Refs> | ||||
|                         <AmtDtls> | ||||
|                             <TxAmt> | ||||
|                                 <Amt Ccy="EUR">754.25</Amt> | ||||
|                             </TxAmt> | ||||
|                         </AmtDtls> | ||||
|                         <RltdPties> | ||||
|                             <Cdtr> | ||||
|                                 <Nm>INSURANCE COMPANY TESTX</Nm> | ||||
|                                 <PstlAdr> | ||||
|                                     <StrtNm>TEST STREET 20</StrtNm> | ||||
|                                     <TwnNm>1234 AB TESTCITY</TwnNm> | ||||
|                                     <Ctry>NL</Ctry> | ||||
|                                 </PstlAdr> | ||||
|                             </Cdtr> | ||||
|                             <CdtrAcct> | ||||
|                                 <Id> | ||||
|                                     <IBAN>NL46ABNA0499998748</IBAN> | ||||
|                                 </Id> | ||||
|                             </CdtrAcct> | ||||
|                         </RltdPties> | ||||
|                         <RltdAgts> | ||||
|                             <CdtrAgt> | ||||
|                                 <FinInstnId> | ||||
|                                     <BIC>ABNANL2A</BIC> | ||||
|                                 </FinInstnId> | ||||
|                             </CdtrAgt> | ||||
|                         </RltdAgts> | ||||
|                         <RmtInf> | ||||
|                             <Ustrd>Insurance policy 857239PERIOD 01.01.2014 - 31.12.2014</Ustrd> | ||||
|                         </RmtInf> | ||||
|                         <AddtlTxInf>MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014</AddtlTxInf> | ||||
|                     </TxDtls> | ||||
|                 </NtryDtls> | ||||
|             </Ntry> | ||||
|             <Ntry> | ||||
|                 <Amt Ccy="EUR">664.05</Amt> | ||||
|                 <CdtDbtInd>DBIT</CdtDbtInd> | ||||
|                 <RvslInd>true</RvslInd> | ||||
|                 <Sts>BOOK</Sts> | ||||
|                 <BookgDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </BookgDt> | ||||
|                 <ValDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </ValDt> | ||||
|                 <BkTxCd> | ||||
|                     <Domn> | ||||
|                         <Cd>PMNT</Cd> | ||||
|                         <Fmly> | ||||
|                             <Cd>IDDT</Cd> | ||||
|                             <SubFmlyCd>UPDD</SubFmlyCd> | ||||
|                         </Fmly> | ||||
|                     </Domn> | ||||
|                     <Prtry> | ||||
|                         <Cd>EIST</Cd> | ||||
|                     </Prtry> | ||||
|                 </BkTxCd> | ||||
|                 <NtryDtls> | ||||
|                     <Btch> | ||||
|                         <MsgId>2014/125</MsgId> | ||||
|                         <PmtInfId>2018/125-20141229-NORM</PmtInfId> | ||||
|                         <NbOfTxs>2</NbOfTxs> | ||||
|                         <TtlAmt Ccy="EUR">664.05</TtlAmt> | ||||
|                         <CdtDbtInd>DBIT</CdtDbtInd> | ||||
|                     </Btch> | ||||
|                     <TxDtls> | ||||
|                         <Refs> | ||||
|                             <InstrId>TESTBANK/NL/20141229/01206408</InstrId> | ||||
|                             <EndToEndId>TESTBANK/NL/20141229/01206408</EndToEndId> | ||||
|                             <MndtId>NL22ZZZ524885430000-C0125.1</MndtId> | ||||
|                         </Refs> | ||||
|                         <AmtDtls> | ||||
|                             <TxAmt> | ||||
|                                 <Amt Ccy="EUR">564.05</Amt> | ||||
|                             </TxAmt> | ||||
|                         </AmtDtls> | ||||
|                         <RltdPties> | ||||
|                             <Cdtr> | ||||
|                                 <Nm>Test Customer</Nm> | ||||
|                                 <PstlAdr> | ||||
|                                     <Ctry>NL</Ctry> | ||||
|                                 </PstlAdr> | ||||
|                             </Cdtr> | ||||
|                             <CdtrAcct> | ||||
|                                 <Id> | ||||
|                                     <IBAN>NL46ABNA0499998748</IBAN> | ||||
|                                 </Id> | ||||
|                             </CdtrAcct> | ||||
|                         </RltdPties> | ||||
|                         <RltdAgts> | ||||
|                             <CdtrAgt> | ||||
|                                 <FinInstnId> | ||||
|                                     <BIC>ABNANL2A</BIC> | ||||
|                                 </FinInstnId> | ||||
|                             </CdtrAgt> | ||||
|                         </RltdAgts> | ||||
|                         <RmtInf> | ||||
|                             <Ustrd>Direct Debit S14 0410</Ustrd> | ||||
|                         </RmtInf> | ||||
|                         <RtrInf> | ||||
|                             <Rsn> | ||||
|                                 <Cd>AC06</Cd> | ||||
|                             </Rsn> | ||||
|                         </RtrInf> | ||||
|                         <AddtlTxInf>Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408</AddtlTxInf> | ||||
|                     </TxDtls> | ||||
|                     <TxDtls> | ||||
|                         <Refs> | ||||
|                             <InstrId>TESTBANK/NL/20141229/01206407</InstrId> | ||||
|                             <EndToEndId>TESTBANK/NL/20141229/01206407</EndToEndId> | ||||
|                             <MndtId>NL22ZZZ524885430000-C0125.2</MndtId> | ||||
|                         </Refs> | ||||
|                         <AmtDtls> | ||||
|                             <TxAmt> | ||||
|                                 <Amt Ccy="EUR">100.00</Amt> | ||||
|                             </TxAmt> | ||||
|                         </AmtDtls> | ||||
|                         <RltdPties> | ||||
|                             <Cdtr> | ||||
|                                 <Nm>Test Customer</Nm> | ||||
|                                 <PstlAdr> | ||||
|                                     <Ctry>NL</Ctry> | ||||
|                                 </PstlAdr> | ||||
|                             </Cdtr> | ||||
|                             <CdtrAcct> | ||||
|                                 <Id> | ||||
|                                     <IBAN>NL46ABNA0499998748</IBAN> | ||||
|                                 </Id> | ||||
|                             </CdtrAcct> | ||||
|                         </RltdPties> | ||||
|                         <RltdAgts> | ||||
|                             <CdtrAgt> | ||||
|                                 <FinInstnId> | ||||
|                                     <BIC>ABNANL2A</BIC> | ||||
|                                 </FinInstnId> | ||||
|                             </CdtrAgt> | ||||
|                         </RltdAgts> | ||||
|                         <RmtInf> | ||||
|                             <Ustrd>Direct Debit S14 0410</Ustrd> | ||||
|                         </RmtInf> | ||||
|                         <RtrInf> | ||||
|                             <Rsn> | ||||
|                                 <Cd>AC06</Cd> | ||||
|                             </Rsn> | ||||
|                         </RtrInf> | ||||
|                         <AddtlTxInf>Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408</AddtlTxInf> | ||||
|                     </TxDtls> | ||||
|                 </NtryDtls> | ||||
|             </Ntry> | ||||
|             <Ntry> | ||||
|                 <Amt Ccy="EUR">1405.31</Amt> | ||||
|                 <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|                 <Sts>BOOK</Sts> | ||||
|                 <BookgDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </BookgDt> | ||||
|                 <ValDt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </ValDt> | ||||
|                 <BkTxCd> | ||||
|                     <Domn> | ||||
|                         <Cd>PMNT</Cd> | ||||
|                         <Fmly> | ||||
|                             <Cd>RCDT</Cd> | ||||
|                             <SubFmlyCd>ESCT</SubFmlyCd> | ||||
|                         </Fmly> | ||||
|                     </Domn> | ||||
|                     <Prtry> | ||||
|                         <Cd>ET</Cd> | ||||
|                     </Prtry> | ||||
|                 </BkTxCd> | ||||
|                 <NtryDtls> | ||||
|                     <TxDtls> | ||||
|                         <Refs> | ||||
|                             <InstrId>INNDNL2U20140105000217200000708</InstrId> | ||||
|                             <EndToEndId>115</EndToEndId> | ||||
|                         </Refs> | ||||
|                         <AmtDtls> | ||||
|                             <TxAmt> | ||||
|                                 <Amt Ccy="EUR">1405.31</Amt> | ||||
|                             </TxAmt> | ||||
|                         </AmtDtls> | ||||
|                         <RltdPties> | ||||
|                             <Dbtr> | ||||
|                                 <Nm>3rd party Media</Nm> | ||||
|                                 <PstlAdr> | ||||
|                                     <StrtNm>SOMESTREET 570-A</StrtNm> | ||||
|                                     <TwnNm>1276 ML HOUSCITY</TwnNm> | ||||
|                                     <Ctry>NL</Ctry> | ||||
|                                 </PstlAdr> | ||||
|                             </Dbtr> | ||||
|                             <DbtrAcct> | ||||
|                                 <Id> | ||||
|                                     <IBAN>NL69ABNA0522123643</IBAN> | ||||
|                                 </Id> | ||||
|                             </DbtrAcct> | ||||
|                         </RltdPties> | ||||
|                         <RltdAgts> | ||||
|                             <DbtrAgt> | ||||
|                                 <FinInstnId> | ||||
|                                     <BIC>ABNANL2A</BIC> | ||||
|                                 </FinInstnId> | ||||
|                             </DbtrAgt> | ||||
|                         </RltdAgts> | ||||
|                         <AddtlTxInf>#RD PARTY MEDIA CUSNO 90782 4210773</AddtlTxInf> | ||||
|                     </TxDtls> | ||||
|                 </NtryDtls> | ||||
|             </Ntry> | ||||
|         </Stmt> | ||||
|     </BkToCstmrStmt> | ||||
| </Document> | ||||
|  | @ -0,0 +1,52 @@ | |||
| <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04"> | ||||
|     <BkToCstmrStmt> | ||||
|         <GrpHdr> | ||||
|             <MsgId>TESTBANK/NL/1420561226673</MsgId> | ||||
|             <CreDtTm>2014-01-06T16:20:26.673Z</CreDtTm> | ||||
|         </GrpHdr> | ||||
|         <Stmt> | ||||
|             <Id>1234Test/1</Id> | ||||
|             <LglSeqNb>2</LglSeqNb> | ||||
|             <CreDtTm>2014-01-06T16:20:26.673Z</CreDtTm> | ||||
|             <FrToDt> | ||||
|                 <FrDtTm>2014-01-05T00:00:00.000Z</FrDtTm> | ||||
|                 <ToDtTm>2014-01-05T23:59:59.999Z</ToDtTm> | ||||
|             </FrToDt> | ||||
|             <Acct> | ||||
|                 <Id> | ||||
|                     <IBAN>NL77ABNA0574908765</IBAN> | ||||
|                 </Id> | ||||
|                 <Nm>Example company</Nm> | ||||
|                 <Svcr> | ||||
|                     <FinInstnId> | ||||
|                         <BIC>ABNANL2A</BIC> | ||||
|                     </FinInstnId> | ||||
|                 </Svcr> | ||||
|             </Acct> | ||||
|             <Bal> | ||||
|                 <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                         <Cd>OPBD</Cd> | ||||
|                     </CdOrPrtry> | ||||
|                 </Tp> | ||||
|                 <Amt Ccy="CHF">1520.76</Amt> | ||||
|                 <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|                 <Dt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </Dt> | ||||
|             </Bal> | ||||
|             <Bal> | ||||
|                 <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                         <Cd>CLBD</Cd> | ||||
|                     </CdOrPrtry> | ||||
|                 </Tp> | ||||
|                 <Amt Ccy="CHF">1520.76</Amt> | ||||
|                 <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|                 <Dt> | ||||
|                     <Dt>2014-01-05</Dt> | ||||
|                 </Dt> | ||||
|             </Bal> | ||||
|         </Stmt> | ||||
|     </BkToCstmrStmt> | ||||
| </Document> | ||||
|  | @ -0,0 +1,214 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04 camt.053.001.04.xsd"> | ||||
|   <BkToCstmrStmt> | ||||
|     <GrpHdr> | ||||
|       <MsgId>20170323312345678900000</MsgId> | ||||
|       <CreDtTm>2017-03-23T14:47:00</CreDtTm> | ||||
|       <MsgPgntn> | ||||
|         <PgNb>1</PgNb> | ||||
|         <LastPgInd>true</LastPgInd> | ||||
|       </MsgPgntn> | ||||
|       <AddtlInf>Test</AddtlInf> | ||||
|     </GrpHdr> | ||||
|     <Stmt> | ||||
|       <Id>20170323123456789012345</Id> | ||||
|       <ElctrncSeqNb>58</ElctrncSeqNb> | ||||
|       <CreDtTm>2017-03-23T14:47:00</CreDtTm> | ||||
|       <FrToDt> | ||||
|         <FrDtTm>2017-03-23T00:00:00</FrDtTm> | ||||
|         <ToDtTm>2017-03-23T23:59:59</ToDtTm> | ||||
|       </FrToDt> | ||||
|       <Acct> | ||||
|         <Id> | ||||
|           <IBAN>CH1111000000123456789</IBAN> | ||||
|         </Id> | ||||
|         <Ownr> | ||||
|           <Nm>Open Net S. à r.l. Prilly</Nm> | ||||
|         </Ownr> | ||||
|       </Acct> | ||||
|       <Bal> | ||||
|         <Tp> | ||||
|           <CdOrPrtry> | ||||
|             <Cd>OPBD</Cd> | ||||
|           </CdOrPrtry> | ||||
|         </Tp> | ||||
|         <Amt Ccy="CHF">75960.15</Amt> | ||||
|         <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|         <Dt> | ||||
|           <Dt>2017-03-22</Dt> | ||||
|         </Dt> | ||||
|       </Bal> | ||||
|       <Bal> | ||||
|         <Tp> | ||||
|           <CdOrPrtry> | ||||
|             <Cd>CLBD</Cd> | ||||
|           </CdOrPrtry> | ||||
|         </Tp> | ||||
|         <Amt Ccy="CHF">79443.15</Amt> | ||||
|         <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|         <Dt> | ||||
|           <Dt>2017-03-23</Dt> | ||||
|         </Dt> | ||||
|       </Bal> | ||||
|       <Ntry> | ||||
|         <NtryRef>012345678</NtryRef> | ||||
|         <Amt Ccy="CHF">3483.00</Amt> | ||||
|         <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|         <RvslInd>false</RvslInd> | ||||
|         <Sts>BOOK</Sts> | ||||
|         <BookgDt> | ||||
|           <Dt>2017-03-22</Dt> | ||||
|         </BookgDt> | ||||
|         <ValDt> | ||||
|           <Dt>2017-03-23</Dt> | ||||
|         </ValDt> | ||||
|         <AcctSvcrRef>20170323001234567891234567891234</AcctSvcrRef> | ||||
|         <BkTxCd> | ||||
|           <Domn> | ||||
|             <Cd>PMNT</Cd> | ||||
|             <Fmly> | ||||
|               <Cd>RCDT</Cd> | ||||
|               <SubFmlyCd>VCOM</SubFmlyCd> | ||||
|             </Fmly> | ||||
|           </Domn> | ||||
|         </BkTxCd> | ||||
|         <NtryDtls> | ||||
|           <Btch> | ||||
|             <NbOfTxs>2</NbOfTxs> | ||||
|           </Btch> | ||||
|           <TxDtls> | ||||
|             <Refs> | ||||
|               <AcctSvcrRef>123456CHCAFEBABE</AcctSvcrRef> | ||||
|               <Prtry> | ||||
|                 <Tp>01</Tp> | ||||
|                 <Ref>123456CHCAFEBABE</Ref> | ||||
|               </Prtry> | ||||
|             </Refs> | ||||
|             <Amt Ccy="CHF">2187.00</Amt> | ||||
|             <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|             <BkTxCd> | ||||
|               <Domn> | ||||
|                 <Cd>PMNT</Cd> | ||||
|                 <Fmly> | ||||
|                   <Cd>RCDT</Cd> | ||||
|                   <SubFmlyCd>AUTT</SubFmlyCd> | ||||
|                 </Fmly> | ||||
|               </Domn> | ||||
|             </BkTxCd> | ||||
|             <RltdPties> | ||||
|               <Dbtr> | ||||
|                 <Nm>Banque Cantonale Vaudoise</Nm> | ||||
|                 <PstlAdr> | ||||
|                   <StrtNm>Place Saint-François</StrtNm> | ||||
|                   <BldgNb>14</BldgNb> | ||||
|                   <PstCd>1003</PstCd> | ||||
|                   <TwnNm>Lausanne</TwnNm> | ||||
|                   <Ctry>CH1</Ctry> | ||||
|                 </PstlAdr> | ||||
|               </Dbtr> | ||||
|               <DbtrAcct> | ||||
|                 <Id> | ||||
|                   <IBAN>CH2222000000123456789</IBAN> | ||||
|                 </Id> | ||||
|               </DbtrAcct> | ||||
|             </RltdPties> | ||||
|             <RltdAgts> | ||||
|               <DbtrAgt> | ||||
|                 <FinInstnId> | ||||
|                   <BICFI>POFICHBEXXX</BICFI> | ||||
|                   <Nm>POSTFINANCE AG</Nm> | ||||
|                   <PstlAdr> | ||||
|                     <AdrLine>MINGERSTRASSE 20</AdrLine> | ||||
|                     <AdrLine>3030 BERNE</AdrLine> | ||||
|                   </PstlAdr> | ||||
|                 </FinInstnId> | ||||
|               </DbtrAgt> | ||||
|             </RltdAgts> | ||||
|             <RmtInf> | ||||
|               <Strd> | ||||
|                 <CdtrRefInf> | ||||
|                   <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                       <Prtry>ISR Reference</Prtry> | ||||
|                     </CdOrPrtry> | ||||
|                   </Tp> | ||||
|                   <Ref>302388292000011111111111111</Ref> | ||||
|                 </CdtrRefInf> | ||||
|                 <AddtlRmtInf>?REJECT?0</AddtlRmtInf> | ||||
|               </Strd> | ||||
|             </RmtInf> | ||||
|             <RltdDts> | ||||
|               <AccptncDtTm>2017-03-22T20:00:00</AccptncDtTm> | ||||
|             </RltdDts> | ||||
|           </TxDtls> | ||||
|           <TxDtls> | ||||
|             <Refs> | ||||
|               <AcctSvcrRef>123456CHCAFEBABE</AcctSvcrRef> | ||||
|               <Prtry> | ||||
|                 <Tp>01</Tp> | ||||
|                 <Ref>123456CHCAFEBABE</Ref> | ||||
|               </Prtry> | ||||
|             </Refs> | ||||
|             <Amt Ccy="CHF">1296.00</Amt> | ||||
|             <CdtDbtInd>CRDT</CdtDbtInd> | ||||
|             <BkTxCd> | ||||
|               <Domn> | ||||
|                 <Cd>PMNT</Cd> | ||||
|                 <Fmly> | ||||
|                   <Cd>RCDT</Cd> | ||||
|                   <SubFmlyCd>AUTT</SubFmlyCd> | ||||
|                 </Fmly> | ||||
|               </Domn> | ||||
|             </BkTxCd> | ||||
|             <RltdPties> | ||||
|               <Dbtr> | ||||
|                 <Nm>Banque Cantonale Vaudoise</Nm> | ||||
|                 <PstlAdr> | ||||
|                   <StrtNm>Place Saint-François</StrtNm> | ||||
|                   <BldgNb>14</BldgNb> | ||||
|                   <PstCd>1003</PstCd> | ||||
|                   <TwnNm>Lausanne</TwnNm> | ||||
|                   <Ctry>CH2</Ctry> | ||||
|                 </PstlAdr> | ||||
|               </Dbtr> | ||||
|               <DbtrAcct> | ||||
|                 <Id> | ||||
|                   <IBAN>CH3333000000123456789</IBAN> | ||||
|                 </Id> | ||||
|               </DbtrAcct> | ||||
|             </RltdPties> | ||||
|             <RltdAgts> | ||||
|               <DbtrAgt> | ||||
|                 <FinInstnId> | ||||
|                   <BICFI>POFICHBEYYY</BICFI> | ||||
|                   <Nm>POSTFINANCE AG</Nm> | ||||
|                   <PstlAdr> | ||||
|                     <AdrLine>MINGERSTRASSE 20</AdrLine> | ||||
|                     <AdrLine>3030 BERNE</AdrLine> | ||||
|                   </PstlAdr> | ||||
|                 </FinInstnId> | ||||
|               </DbtrAgt> | ||||
|             </RltdAgts> | ||||
|             <RmtInf> | ||||
|               <Strd> | ||||
|                 <CdtrRefInf> | ||||
|                   <Tp> | ||||
|                     <CdOrPrtry> | ||||
|                       <Prtry>ISR Reference</Prtry> | ||||
|                     </CdOrPrtry> | ||||
|                   </Tp> | ||||
|                   <Ref>302388292000022222222222222</Ref> | ||||
|                 </CdtrRefInf> | ||||
|                 <AddtlRmtInf>?REJECT?0</AddtlRmtInf> | ||||
|               </Strd> | ||||
|             </RmtInf> | ||||
|             <RltdDts> | ||||
|               <AccptncDtTm>2017-03-22T20:00:00</AccptncDtTm> | ||||
|             </RltdDts> | ||||
|           </TxDtls> | ||||
|         </NtryDtls> | ||||
|         <AddtlNtryInf>CRÉDIT GROUPÉ BVR TRAITEMENT DU 22.03.2017 NUMÉRO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE</AddtlNtryInf> | ||||
|       </Ntry> | ||||
|     </Stmt> | ||||
|   </BkToCstmrStmt> | ||||
| </Document> | ||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1,4 @@ | |||
| """Test import of bank statement for camt.053.""" | ||||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| from . import test_import_bank_statement | ||||
|  | @ -0,0 +1,150 @@ | |||
| """Run test to import camt.053 import.""" | ||||
| # © 2013-2016 Therp BV <http://therp.nl> | ||||
| # Copyright 2017 Open Net Sàrl | ||||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||||
| import base64 | ||||
| import difflib | ||||
| import pprint | ||||
| import tempfile | ||||
| 
 | ||||
| 
 | ||||
| from odoo.tests.common import TransactionCase | ||||
| from odoo.modules.module import get_module_resource | ||||
| 
 | ||||
| 
 | ||||
| class TestParser(TransactionCase): | ||||
|     """Tests for the camt parser itself.""" | ||||
|     def setUp(self): | ||||
|         super(TestParser, self).setUp() | ||||
|         self.parser = self.env['account.bank.statement.import.camt.parser'] | ||||
| 
 | ||||
|     def _do_parse_test(self, inputfile, goldenfile): | ||||
|         testfile = get_module_resource( | ||||
|             'account_bank_statement_import_camt_oca', | ||||
|             'test_files', | ||||
|             inputfile, | ||||
|         ) | ||||
|         with open(testfile, 'rb') as data: | ||||
|             res = self.parser.parse(data.read()) | ||||
|             with tempfile.NamedTemporaryFile(mode='w+', | ||||
|                                              suffix='.pydata') as temp: | ||||
|                 pprint.pprint(res, temp, width=160) | ||||
|                 goldenfile_res = get_module_resource( | ||||
|                     'account_bank_statement_import_camt_oca', | ||||
|                     'test_files', | ||||
|                     goldenfile, | ||||
|                 ) | ||||
|                 with open(goldenfile_res, 'r') as golden: | ||||
|                     temp.seek(0) | ||||
|                     diff = list( | ||||
|                         difflib.unified_diff(golden.readlines(), | ||||
|                                              temp.readlines(), | ||||
|                                              golden.name, | ||||
|                                              temp.name)) | ||||
|                     if len(diff) > 2: | ||||
|                         self.fail( | ||||
|                             "actual output doesn't match expected " + | ||||
|                             "output:\n%s" % | ||||
|                             "".join(diff)) | ||||
| 
 | ||||
|     def test_parse(self): | ||||
|         self._do_parse_test( | ||||
|             'test-camt053', | ||||
|             'golden-camt053.pydata') | ||||
| 
 | ||||
|     def test_parse_txdtls(self): | ||||
|         self._do_parse_test( | ||||
|             'test-camt053-txdtls', | ||||
|             'golden-camt053-txdtls.pydata') | ||||
| 
 | ||||
|     def test_parse_no_ntry(self): | ||||
|         self._do_parse_test( | ||||
|             'test-camt053-no-ntry', | ||||
|             'golden-camt053-no-ntry.pydata') | ||||
| 
 | ||||
| 
 | ||||
| class TestImport(TransactionCase): | ||||
|     """Run test to import camt import.""" | ||||
|     transactions = [ | ||||
|         { | ||||
|             'account_number': 'NL46ABNA0499998748', | ||||
|             'amount': -754.25, | ||||
|             'date': '2014-01-05', | ||||
|             'ref': '435005714488-ABNO33052620', | ||||
|         }, | ||||
|         { | ||||
|             'remote_account': 'NL46ABNA0499998748', | ||||
|             'transferred_amount': -564.05, | ||||
|             'value_date': '2014-01-05', | ||||
|             'ref': 'TESTBANK/NL/20141229/01206408', | ||||
|         }, | ||||
|         { | ||||
|             'remote_account': 'NL46ABNA0499998748', | ||||
|             'transferred_amount': -100.0, | ||||
|             'value_date': '2014-01-05', | ||||
|             'ref': 'TESTBANK/NL/20141229/01206407', | ||||
|         }, | ||||
|         { | ||||
|             'remote_account': 'NL69ABNA0522123643', | ||||
|             'transferred_amount': 1405.31, | ||||
|             'value_date': '2014-01-05', | ||||
|             'ref': '115', | ||||
|         }, | ||||
|     ] | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         super(TestImport, self).setUp() | ||||
|         bank = self.env['res.partner.bank'].create({ | ||||
|             'acc_number': 'NL77ABNA0574908765', | ||||
|             'partner_id': self.env.ref('base.main_partner').id, | ||||
|             'company_id': self.env.ref('base.main_company').id, | ||||
|             'bank_id': self.env.ref('base.res_bank_1').id, | ||||
|         }) | ||||
|         self.env['account.journal'].create({ | ||||
|             'name': 'Bank Journal - (test camt)', | ||||
|             'code': 'TBNKCAMT', | ||||
|             'type': 'bank', | ||||
|             'bank_account_id': bank.id, | ||||
|         }) | ||||
| 
 | ||||
|     def test_statement_import(self): | ||||
|         """Test correct creation of single statement.""" | ||||
|         testfile = get_module_resource( | ||||
|             'account_bank_statement_import_camt_oca', | ||||
|             'test_files', | ||||
|             'test-camt053', | ||||
|         ) | ||||
|         with open(testfile, 'rb') as datafile: | ||||
|             action = self.env['account.bank.statement.import'].create({ | ||||
|                 'data_file': base64.b64encode(datafile.read()) | ||||
|             }).import_file() | ||||
| 
 | ||||
|             for statement in self.env['account.bank.statement'].browse( | ||||
|                 action['context']['statement_ids'] | ||||
|             ): | ||||
|                 self.assertTrue(any( | ||||
|                     all( | ||||
|                         line[key] == self.transactions[0][key] | ||||
|                         for key in ['amount', 'date', 'ref'] | ||||
|                     ) and | ||||
|                     line.bank_account_id.acc_number == | ||||
|                     self.transactions[0]['account_number'] | ||||
|                     for line in statement.line_ids | ||||
|                 )) | ||||
| 
 | ||||
|     def test_zip_import(self): | ||||
|         """Test import of multiple statements from zip file.""" | ||||
|         testfile = get_module_resource( | ||||
|             'account_bank_statement_import_camt_oca', | ||||
|             'test_files', | ||||
|             'test-camt053.zip', | ||||
|         ) | ||||
|         with open(testfile, 'rb') as datafile: | ||||
|             action = self.env['account.bank.statement.import'].create({ | ||||
|                 'data_file': base64.b64encode(datafile.read()), | ||||
|             }).import_file() | ||||
| 
 | ||||
|             for statement in self.env['account.bank.statement'].browse( | ||||
|                 action['context']['statement_ids'] | ||||
|             ): | ||||
|                 self.assertTrue(statement.line_ids) | ||||
|  | @ -0,0 +1,13 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <odoo> | ||||
|     <record id="account_bank_statement_import_view" model="ir.ui.view"> | ||||
|         <field name="model">account.bank.statement.import</field> | ||||
|         <field name="inherit_id" ref="account_bank_statement_import.account_bank_statement_import_view" /> | ||||
|         <field name="arch" type="xml"> | ||||
|             <ul id="statement_format" position="inside"> | ||||
|                 <li>CAMT</li> | ||||
|                 <li>zipped CAMT</li> | ||||
|             </ul> | ||||
|         </field> | ||||
|     </record> | ||||
| </odoo> | ||||
		Loading…
	
		Reference in New Issue