diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst index f971f706..d6af1ce7 100644 --- a/account_statement_import_qif/README.rst +++ b/account_statement_import_qif/README.rst @@ -1,17 +1,39 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 +========================== +Import QIF Bank Statements +========================== -========================== -Import QIF bank statements -========================== +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:926bb5e821cd71d9a5bdaee546ce3b8f25a00825ff69c291da88820e8e53ae62 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github + :target: https://github.com/OCA/bank-statement-import/tree/13.0/account_bank_statement_import_qif + :alt: OCA/bank-statement-import +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/bank-statement-import-13-0/bank-statement-import-13-0-account_bank_statement_import_qif + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=13.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows you to import the machine readable QIF Files in Odoo: they are parsed and stored in human readable format in Accounting \ Bank and Cash \ Bank Statements. Important Note --------------- +~~~~~~~~~~~~~~ Because of the QIF format limitation, we cannot ensure the same transactions aren't imported several times or handle multicurrency. Whenever possible, you should use a more appropriate file format like OFX. @@ -21,6 +43,11 @@ by Odoo for V9 at its early stage. As Odoo has relicensed this module as private inside its Odoo enterprise layer, now this one is maintained from the original AGPL code. +**Table of contents** + +.. contents:: + :local: + Usage ===== @@ -31,46 +58,55 @@ To use this module, you need to: #. Select a QIF file. #. Press *Import*. -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/174/11.0 - Bug Tracker =========== -Bugs are tracked on -`GitHub Issues `_. +Bugs are tracked on `GitHub 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. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +~~~~~~~ + +* OpenERP SA +* Tecnativa + Contributors ------------- +~~~~~~~~~~~~ * Odoo SA * Akretion + * Alexis de Lattre * ACSONE A/V + * Laurent Mignon * Therp + * Ronald Portier * Tecnativa (https://www.tecnativa.com) - * Pedro M. Baeza -Maintainer ----------- + * Pedro M. Baeza + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. 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 https://odoo-community.org. +This module is part of the `OCA/bank-statement-import `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_statement_import_qif/__manifest__.py b/account_statement_import_qif/__manifest__.py index 30c786e1..7f61a54c 100644 --- a/account_statement_import_qif/__manifest__.py +++ b/account_statement_import_qif/__manifest__.py @@ -7,7 +7,7 @@ { "name": "Import QIF Bank Statements", "category": "Accounting", - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "author": "OpenERP SA," "Tecnativa," "Odoo Community Association (OCA)", "website": "https://github.com/OCA/bank-statement-import", "depends": ["account_bank_statement_import"], diff --git a/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot b/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot index 08eb5d09..8ba3c19b 100644 --- a/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot +++ b/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * account_bank_statement_import_qif +# * account_bank_statement_import_qif # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,7 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -25,13 +25,17 @@ msgid "Import Bank Statement" msgstr "" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" - diff --git a/account_statement_import_qif/i18n/de.po b/account_statement_import_qif/i18n/de.po index b31e3541..075b2830 100644 --- a/account_statement_import_qif/i18n/de.po +++ b/account_statement_import_qif/i18n/de.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Konnte QIF-Datei nicht entziffern." @@ -30,12 +30,17 @@ msgid "Import Bank Statement" msgstr "Kontoauszug importieren" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "Quicken Interchange Format (.qif)" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/es.po b/account_statement_import_qif/i18n/es.po index 12f3d2d4..c7380e4e 100644 --- a/account_statement_import_qif/i18n/es.po +++ b/account_statement_import_qif/i18n/es.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "No se puede descifrar el archivo QIF." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importar extracto bancario" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "Quicken Interchange Format (.qif)" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/fa.po b/account_statement_import_qif/i18n/fa.po index 0f322ca8..da1c5b2c 100644 --- a/account_statement_import_qif/i18n/fa.po +++ b/account_statement_import_qif/i18n/fa.po @@ -20,7 +20,7 @@ msgstr "" "X-Generator: Weblate 3.0.1\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "فایل QIF رمزگشایی نشد." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "ورود بیانیه بانکی" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "قالب مبادله سریع (.qif)" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "این فایل یک بیانیه بانکی نیست یا به درستی شکل نمی گیرد." diff --git a/account_statement_import_qif/i18n/fi.po b/account_statement_import_qif/i18n/fi.po index db46cf20..e55b8ec2 100644 --- a/account_statement_import_qif/i18n/fi.po +++ b/account_statement_import_qif/i18n/fi.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -30,12 +30,17 @@ msgid "Import Bank Statement" msgstr "Tuo pankkiaineisto" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/fr.po b/account_statement_import_qif/i18n/fr.po index 8b45f67b..93601971 100644 --- a/account_statement_import_qif/i18n/fr.po +++ b/account_statement_import_qif/i18n/fr.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Impossible de déchiffrer le fichier QIF." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importer un relevé bancaire" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "Format d'échange avec Quicken (.qif)" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/fr_CH.po b/account_statement_import_qif/i18n/fr_CH.po index 03a7e65f..a22f554e 100644 --- a/account_statement_import_qif/i18n/fr_CH.po +++ b/account_statement_import_qif/i18n/fr_CH.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importer Relevé" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/gl.po b/account_statement_import_qif/i18n/gl.po index a3d16dd9..ace257aa 100644 --- a/account_statement_import_qif/i18n/gl.po +++ b/account_statement_import_qif/i18n/gl.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -30,12 +30,17 @@ msgid "Import Bank Statement" msgstr "Importar extracto bancario" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/hr.po b/account_statement_import_qif/i18n/hr.po index d5a0eb6c..aa938166 100644 --- a/account_statement_import_qif/i18n/hr.po +++ b/account_statement_import_qif/i18n/hr.po @@ -20,7 +20,7 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Uvoz bankovnog izvoda" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/lt_LT.po b/account_statement_import_qif/i18n/lt_LT.po index 29c5f9cf..e4da5387 100644 --- a/account_statement_import_qif/i18n/lt_LT.po +++ b/account_statement_import_qif/i18n/lt_LT.po @@ -21,7 +21,7 @@ msgstr "" "%100<10 || n%100>=20) ? 1 : 2);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Neįmanoma iššifruoti QIF failo." @@ -32,12 +32,17 @@ msgid "Import Bank Statement" msgstr "Importuoti banko išrašą" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "Failas arba ne banko išrašas arba suformuotas neteisingai." diff --git a/account_statement_import_qif/i18n/nb_NO.po b/account_statement_import_qif/i18n/nb_NO.po index b790d22d..6b72bab2 100644 --- a/account_statement_import_qif/i18n/nb_NO.po +++ b/account_statement_import_qif/i18n/nb_NO.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "" @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importer bankutsagn" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/nl.po b/account_statement_import_qif/i18n/nl.po index e89e0c44..479bbb4e 100644 --- a/account_statement_import_qif/i18n/nl.po +++ b/account_statement_import_qif/i18n/nl.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Kon het QIF bestand niet ontcijferen." @@ -30,12 +30,17 @@ msgid "Import Bank Statement" msgstr "Importeer bankafschrift" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/pt_BR.po b/account_statement_import_qif/i18n/pt_BR.po index 24ee3425..b9627fd5 100644 --- a/account_statement_import_qif/i18n/pt_BR.po +++ b/account_statement_import_qif/i18n/pt_BR.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Não foi possível decifrar o arquivo QIF." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importar Extrato Bancário" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "O arquivo não é um extrato bancário ou o formato é incorreto." diff --git a/account_statement_import_qif/i18n/pt_PT.po b/account_statement_import_qif/i18n/pt_PT.po index 69eea6f0..fcd349eb 100644 --- a/account_statement_import_qif/i18n/pt_PT.po +++ b/account_statement_import_qif/i18n/pt_PT.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "Não foi possível decifrar o ficheiro QIF." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Importar Extrato Bancário" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" diff --git a/account_statement_import_qif/i18n/sl.po b/account_statement_import_qif/i18n/sl.po index a193ca5b..33266d49 100644 --- a/account_statement_import_qif/i18n/sl.po +++ b/account_statement_import_qif/i18n/sl.po @@ -20,7 +20,7 @@ msgstr "" "%100==4 ? 2 : 3);\n" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." msgstr "QIF datoteke ni bilo mogoče dešifrirati." @@ -31,12 +31,17 @@ msgid "Import Bank Statement" msgstr "Uvoz bančnega izpiska" #. module: account_bank_statement_import_qif -#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view +#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view msgid "Quicken Interchange Format (.qif)" msgstr "" #. module: account_bank_statement_import_qif -#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69 +#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:0 #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "Ta datoteka ni bančni izpisek, ali pa ni pravilno oblikovana." diff --git a/account_statement_import_qif/models/account_journal.py b/account_statement_import_qif/models/account_journal.py index 2d5cbb62..f4893820 100644 --- a/account_statement_import_qif/models/account_journal.py +++ b/account_statement_import_qif/models/account_journal.py @@ -1,14 +1,12 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import _, models +from odoo import models class AccountJournal(models.Model): _inherit = "account.journal" def _get_bank_statements_available_import_formats(self): - res = super( - AccountJournal, self - )._get_bank_statements_available_import_formats() - res.extend([_(".qif")]) + res = super()._get_bank_statements_available_import_formats() + res.append("qif") return res diff --git a/account_statement_import_qif/readme/CONTRIBUTORS.rst b/account_statement_import_qif/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..f6e06768 --- /dev/null +++ b/account_statement_import_qif/readme/CONTRIBUTORS.rst @@ -0,0 +1,13 @@ +* Odoo SA +* Akretion + + * Alexis de Lattre +* ACSONE A/V + + * Laurent Mignon +* Therp + + * Ronald Portier +* Tecnativa (https://www.tecnativa.com) + + * Pedro M. Baeza diff --git a/account_statement_import_qif/readme/DESCRIPTION.rst b/account_statement_import_qif/readme/DESCRIPTION.rst new file mode 100644 index 00000000..6aa52010 --- /dev/null +++ b/account_statement_import_qif/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +This module allows you to import the machine readable QIF Files in Odoo: they +are parsed and stored in human readable format in +Accounting \ Bank and Cash \ Bank Statements. + +Important Note +~~~~~~~~~~~~~~ +Because of the QIF format limitation, we cannot ensure the same transactions +aren't imported several times or handle multicurrency. Whenever possible, you +should use a more appropriate file format like OFX. + +The module was initiated as a backport of the new framework developed +by Odoo for V9 at its early stage. As Odoo has relicensed this module as +private inside its Odoo enterprise layer, now this one is maintained from the +original AGPL code. diff --git a/account_statement_import_qif/readme/USAGE.rst b/account_statement_import_qif/readme/USAGE.rst new file mode 100644 index 00000000..15f6f8fd --- /dev/null +++ b/account_statement_import_qif/readme/USAGE.rst @@ -0,0 +1,6 @@ +To use this module, you need to: + +#. Go to *Invoicing / Accounting* dashboard. +#. Click on *Import statement* from any of the bank journals. +#. Select a QIF file. +#. Press *Import*. diff --git a/account_statement_import_qif/static/description/index.html b/account_statement_import_qif/static/description/index.html new file mode 100644 index 00000000..64b0b489 --- /dev/null +++ b/account_statement_import_qif/static/description/index.html @@ -0,0 +1,456 @@ + + + + + + +Import QIF Bank Statements + + + +
+

