Compare commits
merge into: OCA:11.0
OCA:10.0
OCA:11.0
OCA:12.0
OCA:12.0_PR200
OCA:12.0_PR215
OCA:12.0_bank_statement_import_test
OCA:12.0_fix_qonto_2022_date
OCA:7.0
OCA:8.0
OCA:9.0
pull from: OCA:10.0
OCA:10.0
OCA:11.0
OCA:12.0
OCA:12.0_PR200
OCA:12.0_PR215
OCA:12.0_bank_statement_import_test
OCA:12.0_fix_qonto_2022_date
OCA:7.0
OCA:8.0
OCA:9.0
No commits in common. '11.0' and '10.0' have entirely different histories.
261 changed files with 4482 additions and 3505 deletions
-
8.travis.yml
-
34README.md
-
19account_bank_statement_import_camt/README.rst
-
1account_bank_statement_import_camt/__init__.py
-
3account_bank_statement_import_camt/__manifest__.py
-
50account_bank_statement_import_camt/i18n/account_bank_statement_import_camt.pot
-
17account_bank_statement_import_camt/i18n/account_bank_statement_import_camt_oca.pot
-
30account_bank_statement_import_camt/i18n/de.po
-
55account_bank_statement_import_camt/i18n/es.po
-
30account_bank_statement_import_camt/i18n/fi.po
-
55account_bank_statement_import_camt/i18n/fr.po
-
30account_bank_statement_import_camt/i18n/fr_CH.po
-
30account_bank_statement_import_camt/i18n/gl.po
-
55account_bank_statement_import_camt/i18n/hr.po
-
30account_bank_statement_import_camt/i18n/lt_LT.po
-
30account_bank_statement_import_camt/i18n/nb_NO.po
-
55account_bank_statement_import_camt/i18n/nl.po
-
30account_bank_statement_import_camt/i18n/pt_BR.po
-
30account_bank_statement_import_camt/i18n/pt_PT.po
-
30account_bank_statement_import_camt/i18n/sl.po
-
1account_bank_statement_import_camt/models/__init__.py
-
7account_bank_statement_import_camt/models/account_bank_statement_import.py
-
12account_bank_statement_import_camt/models/parser.py
-
0account_bank_statement_import_camt/static/description/icon.png
-
0account_bank_statement_import_camt/test_files/golden-camt053-no-ntry.pydata
-
4account_bank_statement_import_camt/test_files/golden-camt053-txdtls.pydata
-
0account_bank_statement_import_camt/test_files/golden-camt053.pydata
-
0account_bank_statement_import_camt/test_files/test-camt053
-
0account_bank_statement_import_camt/test_files/test-camt053-no-ntry
-
0account_bank_statement_import_camt/test_files/test-camt053-txdtls
-
0account_bank_statement_import_camt/test_files/test-camt053.zip
-
1account_bank_statement_import_camt/tests/__init__.py
-
132account_bank_statement_import_camt/tests/test_import_bank_statement.py
-
0account_bank_statement_import_camt/views/account_bank_statement_import.xml
-
48account_bank_statement_import_camt_details/README.rst
-
4account_bank_statement_import_camt_details/__init__.py
-
20account_bank_statement_import_camt_details/__manifest__.py
-
50account_bank_statement_import_camt_details/i18n/account_bank_statement_import_camt_details.pot
-
5account_bank_statement_import_camt_details/models/__init__.py
-
27account_bank_statement_import_camt_details/models/account_bank_statement_line.py
-
65account_bank_statement_import_camt_details/models/camt_parser.py
-
BINaccount_bank_statement_import_camt_details/static/description/icon.png
-
12account_bank_statement_import_camt_details/static/src/xml/camt_details_reconciliation_layout.xml
-
5account_bank_statement_import_camt_details/tests/__init__.py
-
69account_bank_statement_import_camt_details/tests/test_import_bank_statement.py
-
17account_bank_statement_import_camt_details/views/account_bank_statement_line.xml
-
1account_bank_statement_import_camt_oca
-
54account_bank_statement_import_camt_oca/i18n/es.po
-
55account_bank_statement_import_camt_oca/i18n/fa.po
-
54account_bank_statement_import_camt_oca/i18n/fr.po
-
55account_bank_statement_import_camt_oca/i18n/hr.po
-
59account_bank_statement_import_camt_oca/i18n/nl.po
-
150account_bank_statement_import_camt_oca/tests/test_import_bank_statement.py
-
69account_bank_statement_import_move_line/README.rst
-
1account_bank_statement_import_move_line/__init__.py
-
4account_bank_statement_import_move_line/__manifest__.py
-
4account_bank_statement_import_move_line/i18n/account_bank_statement_import_move_line.pot
-
2account_bank_statement_import_move_line/i18n/de.po
-
2account_bank_statement_import_move_line/i18n/es.po
-
2account_bank_statement_import_move_line/i18n/fr.po
-
2account_bank_statement_import_move_line/i18n/hr.po
-
2account_bank_statement_import_move_line/i18n/nl.po
-
2account_bank_statement_import_move_line/i18n/pt_BR.po
-
2account_bank_statement_import_move_line/i18n/pt_PT.po
-
2account_bank_statement_import_move_line/i18n/sl.po
-
1account_bank_statement_import_move_line/models/__init__.py
-
1account_bank_statement_import_move_line/models/account_move_line.py
-
1account_bank_statement_import_move_line/readme/CONTRIBUTORS.rst
-
3account_bank_statement_import_move_line/readme/DESCRIPTION.rst
-
8account_bank_statement_import_move_line/readme/USAGE.rst
-
435account_bank_statement_import_move_line/static/description/index.html
-
1account_bank_statement_import_move_line/tests/__init__.py
-
1account_bank_statement_import_move_line/tests/test_account_bank_statement_import_move_line.py
-
1account_bank_statement_import_move_line/wizards/__init__.py
-
1account_bank_statement_import_move_line/wizards/account_statement_line_create.py
-
3account_bank_statement_import_mt940_base/__manifest__.py
-
2account_bank_statement_import_mt940_base/i18n/account_bank_statement_import_mt940_base.pot
-
5account_bank_statement_import_mt940_base/mt940.py
-
156account_bank_statement_import_mt940_base/test_files/test-sns.940
-
1account_bank_statement_import_mt940_base/tests/test_import_bank_statement.py
-
51account_bank_statement_import_mt940_nl_ing/README.rst
-
1account_bank_statement_import_mt940_nl_ing/__init__.py
-
34account_bank_statement_import_mt940_nl_ing/__manifest__.py
-
44account_bank_statement_import_mt940_nl_ing/account_bank_statement_import.py
-
26account_bank_statement_import_mt940_nl_ing/demo/demo_data.xml
-
23account_bank_statement_import_mt940_nl_ing/i18n/es.po
-
23account_bank_statement_import_mt940_nl_ing/i18n/fr.po
-
23account_bank_statement_import_mt940_nl_ing/i18n/lt_LT.po
-
23account_bank_statement_import_mt940_nl_ing/i18n/nl.po
-
23account_bank_statement_import_mt940_nl_ing/i18n/pt_BR.po
-
23account_bank_statement_import_mt940_nl_ing/i18n/sl.po
-
66account_bank_statement_import_mt940_nl_ing/mt940.py
-
61account_bank_statement_import_mt940_nl_ing/test_files/test-ing-old.940
-
62account_bank_statement_import_mt940_nl_ing/test_files/test-ing.940
-
25account_bank_statement_import_mt940_nl_ing/tests/__init__.py
-
53account_bank_statement_import_mt940_nl_ing/tests/test_import_bank_statement.py
-
47account_bank_statement_import_mt940_nl_rabo/README.rst
-
20account_bank_statement_import_mt940_nl_rabo/__init__.py
-
32account_bank_statement_import_mt940_nl_rabo/__manifest__.py
-
46account_bank_statement_import_mt940_nl_rabo/account_bank_statement_import.py
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# © 2013-2016 Therp BV <http://therp.nl> |
# © 2013-2016 Therp BV <http://therp.nl> |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
from . import models |
from . import models |
@ -1,8 +1,9 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# © 2013-2017 Therp BV <http://therp.nl> |
# © 2013-2017 Therp BV <http://therp.nl> |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
{ |
{ |
||||
'name': 'CAMT Format Bank Statements Import', |
'name': 'CAMT Format Bank Statements Import', |
||||
'version': '11.0.1.0.4', |
|
||||
|
'version': '10.0.1.1.5', |
||||
'license': 'AGPL-3', |
'license': 'AGPL-3', |
||||
'author': 'Odoo Community Association (OCA), Therp BV', |
'author': 'Odoo Community Association (OCA), Therp BV', |
||||
'website': 'https://github.com/OCA/bank-statement-import', |
'website': 'https://github.com/OCA/bank-statement-import', |
@ -0,0 +1,50 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_camt |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "CAMT" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_display_name |
||||
|
msgid "Display Name" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_id |
||||
|
msgid "ID" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser___last_update |
||||
|
msgid "Last Modified on" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import_camt_parser |
||||
|
msgid "account.bank.statement.import.camt.parser" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.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 |
||||
|
# |
||||
|
# Translators: |
||||
|
# OCA Transbot <transbot@odoo-community.org>, 2017 |
||||
|
# enjolras <yo@miguelrevilla.com>, 2018 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2018-02-21 01:41+0000\n" |
||||
|
"PO-Revision-Date: 2018-02-21 01:41+0000\n" |
||||
|
"Last-Translator: enjolras <yo@miguelrevilla.com>, 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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "CAMT" |
||||
|
msgstr "CAMT" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_display_name |
||||
|
msgid "Display Name" |
||||
|
msgstr "Nombre a mostrar" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_id |
||||
|
msgid "ID" |
||||
|
msgstr "ID" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importar extracto bancario" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser___last_update |
||||
|
msgid "Last Modified on" |
||||
|
msgstr "Última modificación en" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.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 |
||||
|
# |
||||
|
# Translators: |
||||
|
# Quentin THEURET <odoo@kerpeo.com>, 2017 |
||||
|
# OCA Transbot <transbot@odoo-community.org>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2017-11-21 01:42+0000\n" |
||||
|
"PO-Revision-Date: 2017-11-21 01:42+0000\n" |
||||
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "CAMT" |
||||
|
msgstr "CAMT" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_display_name |
||||
|
msgid "Display Name" |
||||
|
msgstr "Nom affiché" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_id |
||||
|
msgid "ID" |
||||
|
msgstr "ID" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importer Relevé Bancaire" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser___last_update |
||||
|
msgid "Last Modified on" |
||||
|
msgstr "Dernière modification le" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import_camt_parser |
||||
|
msgid "account.bank.statement.import.camt.parser" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.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 |
||||
|
# |
||||
|
# Translators: |
||||
|
# Bole <bole@dajmi5.com>, 2018 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2018-02-21 01:41+0000\n" |
||||
|
"PO-Revision-Date: 2018-02-21 01:41+0000\n" |
||||
|
"Last-Translator: Bole <bole@dajmi5.com>, 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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "CAMT" |
||||
|
msgstr "CAMT" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_display_name |
||||
|
msgid "Display Name" |
||||
|
msgstr "Naziv" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_id |
||||
|
msgid "ID" |
||||
|
msgstr "ID" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Uvoz bankovnog izvoda" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser___last_update |
||||
|
msgid "Last Modified on" |
||||
|
msgstr "Zadnje modificirano" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.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 |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.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 |
||||
|
# |
||||
|
# 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: 2015-07-31 06:44+0000\n" |
||||
|
"Last-Translator: Erwin van der Ploeg <erwin@bas-solutions.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" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "CAMT" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_display_name |
||||
|
msgid "Display Name" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser_id |
||||
|
msgid "ID" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importeer bankafschrift" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt.field_account_bank_statement_import_camt_parser___last_update |
||||
|
msgid "Last Modified on" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt.model_account_bank_statement_import_camt_parser |
||||
|
msgid "account.bank.statement.import.camt.parser" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt |
||||
|
#: model:ir.ui.view,arch_db:account_bank_statement_import_camt.account_bank_statement_import_view |
||||
|
msgid "zipped CAMT" |
||||
|
msgstr "" |
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# © 2013-2016 Therp BV <http://therp.nl> |
# © 2013-2016 Therp BV <http://therp.nl> |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
from . import parser |
from . import parser |
Before Width: 128 | Height: 128 | Size: 9.2 KiB After Width: 128 | Height: 128 | Size: 9.2 KiB |
@ -1,3 +1,4 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
"""Test import of bank statement for camt.053.""" |
"""Test import of bank statement for camt.053.""" |
||||
# © 2013-2016 Therp BV <http://therp.nl> |
# © 2013-2016 Therp BV <http://therp.nl> |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
@ -0,0 +1,132 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""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.tools.misc import file_open |
||||
|
|
||||
|
|
||||
|
DATA_DIR = 'account_bank_statement_import_camt/test_files/' |
||||
|
|
||||
|
|
||||
|
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): |
||||
|
with file_open(inputfile) as testfile: |
||||
|
data = testfile.read() |
||||
|
res = self.parser.parse(data) |
||||
|
with tempfile.NamedTemporaryFile(suffix='.pydata') as temp: |
||||
|
pprint.pprint(res, temp) |
||||
|
with file_open(goldenfile) 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 exptected output:\n%s" % |
||||
|
"".join(diff)) |
||||
|
|
||||
|
def test_parse(self): |
||||
|
self._do_parse_test( |
||||
|
DATA_DIR + 'test-camt053', |
||||
|
DATA_DIR + 'golden-camt053.pydata') |
||||
|
|
||||
|
def test_parse_txdtls(self): |
||||
|
self._do_parse_test( |
||||
|
DATA_DIR + 'test-camt053-txdtls', |
||||
|
DATA_DIR + 'golden-camt053-txdtls.pydata') |
||||
|
|
||||
|
def test_parse_no_ntry(self): |
||||
|
self._do_parse_test( |
||||
|
DATA_DIR + 'test-camt053-no-ntry', |
||||
|
DATA_DIR + '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.""" |
||||
|
action = {} |
||||
|
with file_open(DATA_DIR + 'test-camt053') as testfile: |
||||
|
action = self.env['account.bank.statement.import'].create({ |
||||
|
'data_file': base64.b64encode(testfile.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.""" |
||||
|
with file_open( |
||||
|
'account_bank_statement_import_camt/test_files/test-camt053.zip' |
||||
|
) as testfile: |
||||
|
action = self.env['account.bank.statement.import'].create({ |
||||
|
'data_file': base64.b64encode(testfile.read()), |
||||
|
}).import_file() |
||||
|
for statement in self.env['account.bank.statement'].browse( |
||||
|
action['context']['statement_ids'] |
||||
|
): |
||||
|
self.assertTrue(statement.line_ids) |
@ -0,0 +1,48 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
Bank Statement Parse Camt Debitor Details |
||||
|
========================================= |
||||
|
|
||||
|
Module to add debitor details in bank statement lines from SEPA CAMT.053 Format bank statement files. |
||||
|
|
||||
|
Based on the Banking addons framework. |
||||
|
|
||||
|
Known issues / Roadmap |
||||
|
====================== |
||||
|
|
||||
|
* None |
||||
|
|
||||
|
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 smashing it by providing a detailed and welcomed feedback |
||||
|
`here <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_bank_statement_import%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Emanuel Cino <ecino@compassion.ch> |
||||
|
|
||||
|
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. |
||||
|
This module should make it easy to migrate bank statement import |
||||
|
modules written for earlies versions of Odoo/OpenERP. |
@ -0,0 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
from . import models |
@ -0,0 +1,20 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
{ |
||||
|
'name': 'CAMT Debitor Details Bank Statements Import', |
||||
|
'version': '10.0.1.0.0', |
||||
|
'license': 'AGPL-3', |
||||
|
'author': 'Odoo Community Association (OCA), Compassion CH', |
||||
|
'website': 'https://github.com/OCA/bank-statement-import', |
||||
|
'category': 'Banking addons', |
||||
|
'depends': [ |
||||
|
'account_bank_statement_import_camt', |
||||
|
], |
||||
|
'data': [ |
||||
|
'views/account_bank_statement_line.xml', |
||||
|
], |
||||
|
'qweb': [ |
||||
|
'static/src/xml/camt_details_reconciliation_layout.xml', |
||||
|
] |
||||
|
} |
@ -0,0 +1,50 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_camt_details |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.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_details |
||||
|
#. openerp-web |
||||
|
#: code:addons/account_bank_statement_import_camt_details/static/src/xml/camt_details_reconciliation_layout.xml:6 |
||||
|
#, python-format |
||||
|
msgid "Address" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt_details |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt_details.model_account_bank_statement_line |
||||
|
msgid "Bank Statement Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt_details |
||||
|
#. openerp-web |
||||
|
#: code:addons/account_bank_statement_import_camt_details/static/src/xml/camt_details_reconciliation_layout.xml:9 |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt_details.field_account_bank_statement_line_partner_account |
||||
|
#, python-format |
||||
|
msgid "Partner account" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt_details |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt_details.field_account_bank_statement_line_partner_address |
||||
|
msgid "Partner address" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt_details |
||||
|
#: model:ir.model.fields,field_description:account_bank_statement_import_camt_details.field_account_bank_statement_line_partner_bic |
||||
|
msgid "Partner bic" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: account_bank_statement_import_camt_details |
||||
|
#: model:ir.model,name:account_bank_statement_import_camt_details.model_account_bank_statement_import_camt_parser |
||||
|
msgid "account.bank.statement.import.camt.parser" |
||||
|
msgstr "" |
||||
|
|
@ -0,0 +1,5 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
from . import account_bank_statement_line |
||||
|
from . import camt_parser |
@ -0,0 +1,27 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""Add process_camt method to account.bank.statement.import.""" |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class AccountBankStatementLine(models.Model): |
||||
|
"""Add process_camt method to account.bank.statement.import.""" |
||||
|
_inherit = 'account.bank.statement.line' |
||||
|
|
||||
|
partner_address = fields.Char() |
||||
|
partner_account = fields.Char() |
||||
|
partner_bic = fields.Char() |
||||
|
|
||||
|
def get_statement_line_for_reconciliation_widget(self): |
||||
|
""" Returns the data required by the bank statement |
||||
|
reconciliation widget to display a statement line |
||||
|
""" |
||||
|
data = super(AccountBankStatementLine, |
||||
|
self).get_statement_line_for_reconciliation_widget() |
||||
|
if self.partner_address: |
||||
|
data['partner_address'] = self.partner_address |
||||
|
if self.partner_account: |
||||
|
data['partner_account'] = self.partner_account |
||||
|
|
||||
|
return data |
@ -0,0 +1,65 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
from odoo import models |
||||
|
from odoo.tools import OrderedDict |
||||
|
|
||||
|
|
||||
|
class CamtDetailsParser(models.AbstractModel): |
||||
|
"""Parser for camt bank statement import files.""" |
||||
|
_inherit = 'account.bank.statement.import.camt.parser' |
||||
|
|
||||
|
def parse_transaction_details(self, ns, node, transaction): |
||||
|
"""Parse transaction details (message, party, account...).""" |
||||
|
super(CamtDetailsParser, self).parse_transaction_details( |
||||
|
ns, node, transaction) |
||||
|
|
||||
|
# 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' |
||||
|
address_node = node.xpath( |
||||
|
'./ns:RltdPties/ns:%s/ns:PstlAdr' % party_type, |
||||
|
namespaces={'ns': ns}) |
||||
|
if address_node and not transaction.get('partner_address'): |
||||
|
address_values = OrderedDict() |
||||
|
street_node = address_node[0].xpath( |
||||
|
'./ns:StrtNm', namespaces={'ns': ns}) |
||||
|
if street_node: |
||||
|
address_values['street'] = street_node[0].text |
||||
|
building_node = address_node[0].xpath( |
||||
|
'./ns:BldgNb', namespaces={'ns': ns}) |
||||
|
if building_node: |
||||
|
address_values['building'] = building_node[0].text |
||||
|
zip_node = address_node[0].xpath( |
||||
|
'./ns:PstCd', namespaces={'ns': ns}) |
||||
|
if zip_node: |
||||
|
address_values['zip'] = zip_node[0].text |
||||
|
city_node = address_node[0].xpath( |
||||
|
'./ns:TwnNm', namespaces={'ns': ns}) |
||||
|
if city_node: |
||||
|
address_values['city'] = city_node[0].text |
||||
|
transaction['partner_address'] = self._format_partner_address( |
||||
|
address_values) |
||||
|
|
||||
|
# BIC node |
||||
|
bic_node = node.xpath( |
||||
|
'./ns:RltdAgts/ns:%sAgt/ns:FinInstnId/ns:BIC' % party_type, |
||||
|
namespaces={'ns': ns}) |
||||
|
if bic_node: |
||||
|
transaction['partner_bic'] = bic_node[0].text |
||||
|
|
||||
|
# Transfer account info in fields |
||||
|
transaction['partner_account'] = transaction.get('account_number') |
||||
|
|
||||
|
def _format_partner_address(self, address_values): |
||||
|
""" |
||||
|
Hook for formatting the partner address read in CAMT bank statement. |
||||
|
:param address_values: dict: all address values found in statement |
||||
|
Possible keys are ['street', 'building', 'zip', 'city'] |
||||
|
Not all keys may be present. |
||||
|
:return: str: formatted address |
||||
|
""" |
||||
|
return ', '.join(address_values.values()) |
After Width: 128 | Height: 128 | Size: 9.2 KiB |
@ -0,0 +1,12 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<templates id="template" xml:space="preserve"> |
||||
|
<t t-extend="bank_statement_reconciliation_statement_line_details"> |
||||
|
|
||||
|
<t t-jquery="table.details > tr:nth-child(2)" t-operation="after"> |
||||
|
<tr t-if="line.partner_address"><td>Address</td><td><t t-esc="line.partner_address"/></td></tr> |
||||
|
</t> |
||||
|
<t t-jquery="table.details > tr:nth-child(6)" t-operation="after"> |
||||
|
<tr t-if="line.partner_account"><td>Partner account</td><td><t t-esc="line.partner_account"/></td></tr> |
||||
|
</t> |
||||
|
</t> |
||||
|
</templates> |
@ -0,0 +1,5 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
"""Test import of bank statement for camt.053.""" |
||||
|
# © 2017 Compassion CH <http://www.compassion.ch> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
from . import test_import_bank_statement |
@ -0,0 +1,69 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2017 CompassionCH <http://therp.nl> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
import base64 |
||||
|
from odoo.tests.common import TransactionCase |
||||
|
from odoo.tools.misc import file_open |
||||
|
|
||||
|
|
||||
|
class TestImport(TransactionCase): |
||||
|
"""Run test to import camt import.""" |
||||
|
|
||||
|
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 that transaction details are correctly imported.""" |
||||
|
line_details = [ |
||||
|
{ |
||||
|
'partner_account': 'NL69ABNA0522123643', |
||||
|
'partner_bic': 'ABNANL2A', |
||||
|
'partner_name': '3rd party Media', |
||||
|
'partner_address': 'SOMESTREET 570-A, 1276 ML HOUSCITY' |
||||
|
}, |
||||
|
{ |
||||
|
'partner_account': 'NL46ABNA0499998748', |
||||
|
'partner_bic': 'ABNANL2A', |
||||
|
'partner_name': 'Test Customer', |
||||
|
}, |
||||
|
{ |
||||
|
'partner_account': 'NL46ABNA0499998748', |
||||
|
'partner_bic': 'ABNANL2A', |
||||
|
'partner_name': 'Test Customer', |
||||
|
}, |
||||
|
{ |
||||
|
'partner_account': 'NL46ABNA0499998748', |
||||
|
'partner_bic': 'ABNANL2A', |
||||
|
'partner_name': 'INSURANCE COMPANY TESTX', |
||||
|
'partner_address': 'TEST STREET 20, 1234 AB TESTCITY' |
||||
|
}, |
||||
|
] |
||||
|
with file_open( |
||||
|
'account_bank_statement_import_camt/test_files/test-camt053' |
||||
|
) as testfile: |
||||
|
action = self.env['account.bank.statement.import'].create({ |
||||
|
'data_file': base64.b64encode(testfile.read()), |
||||
|
}).import_file() |
||||
|
statement_lines = self.env['account.bank.statement'].browse( |
||||
|
action['context']['statement_ids']).mapped('line_ids') |
||||
|
for i in range(0, len(line_details)): |
||||
|
line = statement_lines[i] |
||||
|
rec_data = line.get_statement_line_for_reconciliation_widget() |
||||
|
for key, val in line_details[i].iteritems(): |
||||
|
# test data is in reconcile data view |
||||
|
if key in ('partner_account', 'partner_address'): |
||||
|
self.assertEqual(val, rec_data.get(key)) |
||||
|
# test field is set in model |
||||
|
self.assertEqual(getattr(line, key), val) |
@ -0,0 +1,17 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<odoo> |
||||
|
<record id="statement_line_details" model="ir.ui.view"> |
||||
|
<field name="name">bank.statement.line.details</field> |
||||
|
<field name="model">account.bank.statement.line</field> |
||||
|
<field name="type">form</field> |
||||
|
<field name="inherit_id" ref="account.view_bank_statement_line_form" /> |
||||
|
<field name="arch" type="xml"> |
||||
|
<field name="partner_id" position="after"> |
||||
|
<field name="partner_name"/> |
||||
|
<field name="partner_account"/> |
||||
|
<field name="partner_address"/> |
||||
|
<field name="partner_bic"/> |
||||
|
</field> |
||||
|
</field> |
||||
|
</record> |
||||
|
</odoo> |
@ -0,0 +1 @@ |
|||||
|
account_bank_statement_import_camt |
@ -1,54 +0,0 @@ |
|||||
# 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" |
|
@ -1,55 +0,0 @@ |
|||||
# 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 زیپ شده" |
|
@ -1,54 +0,0 @@ |
|||||
# 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é" |
|
@ -1,55 +0,0 @@ |
|||||
# 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" |
|
@ -1,59 +0,0 @@ |
|||||
# 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" |
|
@ -1,150 +0,0 @@ |
|||||
"""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) |
|
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
||||
|
|
||||
from . import models |
from . import models |
||||
|
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
||||
|
|
||||
from . import account_move_line |
from . import account_move_line |
@ -1 +0,0 @@ |
|||||
* Luis M. Ontalba luis.martinez@tecnativa.com> |
|
@ -1,3 +0,0 @@ |
|||||
This module adds a button to bank statement form view to open a wizard to allow |
|
||||
filtering, selecting and importing lines form journal items into the bank |
|
||||
statement. |
|
@ -1,8 +0,0 @@ |
|||||
#. Go to Invoicing > Dashboard. |
|
||||
#. Create a new bank statement from a bank journal. |
|
||||
#. Click button "Import Journal Items". |
|
||||
#. Select filtering options. |
|
||||
#. Click on button "Add All Move Lines" to auto-select the move lines matching |
|
||||
the selected criteria or click on Add an item to manually select the move |
|
||||
lines filtered by the criteria. |
|
||||
#. Click on button "Create Statement Lines". |
|
@ -1,435 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" ?> |
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
||||
<head> |
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
||||
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" /> |
|
||||
<title>Bank statement import move lines</title> |
|
||||
<style type="text/css"> |
|
||||
|
|
||||
/* |
|
||||
:Author: David Goodger (goodger@python.org) |
|
||||
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ |
|
||||
:Copyright: This stylesheet has been placed in the public domain. |
|
||||
|
|
||||
Default cascading style sheet for the HTML output of Docutils. |
|
||||
|
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to |
|
||||
customize this style sheet. |
|
||||
*/ |
|
||||
|
|
||||
/* used to remove borders from tables and images */ |
|
||||
.borderless, table.borderless td, table.borderless th { |
|
||||
border: 0 } |
|
||||
|
|
||||
table.borderless td, table.borderless th { |
|
||||
/* Override padding for "table.docutils td" with "! important". |
|
||||
The right padding separates the table cells. */ |
|
||||
padding: 0 0.5em 0 0 ! important } |
|
||||
|
|
||||
.first { |
|
||||
/* Override more specific margin styles with "! important". */ |
|
||||
margin-top: 0 ! important } |
|
||||
|
|
||||
.last, .with-subtitle { |
|
||||
margin-bottom: 0 ! important } |
|
||||
|
|
||||
.hidden { |
|
||||
display: none } |
|
||||
|
|
||||
.subscript { |
|
||||
vertical-align: sub; |
|
||||
font-size: smaller } |
|
||||
|
|
||||
.superscript { |
|
||||
vertical-align: super; |
|
||||
font-size: smaller } |
|
||||
|
|
||||
a.toc-backref { |
|
||||
text-decoration: none ; |
|
||||
color: black } |
|
||||
|
|
||||
blockquote.epigraph { |
|
||||
margin: 2em 5em ; } |
|
||||
|
|
||||
dl.docutils dd { |
|
||||
margin-bottom: 0.5em } |
|
||||
|
|
||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms |
|
||||
dl.docutils dt { |
|
||||
font-weight: bold } |
|
||||
*/ |
|
||||
|
|
||||
div.abstract { |
|
||||
margin: 2em 5em } |
|
||||
|
|
||||
div.abstract p.topic-title { |
|
||||
font-weight: bold ; |
|
||||
text-align: center } |
|
||||
|
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error, |
|
||||
div.hint, div.important, div.note, div.tip, div.warning { |
|
||||
margin: 2em ; |
|
||||
border: medium outset ; |
|
||||
padding: 1em } |
|
||||
|
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title, |
|
||||
div.important p.admonition-title, div.note p.admonition-title, |
|
||||
div.tip p.admonition-title { |
|
||||
font-weight: bold ; |
|
||||
font-family: sans-serif } |
|
||||
|
|
||||
div.attention p.admonition-title, div.caution p.admonition-title, |
|
||||
div.danger p.admonition-title, div.error p.admonition-title, |
|
||||
div.warning p.admonition-title, .code .error { |
|
||||
color: red ; |
|
||||
font-weight: bold ; |
|
||||
font-family: sans-serif } |
|
||||
|
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in |
|
||||
compound paragraphs. |
|
||||
div.compound .compound-first, div.compound .compound-middle { |
|
||||
margin-bottom: 0.5em } |
|
||||
|
|
||||
div.compound .compound-last, div.compound .compound-middle { |
|
||||
margin-top: 0.5em } |
|
||||
*/ |
|
||||
|
|
||||
div.dedication { |
|
||||
margin: 2em 5em ; |
|
||||
text-align: center ; |
|
||||
font-style: italic } |
|
||||
|
|
||||
div.dedication p.topic-title { |
|
||||
font-weight: bold ; |
|
||||
font-style: normal } |
|
||||
|
|
||||
div.figure { |
|
||||
margin-left: 2em ; |
|
||||
margin-right: 2em } |
|
||||
|
|
||||
div.footer, div.header { |
|
||||
clear: both; |
|
||||
font-size: smaller } |
|
||||
|
|
||||
div.line-block { |
|
||||
display: block ; |
|
||||
margin-top: 1em ; |
|
||||
margin-bottom: 1em } |
|
||||
|
|
||||
div.line-block div.line-block { |
|
||||
margin-top: 0 ; |
|
||||
margin-bottom: 0 ; |
|
||||
margin-left: 1.5em } |
|
||||
|
|
||||
div.sidebar { |
|
||||
margin: 0 0 0.5em 1em ; |
|
||||
border: medium outset ; |
|
||||
padding: 1em ; |
|
||||
background-color: #ffffee ; |
|
||||
width: 40% ; |
|
||||
float: right ; |
|
||||
clear: right } |
|
||||
|
|
||||
div.sidebar p.rubric { |
|
||||
font-family: sans-serif ; |
|
||||
font-size: medium } |
|
||||
|
|
||||
div.system-messages { |
|
||||
margin: 5em } |
|
||||
|
|
||||
div.system-messages h1 { |
|
||||
color: red } |
|
||||
|
|
||||
div.system-message { |
|
||||
border: medium outset ; |
|
||||
padding: 1em } |
|
||||
|
|
||||
div.system-message p.system-message-title { |
|
||||
color: red ; |
|
||||
font-weight: bold } |
|
||||
|
|
||||
div.topic { |
|
||||
margin: 2em } |
|
||||
|
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, |
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { |
|
||||
margin-top: 0.4em } |
|
||||
|
|
||||
h1.title { |
|
||||
text-align: center } |
|
||||
|
|
||||
h2.subtitle { |
|
||||
text-align: center } |
|
||||
|
|
||||
hr.docutils { |
|
||||
width: 75% } |
|
||||
|
|
||||
img.align-left, .figure.align-left, object.align-left, table.align-left { |
|
||||
clear: left ; |
|
||||
float: left ; |
|
||||
margin-right: 1em } |
|
||||
|
|
||||
img.align-right, .figure.align-right, object.align-right, table.align-right { |
|
||||
clear: right ; |
|
||||
float: right ; |
|
||||
margin-left: 1em } |
|
||||
|
|
||||
img.align-center, .figure.align-center, object.align-center { |
|
||||
display: block; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
table.align-center { |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
.align-left { |
|
||||
text-align: left } |
|
||||
|
|
||||
.align-center { |
|
||||
clear: both ; |
|
||||
text-align: center } |
|
||||
|
|
||||
.align-right { |
|
||||
text-align: right } |
|
||||
|
|
||||
/* reset inner alignment in figures */ |
|
||||
div.align-right { |
|
||||
text-align: inherit } |
|
||||
|
|
||||
/* div.align-center * { */ |
|
||||
/* text-align: left } */ |
|
||||
|
|
||||
.align-top { |
|
||||
vertical-align: top } |
|
||||
|
|
||||
.align-middle { |
|
||||
vertical-align: middle } |
|
||||
|
|
||||
.align-bottom { |
|
||||
vertical-align: bottom } |
|
||||
|
|
||||
ol.simple, ul.simple { |
|
||||
margin-bottom: 1em } |
|
||||
|
|
||||
ol.arabic { |
|
||||
list-style: decimal } |
|
||||
|
|
||||
ol.loweralpha { |
|
||||
list-style: lower-alpha } |
|
||||
|
|
||||
ol.upperalpha { |
|
||||
list-style: upper-alpha } |
|
||||
|
|
||||
ol.lowerroman { |
|
||||
list-style: lower-roman } |
|
||||
|
|
||||
ol.upperroman { |
|
||||
list-style: upper-roman } |
|
||||
|
|
||||
p.attribution { |
|
||||
text-align: right ; |
|
||||
margin-left: 50% } |
|
||||
|
|
||||
p.caption { |
|
||||
font-style: italic } |
|
||||
|
|
||||
p.credits { |
|
||||
font-style: italic ; |
|
||||
font-size: smaller } |
|
||||
|
|
||||
p.label { |
|
||||
white-space: nowrap } |
|
||||
|
|
||||
p.rubric { |
|
||||
font-weight: bold ; |
|
||||
font-size: larger ; |
|
||||
color: maroon ; |
|
||||
text-align: center } |
|
||||
|
|
||||
p.sidebar-title { |
|
||||
font-family: sans-serif ; |
|
||||
font-weight: bold ; |
|
||||
font-size: larger } |
|
||||
|
|
||||
p.sidebar-subtitle { |
|
||||
font-family: sans-serif ; |
|
||||
font-weight: bold } |
|
||||
|
|
||||
p.topic-title { |
|
||||
font-weight: bold } |
|
||||
|
|
||||
pre.address { |
|
||||
margin-bottom: 0 ; |
|
||||
margin-top: 0 ; |
|
||||
font: inherit } |
|
||||
|
|
||||
pre.literal-block, pre.doctest-block, pre.math, pre.code { |
|
||||
margin-left: 2em ; |
|
||||
margin-right: 2em } |
|
||||
|
|
||||
pre.code .ln { color: grey; } /* line numbers */ |
|
||||
pre.code, code { background-color: #eeeeee } |
|
||||
pre.code .comment, code .comment { color: #5C6576 } |
|
||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } |
|
||||
pre.code .literal.string, code .literal.string { color: #0C5404 } |
|
||||
pre.code .name.builtin, code .name.builtin { color: #352B84 } |
|
||||
pre.code .deleted, code .deleted { background-color: #DEB0A1} |
|
||||
pre.code .inserted, code .inserted { background-color: #A3D289} |
|
||||
|
|
||||
span.classifier { |
|
||||
font-family: sans-serif ; |
|
||||
font-style: oblique } |
|
||||
|
|
||||
span.classifier-delimiter { |
|
||||
font-family: sans-serif ; |
|
||||
font-weight: bold } |
|
||||
|
|
||||
span.interpreted { |
|
||||
font-family: sans-serif } |
|
||||
|
|
||||
span.option { |
|
||||
white-space: nowrap } |
|
||||
|
|
||||
span.pre { |
|
||||
white-space: pre } |
|
||||
|
|
||||
span.problematic { |
|
||||
color: red } |
|
||||
|
|
||||
span.section-subtitle { |
|
||||
/* font-size relative to parent (h1..h6 element) */ |
|
||||
font-size: 80% } |
|
||||
|
|
||||
table.citation { |
|
||||
border-left: solid 1px gray; |
|
||||
margin-left: 1px } |
|
||||
|
|
||||
table.docinfo { |
|
||||
margin: 2em 4em } |
|
||||
|
|
||||
table.docutils { |
|
||||
margin-top: 0.5em ; |
|
||||
margin-bottom: 0.5em } |
|
||||
|
|
||||
table.footnote { |
|
||||
border-left: solid 1px black; |
|
||||
margin-left: 1px } |
|
||||
|
|
||||
table.docutils td, table.docutils th, |
|
||||
table.docinfo td, table.docinfo th { |
|
||||
padding-left: 0.5em ; |
|
||||
padding-right: 0.5em ; |
|
||||
vertical-align: top } |
|
||||
|
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name { |
|
||||
font-weight: bold ; |
|
||||
text-align: left ; |
|
||||
white-space: nowrap ; |
|
||||
padding-left: 0 } |
|
||||
|
|
||||
/* "booktabs" style (no vertical lines) */ |
|
||||
table.docutils.booktabs { |
|
||||
border: 0px; |
|
||||
border-top: 2px solid; |
|
||||
border-bottom: 2px solid; |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
table.docutils.booktabs * { |
|
||||
border: 0px; |
|
||||
} |
|
||||
table.docutils.booktabs th { |
|
||||
border-bottom: thin solid; |
|
||||
text-align: left; |
|
||||
} |
|
||||
|
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, |
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { |
|
||||
font-size: 100% } |
|
||||
|
|
||||
ul.auto-toc { |
|
||||
list-style-type: none } |
|
||||
|
|
||||
</style> |
|
||||
</head> |
|
||||
<body> |
|
||||
<div class="document" id="bank-statement-import-move-lines"> |
|
||||
<h1 class="title">Bank statement import move lines</h1> |
|
||||
|
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
||||
!! This file is generated by oca-gen-addon-readme !! |
|
||||
!! changes will be overwritten. !! |
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> |
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/11.0/account_bank_statement_import_move_line"><img alt="OCA/bank-statement-import" src="https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/bank-statement-import-11-0/bank-statement-import-11-0-account_bank_statement_import_move_line"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/174/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> |
|
||||
<p>This module adds a button to bank statement form view to open a wizard to allow |
|
||||
filtering, selecting and importing lines form journal items into the bank |
|
||||
statement.</p> |
|
||||
<p><strong>Table of contents</strong></p> |
|
||||
<div class="contents local topic" id="contents"> |
|
||||
<ul class="simple"> |
|
||||
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li> |
|
||||
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li> |
|
||||
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul> |
|
||||
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li> |
|
||||
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li> |
|
||||
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li> |
|
||||
</ul> |
|
||||
</li> |
|
||||
</ul> |
|
||||
</div> |
|
||||
<div class="section" id="usage"> |
|
||||
<h1><a class="toc-backref" href="#id1">Usage</a></h1> |
|
||||
<ol class="arabic simple"> |
|
||||
<li>Go to Invoicing > Dashboard.</li> |
|
||||
<li>Create a new bank statement from a bank journal.</li> |
|
||||
<li>Click button “Import Journal Items”.</li> |
|
||||
<li>Select filtering options.</li> |
|
||||
<li>Click on button “Add All Move Lines” to auto-select the move lines matching |
|
||||
the selected criteria or click on Add an item to manually select the move |
|
||||
lines filtered by the criteria.</li> |
|
||||
<li>Click on button “Create Statement Lines”.</li> |
|
||||
</ol> |
|
||||
</div> |
|
||||
<div class="section" id="bug-tracker"> |
|
||||
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1> |
|
||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/bank-statement-import/issues">GitHub Issues</a>. |
|
||||
In case of trouble, please check there if your issue has already been reported. |
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed |
|
||||
<a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_bank_statement_import_move_line%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> |
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p> |
|
||||
</div> |
|
||||
<div class="section" id="credits"> |
|
||||
<h1><a class="toc-backref" href="#id3">Credits</a></h1> |
|
||||
<div class="section" id="authors"> |
|
||||
<h2><a class="toc-backref" href="#id4">Authors</a></h2> |
|
||||
<ul class="simple"> |
|
||||
<li>Tecnativa</li> |
|
||||
</ul> |
|
||||
</div> |
|
||||
<div class="section" id="contributors"> |
|
||||
<h2><a class="toc-backref" href="#id5">Contributors</a></h2> |
|
||||
<ul class="simple"> |
|
||||
<li>Luis M. Ontalba <a class="reference external" href="mailto:luis.martinez@tecnativa.com">luis.martinez@tecnativa.com</a>></li> |
|
||||
</ul> |
|
||||
</div> |
|
||||
<div class="section" id="maintainers"> |
|
||||
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2> |
|
||||
<p>This module is maintained by the OCA.</p> |
|
||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> |
|
||||
<p>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.</p> |
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/11.0/account_bank_statement_import_move_line">OCA/bank-statement-import</a> project on GitHub.</p> |
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</body> |
|
||||
</html> |
|
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0 |
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0 |
||||
|
|
||||
from . import test_account_bank_statement_import_move_line |
from . import test_account_bank_statement_import_move_line |
@ -1,3 +1,4 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html |
||||
|
|
||||
from . import account_statement_line_create |
from . import account_statement_line_create |
@ -1,78 +1,78 @@ |
|||||
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
|
||||
:20:0000000000 |
|
||||
:25:NL05SNSB0908244436 |
|
||||
:28C:361/1 |
|
||||
:60F:C171227EUR3026,96 |
|
||||
:61:1712271227D713,13NOVBNL49RABO0166416932 |
|
||||
gerrits glas en schilderwerk |
|
||||
:86:NL49RABO0166416932 gerrits glas en schilderwerk |
|
||||
|
|
||||
Factuur 17227/248/20 |
|
||||
|
|
||||
|
|
||||
|
|
||||
:61:1712271227D10,18NBEA//228ohu/972795 |
|
||||
:86: |
|
||||
|
|
||||
Jumbo Wijchen B.V. >WIJCHEN 27.12.2017 13U38 KV005 4XZJ4Z M |
|
||||
CC:5411 Contactloze betaling |
|
||||
|
|
||||
|
|
||||
:61:1712271227D13,52NINCNL94INGB0000869000 |
|
||||
vitens nv |
|
||||
:86:NL94INGB0000869000 vitens nv |
|
||||
|
|
||||
Europese incasso door:VITENS NV NL-Factuurnr 072304597540 VNKlant |
|
||||
nr 00000000000 BTW 0,77PC 6605 DW 6223, DEC-Incassant ID: NL84ZZZ0 |
|
||||
50695810000-Kenmerk Machtiging: bla |
|
||||
|
|
||||
:61:1712271227D25,61NBEA//229hro/195867 |
|
||||
:86: |
|
||||
|
|
||||
Albert Heijn 1370 >WIJCHEN 27.12.2017 19U13 KV006 70X708 M |
|
||||
CC:5411 |
|
||||
|
|
||||
|
|
||||
:62F:C171227EUR2264,52 |
|
||||
-}{5:} |
|
||||
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
|
||||
:20:0000000000 |
|
||||
:25:NL05SNSB0908244436 |
|
||||
:28C:362/1 |
|
||||
:60F:C171228EUR2264,52 |
|
||||
:61:1712281228D10,95NINCNL40RABO0127859497 |
|
||||
antagonist b.v. |
|
||||
:86:NL40RABO0127859497 antagonist b.v. |
|
||||
|
|
||||
Europese incasso door:ANTAGONIST B.V. NL-DDWPN954156 AI529942Cweb |
|
||||
share.nl-Incassant ID: NL65ZZZ091364410000-Kenmerk Machtiging: bla |
|
||||
|
|
||||
:61:1712281228C0,00NDIV |
|
||||
:86: |
|
||||
|
|
||||
Mobiel betalen is vanaf nu niet meer mogelijk voor B |
|
||||
ERG M A VAN DEN met Lenovo P2 |
|
||||
|
|
||||
|
|
||||
:62F:C171228EUR2253,57 |
|
||||
-}{5:} |
|
||||
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
|
||||
:20:0000000000 |
|
||||
:25:NL05SNSB0908244436 |
|
||||
:28C:363/1 |
|
||||
:60F:C171229EUR2253,57 |
|
||||
:61:1712291229D907,29NINCNL19ABNA0427093546 |
|
||||
florius |
|
||||
:86:NL19ABNA0427093546 florius |
|
||||
|
|
||||
Europese incasso door:FLORIUS NL-Verschuldigde bedragen PERIODE 1 |
|
||||
2-2017-Incassant ID: NL42ZZZ080242850000-Kenmerk Machtiging: bla |
|
||||
|
|
||||
:61:1712291229D35,00NINCNL28DEUT0265186439 |
|
||||
stichting derdengelden bucka |
|
||||
:86:NL28DEUT0265186439 stichting derdengelden bucka |
|
||||
|
|
||||
Europese incasso door:STICHTING DERDENGELDEN BUCKAROO-T-Mobile Th |
|
||||
uis B.V.: Rekening dec 2017. Bekijk je rekening op thuismy.t-mobi |
|
||||
le.nl-Incassant ID: NL39ZZZ302317620000-Kenmerk Machtiging: bla |
|
||||
-}{5:} |
|
||||
|
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
||||
|
:20:0000000000 |
||||
|
:25:NL05SNSB0908244436 |
||||
|
:28C:361/1 |
||||
|
:60F:C171227EUR3026,96 |
||||
|
:61:1712271227D713,13NOVBNL49RABO0166416932 |
||||
|
gerrits glas en schilderwerk |
||||
|
:86:NL49RABO0166416932 gerrits glas en schilderwerk |
||||
|
|
||||
|
Factuur 17227/248/20 |
||||
|
|
||||
|
|
||||
|
|
||||
|
:61:1712271227D10,18NBEA//228ohu/972795 |
||||
|
:86: |
||||
|
|
||||
|
Jumbo Wijchen B.V. >WIJCHEN 27.12.2017 13U38 KV005 4XZJ4Z M |
||||
|
CC:5411 Contactloze betaling |
||||
|
|
||||
|
|
||||
|
:61:1712271227D13,52NINCNL94INGB0000869000 |
||||
|
vitens nv |
||||
|
:86:NL94INGB0000869000 vitens nv |
||||
|
|
||||
|
Europese incasso door:VITENS NV NL-Factuurnr 072304597540 VNKlant |
||||
|
nr 00000000000 BTW 0,77PC 6605 DW 6223, DEC-Incassant ID: NL84ZZZ0 |
||||
|
50695810000-Kenmerk Machtiging: bla |
||||
|
|
||||
|
:61:1712271227D25,61NBEA//229hro/195867 |
||||
|
:86: |
||||
|
|
||||
|
Albert Heijn 1370 >WIJCHEN 27.12.2017 19U13 KV006 70X708 M |
||||
|
CC:5411 |
||||
|
|
||||
|
|
||||
|
:62F:C171227EUR2264,52 |
||||
|
-}{5:} |
||||
|
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
||||
|
:20:0000000000 |
||||
|
:25:NL05SNSB0908244436 |
||||
|
:28C:362/1 |
||||
|
:60F:C171228EUR2264,52 |
||||
|
:61:1712281228D10,95NINCNL40RABO0127859497 |
||||
|
antagonist b.v. |
||||
|
:86:NL40RABO0127859497 antagonist b.v. |
||||
|
|
||||
|
Europese incasso door:ANTAGONIST B.V. NL-DDWPN954156 AI529942Cweb |
||||
|
share.nl-Incassant ID: NL65ZZZ091364410000-Kenmerk Machtiging: bla |
||||
|
|
||||
|
:61:1712281228C0,00NDIV |
||||
|
:86: |
||||
|
|
||||
|
Mobiel betalen is vanaf nu niet meer mogelijk voor B |
||||
|
ERG M A VAN DEN met Lenovo P2 |
||||
|
|
||||
|
|
||||
|
:62F:C171228EUR2253,57 |
||||
|
-}{5:} |
||||
|
{1:F01SNSBNL2AXXXX0000000000}{2:O940SNSBNL2AXXXXN}{3:}{4: |
||||
|
:20:0000000000 |
||||
|
:25:NL05SNSB0908244436 |
||||
|
:28C:363/1 |
||||
|
:60F:C171229EUR2253,57 |
||||
|
:61:1712291229D907,29NINCNL19ABNA0427093546 |
||||
|
florius |
||||
|
:86:NL19ABNA0427093546 florius |
||||
|
|
||||
|
Europese incasso door:FLORIUS NL-Verschuldigde bedragen PERIODE 1 |
||||
|
2-2017-Incassant ID: NL42ZZZ080242850000-Kenmerk Machtiging: bla |
||||
|
|
||||
|
:61:1712291229D35,00NINCNL28DEUT0265186439 |
||||
|
stichting derdengelden bucka |
||||
|
:86:NL28DEUT0265186439 stichting derdengelden bucka |
||||
|
|
||||
|
Europese incasso door:STICHTING DERDENGELDEN BUCKAROO-T-Mobile Th |
||||
|
uis B.V.: Rekening dec 2017. Bekijk je rekening op thuismy.t-mobi |
||||
|
le.nl-Incassant ID: NL39ZZZ302317620000-Kenmerk Machtiging: bla |
||||
|
-}{5:} |
@ -0,0 +1,51 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
Import MT940 IBAN ING Bank Statements |
||||
|
===================================== |
||||
|
|
||||
|
This module allows you to import the MT940 IBAN files from the Dutch ING bank |
||||
|
in Odoo as bank statements. |
||||
|
The specifications are published at: |
||||
|
https://www.ing.nl/media/ING_ming_mt940s_24_juli_tcm162-46356.pdf |
||||
|
and were last updated august 2014. |
||||
|
|
||||
|
Known issues / Roadmap |
||||
|
====================== |
||||
|
|
||||
|
* None |
||||
|
|
||||
|
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 smashing it by providing a detailed and welcomed feedback |
||||
|
`here <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_bank_statement_import%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Stefan Rijnhart <srijnhart@therp.nl> |
||||
|
* Ronald Portier <rportier@therp.nl> |
||||
|
|
||||
|
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. |
||||
|
This module should make it easy to migrate bank statement import |
||||
|
modules written for earlies versions of Odoo/OpenERP. |
@ -0,0 +1 @@ |
|||||
|
from . import account_bank_statement_import |
@ -0,0 +1,34 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2013-2015 Therp BV <http://therp.nl> |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as published |
||||
|
# by the Free Software Foundation, either version 3 of the License, or |
||||
|
# (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
'name': 'MT940 IBAN ING Format Bank Statements Import', |
||||
|
'version': '8.0.0.3.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_mt940_base' |
||||
|
], |
||||
|
'demo': [ |
||||
|
'demo/demo_data.xml', |
||||
|
], |
||||
|
'installable': False |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""Parse a MT940 ING file.""" |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2013-2015 Therp BV <http://therp.nl> |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as published |
||||
|
# by the Free Software Foundation, either version 3 of the License, or |
||||
|
# (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import logging |
||||
|
from openerp import models |
||||
|
from .mt940 import MT940Parser as Parser |
||||
|
|
||||
|
|
||||
|
_logger = logging.getLogger(__name__) |
||||
|
|
||||
|
|
||||
|
class AccountBankStatementImport(models.TransientModel): |
||||
|
"""Add parsing of mt940 files to bank statement import.""" |
||||
|
_inherit = 'account.bank.statement.import' |
||||
|
|
||||
|
def _parse_file(self, cr, uid, data_file, context=None): |
||||
|
"""Parse a MT940 IBAN ING file.""" |
||||
|
parser = Parser() |
||||
|
try: |
||||
|
_logger.debug("Try parsing with MT940 IBAN ING.") |
||||
|
return parser.parse(data_file) |
||||
|
except ValueError: |
||||
|
# Returning super will call next candidate: |
||||
|
_logger.debug("Statement file was not a MT940 IBAN ING file.", |
||||
|
exc_info=True) |
||||
|
return super(AccountBankStatementImport, self)._parse_file( |
||||
|
cr, uid, data_file, context=context) |
@ -0,0 +1,26 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
|
||||
|
<record id="mt940_ing_bank_journal" model="account.journal"> |
||||
|
<field name="name">Bank Journal - (test mt940 ING)</field> |
||||
|
<field name="code">TBNKMT940ING</field> |
||||
|
<field name="type">bank</field> |
||||
|
<field name="sequence_id" ref="account.sequence_bank_journal"/> |
||||
|
<field name="default_debit_account_id" ref="account.bnk"/> |
||||
|
<field name="default_credit_account_id" ref="account.bnk"/> |
||||
|
<field name="user_id" ref="base.user_root"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="mt940_ing_company_bank" model="res.partner.bank"> |
||||
|
<field name="owner_name">Your Company</field> |
||||
|
<field name="acc_number">NL77INGB0574908765</field> |
||||
|
<field name="partner_id" ref="base.partner_root"></field> |
||||
|
<field name="company_id" ref="base.main_company"></field> |
||||
|
<field name="journal_id" ref="mt940_ing_bank_journal"></field> |
||||
|
<field name="state">bank</field> |
||||
|
<field name="bank" ref="base.res_bank_1"/> |
||||
|
</record> |
||||
|
</data> |
||||
|
|
||||
|
</openerp> |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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: Spanish (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/es/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: es\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||
|
|
||||
|
#. module: account_bank_statement_import_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importar extracto bancario" |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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: French (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/fr/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: fr\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
||||
|
|
||||
|
#. module: account_bank_statement_import_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importer Relevé Bancaire" |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: lt_LT\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_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importuoti banko išrašą" |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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-31 06:44+0000\n" |
||||
|
"Last-Translator: Erwin van der Ploeg <erwin@bas-solutions.nl>\n" |
||||
|
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/nl/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: nl\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||
|
|
||||
|
#. module: account_bank_statement_import_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Geïmporteerd bankafschrift" |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: pt_BR\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
||||
|
|
||||
|
#. module: account_bank_statement_import_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Importar Extrato Bancário" |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * account_bank_statement_import_mt940_nl_ing |
||||
|
# |
||||
|
# 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" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: sl\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_mt940_nl_ing |
||||
|
#: model:ir.model,name:account_bank_statement_import_mt940_nl_ing.model_account_bank_statement_import |
||||
|
msgid "Import Bank Statement" |
||||
|
msgstr "Uvoz bančnega izpiska" |
@ -0,0 +1,66 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""Implement BankStatementParser for MT940 IBAN ING files.""" |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2014-2015 Therp BV <http://therp.nl>. |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as published |
||||
|
# by the Free Software Foundation, either version 3 of the License, or |
||||
|
# (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import re |
||||
|
from openerp.addons.account_bank_statement_import_mt940_base.mt940 import ( |
||||
|
MT940, str2amount, get_subfields, handle_common_subfields) |
||||
|
|
||||
|
|
||||
|
class MT940Parser(MT940): |
||||
|
"""Parser for ing MT940 bank statement import files.""" |
||||
|
|
||||
|
tag_61_regex = re.compile( |
||||
|
r'^(?P<date>\d{6})(?P<line_date>\d{0,4})' |
||||
|
r'(?P<sign>[CD])(?P<amount>\d+,\d{2})N(?P<type>.{3})' |
||||
|
r'(?P<reference>\w{1,50})' |
||||
|
) |
||||
|
|
||||
|
def __init__(self): |
||||
|
"""Initialize parser - override at least header_regex.""" |
||||
|
super(MT940Parser, self).__init__() |
||||
|
self.mt940_type = 'ING' |
||||
|
|
||||
|
def handle_tag_61(self, data): |
||||
|
"""get transaction values""" |
||||
|
super(MT940Parser, self).handle_tag_61(data) |
||||
|
re_61 = self.tag_61_regex.match(data) |
||||
|
if not re_61: |
||||
|
raise ValueError("Cannot parse %s" % data) |
||||
|
parsed_data = re_61.groupdict() |
||||
|
self.current_transaction.transferred_amount = ( |
||||
|
str2amount(parsed_data['sign'], parsed_data['amount'])) |
||||
|
self.current_transaction.eref = parsed_data['reference'] |
||||
|
|
||||
|
def handle_tag_86(self, data): |
||||
|
"""Parse 86 tag containing reference data.""" |
||||
|
if not self.current_transaction: |
||||
|
return |
||||
|
codewords = ['RTRN', 'BENM', 'ORDP', 'CSID', 'BUSP', 'MARF', 'EREF', |
||||
|
'PREF', 'REMI', 'ID', 'PURP', 'ULTB', 'ULTD', |
||||
|
'CREF', 'IREF', 'CNTP', 'ULTC', 'EXCH', 'CHGS'] |
||||
|
subfields = get_subfields(data, codewords) |
||||
|
transaction = self.current_transaction |
||||
|
# If we have no subfields, set message to whole of data passed: |
||||
|
if not subfields: |
||||
|
transaction.message = data |
||||
|
else: |
||||
|
handle_common_subfields(transaction, subfields) |
||||
|
# Prevent handling tag 86 later for non transaction details: |
||||
|
self.current_transaction = None |
@ -0,0 +1,61 @@ |
|||||
|
0000 01INGBNL2AXXXX00001 |
||||
|
0000 01INGBNL2AXXXX00001 |
||||
|
940 00 |
||||
|
:20:P140120000000001 |
||||
|
:25:NL77INGB0574908765EUR |
||||
|
:28C:0000 |
||||
|
0 |
||||
|
:60F:C140119EUR662,23 |
||||
|
:61:1401200220C1,56NTRFEREF//00000000001 |
||||
|
005 |
||||
|
/TRCD/00100/ |
||||
|
:86:/EREF/EV12341REP1231456T1234//CNTP/NL32INGB0000012345/INGBNL2 |
||||
|
A/ING BANK NV INZAKE WEB///REMI/USTD//EV10001REP1000000T1000/ |
||||
|
:61:1401200220D1,57NTRFPREF//00000000001006 |
||||
|
/TRCD/00200/ |
||||
|
:86:/PREF/M000000003333333//REMI/USTD//TOTAAL 1 VZ/ |
||||
|
:61:1401200220C1,57NRTIEREF//00000000001007 |
||||
|
/TRCD/00190/ |
||||
|
:86:/RTRN/MS03//EREF/20120123456789//CNTP/NL32INGB0000012345/INGB |
||||
|
NL2A/J.Janssen///REMI/USTD//Factuurnr 123456 Klantnr 00123/ |
||||
|
:61:1401200220D1,14NDDTEREF//00000000001009 |
||||
|
/TRCD/010 |
||||
|
16 |
||||
|
/ |
||||
|
:86:/EREF/EV123R |
||||
|
EP123412T1234//MARF/MND |
||||
|
- |
||||
|
EV01//CSID/NL32ZZZ9999999 |
||||
|
91234//CNTP/NL32INGB0000012345/INGBNL2A/ING Bank N.V. inzake WeB/ |
||||
|
//REMI/USTD//EV123REP123412T1234/ |
||||
|
:61:1401200220C1,45NDDTPREF//00000000001008 |
||||
|
/TRCD/01000/ |
||||
|
:86:/PREF/M000000001111111/ |
||||
|
/CSID/ |
||||
|
NL32ZZZ999999991234 |
||||
|
/ |
||||
|
/REMI/USTD// |
||||
|
TOTAAL 1 POSTEN/ |
||||
|
:61:1401200220D12,75NRTIEREF//00000000001010 |
||||
|
/TRCD/01315/ |
||||
|
:86:/RTRN/MS03//EREF/20120501P0123478//MARF/MND |
||||
|
- |
||||
|
120123//CSID/NL32 |
||||
|
ZZZ999999991234//CNTP/NL32INGB0000012345/INGBNL2A/J.Janssen///REM |
||||
|
I/USTD//CO |
||||
|
NTRIBUTIE FEB 2014/ |
||||
|
:61:1401200220C32,00NTRF9001123412341234//00000000001011 |
||||
|
/TRCD/00108/ |
||||
|
:86:/EREF/15814016000676480//CNTP/NL32INGB0000012345/INGBNL2A/J.J |
||||
|
anssen///REMI/STRD/CUR/9001123412341234/ |
||||
|
:61:1401200220D119,00NTRF1070123412341234//00000000001012 |
||||
|
/ |
||||
|
TRCD/00108/ |
||||
|
:86:/EREF/15614016000384600//CNTP/NL32INGB0000012345/INGBNL2A/ING |
||||
|
BANK NV///REMI/STRD/CUR/1070123412341234/ |
||||
|
:62F:C140120EUR564,35 |
||||
|
:64:C140120EUR564,35 |
||||
|
:65:C140121EUR564,35 |
||||
|
:65:C140124EUR564,35 |
||||
|
:86:/SUM/4/4/134,46/36,58/ |
||||
|
-XXX |
@ -0,0 +1,62 @@ |
|||||
|
{1:F01INGBNL2ABXXX0000000000} |
||||
|
{2:I940INGBNL2AXXXN} |
||||
|
{4: |
||||
|
:20:P140220000000001 |
||||
|
:25:NL77INGB0574908765EUR |
||||
|
:28C:0000 |
||||
|
0 |
||||
|
:60F:C140219EUR662,23 |
||||
|
:61:1402200220C1,56NTRFEREF//00000000001 |
||||
|
005 |
||||
|
/TRCD/00100/ |
||||
|
:86:/EREF/EV12341REP1231456T1234//CNTP/NL32INGB0000012345/INGBNL2 |
||||
|
A/ING BANK NV INZAKE WEB///REMI/USTD//EV10001REP1000000T1000/ |
||||
|
:61:1402200220D1,57NTRFPREF//00000000001006 |
||||
|
/TRCD/00200/ |
||||
|
:86:/PREF/M000000003333333//REMI/USTD//TOTAAL 1 VZ/ |
||||
|
:61:1402200220C1,57NRTIEREF//00000000001007 |
||||
|
/TRCD/00190/ |
||||
|
:86:/RTRN/MS03//EREF/20120123456789//CNTP/NL32INGB0000012345/INGB |
||||
|
NL2A/J.Janssen///REMI/USTD//Factuurnr 123456 Klantnr 00123/ |
||||
|
:61:1402200220D1,14NDDTEREF//00000000001009 |
||||
|
/TRCD/010 |
||||
|
16 |
||||
|
/ |
||||
|
:86:/EREF/EV123R |
||||
|
EP123412T1234//MARF/MND |
||||
|
- |
||||
|
EV01//CSID/NL32ZZZ9999999 |
||||
|
91234//CNTP/NL32INGB0000012345/INGBNL2A/ING Bank N.V. inzake WeB/ |
||||
|
//REMI/USTD//EV123REP123412T1234/ |
||||
|
:61:1402200220C1,45NDDTPREF//00000000001008 |
||||
|
/TRCD/01000/ |
||||
|
:86:/PREF/M000000001111111/ |
||||
|
/CSID/ |
||||
|
NL32ZZZ999999991234 |
||||
|
/ |
||||
|
/REMI/USTD// |
||||
|
TOTAAL 1 POSTEN/ |
||||
|
:61:1402200220D12,75NRTIEREF//00000000001010 |
||||
|
/TRCD/01315/ |
||||
|
:86:/RTRN/MS03//EREF/20120501P0123478//MARF/MND |
||||
|
- |
||||
|
120123//CSID/NL32 |
||||
|
ZZZ999999991234//CNTP/NL32INGB0000012345/INGBNL2A/J.Janssen///REM |
||||
|
I/USTD//CO |
||||
|
NTRIBUTIE FEB 2014/ |
||||
|
:61:1402200220C32,00NTRF9001123412341234//00000000001011 |
||||
|
/TRCD/00108/ |
||||
|
:86:/EREF/15814016000676480//CNTP/NL32INGB0000012345/INGBNL2A/J.J |
||||
|
anssen///REMI/STRD/CUR/9001123412341234/ |
||||
|
:61:1402200220D119,00NTRF1070123412341234//00000000001012 |
||||
|
/ |
||||
|
TRCD/00108/ |
||||
|
:86:/EREF/15614016000384600//CNTP/NL32INGB0000012345/INGBNL2A/ING |
||||
|
BANK NV///REMI/STRD/CUR/1070123412341234/ |
||||
|
:62F:C140220EUR564,35 |
||||
|
:64:C140220EUR564,35 |
||||
|
:65:C140221EUR564,35 |
||||
|
:65:C140224EUR564,35 |
||||
|
:86:/SUM/4/4/134,46/36,58/ |
||||
|
- |
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
"""Test import of bank statement for MT940 ING.""" |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2015 Therp BV <http://therp.nl>. |
||||
|
# |
||||
|
# All other contributions are (C) by their respective contributors |
||||
|
# |
||||
|
# All Rights Reserved |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from . import test_import_bank_statement |
@ -0,0 +1,53 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""Run test to import MT940 IBAN ING import.""" |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2015 Therp BV <http://therp.nl>. |
||||
|
# |
||||
|
# All other contributions are (C) by their respective contributors |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from openerp.addons.account_bank_statement_import.tests import ( |
||||
|
TestStatementFile) |
||||
|
|
||||
|
|
||||
|
class TestImport(TestStatementFile): |
||||
|
"""Run test to import MT940 ING import.""" |
||||
|
|
||||
|
def test_old_statement_import(self): |
||||
|
"""Test correct creation of single statement from old format.""" |
||||
|
self._test_statement_import( |
||||
|
'account_bank_statement_import_mt940_nl_ing', 'test-ing-old.940', |
||||
|
'NL77INGB0574908765-2014-01-20', |
||||
|
start_balance=662.23, end_balance=564.35 |
||||
|
) |
||||
|
|
||||
|
def test_statement_import(self): |
||||
|
"""Test correct creation of single statement.""" |
||||
|
transactions = [ |
||||
|
{ |
||||
|
'remote_account': 'NL32INGB0000012345', |
||||
|
'transferred_amount': 1.56, |
||||
|
'value_date': '2014-02-20', |
||||
|
'ref': 'EV12341REP1231456T1234', |
||||
|
}, |
||||
|
] |
||||
|
self._test_statement_import( |
||||
|
'account_bank_statement_import_mt940_nl_ing', 'test-ing.940', |
||||
|
'NL77INGB0574908765-2014-02-20', |
||||
|
start_balance=662.23, end_balance=564.35, |
||||
|
transactions=transactions |
||||
|
) |
@ -0,0 +1,47 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
Bank Statement NL Rabobank MT940 |
||||
|
================================ |
||||
|
|
||||
|
This addon imports the structured MT940 format as offered by |
||||
|
the dutch Rabobank. |
||||
|
|
||||
|
Known issues / Roadmap |
||||
|
====================== |
||||
|
|
||||
|
* None |
||||
|
|
||||
|
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 smashing it by providing a detailed and welcomed feedback |
||||
|
`here <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_bank_statement_import%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Ronald Portier <rportier@therp.nl> |
||||
|
|
||||
|
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. |
||||
|
This module should make it easy to migrate bank statement import |
||||
|
modules written for earlies versions of Odoo/OpenERP. |
@ -0,0 +1,20 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2014-2015 Therp BV (<http://therp.nl>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
from . import account_bank_statement_import |
@ -0,0 +1,32 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2014-2015 Therp BV <http://therp.nl>. |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
{ |
||||
|
'name': 'MT940 import for dutch Rabobank', |
||||
|
'version': '8.0.1.1.0', |
||||
|
'author': 'Odoo Community Association (OCA), Therp BV', |
||||
|
'website': 'https://github.com/OCA/bank-statement-import', |
||||
|
'category': 'Banking addons', |
||||
|
'depends': [ |
||||
|
'account_bank_statement_import_mt940_base' |
||||
|
], |
||||
|
'auto_install': False, |
||||
|
'installable': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
"""Parse a MT940 RABO file.""" |
||||
|
############################################################################## |
||||
|
# |
||||
|
# Copyright (C) 2013-2015 Therp BV <http://therp.nl> |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as published |
||||
|
# by the Free Software Foundation, either version 3 of the License, or |
||||
|
# (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
import logging |
||||
|
|
||||
|
from openerp import models |
||||
|
from .mt940 import MT940Parser as Parser |
||||
|
|
||||
|
|
||||
|
_logger = logging.getLogger(__name__) |
||||
|
|
||||
|
|
||||
|
class AccountBankStatementImport(models.TransientModel): |
||||
|
"""Add parsing of RABO mt940 files to bank statement import.""" |
||||
|
_inherit = 'account.bank.statement.import' |
||||
|
|
||||
|
def _parse_file(self, cr, uid, data_file, context=None): |
||||
|
"""Parse a MT940 RABO file.""" |
||||
|
parser = Parser() |
||||
|
try: |
||||
|
_logger.debug("Try parsing with MT940 RABO.") |
||||
|
statements = parser.parse(data_file) |
||||
|
return statements |
||||
|
except ValueError: |
||||
|
# Returning super will call next candidate: |
||||
|
_logger.debug("Statement file was not a MT940 RABO file.", |
||||
|
exc_info=True) |
||||
|
return super(AccountBankStatementImport, self)._parse_file( |
||||
|
cr, uid, data_file, context=context) |
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue