Merge PR #695 into 17.0

Signed-off-by alexis-via
This commit is contained in:
OCA-git-bot
2024-12-31 14:15:35 +00:00
37 changed files with 1934 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
=========================
Import OFX Bank Statement
=========================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1716bd49010fb3f50b7f5ffc4ade620361a09a4b341089d3dc456197bf779819
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
:target: https://odoo-community.org/page/development-status
:alt: Mature
.. |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/17.0/account_statement_import_ofx
: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-17-0/bank-statement-import-17-0-account_statement_import_ofx
: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=17.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds support for the import of bank statements in `OFX
format <https://en.wikipedia.org/wiki/Open_Financial_Exchange>`__.
Bank Statements may be generated containing a subset of the OFX
information (only those transaction lines that are required for the
creation of the Financial Accounting records).
Since v14, this module support multi-account OFX files i.e. several
different bank accounts in the same OFX file.
**Table of contents**
.. contents::
:local:
Installation
============
This module requires the
`ofxparse <https://pypi.org/project/ofxparse/>`__ python lib.
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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_ofx%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* Odoo SA
* Akretion
* La Louve
* GRAP
* Nicolas JEUDY
* Le Filament
Contributors
------------
- Odoo SA
- Alexis de Lattre <alexis.delattre@akretion.com>
- Laurent Mignon <laurent.mignon@acsone.eu>
- Ronald Portier <rportier@therp.nl>
- Sylvain LE GAL <https://twitter.com/legalsylvain>
- Nicolas JEUDY <https://github.com/njeudy>
- Le Filament <https://github.com/lefilament>
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
:target: https://github.com/alexis-via
:alt: alexis-via
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-alexis-via|
This module is part of the `OCA/bank-statement-import <https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_ofx>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -0,0 +1,2 @@
from . import models
from . import wizard

View File

@@ -0,0 +1,20 @@
{
"name": "Import OFX Bank Statement",
"category": "Banking addons",
"version": "17.0.1.0.0",
"license": "AGPL-3",
"author": "Odoo SA,"
"Akretion,"
"La Louve,"
"GRAP,"
"Nicolas JEUDY,"
"Le Filament,"
"Odoo Community Association (OCA)",
"maintainers": ["alexis-via"],
"development_status": "Mature",
"website": "https://github.com/OCA/bank-statement-import",
"depends": ["account_statement_import_file"],
"data": ["wizard/account_statement_import.xml"],
"external_dependencies": {"python": ["ofxparse"]},
"installable": True,
}

View File

@@ -0,0 +1,38 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.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_ofx
#: model:ir.model,name:account_bank_statement_import_ofx.model_account_bank_statement_import
msgid "Import Bank Statement"
msgstr ""
#. module: account_bank_statement_import_ofx
#: model:ir.model,name:account_bank_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_bank_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_ofx.view_account_bank_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_bank_statement_import_ofx
#: code:addons/account_bank_statement_import_ofx/wizard/account_bank_statement_import.py:85
#, python-format
msgid "The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_statement_import_ofx
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr ""
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-04-11 21:55+0000\n"
"PO-Revision-Date: 2017-04-11 21:55+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\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_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Kontoauszug importieren"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Open Financial Exchange (.OFX Money)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Das folgende Problem ist beim Importieren aufgetreten. Die Datei ist dürfte "
"ungültig sein.\n"
"\n"
"%s"

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# 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: 2023-05-17 11:34+0000\n"
"Last-Translator: gelo joga Rodríguez <gelo.joga@factorlibre.com>\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-statement-"
"import-8-0/language/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"
"X-Generator: Weblate 4.14.1\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Importar archivos de extractos bancarios"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr "Diario"
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Abrir intercambio financiero (.OFX Money)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"El siguiente problema ocurrió durante la importación. Es posible que el "
"archivo no sea válido.\n"
"\n"
" %s"

View File

@@ -0,0 +1,55 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_statement_import_ofx
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-01-07 16:40+0000\n"
"Last-Translator: Ignacio Buioli <ibuioli@gmail.com>\n"
"Language-Team: none\n"
"Language: es_AR\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 4.3.2\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Importar Archivos de Extractos Bancarios"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr "Diario"
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Open Financial Exchange (.OFX Dinero)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"El siguiente problema ocurrió durante la importación. Es posible que el "
"archivo no sea válido.\n"
"\n"
" %s"
#~ msgid "Display Name"
#~ msgstr "Mostrar Nombre"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Última modificación en"

View File

@@ -0,0 +1,45 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-03-19 03:39+0000\n"
"PO-Revision-Date: 2017-03-19 03:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Tuo pankkiaineisto"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,52 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-11 21:55+0000\n"
"PO-Revision-Date: 2023-06-08 14:08+0000\n"
"Last-Translator: Alexis de Lattre <alexis@via.ecp.fr>\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"
"X-Generator: Weblate 4.17\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Import des relevés de compte"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr "Journal"
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Open Financial Exchange (.OFX Money)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Le problème suivant est survenu lors de l'import. Le fichier n'est peut-être "
"pas valide.\n"
"\n"
"%s"
#~ msgid "Last Modified on"
#~ msgstr "Dernière modification"

View File

@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-03-19 03:39+0000\n"
"PO-Revision-Date: 2017-03-19 03:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
"teams/23907/fr_CH/)\n"
"Language: fr_CH\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importer Relevé"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_statement_import_ofx
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-04-10 17:46+0000\n"
"Last-Translator: Yves Le Doeuff <yld@alliasys.fr>\n"
"Language-Team: none\n"
"Language: fr_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"
"X-Generator: Weblate 4.3.2\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Importer des Relevés Bancaires"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Open Financial Exchange (.OFX Money)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Le problème suivant est survenu lors de l'importation. Le fichier n'est pas "
"valide.\n"
"\n"
"%s"
#~ msgid "Last Modified on"
#~ msgstr "Dernière modification"

View File

@@ -0,0 +1,45 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-03-19 03:39+0000\n"
"PO-Revision-Date: 2017-03-19 03:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importar extracto bancario"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,55 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_statement_import_ofx
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-05-06 11:37+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\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 4.17\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Importazione file estratto conto bancario"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr "Registro"
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Open Financial Exchange (Valuta .OFX)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Il seguente problema si è verificato durante l'importazione. Il file "
"potrebbe non essere valido.\n"
"\n"
" %s"
#~ msgid "Display Name"
#~ msgstr "Nome visualizzato"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Ultima modifica il"

View File

@@ -0,0 +1,50 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-11 21:55+0000\n"
"PO-Revision-Date: 2017-04-11 21:55+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/"
"teams/23907/lt_LT/)\n"
"Language: lt_LT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importuoti banko išrašą"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Klaida. Failas gali būti sugadintas arba negaliojantis.\n"
"\n"
" %s"

View File

@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-03-19 03:39+0000\n"
"PO-Revision-Date: 2017-03-19 03:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/"
"teams/23907/nb_NO/)\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importer bankutsagn"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-11 21:55+0000\n"
"PO-Revision-Date: 2017-04-11 21:55+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/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_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importeer bankafschrift"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Het volgende probleem is opgetreden tijdens de import. Het bestand is "
"waarschijnlijk niet juist.\n"
"\n"
"%s"

View File

@@ -0,0 +1,50 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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: 2023-12-28 23:48+0000\n"
"Last-Translator: Adriano Prado <adrianojprado@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
"23907/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
msgid "Import Bank Statement Files"
msgstr "Importar Arquivos Extrato Bancário"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr "Diário"
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr "Troca Financeira Aberta (.OFX Money)"
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"O seguinte problema ocorreu durante a importação. O arquivo não deve ser "
"válido.\n"
"\n"
"%s"

View File

@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# 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-03-19 03:39+0000\n"
"PO-Revision-Date: 2017-03-19 03:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
"teams/23907/pt_PT/)\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Importar Extrato Bancário"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_ofx
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-11 21:55+0000\n"
"PO-Revision-Date: 2017-04-11 21:55+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2016\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_statement_import
#, fuzzy
msgid "Import Bank Statement Files"
msgstr "Uvoz bančnega izpiska"
#. module: account_statement_import_ofx
#: model:ir.model,name:account_statement_import_ofx.model_account_journal
msgid "Journal"
msgstr ""
#. module: account_statement_import_ofx
#: model_terms:ir.ui.view,arch_db:account_statement_import_ofx.account_statement_import_form
msgid "Open Financial Exchange (.OFX Money)"
msgstr ""
#. module: account_statement_import_ofx
#. odoo-python
#: code:addons/account_statement_import_ofx/wizard/account_statement_import.py:0
#, python-format
msgid ""
"The following problem occurred during import. The file might not be valid.\n"
"\n"
" %s"
msgstr ""
"Med uvozom je prišlo do težav. Datoteka ni veljavna.\n"
"\n"
" %s"

View File

@@ -0,0 +1 @@
from . import account_journal

View File

@@ -0,0 +1,11 @@
from odoo import models
class AccountJournal(models.Model):
_inherit = "account.journal"
def _get_bank_statements_available_import_formats(self):
"""Adds ofx to supported import formats."""
rslt = super()._get_bank_statements_available_import_formats()
rslt.append("ofx")
return rslt

View File

@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View File

@@ -0,0 +1,7 @@
- Odoo SA
- Alexis de Lattre \<<alexis.delattre@akretion.com>\>
- Laurent Mignon \<<laurent.mignon@acsone.eu>\>
- Ronald Portier \<<rportier@therp.nl>\>
- Sylvain LE GAL \<<https://twitter.com/legalsylvain>\>
- Nicolas JEUDY \<<https://github.com/njeudy>\>
- Le Filament \<<https://github.com/lefilament>\>

View File

@@ -0,0 +1,9 @@
This module adds support for the import of bank statements in [OFX
format](https://en.wikipedia.org/wiki/Open_Financial_Exchange).
Bank Statements may be generated containing a subset of the OFX
information (only those transaction lines that are required for the
creation of the Financial Accounting records).
Since v14, this module support multi-account OFX files i.e. several
different bank accounts in the same OFX file.

View File

@@ -0,0 +1,2 @@
This module requires the [ofxparse](https://pypi.org/project/ofxparse/)
python lib.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -0,0 +1,448 @@
<!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: https://docutils.sourceforge.io/" />
<title>Import OFX Bank Statement</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/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: gray; } /* 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, pre.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="import-ofx-bank-statement">
<h1 class="title">Import OFX Bank Statement</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1716bd49010fb3f50b7f5ffc4ade620361a09a4b341089d3dc456197bf779819
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Mature" src="https://img.shields.io/badge/maturity-Mature-brightgreen.png" /></a> <a class="reference external image-reference" 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 image-reference" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_ofx"><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 image-reference" href="https://translation.odoo-community.org/projects/bank-statement-import-17-0/bank-statement-import-17-0-account_statement_import_ofx"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module adds support for the import of bank statements in <a class="reference external" href="https://en.wikipedia.org/wiki/Open_Financial_Exchange">OFX
format</a>.</p>
<p>Bank Statements may be generated containing a subset of the OFX
information (only those transaction lines that are required for the
creation of the Financial Accounting records).</p>
<p>Since v14, this module support multi-account OFX files i.e. several
different bank accounts in the same OFX file.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#installation" id="toc-entry-1">Installation</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="installation">
<h1><a class="toc-backref" href="#toc-entry-1">Installation</a></h1>
<p>This module requires the
<a class="reference external" href="https://pypi.org/project/ofxparse/">ofxparse</a> python lib.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">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 to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/bank-statement-import/issues/new?body=module:%20account_statement_import_ofx%0Aversion:%2017.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="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>Odoo SA</li>
<li>Akretion</li>
<li>La Louve</li>
<li>GRAP</li>
<li>Nicolas JEUDY</li>
<li>Le Filament</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Odoo SA</li>
<li>Alexis de Lattre &lt;<a class="reference external" href="mailto:alexis.delattre&#64;akretion.com">alexis.delattre&#64;akretion.com</a>&gt;</li>
<li>Laurent Mignon &lt;<a class="reference external" href="mailto:laurent.mignon&#64;acsone.eu">laurent.mignon&#64;acsone.eu</a>&gt;</li>
<li>Ronald Portier &lt;<a class="reference external" href="mailto:rportier&#64;therp.nl">rportier&#64;therp.nl</a>&gt;</li>
<li>Sylvain LE GAL &lt;<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>&gt;</li>
<li>Nicolas JEUDY &lt;<a class="reference external" href="https://github.com/njeudy">https://github.com/njeudy</a>&gt;</li>
<li>Le Filament &lt;<a class="reference external" href="https://github.com/lefilament">https://github.com/lefilament</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">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>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/alexis-via"><img alt="alexis-via" src="https://github.com/alexis-via.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-statement-import/tree/17.0/account_statement_import_ofx">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>

View File

@@ -0,0 +1 @@
from . import test_import_bank_statement

View File

@@ -0,0 +1,103 @@
import base64
import datetime
import odoo.tests.common as common
from odoo.tools.misc import file_path
class TestOfxFile(common.TransactionCase):
"""Tests for import bank statement ofx file format
(account.bank.statement.import)
"""
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.asi_model = cls.env["account.statement.import"]
cls.abs_model = cls.env["account.bank.statement"]
cls.absl_model = cls.env["account.bank.statement.line"]
cur = cls.env.ref("base.USD")
bank = cls.env["res.partner.bank"].create(
{
"acc_number": "123456",
"partner_id": cls.env.ref("base.main_partner").id,
"company_id": cls.env.ref("base.main_company").id,
"bank_id": cls.env.ref("base.res_bank_1").id,
}
)
cls.env["account.journal"].create(
{
"name": "Bank Journal TEST OFX",
"code": "BNK12",
"type": "bank",
"bank_account_id": bank.id,
"currency_id": cur.id,
}
)
bank_iban_ofx = cls.env["res.partner.bank"].create(
{
"acc_number": "FR7630001007941234567890185",
"partner_id": cls.env.ref("base.main_partner").id,
"company_id": cls.env.ref("base.main_company").id,
"bank_id": cls.env.ref("base.res_bank_1").id,
}
)
cls.env["account.journal"].create(
{
"name": "FR7630001007941234567890185",
"code": "BNK13",
"type": "bank",
"bank_account_id": bank_iban_ofx.id,
"currency_id": cur.id,
}
)
def test_wrong_ofx_file_import(self):
ofx_file_path = file_path(
"account_statement_import_ofx/tests/test_ofx_file/test_ofx_wrong.ofx"
)
ofx_file_wrong = base64.b64encode(open(ofx_file_path, "rb").read())
bank_statement = self.asi_model.create(
{
"statement_file": ofx_file_wrong,
"statement_filename": "test_ofx_wrong.ofx",
}
)
self.assertFalse(bank_statement._check_ofx(data_file=ofx_file_wrong))
def test_ofx_file_import(self):
ofx_file_path = file_path(
"account_statement_import_ofx/tests/test_ofx_file/test_ofx.ofx"
)
ofx_file = base64.b64encode(open(ofx_file_path, "rb").read())
bank_statement = self.asi_model.create(
{
"statement_file": ofx_file,
"statement_filename": "test_ofx.ofx",
}
)
bank_statement.import_file_button()
bank_st_record = self.abs_model.search([("name", "like", "123456")])[0]
self.assertEqual(bank_st_record.balance_start, 2516.56)
self.assertEqual(bank_st_record.balance_end_real, 2156.56)
line = self.absl_model.search(
[
("payment_ref", "=", "Agrolait"),
("statement_id", "=", bank_st_record.id),
]
)[0]
self.assertEqual(line.date, datetime.date(2013, 8, 24))
def test_check_journal_bank_account(self):
ofx_file_path = file_path(
"account_statement_import_ofx/tests/test_ofx_file/test_ofx_iban.ofx"
)
ofx_file = base64.b64encode(open(ofx_file_path, "rb").read())
bank_st = self.asi_model.create(
{
"statement_file": ofx_file,
"statement_filename": "test_ofx_iban.ofx",
}
)
bank_st.import_file_button()

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="ASCII"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<DTSERVER>20130831165153.000[-8:PST]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<STMTRS>
<CURDEF>USD</CURDEF>
<BANKACCTFROM>
<BANKID>000000123</BANKID>
<ACCTID>123456</ACCTID>
<ACCTTYPE>CHECKING</ACCTTYPE>
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-80</TRNAMT>
<FITID>219378</FITID>
<NAME>Agrolait</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219379</FITID>
<NAME>China Export</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-100</TRNAMT>
<FITID>219380</FITID>
<NAME>Axelor Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219381</FITID>
<NAME>China Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>2156.56</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
<CREDITCARDMSGSRSV1>
<CCSTMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<CCSTMTRS>
<CURDEF>USD</CURDEF>
<CCACCTFROM>
<ACCTID>123412341234</ACCTID>
</CCACCTFROM>
<BANKTRANLIST>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>-562.00</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</CCSTMTRS>
</CCSTMTTRNRS>
</CREDITCARDMSGSRSV1>
</OFX>

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="ASCII"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<DTSERVER>20130831165153.000[-8:PST]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<STMTRS>
<CURDEF>USD</CURDEF>
<BANKACCTFROM>
<BANKID>30001</BANKID>
<BRANCHID>00794</BRANCHID>
<ACCTID>12345678901</ACCTID>
<ACCTTYPE>CHECKING</ACCTTYPE>
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-80</TRNAMT>
<FITID>219378</FITID>
<NAME>Agrolait</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219379</FITID>
<NAME>China Export</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-100</TRNAMT>
<FITID>219380</FITID>
<NAME>Axelor Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219381</FITID>
<NAME>China Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>2156.56</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
<CREDITCARDMSGSRSV1>
<CCSTMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<CCSTMTRS>
<CURDEF>USD</CURDEF>
<CCACCTFROM>
<ACCTID>123412341234</ACCTID>
</CCACCTFROM>
<BANKTRANLIST>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>-562.00</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</CCSTMTRS>
</CCSTMTTRNRS>
</CREDITCARDMSGSRSV1>
</OFX>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="ASCII"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<DTSERVER>20130831165153.000[-8:PST]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<STMTRS>
<!-- <CURDEF>USD</CURDEF>
<BANKACCTFROM>
<BANKID>000000123</BANKID>
<ACCTID>123456</ACCTID>
<ACCTTYPE>CHECKING</ACCTTYPE>
</BANKACCTFROM> -->
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-80</TRNAMT>
<FITID>219378</FITID>
<NAME>Agrolait</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<!-- <DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219379</FITID> -->
<NAME>China Export</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-100</TRNAMT>
<FITID>219380</FITID>
<NAME>Axelor Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<BANKTRANLIST>
<DTSTART>20130801</DTSTART>
<DTEND>20130831165153.000[-8:PST]</DTEND>
<STMTTRN>
<TRNTYPE>POS</TRNTYPE>
<DTPOSTED>20130824080000</DTPOSTED>
<TRNAMT>-90</TRNAMT>
<FITID>219381</FITID>
<NAME>China Scuba</NAME>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>2156.56</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
<CREDITCARDMSGSRSV1>
<CCSTMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<CCSTMTRS>
<CURDEF>USD</CURDEF>
<CCACCTFROM>
<ACCTID>123412341234</ACCTID>
</CCACCTFROM>
<BANKTRANLIST>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>-562.00</BALAMT>
<DTASOF>20130831165153</DTASOF>
</LEDGERBAL>
</CCSTMTRS>
</CCSTMTTRNRS>
</CREDITCARDMSGSRSV1>
</OFX>

View File

@@ -0,0 +1 @@
from . import account_statement_import

View File

@@ -0,0 +1,88 @@
import io
import logging
from odoo import _, api, models
from odoo.exceptions import UserError
_logger = logging.getLogger(__name__)
try:
from ofxparse import OfxParser
except ImportError:
_logger.debug("ofxparse not found.")
OfxParser = None
class AccountStatementImport(models.TransientModel):
_inherit = "account.statement.import"
@api.model
def _check_ofx(self, data_file):
if not OfxParser:
return False
try:
ofx = OfxParser.parse(io.BytesIO(data_file))
except Exception as e:
_logger.debug(e)
return False
return ofx
@api.model
def _prepare_ofx_transaction_line(self, transaction):
# Since ofxparse doesn't provide account numbers,
# we cannot provide the key 'bank_account_id',
# nor the key 'account_number'
# If you read odoo10/addons/account_bank_statement_import/
# account_bank_statement_import.py, it's the only 2 keys
# we can provide to match a partner.
payment_ref = transaction.payee
if transaction.checknum:
payment_ref += " " + transaction.checknum
if transaction.memo:
payment_ref += " : " + transaction.memo
vals = {
"date": transaction.date,
"payment_ref": payment_ref,
"amount": float(transaction.amount),
"unique_import_id": transaction.id,
}
return vals
def _parse_file(self, data_file):
ofx = self._check_ofx(data_file)
if not ofx:
return super()._parse_file(data_file)
result = []
try:
for account in ofx.accounts:
transactions = []
total_amt = 0.00
if not account.statement.transactions:
continue
for transaction in account.statement.transactions:
vals = self._prepare_ofx_transaction_line(transaction)
if vals:
transactions.append(vals)
total_amt += vals["amount"]
balance = float(account.statement.balance)
vals_bank_statement = {
"name": account.number,
"transactions": transactions,
"balance_start": balance - total_amt,
"balance_end_real": balance,
}
result.append(
(account.statement.currency, account.number, [vals_bank_statement])
)
except Exception as e:
raise UserError(
_(
"The following problem occurred during import. "
"The file might not be valid.\n\n %s"
)
% str(e)
) from e
return result

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="account_statement_import_form" model="ir.ui.view">
<field name="model">account.statement.import</field>
<field
name="inherit_id"
ref="account_statement_import_file.account_statement_import_form"
/>
<field name="arch" type="xml">
<xpath expr="//ul[@id='statement_format']" position="inside">
<li>Open Financial Exchange (.OFX Money)</li>
</xpath>
</field>
</record>
</odoo>

View File

@@ -1,3 +1,4 @@
# generated from manifests external_dependencies # generated from manifests external_dependencies
chardet chardet
ofxparse
xlrd xlrd