Import QIF Bank Statements

+ + +

Beta License: AGPL-3 OCA/bank-statement-import Translate me on Weblate Try me on Runboat

+

This module allows you to import the machine readable QIF Files in Odoo: they +are parsed and stored in human readable format in +Accounting Bank and Cash Bank Statements.

+
+

Important Note

+

Because of the QIF format limitation, we cannot ensure the same transactions +aren’t imported several times or handle multicurrency. Whenever possible, you +should use a more appropriate file format like OFX.

+

The module was initiated as a backport of the new framework developed +by Odoo for V9 at its early stage. As Odoo has relicensed this module as +private inside its Odoo enterprise layer, now this one is maintained from the +original AGPL code.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Invoicing / Accounting dashboard.
  2. +
  3. Click on Import statement from any of the bank journals.
  4. +
  5. Select a QIF file.
  6. +
  7. Press Import.
  8. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+ +
+
+

Authors

+
    +
  • OpenERP SA
  • +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

This module is part of the OCA/bank-statement-import project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+ + diff --git a/account_statement_import_qif/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py index 052fc038..0c6c598c 100644 --- a/account_statement_import_qif/tests/test_import_bank_statement.py +++ b/account_statement_import_qif/tests/test_import_bank_statement.py @@ -16,11 +16,11 @@ class TestQifFile(TransactionCase): """ def setUp(self): - super(TestQifFile, self).setUp() + super().setUp() self.statement_import_model = self.env["account.bank.statement.import"] self.statement_line_model = self.env["account.bank.statement.line"] self.journal = self.env["account.journal"].create( - {"name": "Test bank journal", "code": "TEST", "type": "bank",} + {"name": "Test bank journal", "code": "TEST", "type": "bank"} ) self.partner = self.env["res.partner"].create( { @@ -36,7 +36,7 @@ class TestQifFile(TransactionCase): qif_file = base64.b64encode(open(qif_file_path, "rb").read()) wizard = self.statement_import_model.with_context( journal_id=self.journal.id - ).create(dict(data_file=qif_file)) + ).create({"attachment_ids": [(0, 0, {"name": "test file", "datas": qif_file})]}) wizard.import_file() statement = self.statement_line_model.search( [("name", "=", "YOUR LOCAL SUPERMARKET")], limit=1, diff --git a/account_statement_import_qif/wizards/account_bank_statement_import_qif.py b/account_statement_import_qif/wizards/account_bank_statement_import_qif.py index 39c6c7fa..cb83716d 100644 --- a/account_statement_import_qif/wizards/account_bank_statement_import_qif.py +++ b/account_statement_import_qif/wizards/account_bank_statement_import_qif.py @@ -4,6 +4,8 @@ # Copyright 2016-2017 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import base64 + import dateutil.parser from odoo import api, models @@ -20,7 +22,7 @@ class AccountBankStatementImport(models.TransientModel): def _parse_file(self, data_file): if not self._check_qif(data_file): - return super(AccountBankStatementImport, self)._parse_file(data_file) + return super()._parse_file(data_file) try: file_data = data_file.decode() if "\r" in file_data: @@ -29,7 +31,7 @@ class AccountBankStatementImport(models.TransientModel): data_list = file_data.split("\n") header = data_list[0].strip() header = header.split(":")[1] - except: + except Exception: raise UserError(_("Could not decipher the QIF file.")) transactions = [] vals_line = {} @@ -82,12 +84,14 @@ class AccountBankStatementImport(models.TransientModel): def _complete_stmts_vals(self, stmt_vals, journal_id, account_number): """Match partner_id if hasn't been deducted yet.""" - res = super(AccountBankStatementImport, self)._complete_stmts_vals( - stmt_vals, journal_id, account_number, - ) + res = super()._complete_stmts_vals(stmt_vals, journal_id, account_number) # Since QIF doesn't provide account numbers (normal behaviour is to # provide 'account_number', which the generic module uses to find # the partner), we have to find res.partner through the name + if not self.attachment_ids or not self._check_qif( + base64.b64decode(self.attachment_ids[0].datas) + ): + return res partner_obj = self.env["res.partner"] for statement in res: for line_vals in statement["transactions"]: