From 00ccb829429b6f9087875f5b8bc8a1f05a10f3b6 Mon Sep 17 00:00:00 2001
From: "Ronald Portier (Therp BV)"
Date: Mon, 15 Dec 2014 10:18:55 +0100
Subject: [PATCH 01/23] [RFR] Move backported bank import modules from
bank-payment to bank-statement-import repository.
---
account_statement_import_qif/__init__.py | 4 +
account_statement_import_qif/__openerp__.py | 32 ++++++++
.../account_bank_statement_import_qif.py | 77 +++++++++++++++++++
.../test_qif_file/test_qif.qif | 21 +++++
.../tests/__init__.py | 8 ++
.../tests/test_import_bank_statement.py | 30 ++++++++
6 files changed, 172 insertions(+)
create mode 100644 account_statement_import_qif/__init__.py
create mode 100644 account_statement_import_qif/__openerp__.py
create mode 100644 account_statement_import_qif/account_bank_statement_import_qif.py
create mode 100644 account_statement_import_qif/test_qif_file/test_qif.qif
create mode 100644 account_statement_import_qif/tests/__init__.py
create mode 100644 account_statement_import_qif/tests/test_import_bank_statement.py
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
new file mode 100644
index 000000000..784a476e1
--- /dev/null
+++ b/account_statement_import_qif/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+from . import account_bank_statement_import_qif
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__openerp__.py
new file mode 100644
index 000000000..d06c90a85
--- /dev/null
+++ b/account_statement_import_qif/__openerp__.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# noqa: This is a backport from Odoo. OCA has no control over style here.
+# flake8: noqa
+{
+ 'name': 'Import QIF Bank Statement',
+ 'version': '1.0',
+ 'author': 'OpenERP SA',
+ 'description': '''
+Module to import QIF bank statements.
+======================================
+
+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.
+
+Bank Statements may be generated containing a subset of the QIF information (only those transaction lines that are required for the
+creation of the Financial Accounting records).
+
+Backported from Odoo 9.0
+
+When testing with the provided test file, make sure the demo data from the
+base account_bank_statement_import module has been imported, or manually
+create periods for the year 2013.
+''',
+ 'images' : [],
+ 'depends': ['account_bank_statement_import'],
+ 'demo': [],
+ 'data': [],
+ 'auto_install': False,
+ 'installable': True,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_statement_import_qif/account_bank_statement_import_qif.py b/account_statement_import_qif/account_bank_statement_import_qif.py
new file mode 100644
index 000000000..a95656eb0
--- /dev/null
+++ b/account_statement_import_qif/account_bank_statement_import_qif.py
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+# noqa: This is a backport from Odoo. OCA has no control over style here.
+# flake8: noqa
+
+import dateutil.parser
+import base64
+from tempfile import TemporaryFile
+
+from openerp.tools.translate import _
+from openerp.osv import osv
+
+from openerp.addons.account_bank_statement_import import account_bank_statement_import as ibs
+
+ibs.add_file_type(('qif', 'QIF'))
+
+class account_bank_statement_import(osv.TransientModel):
+ _inherit = "account.bank.statement.import"
+
+ def process_qif(self, cr, uid, data_file, journal_id=False, context=None):
+ """ Import a file in the .QIF format"""
+ try:
+ fileobj = TemporaryFile('wb+')
+ fileobj.write(base64.b64decode(data_file))
+ fileobj.seek(0)
+ file_data = ""
+ for line in fileobj.readlines():
+ file_data += line
+ fileobj.close()
+ if '\r' in file_data:
+ data_list = file_data.split('\r')
+ else:
+ data_list = file_data.split('\n')
+ header = data_list[0].strip()
+ header = header.split(":")[1]
+ except:
+ raise osv.except_osv(_('Import Error!'), _('Please check QIF file format is proper or not.'))
+ line_ids = []
+ vals_line = {}
+ total = 0
+ if header == "Bank":
+ vals_bank_statement = {}
+ for line in data_list:
+ line = line.strip()
+ if not line:
+ continue
+ if line[0] == 'D': # date of transaction
+ vals_line['date'] = dateutil.parser.parse(line[1:], fuzzy=True).date()
+ if vals_line.get('date') and not vals_bank_statement.get('period_id'):
+ period_ids = self.pool.get('account.period').find(cr, uid, vals_line['date'], context=context)
+ vals_bank_statement.update({'period_id': period_ids and period_ids[0] or False})
+ elif line[0] == 'T': # Total amount
+ total += float(line[1:].replace(',', ''))
+ vals_line['amount'] = float(line[1:].replace(',', ''))
+ elif line[0] == 'N': # Check number
+ vals_line['ref'] = line[1:]
+ elif line[0] == 'P': # Payee
+ bank_account_id, partner_id = self._detect_partner(cr, uid, line[1:], identifying_field='owner_name', context=context)
+ vals_line['partner_id'] = partner_id
+ vals_line['bank_account_id'] = bank_account_id
+ vals_line['name'] = 'name' in vals_line and line[1:] + ': ' + vals_line['name'] or line[1:]
+ elif line[0] == 'M': # Memo
+ vals_line['name'] = 'name' in vals_line and vals_line['name'] + ': ' + line[1:] or line[1:]
+ elif line[0] == '^': # end of item
+ line_ids.append((0, 0, vals_line))
+ vals_line = {}
+ elif line[0] == '\n':
+ line_ids = []
+ else:
+ pass
+ else:
+ raise osv.except_osv(_('Error!'), _('Cannot support this Format !Type:%s.') % (header,))
+ vals_bank_statement.update({'balance_end_real': total,
+ 'line_ids': line_ids,
+ 'journal_id': journal_id})
+ return [vals_bank_statement]
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_statement_import_qif/test_qif_file/test_qif.qif b/account_statement_import_qif/test_qif_file/test_qif.qif
new file mode 100644
index 000000000..5388e6dae
--- /dev/null
+++ b/account_statement_import_qif/test_qif_file/test_qif.qif
@@ -0,0 +1,21 @@
+!Type:Bank
+D8/12/13
+T-1,000.00
+PDelta PC
+^
+D8/15/13
+T-75.46
+PWalts Drugs
+^
+D3/3/13
+T-379.00
+PEpic Technologies
+^
+D3/4/13
+T-20.28
+PYOUR LOCAL SUPERMARKET
+^
+D3/3/13
+T-421.35
+PSPRINGFIELD WATER UTILITY
+^
diff --git a/account_statement_import_qif/tests/__init__.py b/account_statement_import_qif/tests/__init__.py
new file mode 100644
index 000000000..389df58da
--- /dev/null
+++ b/account_statement_import_qif/tests/__init__.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+# noqa: This is a backport from Odoo. OCA has no control over style here.
+# flake8: noqa
+from . import test_import_bank_statement
+checks = [
+ test_import_bank_statement
+]
+
diff --git a/account_statement_import_qif/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py
new file mode 100644
index 000000000..68381294e
--- /dev/null
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# noqa: This is a backport from Odoo. OCA has no control over style here.
+# flake8: noqa
+from openerp.tests.common import TransactionCase
+from openerp.modules.module import get_module_resource
+
+class TestQifFile(TransactionCase):
+ """Tests for import bank statement qif file format (account.bank.statement.import)
+ """
+
+ def setUp(self):
+ super(TestQifFile, self).setUp()
+ self.statement_import_model = self.registry('account.bank.statement.import')
+ self.bank_statement_model = self.registry('account.bank.statement')
+ self.bank_statement_line_model = self.registry('account.bank.statement.line')
+
+ def test_qif_file_import(self):
+ from openerp.tools import float_compare
+ cr, uid = self.cr, self.uid
+ qif_file_path = get_module_resource('account_bank_statement_import_qif', 'test_qif_file', 'test_qif.qif')
+ qif_file = open(qif_file_path, 'rb').read().encode('base64')
+ bank_statement_id = self.statement_import_model.create(cr, uid, dict(
+ file_type='qif',
+ data_file=qif_file,
+ ))
+ self.statement_import_model.parse_file(cr, uid, [bank_statement_id])
+ line_id = self.bank_statement_line_model.search(cr, uid, [('name', '=', 'YOUR LOCAL SUPERMARKET')])[0]
+ statement_id = self.bank_statement_line_model.browse(cr, uid, line_id).statement_id.id
+ bank_st_record = self.bank_statement_model.browse(cr, uid, statement_id)
+ assert float_compare(bank_st_record.balance_end_real, -1896.09, 2) == 0
From c596fd9080ab0779d960d8ed0e5d265a1c668b85 Mon Sep 17 00:00:00 2001
From: Alexis de Lattre
Date: Fri, 23 Jan 2015 22:50:24 +0100
Subject: [PATCH 02/23] New backport from odoo/master Fix bug #5
---
account_statement_import_qif/__openerp__.py | 22 ++---
.../account_bank_statement_import_qif.py | 81 +++++++++++-------
...account_bank_statement_import_qif_view.xml | 24 ++++++
.../static/description/icon.png | Bin 0 -> 6146 bytes
.../tests/__init__.py | 4 -
.../tests/test_import_bank_statement.py | 11 ++-
6 files changed, 91 insertions(+), 51 deletions(-)
create mode 100644 account_statement_import_qif/account_bank_statement_import_qif_view.xml
create mode 100644 account_statement_import_qif/static/description/icon.png
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__openerp__.py
index d06c90a85..21b9684d6 100644
--- a/account_statement_import_qif/__openerp__.py
+++ b/account_statement_import_qif/__openerp__.py
@@ -1,32 +1,28 @@
# -*- coding: utf-8 -*-
# noqa: This is a backport from Odoo. OCA has no control over style here.
# flake8: noqa
+
{
'name': 'Import QIF Bank Statement',
+ 'category' : 'Accounting & Finance',
'version': '1.0',
'author': 'OpenERP SA',
'description': '''
Module to import QIF bank statements.
======================================
-This module allows you to import the machine readable QIF Files in Odoo: they are parsed and stored in human readable format in
+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.
-Bank Statements may be generated containing a subset of the QIF information (only those transaction lines that are required for the
-creation of the Financial Accounting records).
-
-Backported from Odoo 9.0
-
-When testing with the provided test file, make sure the demo data from the
-base account_bank_statement_import module has been imported, or manually
-create periods for the year 2013.
+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.
''',
- 'images' : [],
+ 'images': [],
'depends': ['account_bank_statement_import'],
'demo': [],
- 'data': [],
+ 'data': ['account_bank_statement_import_qif_view.xml'],
'auto_install': False,
'installable': True,
}
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_statement_import_qif/account_bank_statement_import_qif.py b/account_statement_import_qif/account_bank_statement_import_qif.py
index a95656eb0..38f6a5c9f 100644
--- a/account_statement_import_qif/account_bank_statement_import_qif.py
+++ b/account_statement_import_qif/account_bank_statement_import_qif.py
@@ -3,29 +3,49 @@
# flake8: noqa
import dateutil.parser
-import base64
-from tempfile import TemporaryFile
+import StringIO
from openerp.tools.translate import _
-from openerp.osv import osv
-
-from openerp.addons.account_bank_statement_import import account_bank_statement_import as ibs
-
-ibs.add_file_type(('qif', 'QIF'))
+from openerp.osv import osv, fields
+from openerp.exceptions import Warning
class account_bank_statement_import(osv.TransientModel):
_inherit = "account.bank.statement.import"
- def process_qif(self, cr, uid, data_file, journal_id=False, context=None):
- """ Import a file in the .QIF format"""
+ _columns = {
+ 'journal_id': fields.many2one('account.journal', string='Journal', help='Accounting journal related to the bank statement you\'re importing. It has be be manually chosen for statement formats which doesn\'t allow automatic journal detection (QIF for example).'),
+ 'hide_journal_field': fields.boolean('Hide the journal field in the view'),
+ }
+
+ def _get_hide_journal_field(self, cr, uid, context=None):
+ return context and 'journal_id' in context or False
+
+ _defaults = {
+ 'hide_journal_field': _get_hide_journal_field,
+ }
+
+ def _get_journal(self, cr, uid, currency_id, bank_account_id, account_number, context=None):
+ """ As .QIF format does not allow us to detect the journal, we need to let the user choose it.
+ We set it in context before to call super so it's the same as calling the widget from a journal """
+ if context is None:
+ context = {}
+ if context.get('active_id'):
+ record = self.browse(cr, uid, context.get('active_id'), context=context)
+ if record.journal_id:
+ context['journal_id'] = record.journal_id.id
+ return super(account_bank_statement_import, self)._get_journal(cr, uid, currency_id, bank_account_id, account_number, context=context)
+
+ def _check_qif(self, cr, uid, data_file, context=None):
+ return data_file.strip().startswith('!Type:')
+
+ def _parse_file(self, cr, uid, data_file, context=None):
+ if not self._check_qif(cr, uid, data_file, context=context):
+ return super(account_bank_statement_import, self)._parse_file(cr, uid, data_file, context=context)
+
try:
- fileobj = TemporaryFile('wb+')
- fileobj.write(base64.b64decode(data_file))
- fileobj.seek(0)
file_data = ""
- for line in fileobj.readlines():
+ for line in StringIO.StringIO(data_file).readlines():
file_data += line
- fileobj.close()
if '\r' in file_data:
data_list = file_data.split('\r')
else:
@@ -33,8 +53,8 @@ def process_qif(self, cr, uid, data_file, journal_id=False, context=None):
header = data_list[0].strip()
header = header.split(":")[1]
except:
- raise osv.except_osv(_('Import Error!'), _('Please check QIF file format is proper or not.'))
- line_ids = []
+ raise Warning(_('Could not decipher the QIF file.'))
+ transactions = []
vals_line = {}
total = 0
if header == "Bank":
@@ -45,33 +65,34 @@ def process_qif(self, cr, uid, data_file, journal_id=False, context=None):
continue
if line[0] == 'D': # date of transaction
vals_line['date'] = dateutil.parser.parse(line[1:], fuzzy=True).date()
- if vals_line.get('date') and not vals_bank_statement.get('period_id'):
- period_ids = self.pool.get('account.period').find(cr, uid, vals_line['date'], context=context)
- vals_bank_statement.update({'period_id': period_ids and period_ids[0] or False})
elif line[0] == 'T': # Total amount
total += float(line[1:].replace(',', ''))
vals_line['amount'] = float(line[1:].replace(',', ''))
elif line[0] == 'N': # Check number
vals_line['ref'] = line[1:]
elif line[0] == 'P': # Payee
- bank_account_id, partner_id = self._detect_partner(cr, uid, line[1:], identifying_field='owner_name', context=context)
- vals_line['partner_id'] = partner_id
- vals_line['bank_account_id'] = bank_account_id
vals_line['name'] = 'name' in vals_line and line[1:] + ': ' + vals_line['name'] or line[1:]
+ # Since QIF doesn't provide account numbers, we'll have to find res.partner and res.partner.bank here
+ # (normal behavious is to provide 'account_number', which the generic module uses to find partner/bank)
+ ids = self.pool.get('res.partner.bank').search(cr, uid, [('owner_name', '=', line[1:])], context=context)
+ if ids:
+ vals_line['bank_account_id'] = bank_account_id = ids[0]
+ vals_line['partner_id'] = self.pool.get('res.partner.bank').browse(cr, uid, bank_account_id, context=context).partner_id.id
elif line[0] == 'M': # Memo
vals_line['name'] = 'name' in vals_line and vals_line['name'] + ': ' + line[1:] or line[1:]
elif line[0] == '^': # end of item
- line_ids.append((0, 0, vals_line))
+ transactions.append(vals_line)
vals_line = {}
elif line[0] == '\n':
- line_ids = []
+ transactions = []
else:
pass
else:
- raise osv.except_osv(_('Error!'), _('Cannot support this Format !Type:%s.') % (header,))
- vals_bank_statement.update({'balance_end_real': total,
- 'line_ids': line_ids,
- 'journal_id': journal_id})
- return [vals_bank_statement]
+ raise Warning(_('This file is either not a bank statement or is not correctly formed.'))
+
+ vals_bank_statement.update({
+ 'balance_end_real': total,
+ 'transactions': transactions
+ })
+ return None, None, [vals_bank_statement]
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_statement_import_qif/account_bank_statement_import_qif_view.xml b/account_statement_import_qif/account_bank_statement_import_qif_view.xml
new file mode 100644
index 000000000..3b3a34215
--- /dev/null
+++ b/account_statement_import_qif/account_bank_statement_import_qif_view.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Import Bank Statements Inherited
+ account.bank.statement.import
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/account_statement_import_qif/static/description/icon.png b/account_statement_import_qif/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5842c2b0c2f6769ac66d20eff011c53ed0dc285
GIT binary patch
literal 6146
zcmbVwXHXMN)NT?&4ISw{bW}h>mmW$`IwGJ{g%Bx%NJmPjp$Fv^LWiJY1py&Qixfo&
zO(PnL6zM`}Lg;*acjo@Qf9}qlJ+nJIXLjebXPE3<+hj+b#eUySie2b~NLI41NyoHI;jmVPq(x`mLAOC%hZ!I*+6y#M%xx*P;
zW@tnYl{Voa3p8d+`dtnGmcC-WmSaK7NSBpe5x7gra0t#Q3KikTgQXLhGPG1`P*O=y
z5J>fFwM5-f?uP61Yo{RjjE}qSTh!(;x7tDY20(^2z0R1BAfP8Ikp!~!C=Yc`tdKK7JR;?Dvfl2fCzo*V_
zu3a;vg8)=OgtzE{N&YQGTW%1x=G-Ja7qFtm=qz;iz>2GrF-JLE<{Q@wz$HL59V75!
z!rg=k^j&lw@iMU!6wkaA%7_Hv(a)%-sAwV
z>l%a3$D?+^1y-Z3mY%5~j-w&)7@a@5R}3UGxb{4lVnsA1vPX2LM|Y8$$h2_+=ZkY6
z&azjq1w%I(>I6_|_x)lb(C~|G!5$G$H1JV)Ejl8^JlqvL1ogbMDXGE|30&rQe_h4PvaKIGPy)n(6Vs)kqji70w-x9ru
z5w;uUX<#~X@dT1@o;r|VlW<0tS~+@0z^||yErZk$`b8fA)OdV!(7`=)kNpwnPz=W}
z4rYXp)`nhR6N@TeBNIU^&1vfr=)hg~VzX~v|
z1Cidixb4ZHM0)yxq_w|@FSQIg4EMnd#T2K62Shl^S=19L2jYO1wtb(9FSQ#J#DITi
zFi~9B!`MtQ{To0+dTf$9bg$-8bv!X-rt;k`^iNB7IETiLPK+
z0g8AbA)EyS@#RdRh4jY1A0@tD?9%mA+=O_tsBrFItTWiOt69P!0PgU~XTrfMb8HZ7
z#k!$!oviM(3j*u$=I3oi=p0{y_A-4(Zr=~Sh-q)+bs*e3i2lw`#ws%{erI-1WU6I{
z2NsIt%3&2IYGOUxpFFS@CTnqxgAC~0&3dS|(pf9Zym1`YCTLun(UE27%1H{M!dI%&
z54WV3uQb{INn=Kl*ge(>>_2k66*bx<>WuR_v-S-Byz3~qWI3c27x*-!KJae?d0k+}
zuOft_%=eajkUPAC)=rsQ1gwv2eq>t)w`E303rECHkaEC__}_b6s#38#
zi1M@>EVwWAlMMx}zB$%1Xo4eA9YrW%a%DPZuo7@Aru?bd5;M)#yFlPy*?tv#X-a25
zP-~1^J06L*_%E){i_V^zCMo_YOnWtyMd)KWD5qa5Tpo%Mqds61+I~??aX~D9#!+@=
z+x$Frw%t2eOT^1w8*F+lF?#GS@=QB;+ZVhifYo^^>$!5jZ=HG)~wth2Icx>p&s&4TM9yJtb%HCz>
z#l3Gp&IX@0iVcql?X!+(NTORTJbl$%oAI*DB$2KOoQr?Oi&kZohTqfjmr_)J4+-Apz4F78#hU~8VrPdZx(6b#mNY-Y;(HCSBw-%8U
zF2U=p3Xe~|^O(3rq>WA*Df>MpT235u&PyJ*;o8|ne33NC(vy^|hXwpK4r#Wz2QKg0
z1+7@JO|nnLF#HHixKwZ;wBG$1ORqHA7aFI6
z8J7;`hu-GOF>c>_5*#2_Wc)i(=%Q#;`vdB!s?Y;!#UA3jYW}oNz=p5LbcRr~|NhxR
z@SudZTO-C=t$~kNj$I1YTxBv#uPl__M9%N614++hnM<;SR#t7T>FY;d(A7%Z>|okg
z{NPAj53BiEJ{jAL8)Ttnj&SU&3%N8^<}K-YCgZZ{sU|(U$O^eTdrwA~Mp#-p(r_-%
zT5VJtrZ50~(4!|RGVW=I>SEXOz^V0nbWiP`WLa_01d;>}53~OKf%X4#u$lQeC+(Uq
z$*jwr*YN{Ud&WySp+kSM<%na#S+!z|1d>5l77Hn+D1mjp3|;jAN*yObK`UUq_2}e0
zy|@Nt^^+_=g_aR>T$S<)I5OuNV_Ri628
zV=h<^ll;MO*gjiC)h?u8$UDqrBBHwmX3=s_8O~nZTBBXO?@U1IasS@Ia$2(tgXS0q
z&>17BBPmJ0bj&oX+MNL7M4pz!+rBX_$T6|4a)nRdFyaqF0NzJ5W2F&1=gU`yJ%c05
zBXsR`IW=2HK*o9bPN8h>Zgjj&>rXkQ3lTN(Ik>}1WiHv-3s8CZY#&KkzTftB1qNOo7j!X{M-)_$Q9bVVDIqG5kZTn
zz8?j2$XmJ}E+1i~)p<2z$3T#6z)s)rCeSd?LNwtra*vTbut=AdlG-^j#m}Hg^%z{s
zt$v>43xJc>Zm99PF}I~$deV%xM(+LD)E$QYsDrI_Cg+>KhduJkJ5D;L7_TREevtuZ
z|HmJEli^2@{owg
zZyQq}=I_sg0}Re{{@T9X_*=Lp#@%+PS*-ZWJcowh1R0d{>j6ve!zLWV;>`!I0h6&2;~VTS
z|3zx+x4reDdgUM&%BfAOjZ(Z((>7HNHu1!NHM*l!+2qq33RVzf@1&bW_D!mMzYRi4
z$@LGTN0Ay#SN4POx(BN|^YkU@T0|*%mZfMluh7dcgVztJrxWL}gGGpXgkPE#X^V$r
zowgA@MmMD#8u*JqaXqB_z%d-fb)FKCi&RlI^z&7y`!?m95_7^#-wx;i<`t*hRWNsvB1m?rPapWm|^r|1vLa31)PlpBtp
zddgW;bgIpA_7Rx(-EBG6q&+5n{=YX8yJfdP21aPHDch=nTQk!0EB<_?{>Z^R$M4Fn
z6X@~E^)S;**&Nvg{3;Al05C$h+&?vTIVZaK1t31=-bDE9S1
zf@y<-KD(?xl}x%0$khUyoE&mAhJYEmxbT=@45Vx
z5L1c32hbE(KBs+#FyBsVi`Rsjk392g+*i1Es)Zhp0&05a|6m{pXh$lUgG1o*4;AgX
zI37P0E~LYcdXu(@EU@BqLazd`61jKPWK+xpq{)C1FEMlMMSr^T~7pNZAh0I1)PY|B|Z^p)HV72qD?z*bPr*hF0b>)q-b
zkD;M&IbVuqzIm!W+Foq`ht4WSqpnbRo0ePgT(h2sJ5_IYQ@cJRB--fD_#HA;-o^w|q)s?i4EYkl585Y^0)H(Tc++?H|7G9w(f`f*^^duNIga3o>YA
zxX5N8EQTqH=LIy4bRA)!3?DU~Hsv#=FCw*Q;H}}`SA(UX6>sxi-Qoe?YijLG>_BW+
z;zY9&oo`n5%?P1hWpnh(p#3=?6d8#kDq4q)9Nv|Vu6gBd#sES9AK0>KTrVjtZ?#v|
z#8blDgjPpn$zJqx^h+r_I+6_!Auq9eLa6@#V1c8D-`d4x
zaF&LjWRwZeuWS~_Iq4C83=XV3Zj
zA(3?ZGB4B1^m?1@QI9Yl^jW6ei*)jh(K6e_Sj+Xc1iUTWBnqewCX#X(I{5d3I2PPM
zy8g&ktlKHB&Y)bgPOkpMsRC8KfXTX%B5!hR2L0rQ`SxWM_F^O7InMLz
z5`FdT1(QvNDndd**BI+ygXW8HcSDWpC3-EP|B#g}$Nx5teFh+?lt-ew_l|KG55t_c
zgenPZbIz?r`cSrbP4nb!`ME)e04DYHP%Dbc7DmGH+p4AAECJcBrTG(=#)Ubi1FQS?
z)cP-Jt9iH+tx)puqPuOzQNZr*5Ai08(}R5hZ4849Wm(2uWtVJUJj@dlM?bothZT(G
zzOx%^dtrwm|8X4nrE(rs!QDu4BLEhYr+RGI^R>pS+$6iCjGwc2KkV80otp|yxW9eE
zckRkSOHYgmU*4k%m6DljoK8gr=BPjMxc1)&`Y?FOGvU<(+Cq(u>qVs`bkdwn>18QIJz?v2s`59R>HP4v*Ml<
zW3l8f
zFDewW0c5X*yAu)KnbWzcKRYF1+qqQz@1(eNrUgl28uhgJyrT=p)_JiM<@=#Y11*T3
z)0XQS>_6yf(79h<|LM)iU~KQ3_Jk|Gi3#Q871E?W2AN))gZ`)>W(d3Zed
zaLqocG)ML!67SLjBucVj`%T7H1eTjI3o-ff`nt9)sQGKr?A=}B&PH>F^O692pnm>1J4Ef@K
zlKv&wAH{#L^U&)uG`loU7y&%3|
z3CgqmP<5KTp%lW?A+`*Q_~COMbX`xHG*xbP*rK1jL6dLQx;Xogwm^-`^mQ?)$j2rp
zE2PBOTq)Ddp3b+WN_sg}t*oSbdl*Rzf2J$gfSl(Rgb1$okgIChZF#o=u*4$~zjkW4
zrs0gElbqp4)j^;9Xb6?3HmTd`U8s0h1B5C&h1DN(JAHRASjuaR+-{8@SK~Fyzj_#92;D5PR8E4ctt)v
zEDN{(Fw?B}G+Sb|2}O<}OQR{snVa@8qcy;qPZJfNgN!o3i`|Ok??y_iCwcH1WoSWd
zRmEsA_L(ZHc9@vl2hy0_C3^;TmJ%OwznsKc_rYV_(yv=3hP%WxijJB6k>q&<$|WX_JAmf7!EQ
zU#slyMF9u$T4+o~lCRD5=7sFb9}O1sdm{0+Ht`}>Z*=FVnS*Z(wqgH3H(QU^Kw&~D
zLbD!Sv1Ker=AZ%B@`%i#b&S68N$S%6zW^ly$mTiqt9q~D-35A+=~<5)p}&vFM-2FT
zQ$`p1AQB&laNaql3Cq9RkHne37v$MU)B+^FjCxknUMIB@crx7HXf&j8@e|b7rkOj`m9?0MHiNtIAzlp7aOE@|lT7D?$R1g8Mc&F-=8efYZ|NF1SLIZ;ma+J%X1Q%>j~-|;
zqi`eoAM|J13GL&NAMAFjZp2^PfK#Pv)%v%`AB4HyX7`oc;(Qmy9tFN=A>%%u+}i1X
z3*cu;cz2ty@dZ&BE-^eKjEOvDi(-vP-NsLTp|j1PTt=zIWXoctwHvv-`ZL5B+E%H%
z={kPF(ow*a9nh#e!Hhw?>-(Sj$oIth<4U)PS+tE14*u+S@h&
zT<4S+yuP*U@V+4RXgUG2es9)=ops3^mGg+s!X03xtnA6=<;9p!;n_+>0SDg7Uyo!}
zI1N?_;mu{|yLR3!q(v&Y>@q|ozCzAf((?wi17bJaVQwEq>=YfaLHZAPRWh7N2d1XR7h7H8nnjMmxoFrca5M`2hXM
z^39dkmP{_F5QW#;^SBWl~Ay+eoh
zR)Py<{B=LeGXhr;`n;|DC`l-uapXHmHLY(ELtamdB&Hyn7}UM#LslP+l33KcgrwDM
zpo~Md^M`J^W|iGoILb%MAOoli(T-3uX*#~&!`qPnM!vxPI3$KK>|G3Q8|9K?L|}zw
zx`9Hm8Y)KjDk~j{uw@=9^Y-1?SqC9TwpSo-H9cv?{~zM||1#Uh2Faq~?+>nlc+UBH
OfQ6~G$vb1u#Qy=L>~_Kc
literal 0
HcmV?d00001
diff --git a/account_statement_import_qif/tests/__init__.py b/account_statement_import_qif/tests/__init__.py
index 389df58da..902f7b0b7 100644
--- a/account_statement_import_qif/tests/__init__.py
+++ b/account_statement_import_qif/tests/__init__.py
@@ -2,7 +2,3 @@
# noqa: This is a backport from Odoo. OCA has no control over style here.
# flake8: noqa
from . import test_import_bank_statement
-checks = [
- test_import_bank_statement
-]
-
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 68381294e..bef4c3597 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -20,10 +20,13 @@ def test_qif_file_import(self):
qif_file_path = get_module_resource('account_bank_statement_import_qif', 'test_qif_file', 'test_qif.qif')
qif_file = open(qif_file_path, 'rb').read().encode('base64')
bank_statement_id = self.statement_import_model.create(cr, uid, dict(
- file_type='qif',
- data_file=qif_file,
- ))
- self.statement_import_model.parse_file(cr, uid, [bank_statement_id])
+ data_file=qif_file,
+ ))
+ context = {
+ 'journal_id': self.registry('ir.model.data').get_object_reference(cr, uid, 'account', 'bank_journal')[1],
+ 'allow_auto_create_journal': True,
+ }
+ self.statement_import_model.import_file(cr, uid, [bank_statement_id], context=context)
line_id = self.bank_statement_line_model.search(cr, uid, [('name', '=', 'YOUR LOCAL SUPERMARKET')])[0]
statement_id = self.bank_statement_line_model.browse(cr, uid, line_id).statement_id.id
bank_st_record = self.bank_statement_model.browse(cr, uid, statement_id)
From 9448f9919e07c18aa8f81120e55cf8487042bed8 Mon Sep 17 00:00:00 2001
From: Laurent Mignon
Date: Fri, 20 Mar 2015 11:48:55 +0100
Subject: [PATCH 03/23] [IMP] Backport from master at
04daefd2d101d90daf5782173b95f31f3bd9e1b6
---
account_statement_import_qif/__init__.py | 1 -
.../tests/test_import_bank_statement.py | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
index 784a476e1..7ff3caa88 100644
--- a/account_statement_import_qif/__init__.py
+++ b/account_statement_import_qif/__init__.py
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from . import account_bank_statement_import_qif
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
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 bef4c3597..8d8765037 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -23,8 +23,7 @@ def test_qif_file_import(self):
data_file=qif_file,
))
context = {
- 'journal_id': self.registry('ir.model.data').get_object_reference(cr, uid, 'account', 'bank_journal')[1],
- 'allow_auto_create_journal': True,
+ 'journal_id': self.registry('ir.model.data').get_object_reference(cr, uid, 'account', 'bank_journal')[1]
}
self.statement_import_model.import_file(cr, uid, [bank_statement_id], context=context)
line_id = self.bank_statement_line_model.search(cr, uid, [('name', '=', 'YOUR LOCAL SUPERMARKET')])[0]
From d9f2fa682292faff199af30b53d87d7a43ed5963 Mon Sep 17 00:00:00 2001
From: "Laurent Mignon (ACSONE)"
Date: Thu, 21 May 2015 14:03:51 +0200
Subject: [PATCH 04/23] [IMP] account_bank_statement_qif: use new API + i18n +
move journal_id to main
---
account_statement_import_qif/README.rst | 58 +++++++++++++
account_statement_import_qif/__init__.py | 1 -
account_statement_import_qif/__openerp__.py | 26 ++----
.../account_bank_statement_import_qif.py | 87 ++++++++++---------
...account_bank_statement_import_qif_view.xml | 24 -----
.../account_bank_statement_import_qif.pot | 49 +++++++++++
.../tests/__init__.py | 2 -
.../tests/test_import_bank_statement.py | 35 ++++----
8 files changed, 177 insertions(+), 105 deletions(-)
create mode 100644 account_statement_import_qif/README.rst
delete mode 100644 account_statement_import_qif/account_bank_statement_import_qif_view.xml
create mode 100644 account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst
new file mode 100644
index 000000000..66411e6d5
--- /dev/null
+++ b/account_statement_import_qif/README.rst
@@ -0,0 +1,58 @@
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
+ :alt: License: AGPL-3
+
+Module to import QIF bank statements.
+=====================================
+
+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 has been initiated by a backport of the new framework developed
+by Odoo for V9 at its early stage. It's no more kept in sync with the V9 since
+it has reach a stage where maintaining a pure backport of 9.0 in 8.0 is not
+feasible anymore
+
+Known issues / Roadmap
+======================
+
+* None
+
+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 smashing it by providing a detailed and welcomed feedback
+`here `_.
+
+
+Credits
+=======
+
+Contributors
+------------
+
+* Odoo SA
+* Alexis de Lattre
+* Laurent Mignon
+* Ronald Portier
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+To contribute to this module, please visit http://odoo-community.org.
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
index 7ff3caa88..3bf4df83a 100644
--- a/account_statement_import_qif/__init__.py
+++ b/account_statement_import_qif/__init__.py
@@ -1,3 +1,2 @@
# -*- coding: utf-8 -*-
from . import account_bank_statement_import_qif
-
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__openerp__.py
index 21b9684d6..d550b1b70 100644
--- a/account_statement_import_qif/__openerp__.py
+++ b/account_statement_import_qif/__openerp__.py
@@ -1,28 +1,16 @@
# -*- coding: utf-8 -*-
-# noqa: This is a backport from Odoo. OCA has no control over style here.
-# flake8: noqa
{
'name': 'Import QIF Bank Statement',
- 'category' : 'Accounting & Finance',
+ 'category': 'Accounting & Finance',
'version': '1.0',
- 'author': 'OpenERP SA',
- 'description': '''
-Module to import QIF bank statements.
-======================================
-
-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.
-''',
+ 'author': 'OpenERP SA,'
+ 'Odoo Community Association (OCA)',
+ 'website': 'https://github.com/OCA/bank-statement-import',
'images': [],
- 'depends': ['account_bank_statement_import'],
- 'demo': [],
- 'data': ['account_bank_statement_import_qif_view.xml'],
+ 'depends': [
+ 'account_bank_statement_import'
+ ],
'auto_install': False,
'installable': True,
}
diff --git a/account_statement_import_qif/account_bank_statement_import_qif.py b/account_statement_import_qif/account_bank_statement_import_qif.py
index 38f6a5c9f..2683e77f4 100644
--- a/account_statement_import_qif/account_bank_statement_import_qif.py
+++ b/account_statement_import_qif/account_bank_statement_import_qif.py
@@ -1,46 +1,44 @@
# -*- coding: utf-8 -*-
-# noqa: This is a backport from Odoo. OCA has no control over style here.
-# flake8: noqa
import dateutil.parser
import StringIO
from openerp.tools.translate import _
-from openerp.osv import osv, fields
+from openerp import api, models
from openerp.exceptions import Warning
-class account_bank_statement_import(osv.TransientModel):
- _inherit = "account.bank.statement.import"
-
- _columns = {
- 'journal_id': fields.many2one('account.journal', string='Journal', help='Accounting journal related to the bank statement you\'re importing. It has be be manually chosen for statement formats which doesn\'t allow automatic journal detection (QIF for example).'),
- 'hide_journal_field': fields.boolean('Hide the journal field in the view'),
- }
- def _get_hide_journal_field(self, cr, uid, context=None):
- return context and 'journal_id' in context or False
+class AccountBankStatementImport(models.TransientModel):
+ _inherit = "account.bank.statement.import"
- _defaults = {
- 'hide_journal_field': _get_hide_journal_field,
- }
+ @api.model
+ def _get_hide_journal_field(self):
+ return self.env.context.get('journal_id') and True
- def _get_journal(self, cr, uid, currency_id, bank_account_id, account_number, context=None):
- """ As .QIF format does not allow us to detect the journal, we need to let the user choose it.
- We set it in context before to call super so it's the same as calling the widget from a journal """
- if context is None:
- context = {}
- if context.get('active_id'):
- record = self.browse(cr, uid, context.get('active_id'), context=context)
+ @api.model
+ def _get_journal(self, currency_id, bank_account_id, account_number):
+ """ As .QIF format does not allow us to detect the journal, we need to
+ let the user choose it.
+ We set it in context before to call super so it's the same as
+ calling the widget from a journal """
+ record = self
+ active_id = self.env.context.get('active_id')
+ if active_id:
+ record = self.browse(active_id)
if record.journal_id:
- context['journal_id'] = record.journal_id.id
- return super(account_bank_statement_import, self)._get_journal(cr, uid, currency_id, bank_account_id, account_number, context=context)
+ record = record.with_context(journal_id=record.journal_id.id)
+ return super(AccountBankStatementImport, record)._get_journal(
+ currency_id, bank_account_id, account_number)
- def _check_qif(self, cr, uid, data_file, context=None):
+ @api.model
+ def _check_qif(self, data_file):
return data_file.strip().startswith('!Type:')
- def _parse_file(self, cr, uid, data_file, context=None):
- if not self._check_qif(cr, uid, data_file, context=context):
- return super(account_bank_statement_import, self)._parse_file(cr, uid, data_file, context=context)
+ @api.model
+ def _parse_file(self, data_file):
+ if not self._check_qif(data_file):
+ return super(AccountBankStatementImport, self)._parse_file(
+ data_file)
try:
file_data = ""
@@ -64,22 +62,31 @@ def _parse_file(self, cr, uid, data_file, context=None):
if not line:
continue
if line[0] == 'D': # date of transaction
- vals_line['date'] = dateutil.parser.parse(line[1:], fuzzy=True).date()
+ vals_line['date'] = dateutil.parser.parse(
+ line[1:], fuzzy=True).date()
elif line[0] == 'T': # Total amount
total += float(line[1:].replace(',', ''))
vals_line['amount'] = float(line[1:].replace(',', ''))
elif line[0] == 'N': # Check number
vals_line['ref'] = line[1:]
elif line[0] == 'P': # Payee
- vals_line['name'] = 'name' in vals_line and line[1:] + ': ' + vals_line['name'] or line[1:]
- # Since QIF doesn't provide account numbers, we'll have to find res.partner and res.partner.bank here
- # (normal behavious is to provide 'account_number', which the generic module uses to find partner/bank)
- ids = self.pool.get('res.partner.bank').search(cr, uid, [('owner_name', '=', line[1:])], context=context)
- if ids:
- vals_line['bank_account_id'] = bank_account_id = ids[0]
- vals_line['partner_id'] = self.pool.get('res.partner.bank').browse(cr, uid, bank_account_id, context=context).partner_id.id
+ vals_line['name'] = ('name' in vals_line and
+ line[1:] + ': ' + vals_line['name'] or
+ line[1:])
+ # Since QIF doesn't provide account numbers, we'll have to
+ # find res.partner and res.partner.bank here
+ # (normal behavious is to provide 'account_number', which
+ # the generic module uses to find partner/bank)
+ banks = self.env['res.partner.bank'].search(
+ [('owner_name', '=', line[1:])], limit=1)
+ if banks:
+ bank_account = banks[0]
+ vals_line['bank_account_id'] = bank_account.id
+ vals_line['partner_id'] = bank_account.partner_id.id
elif line[0] == 'M': # Memo
- vals_line['name'] = 'name' in vals_line and vals_line['name'] + ': ' + line[1:] or line[1:]
+ vals_line['name'] = ('name' in vals_line and
+ vals_line['name'] + ': ' + line[1:] or
+ line[1:])
elif line[0] == '^': # end of item
transactions.append(vals_line)
vals_line = {}
@@ -88,11 +95,11 @@ def _parse_file(self, cr, uid, data_file, context=None):
else:
pass
else:
- raise Warning(_('This file is either not a bank statement or is not correctly formed.'))
-
+ raise Warning(_('This file is either not a bank statement or is '
+ 'not correctly formed.'))
+
vals_bank_statement.update({
'balance_end_real': total,
'transactions': transactions
})
return None, None, [vals_bank_statement]
-
diff --git a/account_statement_import_qif/account_bank_statement_import_qif_view.xml b/account_statement_import_qif/account_bank_statement_import_qif_view.xml
deleted file mode 100644
index 3b3a34215..000000000
--- a/account_statement_import_qif/account_bank_statement_import_qif_view.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
- Import Bank Statements Inherited
- 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
new file mode 100644
index 000000000..65c2bf0f3
--- /dev/null
+++ b/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
@@ -0,0 +1,49 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 8.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-06-08 12:01+0000\n"
+"PO-Revision-Date: 2015-06-08 12:01+0000\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_qif
+#: help:account.bank.statement.import,journal_id:0
+msgid "Accounting journal related to the bank statement you're importing. It has be be manually chosen for statement formats which doesn't allow automatic journal detection (QIF for example)."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:54
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: field:account.bank.statement.import,hide_journal_field:0
+msgid "Hide the journal field in the view"
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: field:account.bank.statement.import,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:98
+#, python-format
+msgid "This file is either not a bank statement or is not correctly formed."
+msgstr ""
+
diff --git a/account_statement_import_qif/tests/__init__.py b/account_statement_import_qif/tests/__init__.py
index 902f7b0b7..9ce25a7f1 100644
--- a/account_statement_import_qif/tests/__init__.py
+++ b/account_statement_import_qif/tests/__init__.py
@@ -1,4 +1,2 @@
# -*- coding: utf-8 -*-
-# noqa: This is a backport from Odoo. OCA has no control over style here.
-# flake8: noqa
from . import test_import_bank_statement
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 8d8765037..5c13125ea 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -1,32 +1,29 @@
# -*- coding: utf-8 -*-
-# noqa: This is a backport from Odoo. OCA has no control over style here.
-# flake8: noqa
+
from openerp.tests.common import TransactionCase
from openerp.modules.module import get_module_resource
+
class TestQifFile(TransactionCase):
- """Tests for import bank statement qif file format (account.bank.statement.import)
+ """Tests for import bank statement qif file format
+ (account.bank.statement.import)
"""
def setUp(self):
super(TestQifFile, self).setUp()
- self.statement_import_model = self.registry('account.bank.statement.import')
- self.bank_statement_model = self.registry('account.bank.statement')
- self.bank_statement_line_model = self.registry('account.bank.statement.line')
+ self.statement_import_model = self.env['account.bank.statement.import']
+ self.statement_line_model = self.env['account.bank.statement.line']
def test_qif_file_import(self):
from openerp.tools import float_compare
- cr, uid = self.cr, self.uid
- qif_file_path = get_module_resource('account_bank_statement_import_qif', 'test_qif_file', 'test_qif.qif')
+ qif_file_path = get_module_resource(
+ 'account_bank_statement_import_qif',
+ 'test_qif_file', 'test_qif.qif')
qif_file = open(qif_file_path, 'rb').read().encode('base64')
- bank_statement_id = self.statement_import_model.create(cr, uid, dict(
- data_file=qif_file,
- ))
- context = {
- 'journal_id': self.registry('ir.model.data').get_object_reference(cr, uid, 'account', 'bank_journal')[1]
- }
- self.statement_import_model.import_file(cr, uid, [bank_statement_id], context=context)
- line_id = self.bank_statement_line_model.search(cr, uid, [('name', '=', 'YOUR LOCAL SUPERMARKET')])[0]
- statement_id = self.bank_statement_line_model.browse(cr, uid, line_id).statement_id.id
- bank_st_record = self.bank_statement_model.browse(cr, uid, statement_id)
- assert float_compare(bank_st_record.balance_end_real, -1896.09, 2) == 0
+ bank_statement_improt = self.statement_import_model.with_context(
+ journal_id=self.ref('account.bank_journal')).create(
+ dict(data_file=qif_file))
+ bank_statement_improt.import_file()
+ bank_statement = self.statement_line_model.search(
+ [('name', '=', 'YOUR LOCAL SUPERMARKET')], limit=1)[0].statement_id
+ assert float_compare(bank_statement.balance_end_real, -1896.09, 2) == 0
From 432752e81ea22d2edec8bdbb7c656f5fcfa01393 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Tue, 23 Jun 2015 16:37:06 +0200
Subject: [PATCH 05/23] [FIX] account_bank_statement_import: Handle correctly
the selection of the journal
---
.../account_bank_statement_import_qif.py | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/account_statement_import_qif/account_bank_statement_import_qif.py b/account_statement_import_qif/account_bank_statement_import_qif.py
index 2683e77f4..0b9061e47 100644
--- a/account_statement_import_qif/account_bank_statement_import_qif.py
+++ b/account_statement_import_qif/account_bank_statement_import_qif.py
@@ -15,21 +15,6 @@ class AccountBankStatementImport(models.TransientModel):
def _get_hide_journal_field(self):
return self.env.context.get('journal_id') and True
- @api.model
- def _get_journal(self, currency_id, bank_account_id, account_number):
- """ As .QIF format does not allow us to detect the journal, we need to
- let the user choose it.
- We set it in context before to call super so it's the same as
- calling the widget from a journal """
- record = self
- active_id = self.env.context.get('active_id')
- if active_id:
- record = self.browse(active_id)
- if record.journal_id:
- record = record.with_context(journal_id=record.journal_id.id)
- return super(AccountBankStatementImport, record)._get_journal(
- currency_id, bank_account_id, account_number)
-
@api.model
def _check_qif(self, data_file):
return data_file.strip().startswith('!Type:')
From 1b6f9a057f838fef08b3375dd0d5d2d6989225a7 Mon Sep 17 00:00:00 2001
From: "Ronald Portier (Therp BV)"
Date: Thu, 2 Apr 2015 10:56:50 +0200
Subject: [PATCH 06/23] [ENH] Support multiple accounts/currencies.
Copy of changes proposed for master.
OCA Transbot updated translations from Transifex
---
account_statement_import_qif/__openerp__.py | 4 +--
account_statement_import_qif/i18n/es.po | 35 ++++++++++++++++++++
account_statement_import_qif/i18n/fr.po | 36 +++++++++++++++++++++
account_statement_import_qif/i18n/lt_LT.po | 36 +++++++++++++++++++++
account_statement_import_qif/i18n/nl.po | 36 +++++++++++++++++++++
account_statement_import_qif/i18n/pt_BR.po | 36 +++++++++++++++++++++
account_statement_import_qif/i18n/sl.po | 36 +++++++++++++++++++++
7 files changed, 217 insertions(+), 2 deletions(-)
create mode 100644 account_statement_import_qif/i18n/es.po
create mode 100644 account_statement_import_qif/i18n/fr.po
create mode 100644 account_statement_import_qif/i18n/lt_LT.po
create mode 100644 account_statement_import_qif/i18n/nl.po
create mode 100644 account_statement_import_qif/i18n/pt_BR.po
create mode 100644 account_statement_import_qif/i18n/sl.po
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__openerp__.py
index d550b1b70..14a81a068 100644
--- a/account_statement_import_qif/__openerp__.py
+++ b/account_statement_import_qif/__openerp__.py
@@ -2,8 +2,8 @@
{
'name': 'Import QIF Bank Statement',
- 'category': 'Accounting & Finance',
- 'version': '1.0',
+ 'category': 'Banking addons',
+ 'version': '8.0.1.0.0',
'author': 'OpenERP SA,'
'Odoo Community Association (OCA)',
'website': 'https://github.com/OCA/bank-statement-import',
diff --git a/account_statement_import_qif/i18n/es.po b/account_statement_import_qif/i18n/es.po
new file mode 100644
index 000000000..3872d1737
--- /dev/null
+++ b/account_statement_import_qif/i18n/es.po
@@ -0,0 +1,35 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-24 21:51+0000\n"
+"PO-Revision-Date: 2015-06-08 12:44+0000\n"
+"Last-Translator: OCA Transbot \n"
+"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Importar extracto bancario"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, 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
new file mode 100644
index 000000000..d8df1771c
--- /dev/null
+++ b/account_statement_import_qif/i18n/fr.po
@@ -0,0 +1,36 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# zuher83 , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-24 21:51+0000\n"
+"PO-Revision-Date: 2015-06-28 20:27+0000\n"
+"Last-Translator: zuher83 \n"
+"Language-Team: French (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Impossible de déchiffrer le fichier QIF."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Importer Relevé Bancaire"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, python-format
+msgid "This file is either not a bank statement or is not correctly formed."
+msgstr "Ce fichier n'est pas un relevé bancaire ou n'est pas dans un format correcte."
diff --git a/account_statement_import_qif/i18n/lt_LT.po b/account_statement_import_qif/i18n/lt_LT.po
new file mode 100644
index 000000000..9efb9e61a
--- /dev/null
+++ b/account_statement_import_qif/i18n/lt_LT.po
@@ -0,0 +1,36 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Arminas Grigonis , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-24 21:51+0000\n"
+"PO-Revision-Date: 2015-07-23 13:36+0000\n"
+"Last-Translator: Arminas Grigonis \n"
+"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/lt_LT/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: lt_LT\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Neįmanoma iššifruoti QIF failo."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Importuoti banko išrašą"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, 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/nl.po b/account_statement_import_qif/i18n/nl.po
new file mode 100644
index 000000000..e1e2fe546
--- /dev/null
+++ b/account_statement_import_qif/i18n/nl.po
@@ -0,0 +1,36 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Erwin van der Ploeg , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-24 21:51+0000\n"
+"PO-Revision-Date: 2015-08-17 19:04+0000\n"
+"Last-Translator: Erwin van der Ploeg \n"
+"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Kon het QIF bestand niet ontcijferen."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Importeer bankafschrift"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, python-format
+msgid "This file is either not a bank statement or is not correctly formed."
+msgstr "Het bestand is of geen bankafschrift bestand of het bestand is niet in het correcte formaat."
diff --git a/account_statement_import_qif/i18n/pt_BR.po b/account_statement_import_qif/i18n/pt_BR.po
new file mode 100644
index 000000000..abaf260db
--- /dev/null
+++ b/account_statement_import_qif/i18n/pt_BR.po
@@ -0,0 +1,36 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# danimaribeiro , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-10-09 09:23+0000\n"
+"PO-Revision-Date: 2015-10-09 00:26+0000\n"
+"Last-Translator: danimaribeiro \n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Não foi possível decifrar o arquivo QIF."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Importar Extrato Bancário"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, 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/sl.po b/account_statement_import_qif/i18n/sl.po
new file mode 100644
index 000000000..342e6c7b8
--- /dev/null
+++ b/account_statement_import_qif/i18n/sl.po
@@ -0,0 +1,36 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Matjaž Mozetič , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: bank-statement-import (8.0)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-24 21:51+0000\n"
+"PO-Revision-Date: 2015-06-28 05:24+0000\n"
+"Last-Translator: Matjaž Mozetič \n"
+"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "QIF datoteke ni bilo mogoče dešifrirati."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+msgid "Import Bank Statement"
+msgstr "Uvoz bančnega izpiska"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#, 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."
From 714585823b808f1d0b77f654386308e82220463c Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Wed, 14 Oct 2015 02:19:40 +0200
Subject: [PATCH 07/23] [MIG] account_bank_statement_import_qif: Migration to
9.0
* Manifest reformat
* Added license and contributors
* Tests improved
* Added matching partners
* Added supported format in view
OCA Transbot updated translations from Transifex
---
account_statement_import_qif/README.rst | 52 +++++++++++-------
account_statement_import_qif/__init__.py | 4 +-
account_statement_import_qif/__openerp__.py | 20 ++++---
.../account_bank_statement_import_qif.pot | 49 -----------------
account_statement_import_qif/i18n/de.po | 43 +++++++++++++++
account_statement_import_qif/i18n/es.po | 23 +++++---
account_statement_import_qif/i18n/fi.po | 41 ++++++++++++++
account_statement_import_qif/i18n/fr.po | 25 +++++----
account_statement_import_qif/i18n/fr_CH.po | 41 ++++++++++++++
account_statement_import_qif/i18n/gl.po | 41 ++++++++++++++
account_statement_import_qif/i18n/lt_LT.po | 21 +++++---
account_statement_import_qif/i18n/nb_NO.po | 41 ++++++++++++++
account_statement_import_qif/i18n/nl.po | 25 +++++----
account_statement_import_qif/i18n/pt_BR.po | 21 +++++---
account_statement_import_qif/i18n/pt_PT.po | 42 +++++++++++++++
account_statement_import_qif/i18n/sl.po | 21 +++++---
.../tests/test_import_bank_statement.py | 40 ++++++++++----
.../{test_qif_file => tests}/test_qif.qif | 0
.../wizards/__init__.py | 4 ++
.../account_bank_statement_import_qif.py | 54 +++++++++++--------
...account_bank_statement_import_qif_view.xml | 14 +++++
21 files changed, 464 insertions(+), 158 deletions(-)
delete mode 100644 account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
create mode 100644 account_statement_import_qif/i18n/de.po
create mode 100644 account_statement_import_qif/i18n/fi.po
create mode 100644 account_statement_import_qif/i18n/fr_CH.po
create mode 100644 account_statement_import_qif/i18n/gl.po
create mode 100644 account_statement_import_qif/i18n/nb_NO.po
create mode 100644 account_statement_import_qif/i18n/pt_PT.po
rename account_statement_import_qif/{test_qif_file => tests}/test_qif.qif (100%)
create mode 100644 account_statement_import_qif/wizards/__init__.py
rename account_statement_import_qif/{ => wizards}/account_bank_statement_import_qif.py (59%)
create mode 100644 account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst
index 66411e6d5..5707836fe 100644
--- a/account_statement_import_qif/README.rst
+++ b/account_statement_import_qif/README.rst
@@ -1,35 +1,48 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
- :alt: License: AGPL-3
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
-Module to import QIF bank statements.
-=====================================
+==========================
+Import QIF bank statements
+==========================
-This module allows you to import the machine readable QIF Files in Odoo: they are parsed and stored in human readable format in
+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.
+--------------
+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 has been initiated by a backport of the new framework developed
-by Odoo for V9 at its early stage. It's no more kept in sync with the V9 since
-it has reach a stage where maintaining a pure backport of 9.0 in 8.0 is not
-feasible anymore
+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.
-Known issues / Roadmap
-======================
+Usage
+=====
-* None
+To use this module, you need to:
+
+#. Go to *Accounting* dashboard.
+#. Click on *Import statement* from any of the bank journals.
+#. 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/9.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
-`here `_.
-
+If you spotted it first, help us smashing it by providing a detailed and
+welcomed feedback.
Credits
=======
@@ -41,6 +54,7 @@ Contributors
* Alexis de Lattre
* Laurent Mignon
* Ronald Portier
+* Pedro M. Baeza
Maintainer
----------
@@ -55,4 +69,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-To contribute to this module, please visit http://odoo-community.org.
+To contribute to this module, please visit https://odoo-community.org.
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
index 3bf4df83a..0796ed1de 100644
--- a/account_statement_import_qif/__init__.py
+++ b/account_statement_import_qif/__init__.py
@@ -1,2 +1,4 @@
# -*- coding: utf-8 -*-
-from . import account_bank_statement_import_qif
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import wizards
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__openerp__.py
index 14a81a068..1e2eb7578 100644
--- a/account_statement_import_qif/__openerp__.py
+++ b/account_statement_import_qif/__openerp__.py
@@ -1,16 +1,24 @@
# -*- coding: utf-8 -*-
+# Copyright 2015 Odoo S. A.
+# Copyright 2015 Laurent Mignon
+# Copyright 2015 Ronald Portier
+# Copyright 2016 Pedro M. Baeza
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
- 'name': 'Import QIF Bank Statement',
- 'category': 'Banking addons',
- 'version': '8.0.1.0.0',
+ 'name': 'Import QIF Bank Statements',
+ 'category': 'Accounting',
+ 'version': '9.0.1.0.0',
'author': 'OpenERP SA,'
+ 'Tecnativa,'
'Odoo Community Association (OCA)',
'website': 'https://github.com/OCA/bank-statement-import',
- 'images': [],
'depends': [
- 'account_bank_statement_import'
+ 'account_bank_statement_import',
+ ],
+ 'data': [
+ 'wizards/account_bank_statement_import_qif_view.xml',
],
- 'auto_install': False,
'installable': True,
+ 'license': 'AGPL-3',
}
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
deleted file mode 100644
index 65c2bf0f3..000000000
--- a/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
+++ /dev/null
@@ -1,49 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * account_bank_statement_import_qif
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server 8.0\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-06-08 12:01+0000\n"
-"PO-Revision-Date: 2015-06-08 12:01+0000\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_qif
-#: help:account.bank.statement.import,journal_id:0
-msgid "Accounting journal related to the bank statement you're importing. It has be be manually chosen for statement formats which doesn't allow automatic journal detection (QIF for example)."
-msgstr ""
-
-#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:54
-#, python-format
-msgid "Could not decipher the QIF file."
-msgstr ""
-
-#. module: account_bank_statement_import_qif
-#: field:account.bank.statement.import,hide_journal_field:0
-msgid "Hide the journal field in the view"
-msgstr ""
-
-#. module: account_bank_statement_import_qif
-#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
-msgid "Import Bank Statement"
-msgstr ""
-
-#. module: account_bank_statement_import_qif
-#: field:account.bank.statement.import,journal_id:0
-msgid "Journal"
-msgstr ""
-
-#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:98
-#, 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
new file mode 100644
index 000000000..402117fc8
--- /dev/null
+++ b/account_statement_import_qif/i18n/de.po
@@ -0,0 +1,43 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Rudolf Schnapka , 2016
+# Thomas A. Jaeger , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: Thomas A. Jaeger , 2016\n"
+"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: de\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Konnte QIF-Datei nicht entziffern."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, python-format
+msgid "This file is either not a bank statement or is not correctly formed."
+msgstr ""
+"Diese Datei ist entweder kein Kontoauszug oder ist fehlerhaft formatiert."
diff --git a/account_statement_import_qif/i18n/es.po b/account_statement_import_qif/i18n/es.po
index 3872d1737..3e398333a 100644
--- a/account_statement_import_qif/i18n/es.po
+++ b/account_statement_import_qif/i18n/es.po
@@ -3,14 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 21:51+0000\n"
-"PO-Revision-Date: 2015-06-08 12:44+0000\n"
-"Last-Translator: OCA Transbot \n"
-"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/es/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -18,10 +19,10 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
-msgstr ""
+msgstr "No se puede descifrar el archivo QIF."
#. module: account_bank_statement_import_qif
#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
@@ -29,7 +30,13 @@ msgid "Import Bank Statement"
msgstr "Importar extracto bancario"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, python-format
msgid "This file is either not a bank statement or is not correctly formed."
msgstr ""
+"Este archivo no es un extracto bancario o no está correctamente formado."
diff --git a/account_statement_import_qif/i18n/fi.po b/account_statement_import_qif/i18n/fi.po
new file mode 100644
index 000000000..89d4e3d02
--- /dev/null
+++ b/account_statement_import_qif/i18n/fi.po
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Jarmo Kortetjärvi , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-10 05:00+0000\n"
+"PO-Revision-Date: 2016-12-10 05:00+0000\n"
+"Last-Translator: Jarmo Kortetjärvi , 2017\n"
+"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fi\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, 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 d8df1771c..c532e95be 100644
--- a/account_statement_import_qif/i18n/fr.po
+++ b/account_statement_import_qif/i18n/fr.po
@@ -3,15 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# zuher83 , 2015
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 21:51+0000\n"
-"PO-Revision-Date: 2015-06-28 20:27+0000\n"
-"Last-Translator: zuher83 \n"
-"Language-Team: French (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/fr/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -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/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Impossible de déchiffrer le fichier QIF."
@@ -30,7 +30,14 @@ msgid "Import Bank Statement"
msgstr "Importer Relevé Bancaire"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, python-format
msgid "This file is either not a bank statement or is not correctly formed."
-msgstr "Ce fichier n'est pas un relevé bancaire ou n'est pas dans un format correcte."
+msgstr ""
+"Ce fichier n'est pas un relevé bancaire ou n'est pas dans un format "
+"correcte."
diff --git a/account_statement_import_qif/i18n/fr_CH.po b/account_statement_import_qif/i18n/fr_CH.po
new file mode 100644
index 000000000..34a51e8df
--- /dev/null
+++ b/account_statement_import_qif/i18n/fr_CH.po
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# OCA Transbot , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr_CH\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, 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
new file mode 100644
index 000000000..d06a6c6c3
--- /dev/null
+++ b/account_statement_import_qif/i18n/gl.po
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Alejandro Santana , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: Alejandro Santana , 2016\n"
+"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: gl\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, 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 9efb9e61a..077f83a92 100644
--- a/account_statement_import_qif/i18n/lt_LT.po
+++ b/account_statement_import_qif/i18n/lt_LT.po
@@ -3,15 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# Arminas Grigonis , 2015
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 21:51+0000\n"
-"PO-Revision-Date: 2015-07-23 13:36+0000\n"
-"Last-Translator: Arminas Grigonis \n"
-"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/lt_LT/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/teams/23907/lt_LT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Neįmanoma iššifruoti QIF failo."
@@ -30,7 +30,12 @@ msgid "Import Bank Statement"
msgstr "Importuoti banko išrašą"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, 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
new file mode 100644
index 000000000..6223d0fb0
--- /dev/null
+++ b/account_statement_import_qif/i18n/nb_NO.po
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Imre Kristoffer Eilertsen , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: Imre Kristoffer Eilertsen , 2016\n"
+"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nb_NO\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, 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 e1e2fe546..10d6ceefc 100644
--- a/account_statement_import_qif/i18n/nl.po
+++ b/account_statement_import_qif/i18n/nl.po
@@ -3,15 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# Erwin van der Ploeg , 2015
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 21:51+0000\n"
-"PO-Revision-Date: 2015-08-17 19:04+0000\n"
-"Last-Translator: Erwin van der Ploeg \n"
-"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/nl/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -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/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Kon het QIF bestand niet ontcijferen."
@@ -30,7 +30,14 @@ msgid "Import Bank Statement"
msgstr "Importeer bankafschrift"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, python-format
msgid "This file is either not a bank statement or is not correctly formed."
-msgstr "Het bestand is of geen bankafschrift bestand of het bestand is niet in het correcte formaat."
+msgstr ""
+"Het bestand is of geen bankafschrift bestand of het bestand is niet in het "
+"correcte formaat."
diff --git a/account_statement_import_qif/i18n/pt_BR.po b/account_statement_import_qif/i18n/pt_BR.po
index abaf260db..610a62697 100644
--- a/account_statement_import_qif/i18n/pt_BR.po
+++ b/account_statement_import_qif/i18n/pt_BR.po
@@ -3,15 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# danimaribeiro , 2015
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-09 09:23+0000\n"
-"PO-Revision-Date: 2015-10-09 00:26+0000\n"
-"Last-Translator: danimaribeiro \n"
-"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/pt_BR/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -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/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Não foi possível decifrar o arquivo QIF."
@@ -30,7 +30,12 @@ msgid "Import Bank Statement"
msgstr "Importar Extrato Bancário"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, 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
new file mode 100644
index 000000000..f4e310657
--- /dev/null
+++ b/account_statement_import_qif/i18n/pt_PT.po
@@ -0,0 +1,42 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Pedro Castro Silva , 2016
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: Pedro Castro Silva , 2016\n"
+"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_PT\n"
+"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:39
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "Não foi possível decifrar o ficheiro QIF."
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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:74
+#, python-format
+msgid "This file is either not a bank statement or is not correctly formed."
+msgstr ""
+"O ficheiro não é um extrato bancário ou não está corretamente formatado."
diff --git a/account_statement_import_qif/i18n/sl.po b/account_statement_import_qif/i18n/sl.po
index 342e6c7b8..f9244f8bd 100644
--- a/account_statement_import_qif/i18n/sl.po
+++ b/account_statement_import_qif/i18n/sl.po
@@ -3,15 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# Matjaž Mozetič , 2015
+# OCA Transbot , 2016
msgid ""
msgstr ""
-"Project-Id-Version: bank-statement-import (8.0)\n"
+"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 21:51+0000\n"
-"PO-Revision-Date: 2015-06-28 05:24+0000\n"
-"Last-Translator: Matjaž Mozetič \n"
-"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-statement-import-8-0/language/sl/)\n"
+"POT-Creation-Date: 2016-12-09 17:00+0000\n"
+"PO-Revision-Date: 2016-12-09 17:00+0000\n"
+"Last-Translator: OCA Transbot , 2016\n"
+"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
@@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
#, python-format
msgid "Could not decipher the QIF file."
msgstr "QIF datoteke ni bilo mogoče dešifrirati."
@@ -30,7 +30,12 @@ msgid "Import Bank Statement"
msgstr "Uvoz bančnega izpiska"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/account_bank_statement_import_qif.py:83
+#: model: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:74
#, 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/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py
index 5c13125ea..af0e1cfa9 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -1,4 +1,9 @@
# -*- coding: utf-8 -*-
+# Copyright 2015 Odoo S. A.
+# Copyright 2015 Laurent Mignon
+# Copyright 2015 Ronald Portier
+# Copyright 2016 Pedro M. Baeza
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp.tests.common import TransactionCase
from openerp.modules.module import get_module_resource
@@ -13,17 +18,32 @@ def setUp(self):
super(TestQifFile, self).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',
+ })
+ self.partner = self.env['res.partner'].create({
+ # Different case for trying insensitive case search
+ 'name': 'EPIC Technologies',
+ })
def test_qif_file_import(self):
- from openerp.tools import float_compare
qif_file_path = get_module_resource(
- 'account_bank_statement_import_qif',
- 'test_qif_file', 'test_qif.qif')
+ 'account_bank_statement_import_qif', 'tests', 'test_qif.qif',
+ )
qif_file = open(qif_file_path, 'rb').read().encode('base64')
- bank_statement_improt = self.statement_import_model.with_context(
- journal_id=self.ref('account.bank_journal')).create(
- dict(data_file=qif_file))
- bank_statement_improt.import_file()
- bank_statement = self.statement_line_model.search(
- [('name', '=', 'YOUR LOCAL SUPERMARKET')], limit=1)[0].statement_id
- assert float_compare(bank_statement.balance_end_real, -1896.09, 2) == 0
+ wizard = self.statement_import_model.with_context(
+ journal_id=self.journal.id
+ ).create(
+ dict(data_file=qif_file)
+ )
+ wizard.import_file()
+ statement = self.statement_line_model.search(
+ [('name', '=', 'YOUR LOCAL SUPERMARKET')], limit=1,
+ )[0].statement_id
+ self.assertAlmostEqual(statement.balance_end_real, -1896.09, 2)
+ line = self.statement_line_model.search(
+ [('name', '=', 'Epic Technologies')], limit=1,
+ )
+ self.assertEqual(line.partner_id, self.partner)
diff --git a/account_statement_import_qif/test_qif_file/test_qif.qif b/account_statement_import_qif/tests/test_qif.qif
similarity index 100%
rename from account_statement_import_qif/test_qif_file/test_qif.qif
rename to account_statement_import_qif/tests/test_qif.qif
diff --git a/account_statement_import_qif/wizards/__init__.py b/account_statement_import_qif/wizards/__init__.py
new file mode 100644
index 000000000..f82d76ec0
--- /dev/null
+++ b/account_statement_import_qif/wizards/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import account_bank_statement_import_qif
diff --git a/account_statement_import_qif/account_bank_statement_import_qif.py b/account_statement_import_qif/wizards/account_bank_statement_import_qif.py
similarity index 59%
rename from account_statement_import_qif/account_bank_statement_import_qif.py
rename to account_statement_import_qif/wizards/account_bank_statement_import_qif.py
index 0b9061e47..1016bacc9 100644
--- a/account_statement_import_qif/account_bank_statement_import_qif.py
+++ b/account_statement_import_qif/wizards/account_bank_statement_import_qif.py
@@ -1,20 +1,21 @@
# -*- coding: utf-8 -*-
+# Copyright 2015 Odoo S. A.
+# Copyright 2015 Laurent Mignon
+# Copyright 2015 Ronald Portier
+# Copyright 2016 Pedro M. Baeza
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import dateutil.parser
import StringIO
from openerp.tools.translate import _
from openerp import api, models
-from openerp.exceptions import Warning
+from openerp.exceptions import UserError
class AccountBankStatementImport(models.TransientModel):
_inherit = "account.bank.statement.import"
- @api.model
- def _get_hide_journal_field(self):
- return self.env.context.get('journal_id') and True
-
@api.model
def _check_qif(self, data_file):
return data_file.strip().startswith('!Type:')
@@ -24,7 +25,6 @@ def _parse_file(self, data_file):
if not self._check_qif(data_file):
return super(AccountBankStatementImport, self)._parse_file(
data_file)
-
try:
file_data = ""
for line in StringIO.StringIO(data_file).readlines():
@@ -36,7 +36,7 @@ def _parse_file(self, data_file):
header = data_list[0].strip()
header = header.split(":")[1]
except:
- raise Warning(_('Could not decipher the QIF file.'))
+ raise UserError(_('Could not decipher the QIF file.'))
transactions = []
vals_line = {}
total = 0
@@ -55,19 +55,10 @@ def _parse_file(self, data_file):
elif line[0] == 'N': # Check number
vals_line['ref'] = line[1:]
elif line[0] == 'P': # Payee
- vals_line['name'] = ('name' in vals_line and
- line[1:] + ': ' + vals_line['name'] or
- line[1:])
- # Since QIF doesn't provide account numbers, we'll have to
- # find res.partner and res.partner.bank here
- # (normal behavious is to provide 'account_number', which
- # the generic module uses to find partner/bank)
- banks = self.env['res.partner.bank'].search(
- [('owner_name', '=', line[1:])], limit=1)
- if banks:
- bank_account = banks[0]
- vals_line['bank_account_id'] = bank_account.id
- vals_line['partner_id'] = bank_account.partner_id.id
+ vals_line['name'] = (
+ 'name' in vals_line and
+ line[1:] + ': ' + vals_line['name'] or line[1:]
+ )
elif line[0] == 'M': # Memo
vals_line['name'] = ('name' in vals_line and
vals_line['name'] + ': ' + line[1:] or
@@ -80,11 +71,28 @@ def _parse_file(self, data_file):
else:
pass
else:
- raise Warning(_('This file is either not a bank statement or is '
- 'not correctly formed.'))
-
+ raise UserError(_('This file is either not a bank statement or is '
+ 'not correctly formed.'))
vals_bank_statement.update({
'balance_end_real': total,
'transactions': transactions
})
return None, None, [vals_bank_statement]
+
+ 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,
+ )
+ # 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
+ partner_obj = self.env['res.partner']
+ for statement in res:
+ for line_vals in statement['transactions']:
+ if not line_vals.get('partner_id') and line_vals.get('name'):
+ partner = partner_obj.search(
+ [('name', 'ilike', line_vals['name'])], limit=1,
+ )
+ line_vals['partner_id'] = partner.id
+ return res
diff --git a/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml b/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
new file mode 100644
index 000000000..d6ab5b7f6
--- /dev/null
+++ b/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ account.bank.statement.import
+
+
+
+
Quicken Interchange Format (.qif)
+
+
+
+
+
From eae6f076f7c27aea55257491b978ccedfd7ed6f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Nam=C3=A8che?=
Date: Sun, 15 Jan 2017 11:28:30 +0100
Subject: [PATCH 08/23] [MIG] account_bank_statement_import_qif: Migrated to
10.0
OCA Transbot updated translations from Transifex
---
.../{__openerp__.py => __manifest__.py} | 2 +-
account_statement_import_qif/i18n/de.po | 17 ++++++++---------
account_statement_import_qif/i18n/es.po | 14 +++++++-------
account_statement_import_qif/i18n/fr.po | 17 +++++++++--------
account_statement_import_qif/i18n/lt_LT.po | 14 +++++++-------
account_statement_import_qif/i18n/nl.po | 14 +++++++-------
account_statement_import_qif/i18n/pt_BR.po | 14 +++++++-------
account_statement_import_qif/i18n/pt_PT.po | 14 +++++++-------
account_statement_import_qif/i18n/sl.po | 14 +++++++-------
.../tests/test_import_bank_statement.py | 4 ++--
.../account_bank_statement_import_qif.py | 9 ++++-----
11 files changed, 66 insertions(+), 67 deletions(-)
rename account_statement_import_qif/{__openerp__.py => __manifest__.py} (96%)
diff --git a/account_statement_import_qif/__openerp__.py b/account_statement_import_qif/__manifest__.py
similarity index 96%
rename from account_statement_import_qif/__openerp__.py
rename to account_statement_import_qif/__manifest__.py
index 1e2eb7578..35f3e42e3 100644
--- a/account_statement_import_qif/__openerp__.py
+++ b/account_statement_import_qif/__manifest__.py
@@ -8,7 +8,7 @@
{
'name': 'Import QIF Bank Statements',
'category': 'Accounting',
- 'version': '9.0.1.0.0',
+ 'version': '10.0.1.0.0',
'author': 'OpenERP SA,'
'Tecnativa,'
'Odoo Community Association (OCA)',
diff --git a/account_statement_import_qif/i18n/de.po b/account_statement_import_qif/i18n/de.po
index 402117fc8..311c06dd9 100644
--- a/account_statement_import_qif/i18n/de.po
+++ b/account_statement_import_qif/i18n/de.po
@@ -3,15 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# Rudolf Schnapka , 2016
-# Thomas A. Jaeger , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: Thomas A. Jaeger , 2016\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 , 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Konnte QIF-Datei nicht entziffern."
@@ -33,10 +32,10 @@ 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
msgid "Quicken Interchange Format (.qif)"
-msgstr ""
+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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 3e398333a..5ecaa24f0 100644
--- a/account_statement_import_qif/i18n/es.po
+++ b/account_statement_import_qif/i18n/es.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\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 , 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "No se puede descifrar el archivo QIF."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 c532e95be..70bee59d1 100644
--- a/account_statement_import_qif/i18n/fr.po
+++ b/account_statement_import_qif/i18n/fr.po
@@ -3,14 +3,15 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
+# Quentin THEURET , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\n"
+"POT-Creation-Date: 2017-08-11 02:41+0000\n"
+"PO-Revision-Date: 2017-08-11 02:41+0000\n"
+"Last-Translator: Quentin THEURET , 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Impossible de déchiffrer le fichier QIF."
@@ -32,10 +33,10 @@ msgstr "Importer Relevé Bancaire"
#. module: account_bank_statement_import_qif
#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view
msgid "Quicken Interchange Format (.qif)"
-msgstr ""
+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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 077f83a92..9cd03e944 100644
--- a/account_statement_import_qif/i18n/lt_LT.po
+++ b/account_statement_import_qif/i18n/lt_LT.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\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 , 2017\n"
"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/teams/23907/lt_LT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Neįmanoma iššifruoti QIF failo."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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/nl.po b/account_statement_import_qif/i18n/nl.po
index 10d6ceefc..ac5aa7cb9 100644
--- a/account_statement_import_qif/i18n/nl.po
+++ b/account_statement_import_qif/i18n/nl.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\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 , 2017\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Kon het QIF bestand niet ontcijferen."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 610a62697..e5aaa133e 100644
--- a/account_statement_import_qif/i18n/pt_BR.po
+++ b/account_statement_import_qif/i18n/pt_BR.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\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 , 2017\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Não foi possível decifrar o arquivo QIF."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 f4e310657..1ecfbb00a 100644
--- a/account_statement_import_qif/i18n/pt_PT.po
+++ b/account_statement_import_qif/i18n/pt_PT.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# Pedro Castro Silva , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: Pedro Castro Silva , 2016\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 , 2017\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Não foi possível decifrar o ficheiro QIF."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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 f9244f8bd..4ddb13eb8 100644
--- a/account_statement_import_qif/i18n/sl.po
+++ b/account_statement_import_qif/i18n/sl.po
@@ -3,14 +3,14 @@
# * account_bank_statement_import_qif
#
# Translators:
-# OCA Transbot , 2016
+# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 9.0c\n"
+"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-12-09 17:00+0000\n"
-"PO-Revision-Date: 2016-12-09 17:00+0000\n"
-"Last-Translator: OCA Transbot , 2016\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 , 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
#, python-format
msgid "Could not decipher the QIF file."
msgstr "QIF datoteke ni bilo mogoče dešifrirati."
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:73
#, 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/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py
index af0e1cfa9..8614602c4 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -5,8 +5,8 @@
# Copyright 2016 Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from openerp.tests.common import TransactionCase
-from openerp.modules.module import get_module_resource
+from odoo.tests.common import TransactionCase
+from odoo.modules.module import get_module_resource
class TestQifFile(TransactionCase):
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 1016bacc9..4eb705887 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
@@ -5,12 +5,12 @@
# Copyright 2016 Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-import dateutil.parser
import StringIO
+import dateutil.parser
-from openerp.tools.translate import _
-from openerp import api, models
-from openerp.exceptions import UserError
+from odoo.tools.translate import _
+from odoo import api, models
+from odoo.exceptions import UserError
class AccountBankStatementImport(models.TransientModel):
@@ -20,7 +20,6 @@ class AccountBankStatementImport(models.TransientModel):
def _check_qif(self, data_file):
return data_file.strip().startswith('!Type:')
- @api.model
def _parse_file(self, data_file):
if not self._check_qif(data_file):
return super(AccountBankStatementImport, self)._parse_file(
From bacce13fd13cb85e7e4dce007b97113f7a014351 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Thu, 26 Oct 2017 22:06:59 +0200
Subject: [PATCH 09/23] [MIG] account_bank_statement_import_qif: Migration to
11.0
* Metafiles updated
* Test adapted to Python 3
* Code adapted to Python 3
OCA Transbot updated translations from Transifex
OCA Transbot updated translations from Transifex
OCA Transbot updated translations from Transifex
[UPD] Update account_bank_statement_import_qif.pot
---
account_statement_import_qif/README.rst | 18 ++++----
account_statement_import_qif/__init__.py | 1 -
account_statement_import_qif/__manifest__.py | 5 +--
.../account_bank_statement_import_qif.pot | 37 ++++++++++++++++
account_statement_import_qif/i18n/de.po | 14 +++----
account_statement_import_qif/i18n/es.po | 19 +++++----
account_statement_import_qif/i18n/fa.po | 41 ++++++++++++++++++
account_statement_import_qif/i18n/fi.po | 8 ++--
account_statement_import_qif/i18n/fr.po | 25 ++++++-----
account_statement_import_qif/i18n/fr_CH.po | 11 ++---
account_statement_import_qif/i18n/gl.po | 8 ++--
account_statement_import_qif/i18n/hr.po | 42 +++++++++++++++++++
account_statement_import_qif/i18n/lt_LT.po | 20 +++++----
account_statement_import_qif/i18n/nb_NO.po | 11 ++---
account_statement_import_qif/i18n/nl.po | 14 +++----
account_statement_import_qif/i18n/pt_BR.po | 17 ++++----
account_statement_import_qif/i18n/pt_PT.po | 17 ++++----
account_statement_import_qif/i18n/sl.po | 17 ++++----
.../tests/__init__.py | 3 +-
.../tests/test_import_bank_statement.py | 6 +--
.../wizards/__init__.py | 1 -
.../account_bank_statement_import_qif.py | 10 ++---
22 files changed, 235 insertions(+), 110 deletions(-)
create mode 100644 account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
create mode 100644 account_statement_import_qif/i18n/fa.po
create mode 100644 account_statement_import_qif/i18n/hr.po
diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst
index 5707836fe..f971f7064 100644
--- a/account_statement_import_qif/README.rst
+++ b/account_statement_import_qif/README.rst
@@ -26,14 +26,14 @@ Usage
To use this module, you need to:
-#. Go to *Accounting* dashboard.
+#. Go to *Invoicing / Accounting* dashboard.
#. Click on *Import statement* from any of the bank journals.
#. 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/9.0
+ :target: https://runbot.odoo-community.org/runbot/174/11.0
Bug Tracker
===========
@@ -50,11 +50,15 @@ Credits
Contributors
------------
-* Odoo SA
-* Alexis de Lattre
-* Laurent Mignon
-* Ronald Portier
-* Pedro M. Baeza
+* Odoo SA
+* Akretion
+ * Alexis de Lattre
+* ACSONE A/V
+ * Laurent Mignon
+* Therp
+ * Ronald Portier
+* Tecnativa (https://www.tecnativa.com)
+ * Pedro M. Baeza
Maintainer
----------
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
index 0796ed1de..fbadf7a68 100644
--- a/account_statement_import_qif/__init__.py
+++ b/account_statement_import_qif/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import wizards
diff --git a/account_statement_import_qif/__manifest__.py b/account_statement_import_qif/__manifest__.py
index 35f3e42e3..b70b5a85c 100644
--- a/account_statement_import_qif/__manifest__.py
+++ b/account_statement_import_qif/__manifest__.py
@@ -1,14 +1,13 @@
-# -*- coding: utf-8 -*-
# Copyright 2015 Odoo S. A.
# Copyright 2015 Laurent Mignon
# Copyright 2015 Ronald Portier
-# Copyright 2016 Pedro M. Baeza
+# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Import QIF Bank Statements',
'category': 'Accounting',
- 'version': '10.0.1.0.0',
+ 'version': '11.0.1.0.0',
'author': 'OpenERP SA,'
'Tecnativa,'
'Odoo Community Association (OCA)',
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
new file mode 100644
index 000000000..08eb5d090
--- /dev/null
+++ b/account_statement_import_qif/i18n/account_bank_statement_import_qif.pot
@@ -0,0 +1,37 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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
+#, 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 311c06dd9..b31e35415 100644
--- a/account_statement_import_qif/i18n/de.po
+++ b/account_statement_import_qif/i18n/de.po
@@ -1,25 +1,25 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 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"
-"Language: de\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Konnte QIF-Datei nicht entziffern."
@@ -35,7 +35,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 5ecaa24f0..12f3d2d46 100644
--- a/account_statement_import_qif/i18n/es.po
+++ b/account_statement_import_qif/i18n/es.po
@@ -1,25 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
+# Pedro M. Baeza , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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 , 2017\n"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
+"Last-Translator: Pedro M. Baeza , 2017\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: es\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "No se puede descifrar el archivo QIF."
@@ -32,10 +33,10 @@ 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
msgid "Quicken Interchange Format (.qif)"
-msgstr ""
+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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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
new file mode 100644
index 000000000..2da467ccd
--- /dev/null
+++ b/account_statement_import_qif/i18n/fa.po
@@ -0,0 +1,41 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# Mehdi Zarrinkolah , 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-06-08 08:27+0000\n"
+"PO-Revision-Date: 2018-06-08 08:27+0000\n"
+"Last-Translator: Mehdi Zarrinkolah , 2018\n"
+"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr "فایل QIF رمزگشایی نشد"
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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
+#, 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 89d4e3d02..db46cf207 100644
--- a/account_statement_import_qif/i18n/fi.po
+++ b/account_statement_import_qif/i18n/fi.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# Jarmo Kortetjärvi , 2017
msgid ""
@@ -12,14 +12,14 @@ msgstr ""
"PO-Revision-Date: 2016-12-10 05:00+0000\n"
"Last-Translator: Jarmo Kortetjärvi , 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"
-"Language: fi\n"
"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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr ""
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 70bee59d1..8b45f67ba 100644
--- a/account_statement_import_qif/i18n/fr.po
+++ b/account_statement_import_qif/i18n/fr.po
@@ -1,26 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
-# Quentin THEURET , 2017
+# Lixon Jean-Yves , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-11 02:41+0000\n"
-"PO-Revision-Date: 2017-08-11 02:41+0000\n"
-"Last-Translator: Quentin THEURET , 2017\n"
+"POT-Creation-Date: 2018-03-21 03:39+0000\n"
+"PO-Revision-Date: 2018-03-21 03:39+0000\n"
+"Last-Translator: Lixon Jean-Yves , 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: fr\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Impossible de déchiffrer le fichier QIF."
@@ -28,17 +28,16 @@ msgstr "Impossible de déchiffrer le fichier QIF."
#. module: account_bank_statement_import_qif
#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
msgid "Import Bank Statement"
-msgstr "Importer Relevé Bancaire"
+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
msgid "Quicken Interchange Format (.qif)"
-msgstr "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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, python-format
msgid "This file is either not a bank statement or is not correctly formed."
msgstr ""
-"Ce fichier n'est pas un relevé bancaire ou n'est pas dans un format "
-"correcte."
+"Ce fichier n'est pas un relevé bancaire ou n'est pas dans un format correcte."
diff --git a/account_statement_import_qif/i18n/fr_CH.po b/account_statement_import_qif/i18n/fr_CH.po
index 34a51e8df..03a7e65f6 100644
--- a/account_statement_import_qif/i18n/fr_CH.po
+++ b/account_statement_import_qif/i18n/fr_CH.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2016
msgid ""
@@ -11,15 +11,16 @@ msgstr ""
"POT-Creation-Date: 2016-12-09 17:00+0000\n"
"PO-Revision-Date: 2016-12-09 17:00+0000\n"
"Last-Translator: OCA Transbot , 2016\n"
-"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\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"
-"Language: fr_CH\n"
"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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr ""
@@ -35,7 +36,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 d06a6c6c3..a3d16dd9b 100644
--- a/account_statement_import_qif/i18n/gl.po
+++ b/account_statement_import_qif/i18n/gl.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# Alejandro Santana , 2016
msgid ""
@@ -12,14 +12,14 @@ msgstr ""
"PO-Revision-Date: 2016-12-09 17:00+0000\n"
"Last-Translator: Alejandro Santana , 2016\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
+"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Language: gl\n"
"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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr ""
@@ -35,7 +35,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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
new file mode 100644
index 000000000..d5a0eb6c9
--- /dev/null
+++ b/account_statement_import_qif/i18n/hr.po
@@ -0,0 +1,42 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * account_bank_statement_import_qif
+#
+# Translators:
+# OCA Transbot , 2018
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-06-08 08:27+0000\n"
+"PO-Revision-Date: 2018-06-08 08:27+0000\n"
+"Last-Translator: OCA Transbot , 2018\n"
+"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#. module: account_bank_statement_import_qif
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
+#, python-format
+msgid "Could not decipher the QIF file."
+msgstr ""
+
+#. module: account_bank_statement_import_qif
+#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
+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
+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
+#, 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 9cd03e944..29c5f9cf3 100644
--- a/account_statement_import_qif/i18n/lt_LT.po
+++ b/account_statement_import_qif/i18n/lt_LT.po
@@ -1,25 +1,27 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 2017\n"
-"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/teams/23907/lt_LT/)\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"
-"Language: lt_LT\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Neįmanoma iššifruoti QIF failo."
@@ -35,7 +37,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 6223d0fb0..b790d22d1 100644
--- a/account_statement_import_qif/i18n/nb_NO.po
+++ b/account_statement_import_qif/i18n/nb_NO.po
@@ -1,7 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# Imre Kristoffer Eilertsen , 2016
msgid ""
@@ -11,15 +11,16 @@ msgstr ""
"POT-Creation-Date: 2016-12-09 17:00+0000\n"
"PO-Revision-Date: 2016-12-09 17:00+0000\n"
"Last-Translator: Imre Kristoffer Eilertsen , 2016\n"
-"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\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"
-"Language: nb_NO\n"
"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:39
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr ""
@@ -35,7 +36,7 @@ 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:74
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 ac5aa7cb9..e89e0c44f 100644
--- a/account_statement_import_qif/i18n/nl.po
+++ b/account_statement_import_qif/i18n/nl.po
@@ -1,25 +1,25 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 2017\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"
-"Language: nl\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Kon het QIF bestand niet ontcijferen."
@@ -35,7 +35,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 e5aaa133e..24ee34250 100644
--- a/account_statement_import_qif/i18n/pt_BR.po
+++ b/account_statement_import_qif/i18n/pt_BR.po
@@ -1,25 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 2017\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\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"
-"Language: pt_BR\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Não foi possível decifrar o arquivo QIF."
@@ -35,7 +36,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 1ecfbb00a..69eea6f0e 100644
--- a/account_statement_import_qif/i18n/pt_PT.po
+++ b/account_statement_import_qif/i18n/pt_PT.po
@@ -1,25 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 2017\n"
-"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\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"
-"Language: pt_PT\n"
"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:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "Não foi possível decifrar o ficheiro QIF."
@@ -35,7 +36,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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 4ddb13eb8..a193ca5b8 100644
--- a/account_statement_import_qif/i18n/sl.po
+++ b/account_statement_import_qif/i18n/sl.po
@@ -1,25 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_bank_statement_import_qif
-#
+#
# Translators:
# OCA Transbot , 2017
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.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"
+"POT-Creation-Date: 2017-12-17 03:38+0000\n"
+"PO-Revision-Date: 2017-12-17 03:38+0000\n"
"Last-Translator: OCA Transbot , 2017\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"
-"Language: sl\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
#. module: account_bank_statement_import_qif
-#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:38
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:34
#, python-format
msgid "Could not decipher the QIF file."
msgstr "QIF datoteke ni bilo mogoče dešifrirati."
@@ -35,7 +36,7 @@ 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:73
+#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
#, 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/tests/__init__.py b/account_statement_import_qif/tests/__init__.py
index 9ce25a7f1..25ee5b4a3 100644
--- a/account_statement_import_qif/tests/__init__.py
+++ b/account_statement_import_qif/tests/__init__.py
@@ -1,2 +1,3 @@
-# -*- coding: utf-8 -*-
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
from . import test_import_bank_statement
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 8614602c4..b5269e2e5 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -1,12 +1,12 @@
-# -*- coding: utf-8 -*-
# Copyright 2015 Odoo S. A.
# Copyright 2015 Laurent Mignon
# Copyright 2015 Ronald Portier
-# Copyright 2016 Pedro M. Baeza
+# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
from odoo.modules.module import get_module_resource
+import base64
class TestQifFile(TransactionCase):
@@ -32,7 +32,7 @@ def test_qif_file_import(self):
qif_file_path = get_module_resource(
'account_bank_statement_import_qif', 'tests', 'test_qif.qif',
)
- qif_file = open(qif_file_path, 'rb').read().encode('base64')
+ qif_file = base64.b64encode(open(qif_file_path, 'rb').read())
wizard = self.statement_import_model.with_context(
journal_id=self.journal.id
).create(
diff --git a/account_statement_import_qif/wizards/__init__.py b/account_statement_import_qif/wizards/__init__.py
index f82d76ec0..448bfc66a 100644
--- a/account_statement_import_qif/wizards/__init__.py
+++ b/account_statement_import_qif/wizards/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import account_bank_statement_import_qif
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 4eb705887..aa731652a 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
@@ -1,11 +1,9 @@
-# -*- coding: utf-8 -*-
# Copyright 2015 Odoo S. A.
# Copyright 2015 Laurent Mignon
# Copyright 2015 Ronald Portier
-# Copyright 2016 Pedro M. Baeza
+# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-import StringIO
import dateutil.parser
from odoo.tools.translate import _
@@ -18,16 +16,14 @@ class AccountBankStatementImport(models.TransientModel):
@api.model
def _check_qif(self, data_file):
- return data_file.strip().startswith('!Type:')
+ return data_file.strip().startswith(b'!Type:')
def _parse_file(self, data_file):
if not self._check_qif(data_file):
return super(AccountBankStatementImport, self)._parse_file(
data_file)
try:
- file_data = ""
- for line in StringIO.StringIO(data_file).readlines():
- file_data += line
+ file_data = data_file.decode()
if '\r' in file_data:
data_list = file_data.split('\r')
else:
From d29f5b00486b165ade55d405bcbc183d81dcf75f Mon Sep 17 00:00:00 2001
From: derKonig
Date: Sat, 21 Jul 2018 10:48:26 +0000
Subject: [PATCH 10/23] Translated using Weblate (Persian)
Currently translated at 100.0% (4 of 4 strings)
Translation: bank-statement-import-11.0/bank-statement-import-11.0-account_bank_statement_import_qif
Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-11-0/bank-statement-import-11-0-account_bank_statement_import_qif/fa/
---
account_statement_import_qif/i18n/fa.po | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/account_statement_import_qif/i18n/fa.po b/account_statement_import_qif/i18n/fa.po
index 2da467ccd..0f322ca87 100644
--- a/account_statement_import_qif/i18n/fa.po
+++ b/account_statement_import_qif/i18n/fa.po
@@ -9,30 +9,31 @@ msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-08 08:27+0000\n"
-"PO-Revision-Date: 2018-06-08 08:27+0000\n"
-"Last-Translator: Mehdi Zarrinkolah , 2018\n"
+"PO-Revision-Date: 2018-07-22 11:31+0000\n"
+"Last-Translator: derKonig \n"
"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"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
#, python-format
msgid "Could not decipher the QIF file."
-msgstr "فایل QIF رمزگشایی نشد"
+msgstr "فایل QIF رمزگشایی نشد."
#. module: account_bank_statement_import_qif
#: model:ir.model,name:account_bank_statement_import_qif.model_account_bank_statement_import
msgid "Import Bank Statement"
-msgstr "ورود بیانیه بانکی "
+msgstr "ورود بیانیه بانکی"
#. module: account_bank_statement_import_qif
#: model:ir.ui.view,arch_db:account_bank_statement_import_qif.account_bank_statement_import_view
msgid "Quicken Interchange Format (.qif)"
-msgstr "قالب مبادله سریع qif"
+msgstr "قالب مبادله سریع (.qif)"
#. module: account_bank_statement_import_qif
#: code:addons/account_bank_statement_import_qif/wizards/account_bank_statement_import_qif.py:69
From 1b557a559e0368c3a8ac61dc4343fe00e361c815 Mon Sep 17 00:00:00 2001
From: Graeme Gellatly
Date: Thu, 16 Aug 2018 01:11:35 +1200
Subject: [PATCH 11/23] FIX QIF errors
---
account_statement_import_qif/__manifest__.py | 2 +-
.../wizards/account_bank_statement_import_qif.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/account_statement_import_qif/__manifest__.py b/account_statement_import_qif/__manifest__.py
index b70b5a85c..f5fca4dbe 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': '11.0.1.0.0',
+ 'version': '11.0.1.0.1',
'author': 'OpenERP SA,'
'Tecnativa,'
'Odoo Community Association (OCA)',
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 aa731652a..7f9e6fec0 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
@@ -35,7 +35,7 @@ def _parse_file(self, data_file):
transactions = []
vals_line = {}
total = 0
- if header == "Bank":
+ if header in ("Bank", "CCard"):
vals_bank_statement = {}
for line in data_list:
line = line.strip()
@@ -58,7 +58,7 @@ def _parse_file(self, data_file):
vals_line['name'] = ('name' in vals_line and
vals_line['name'] + ': ' + line[1:] or
line[1:])
- elif line[0] == '^': # end of item
+ elif line[0] == '^' and vals_line: # end of item
transactions.append(vals_line)
vals_line = {}
elif line[0] == '\n':
From b154ce8e1c67c83a50e210a30ee9b4533141a77a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Mon, 17 Oct 2022 09:11:17 +0200
Subject: [PATCH 12/23] [IMP] account_bank_statement_import_qif: black, isort,
prettier
---
account_statement_import_qif/__manifest__.py | 24 +++---
.../tests/test_import_bank_statement.py | 39 +++++----
.../account_bank_statement_import_qif.py | 80 ++++++++++---------
...account_bank_statement_import_qif_view.xml | 5 +-
4 files changed, 75 insertions(+), 73 deletions(-)
diff --git a/account_statement_import_qif/__manifest__.py b/account_statement_import_qif/__manifest__.py
index f5fca4dbe..4c73d642e 100644
--- a/account_statement_import_qif/__manifest__.py
+++ b/account_statement_import_qif/__manifest__.py
@@ -5,19 +5,13 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
- 'name': 'Import QIF Bank Statements',
- 'category': 'Accounting',
- 'version': '11.0.1.0.1',
- 'author': 'OpenERP SA,'
- 'Tecnativa,'
- 'Odoo Community Association (OCA)',
- 'website': 'https://github.com/OCA/bank-statement-import',
- 'depends': [
- 'account_bank_statement_import',
- ],
- 'data': [
- 'wizards/account_bank_statement_import_qif_view.xml',
- ],
- 'installable': True,
- 'license': 'AGPL-3',
+ "name": "Import QIF Bank Statements",
+ "category": "Accounting",
+ "version": "11.0.1.0.1",
+ "author": "OpenERP SA," "Tecnativa," "Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/bank-statement-import",
+ "depends": ["account_bank_statement_import",],
+ "data": ["wizards/account_bank_statement_import_qif_view.xml",],
+ "installable": True,
+ "license": "AGPL-3",
}
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 b5269e2e5..052fc038a 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -4,10 +4,11 @@
# Copyright 2016-2017 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo.tests.common import TransactionCase
-from odoo.modules.module import get_module_resource
import base64
+from odoo.modules.module import get_module_resource
+from odoo.tests.common import TransactionCase
+
class TestQifFile(TransactionCase):
"""Tests for import bank statement qif file format
@@ -16,34 +17,32 @@ class TestQifFile(TransactionCase):
def setUp(self):
super(TestQifFile, self).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',
- })
- self.partner = self.env['res.partner'].create({
- # Different case for trying insensitive case search
- 'name': 'EPIC Technologies',
- })
+ 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",}
+ )
+ self.partner = self.env["res.partner"].create(
+ {
+ # Different case for trying insensitive case search
+ "name": "EPIC Technologies",
+ }
+ )
def test_qif_file_import(self):
qif_file_path = get_module_resource(
- 'account_bank_statement_import_qif', 'tests', 'test_qif.qif',
+ "account_bank_statement_import_qif", "tests", "test_qif.qif",
)
- qif_file = base64.b64encode(open(qif_file_path, 'rb').read())
+ 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(dict(data_file=qif_file))
wizard.import_file()
statement = self.statement_line_model.search(
- [('name', '=', 'YOUR LOCAL SUPERMARKET')], limit=1,
+ [("name", "=", "YOUR LOCAL SUPERMARKET")], limit=1,
)[0].statement_id
self.assertAlmostEqual(statement.balance_end_real, -1896.09, 2)
line = self.statement_line_model.search(
- [('name', '=', 'Epic Technologies')], limit=1,
+ [("name", "=", "Epic Technologies")], limit=1,
)
self.assertEqual(line.partner_id, self.partner)
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 7f9e6fec0..39c6c7faf 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
@@ -6,9 +6,9 @@
import dateutil.parser
-from odoo.tools.translate import _
from odoo import api, models
from odoo.exceptions import UserError
+from odoo.tools.translate import _
class AccountBankStatementImport(models.TransientModel):
@@ -16,22 +16,21 @@ class AccountBankStatementImport(models.TransientModel):
@api.model
def _check_qif(self, data_file):
- return data_file.strip().startswith(b'!Type:')
+ return data_file.strip().startswith(b"!Type:")
def _parse_file(self, data_file):
if not self._check_qif(data_file):
- return super(AccountBankStatementImport, self)._parse_file(
- data_file)
+ return super(AccountBankStatementImport, self)._parse_file(data_file)
try:
file_data = data_file.decode()
- if '\r' in file_data:
- data_list = file_data.split('\r')
+ if "\r" in file_data:
+ data_list = file_data.split("\r")
else:
- data_list = file_data.split('\n')
+ data_list = file_data.split("\n")
header = data_list[0].strip()
header = header.split(":")[1]
except:
- raise UserError(_('Could not decipher the QIF file.'))
+ raise UserError(_("Could not decipher the QIF file."))
transactions = []
vals_line = {}
total = 0
@@ -41,37 +40,44 @@ def _parse_file(self, data_file):
line = line.strip()
if not line:
continue
- if line[0] == 'D': # date of transaction
- vals_line['date'] = dateutil.parser.parse(
- line[1:], fuzzy=True).date()
- elif line[0] == 'T': # Total amount
- total += float(line[1:].replace(',', ''))
- vals_line['amount'] = float(line[1:].replace(',', ''))
- elif line[0] == 'N': # Check number
- vals_line['ref'] = line[1:]
- elif line[0] == 'P': # Payee
- vals_line['name'] = (
- 'name' in vals_line and
- line[1:] + ': ' + vals_line['name'] or line[1:]
+ if line[0] == "D": # date of transaction
+ vals_line["date"] = dateutil.parser.parse(
+ line[1:], fuzzy=True
+ ).date()
+ elif line[0] == "T": # Total amount
+ total += float(line[1:].replace(",", ""))
+ vals_line["amount"] = float(line[1:].replace(",", ""))
+ elif line[0] == "N": # Check number
+ vals_line["ref"] = line[1:]
+ elif line[0] == "P": # Payee
+ vals_line["name"] = (
+ "name" in vals_line
+ and line[1:] + ": " + vals_line["name"]
+ or line[1:]
)
- elif line[0] == 'M': # Memo
- vals_line['name'] = ('name' in vals_line and
- vals_line['name'] + ': ' + line[1:] or
- line[1:])
- elif line[0] == '^' and vals_line: # end of item
+ elif line[0] == "M": # Memo
+ vals_line["name"] = (
+ "name" in vals_line
+ and vals_line["name"] + ": " + line[1:]
+ or line[1:]
+ )
+ elif line[0] == "^" and vals_line: # end of item
transactions.append(vals_line)
vals_line = {}
- elif line[0] == '\n':
+ elif line[0] == "\n":
transactions = []
else:
pass
else:
- raise UserError(_('This file is either not a bank statement or is '
- 'not correctly formed.'))
- vals_bank_statement.update({
- 'balance_end_real': total,
- 'transactions': transactions
- })
+ raise UserError(
+ _(
+ "This file is either not a bank statement or is "
+ "not correctly formed."
+ )
+ )
+ vals_bank_statement.update(
+ {"balance_end_real": total, "transactions": transactions}
+ )
return None, None, [vals_bank_statement]
def _complete_stmts_vals(self, stmt_vals, journal_id, account_number):
@@ -82,12 +88,12 @@ def _complete_stmts_vals(self, 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
- partner_obj = self.env['res.partner']
+ partner_obj = self.env["res.partner"]
for statement in res:
- for line_vals in statement['transactions']:
- if not line_vals.get('partner_id') and line_vals.get('name'):
+ for line_vals in statement["transactions"]:
+ if not line_vals.get("partner_id") and line_vals.get("name"):
partner = partner_obj.search(
- [('name', 'ilike', line_vals['name'])], limit=1,
+ [("name", "ilike", line_vals["name"])], limit=1,
)
- line_vals['partner_id'] = partner.id
+ line_vals["partner_id"] = partner.id
return res
diff --git a/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml b/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
index d6ab5b7f6..d9bdc4c07 100644
--- a/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
+++ b/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml
@@ -3,7 +3,10 @@
account.bank.statement.import
-
+
Quicken Interchange Format (.qif)
From 5d94728dd927de9833d6220c09feddc9968b796e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Mon, 17 Oct 2022 09:16:42 +0200
Subject: [PATCH 13/23] [MIG] account_bank_statement_import_qif: Migration to
12.0
---
account_statement_import_qif/__init__.py | 1 +
account_statement_import_qif/__manifest__.py | 6 +++---
account_statement_import_qif/models/__init__.py | 3 +++
.../models/account_journal.py | 14 ++++++++++++++
4 files changed, 21 insertions(+), 3 deletions(-)
create mode 100644 account_statement_import_qif/models/__init__.py
create mode 100644 account_statement_import_qif/models/account_journal.py
diff --git a/account_statement_import_qif/__init__.py b/account_statement_import_qif/__init__.py
index fbadf7a68..7588e52c8 100644
--- a/account_statement_import_qif/__init__.py
+++ b/account_statement_import_qif/__init__.py
@@ -1,3 +1,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from . import models
from . import wizards
diff --git a/account_statement_import_qif/__manifest__.py b/account_statement_import_qif/__manifest__.py
index 4c73d642e..30c786e18 100644
--- a/account_statement_import_qif/__manifest__.py
+++ b/account_statement_import_qif/__manifest__.py
@@ -7,11 +7,11 @@
{
"name": "Import QIF Bank Statements",
"category": "Accounting",
- "version": "11.0.1.0.1",
+ "version": "12.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",],
- "data": ["wizards/account_bank_statement_import_qif_view.xml",],
+ "depends": ["account_bank_statement_import"],
+ "data": ["wizards/account_bank_statement_import_qif_view.xml"],
"installable": True,
"license": "AGPL-3",
}
diff --git a/account_statement_import_qif/models/__init__.py b/account_statement_import_qif/models/__init__.py
new file mode 100644
index 000000000..ec99cd195
--- /dev/null
+++ b/account_statement_import_qif/models/__init__.py
@@ -0,0 +1,3 @@
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import account_journal
diff --git a/account_statement_import_qif/models/account_journal.py b/account_statement_import_qif/models/account_journal.py
new file mode 100644
index 000000000..2d5cbb620
--- /dev/null
+++ b/account_statement_import_qif/models/account_journal.py
@@ -0,0 +1,14 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+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")])
+ return res
From 697045494b1c490cf6a25b669467a0c5850e3571 Mon Sep 17 00:00:00 2001
From: Abraham Anes
Date: Fri, 16 Oct 2020 09:31:45 +0200
Subject: [PATCH 14/23] [MIG] account_bank_statement_import_qif: Migration to
13.0
TT26069
[UPD] Update account_bank_statement_import_qif.pot
[UPD] README.rst
[UPD] README.rst
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: bank-statement-import-13.0/bank-statement-import-13.0-account_bank_statement_import_qif
Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-13-0/bank-statement-import-13-0-account_bank_statement_import_qif/
---
account_statement_import_qif/README.rst | 78 ++-
account_statement_import_qif/__manifest__.py | 2 +-
.../account_bank_statement_import_qif.pot | 18 +-
account_statement_import_qif/i18n/de.po | 11 +-
account_statement_import_qif/i18n/es.po | 11 +-
account_statement_import_qif/i18n/fa.po | 11 +-
account_statement_import_qif/i18n/fi.po | 11 +-
account_statement_import_qif/i18n/fr.po | 11 +-
account_statement_import_qif/i18n/fr_CH.po | 11 +-
account_statement_import_qif/i18n/gl.po | 11 +-
account_statement_import_qif/i18n/hr.po | 11 +-
account_statement_import_qif/i18n/lt_LT.po | 11 +-
account_statement_import_qif/i18n/nb_NO.po | 11 +-
account_statement_import_qif/i18n/nl.po | 11 +-
account_statement_import_qif/i18n/pt_BR.po | 11 +-
account_statement_import_qif/i18n/pt_PT.po | 11 +-
account_statement_import_qif/i18n/sl.po | 11 +-
.../models/account_journal.py | 8 +-
.../readme/CONTRIBUTORS.rst | 13 +
.../readme/DESCRIPTION.rst | 14 +
account_statement_import_qif/readme/USAGE.rst | 6 +
.../static/description/index.html | 456 ++++++++++++++++++
.../tests/test_import_bank_statement.py | 6 +-
.../account_bank_statement_import_qif.py | 14 +-
24 files changed, 685 insertions(+), 84 deletions(-)
create mode 100644 account_statement_import_qif/readme/CONTRIBUTORS.rst
create mode 100644 account_statement_import_qif/readme/DESCRIPTION.rst
create mode 100644 account_statement_import_qif/readme/USAGE.rst
create mode 100644 account_statement_import_qif/static/description/index.html
diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst
index f971f7064..d6af1ce79 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 30c786e18..7f61a54ce 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 08eb5d090..8ba3c19bd 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 b31e35415..075b2830b 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 12f3d2d46..c7380e4ef 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 0f322ca87..da1c5b2cb 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 db46cf207..e55b8ec22 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 8b45f67ba..93601971a 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 03a7e65f6..a22f554ed 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 a3d16dd9b..ace257aac 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 d5a0eb6c9..aa9381663 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 29c5f9cf3..e4da5387f 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 b790d22d1..6b72bab2d 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 e89e0c44f..479bbb4e4 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 24ee34250..b9627fd58 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 69eea6f0e..fcd349eb4 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 a193ca5b8..33266d492 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 2d5cbb620..f48938206 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 000000000..f6e067680
--- /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 000000000..6aa520103
--- /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 000000000..15f6f8fd8
--- /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 000000000..64b0b4894
--- /dev/null
+++ b/account_statement_import_qif/static/description/index.html
@@ -0,0 +1,456 @@
+
+
+
+
+
+
+Import QIF Bank Statements
+
+
+
+
+
Import QIF Bank Statements
+
+
+
+
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.
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.
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.
+
+
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 052fc038a..0c6c598cb 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 @@ def test_qif_file_import(self):
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 39c6c7faf..cb83716da 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 @@ def _check_qif(self, data_file):
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 @@ def _parse_file(self, data_file):
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 @@ def _parse_file(self, data_file):
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"]:
From d4c68adccac7c166974d2be02264107df9325fc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Wed, 3 Apr 2024 09:30:43 +0200
Subject: [PATCH 15/23] [IMP] account_bank_statement_import_qif: pre-commit
stuff
---
.../tests/test_import_bank_statement.py | 10 +++++++---
.../wizards/account_bank_statement_import_qif.py | 3 ++-
2 files changed, 9 insertions(+), 4 deletions(-)
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 0c6c598cb..c227f3234 100644
--- a/account_statement_import_qif/tests/test_import_bank_statement.py
+++ b/account_statement_import_qif/tests/test_import_bank_statement.py
@@ -31,7 +31,9 @@ def setUp(self):
def test_qif_file_import(self):
qif_file_path = get_module_resource(
- "account_bank_statement_import_qif", "tests", "test_qif.qif",
+ "account_bank_statement_import_qif",
+ "tests",
+ "test_qif.qif",
)
qif_file = base64.b64encode(open(qif_file_path, "rb").read())
wizard = self.statement_import_model.with_context(
@@ -39,10 +41,12 @@ def test_qif_file_import(self):
).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,
+ [("name", "=", "YOUR LOCAL SUPERMARKET")],
+ limit=1,
)[0].statement_id
self.assertAlmostEqual(statement.balance_end_real, -1896.09, 2)
line = self.statement_line_model.search(
- [("name", "=", "Epic Technologies")], limit=1,
+ [("name", "=", "Epic Technologies")],
+ limit=1,
)
self.assertEqual(line.partner_id, self.partner)
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 cb83716da..aa4fde4ec 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
@@ -97,7 +97,8 @@ def _complete_stmts_vals(self, stmt_vals, journal_id, account_number):
for line_vals in statement["transactions"]:
if not line_vals.get("partner_id") and line_vals.get("name"):
partner = partner_obj.search(
- [("name", "ilike", line_vals["name"])], limit=1,
+ [("name", "ilike", line_vals["name"])],
+ limit=1,
)
line_vals["partner_id"] = partner.id
return res
From 12d469f2c21442e018d1f962b5d40a18ce0a5eab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Thu, 4 Apr 2024 09:00:51 +0200
Subject: [PATCH 16/23] [MIG] account_bank_statement_import_qif: Migration to
16.0 and rename to account_statement_import_qif
TT46557
---
account_statement_import_qif/README.rst | 12 +++----
account_statement_import_qif/__manifest__.py | 6 ++--
.../static/description/index.html | 8 ++---
.../tests/test_import_bank_statement.py | 33 +++++++++++--------
.../wizards/__init__.py | 2 +-
...qif.py => account_statement_import_qif.py} | 23 ++++++-------
... => account_statement_import_qif_view.xml} | 8 ++---
7 files changed, 49 insertions(+), 43 deletions(-)
rename account_statement_import_qif/wizards/{account_bank_statement_import_qif.py => account_statement_import_qif.py} (85%)
rename account_statement_import_qif/wizards/{account_bank_statement_import_qif_view.xml => account_statement_import_qif_view.xml} (58%)
diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst
index d6af1ce79..e48014625 100644
--- a/account_statement_import_qif/README.rst
+++ b/account_statement_import_qif/README.rst
@@ -7,7 +7,7 @@ Import QIF Bank Statements
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:926bb5e821cd71d9a5bdaee546ce3b8f25a00825ff69c291da88820e8e53ae62
+ !! source digest: sha256:46da85f209ed418623ef45de4757c7ceb32bedf65df4d336d7f8a8473da6c1d0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -17,13 +17,13 @@ Import QIF Bank Statements
: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
+ :target: https://github.com/OCA/bank-statement-import/tree/16.0/account_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
+ :target: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_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
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -64,7 +64,7 @@ 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 `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -107,6 +107,6 @@ 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.
+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 7f61a54ce..c316a61b2 100644
--- a/account_statement_import_qif/__manifest__.py
+++ b/account_statement_import_qif/__manifest__.py
@@ -7,11 +7,11 @@
{
"name": "Import QIF Bank Statements",
"category": "Accounting",
- "version": "13.0.1.0.0",
+ "version": "16.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"],
- "data": ["wizards/account_bank_statement_import_qif_view.xml"],
+ "depends": ["account_statement_import_file"],
+ "data": ["wizards/account_statement_import_qif_view.xml"],
"installable": True,
"license": "AGPL-3",
}
diff --git a/account_statement_import_qif/static/description/index.html b/account_statement_import_qif/static/description/index.html
index 64b0b4894..191ce05a2 100644
--- a/account_statement_import_qif/static/description/index.html
+++ b/account_statement_import_qif/static/description/index.html
@@ -367,9 +367,9 @@
Import QIF Bank Statements
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:926bb5e821cd71d9a5bdaee546ce3b8f25a00825ff69c291da88820e8e53ae62
+!! source digest: sha256:46da85f209ed418623ef45de4757c7ceb32bedf65df4d336d7f8a8473da6c1d0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
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.
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.
@@ -448,7 +448,7 @@
Maintainers
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 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.
+
+
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.
+
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.
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.
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.