From 9365e624a9a2da276367d2c3290e88371977864f Mon Sep 17 00:00:00 2001 From: "Ronald Portier (Therp BV)" Date: Mon, 15 Dec 2014 10:18:55 +0100 Subject: [PATCH 01/25] [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 06a13428aa6cadc8f3bc2f3f2ef2c59792a42e28 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 23 Jan 2015 22:50:24 +0100 Subject: [PATCH 02/25] 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 c32ad569eba8f71b339572b0d107f4bf657b9f2b Mon Sep 17 00:00:00 2001 From: Laurent Mignon Date: Fri, 20 Mar 2015 11:48:55 +0100 Subject: [PATCH 03/25] [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 79da5fbe9b5eb3d6c7dfd68b41c158f1ce45d67c Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Thu, 21 May 2015 14:03:51 +0200 Subject: [PATCH 04/25] [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 6f3395c9c3275d6a80e4c8e45098f80f981e7814 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Tue, 23 Jun 2015 16:37:06 +0200 Subject: [PATCH 05/25] [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 3df2de4462bca0347543fe1f2af5016f5e52f47d Mon Sep 17 00:00:00 2001 From: "Ronald Portier (Therp BV)" Date: Thu, 2 Apr 2015 10:56:50 +0200 Subject: [PATCH 06/25] [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 62c7313acd1d6e89ccf2ee7ca312ca97e79eb054 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 14 Oct 2015 02:19:40 +0200 Subject: [PATCH 07/25] [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 0731166da6071c610e1cb236070357a4c387ae77 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/25] [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 47a6edc9980c697f7d01ae2bbe792ee2beea37db Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 26 Oct 2017 22:06:59 +0200 Subject: [PATCH 09/25] [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 f912c2ebcdff9fb0568e14cd089951370b6ca4ca Mon Sep 17 00:00:00 2001 From: derKonig Date: Sat, 21 Jul 2018 10:48:26 +0000 Subject: [PATCH 10/25] 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 c8692a07d4153378232624aa37118955de315705 Mon Sep 17 00:00:00 2001 From: Graeme Gellatly Date: Thu, 16 Aug 2018 01:11:35 +1200 Subject: [PATCH 11/25] 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 e5d6e24c7edcc84c14f3253fa04235b0456fe9e6 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/25] [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 c813af8f9f088cf0f3927bf0b68ed3a795f46b9f 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/25] [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 efd24a14e012628bdf9c6af663228abbe5cd7c7e Mon Sep 17 00:00:00 2001 From: Abraham Anes Date: Fri, 16 Oct 2020 09:31:45 +0200 Subject: [PATCH 14/25] [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

    + + +

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

    +

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

    +
    +

    Important Note

    +

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

    +

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

    +

    Table of contents

    + +
    +

    Usage

    +

    To use this module, you need to:

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

    Bug Tracker

    +

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

    +

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

    +
    + +
    +
    +

    Authors

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

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

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

    +

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

    +
    +
    + + diff --git a/account_statement_import_qif/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py index 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 fee2e1e955e63568ca48ea747286fa3b7de522cf 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/25] [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 cf725713d69e9293d647b16b3ce6d80ae338b296 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/25] [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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

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

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

    @@ -405,7 +405,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.

    @@ -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 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/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py index c227f3234..0a37d011a 100644 --- a/account_statement_import_qif/tests/test_import_bank_statement.py +++ b/account_statement_import_qif/tests/test_import_bank_statement.py @@ -2,6 +2,7 @@ # Copyright 2015 Laurent Mignon # Copyright 2015 Ronald Portier # Copyright 2016-2017 Tecnativa - Pedro M. Baeza +# Copyright 2024 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import base64 @@ -15,14 +16,20 @@ class TestQifFile(TransactionCase): (account.bank.statement.import) """ - def setUp(self): - 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"} + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.statement_import_model = cls.env["account.statement.import"] + cls.statement_line_model = cls.env["account.bank.statement.line"] + cls.journal = cls.env["account.journal"].create( + { + "name": "Test bank journal", + "code": "TEST", + "type": "bank", + "currency_id": cls.env.company.currency_id.id, + } ) - self.partner = self.env["res.partner"].create( + cls.partner = cls.env["res.partner"].create( { # Different case for trying insensitive case search "name": "EPIC Technologies", @@ -31,22 +38,22 @@ def setUp(self): def test_qif_file_import(self): qif_file_path = get_module_resource( - "account_bank_statement_import_qif", + "account_statement_import_qif", "tests", "test_qif.qif", ) qif_file = base64.b64encode(open(qif_file_path, "rb").read()) wizard = self.statement_import_model.with_context( journal_id=self.journal.id - ).create({"attachment_ids": [(0, 0, {"name": "test file", "datas": qif_file})]}) - wizard.import_file() + ).create({"statement_file": qif_file, "statement_filename": "test_qif.qif"}) + wizard.import_file_button() statement = self.statement_line_model.search( - [("name", "=", "YOUR LOCAL SUPERMARKET")], + [("payment_ref", "=", "YOUR LOCAL SUPERMARKET")], limit=1, - )[0].statement_id + ).statement_id self.assertAlmostEqual(statement.balance_end_real, -1896.09, 2) line = self.statement_line_model.search( - [("name", "=", "Epic Technologies")], + [("payment_ref", "=", "Epic Technologies")], limit=1, ) self.assertEqual(line.partner_id, self.partner) diff --git a/account_statement_import_qif/wizards/__init__.py b/account_statement_import_qif/wizards/__init__.py index 448bfc66a..c075b9cfc 100644 --- a/account_statement_import_qif/wizards/__init__.py +++ b/account_statement_import_qif/wizards/__init__.py @@ -1,3 +1,3 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from . import account_bank_statement_import_qif +from . import account_statement_import_qif diff --git a/account_statement_import_qif/wizards/account_bank_statement_import_qif.py b/account_statement_import_qif/wizards/account_statement_import_qif.py similarity index 85% rename from account_statement_import_qif/wizards/account_bank_statement_import_qif.py rename to account_statement_import_qif/wizards/account_statement_import_qif.py index aa4fde4ec..42dc85272 100644 --- a/account_statement_import_qif/wizards/account_bank_statement_import_qif.py +++ b/account_statement_import_qif/wizards/account_statement_import_qif.py @@ -13,8 +13,8 @@ from odoo.tools.translate import _ -class AccountBankStatementImport(models.TransientModel): - _inherit = "account.bank.statement.import" +class AccountStatementImport(models.TransientModel): + _inherit = "account.statement.import" @api.model def _check_qif(self, data_file): @@ -31,8 +31,8 @@ def _parse_file(self, data_file): data_list = file_data.split("\n") header = data_list[0].strip() header = header.split(":")[1] - except Exception: - raise UserError(_("Could not decipher the QIF file.")) + except Exception as e: + raise UserError(_("Could not decipher the QIF file.")) from e transactions = [] vals_line = {} total = 0 @@ -52,13 +52,13 @@ 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"] = ( + vals_line["payment_ref"] = ( "name" in vals_line and line[1:] + ": " + vals_line["name"] or line[1:] ) elif line[0] == "M": # Memo - vals_line["name"] = ( + vals_line["payment_ref"] = ( "name" in vals_line and vals_line["name"] + ": " + line[1:] or line[1:] @@ -80,7 +80,8 @@ def _parse_file(self, data_file): vals_bank_statement.update( {"balance_end_real": total, "transactions": transactions} ) - return None, None, [vals_bank_statement] + journal = self.env["account.journal"].browse(self.env.context.get("journal_id")) + return journal.currency_id.name, None, [vals_bank_statement] def _complete_stmts_vals(self, stmt_vals, journal_id, account_number): """Match partner_id if hasn't been deducted yet.""" @@ -88,16 +89,16 @@ 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 - if not self.attachment_ids or not self._check_qif( - base64.b64decode(self.attachment_ids[0].datas) + if not self.statement_file or not self._check_qif( + base64.b64decode(self.statement_file) ): return res 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"): + if not line_vals.get("partner_id") and line_vals.get("payment_ref"): partner = partner_obj.search( - [("name", "ilike", line_vals["name"])], + [("name", "ilike", line_vals["payment_ref"])], limit=1, ) line_vals["partner_id"] = partner.id diff --git a/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml b/account_statement_import_qif/wizards/account_statement_import_qif_view.xml similarity index 58% rename from account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml rename to account_statement_import_qif/wizards/account_statement_import_qif_view.xml index d9bdc4c07..ebc0ab3ad 100644 --- a/account_statement_import_qif/wizards/account_bank_statement_import_qif_view.xml +++ b/account_statement_import_qif/wizards/account_statement_import_qif_view.xml @@ -1,11 +1,10 @@ - - - account.bank.statement.import + + account.statement.import @@ -13,5 +12,4 @@ - From af45845c8ad8fa7752d5cada6814eff71c8ce5fe Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 15 Apr 2024 15:56:54 +0000 Subject: [PATCH 17/25] [UPD] Update account_statement_import_qif.pot --- .../i18n/account_statement_import_qif.pot | 43 +++++++++++++++++++ account_statement_import_qif/i18n/de.po | 25 ++++++----- account_statement_import_qif/i18n/es.po | 25 ++++++----- account_statement_import_qif/i18n/fa.po | 25 ++++++----- account_statement_import_qif/i18n/fi.po | 25 ++++++----- account_statement_import_qif/i18n/fr.po | 25 ++++++----- account_statement_import_qif/i18n/fr_CH.po | 25 ++++++----- account_statement_import_qif/i18n/gl.po | 25 ++++++----- account_statement_import_qif/i18n/hr.po | 29 +++++++------ account_statement_import_qif/i18n/lt_LT.po | 29 +++++++------ account_statement_import_qif/i18n/nb_NO.po | 25 ++++++----- account_statement_import_qif/i18n/nl.po | 25 ++++++----- account_statement_import_qif/i18n/pt_BR.po | 25 ++++++----- account_statement_import_qif/i18n/pt_PT.po | 25 ++++++----- account_statement_import_qif/i18n/sl.po | 29 +++++++------ 15 files changed, 245 insertions(+), 160 deletions(-) create mode 100644 account_statement_import_qif/i18n/account_statement_import_qif.pot diff --git a/account_statement_import_qif/i18n/account_statement_import_qif.pot b/account_statement_import_qif/i18n/account_statement_import_qif.pot new file mode 100644 index 000000000..77ff816fa --- /dev/null +++ b/account_statement_import_qif/i18n/account_statement_import_qif.pot @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_statement_import_qif +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 +#, python-format +msgid "Could not decipher the QIF file." +msgstr "" + +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +msgid "Import Bank Statement Files" +msgstr "" + +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form +msgid "Quicken Interchange Format (.qif)" +msgstr "" + +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 075b2830b..a15143d63 100644 --- a/account_statement_import_qif/i18n/de.po +++ b/account_statement_import_qif/i18n/de.po @@ -18,29 +18,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Kontoauszug importieren" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 c7380e4ef..c96397353 100644 --- a/account_statement_import_qif/i18n/es.po +++ b/account_statement_import_qif/i18n/es.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." 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 -msgid "Import Bank Statement" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importar extracto bancario" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 da1c5b2cb..9f0a7d9f8 100644 --- a/account_statement_import_qif/i18n/fa.po +++ b/account_statement_import_qif/i18n/fa.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "ورود بیانیه بانکی" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 e55b8ec22..3c99bb40a 100644 --- a/account_statement_import_qif/i18n/fi.po +++ b/account_statement_import_qif/i18n/fi.po @@ -18,29 +18,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Tuo pankkiaineisto" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 93601971a..981730711 100644 --- a/account_statement_import_qif/i18n/fr.po +++ b/account_statement_import_qif/i18n/fr.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importer un relevé bancaire" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 a22f554ed..54a3a4965 100644 --- a/account_statement_import_qif/i18n/fr_CH.po +++ b/account_statement_import_qif/i18n/fr_CH.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importer Relevé" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 ace257aac..66d770d85 100644 --- a/account_statement_import_qif/i18n/gl.po +++ b/account_statement_import_qif/i18n/gl.po @@ -18,29 +18,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importar extracto bancario" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 aa9381663..f8f87aa70 100644 --- a/account_statement_import_qif/i18n/hr.po +++ b/account_statement_import_qif/i18n/hr.po @@ -16,32 +16,35 @@ msgstr "" "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" +"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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Uvoz bankovnog izvoda" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 e4da5387f..737ee24a1 100644 --- a/account_statement_import_qif/i18n/lt_LT.po +++ b/account_statement_import_qif/i18n/lt_LT.po @@ -17,32 +17,35 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2);\n" +"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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importuoti banko išrašą" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 6b72bab2d..8ada6c782 100644 --- a/account_statement_import_qif/i18n/nb_NO.po +++ b/account_statement_import_qif/i18n/nb_NO.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importer bankutsagn" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 479bbb4e4..aff6a49f6 100644 --- a/account_statement_import_qif/i18n/nl.po +++ b/account_statement_import_qif/i18n/nl.po @@ -18,29 +18,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importeer bankafschrift" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 b9627fd58..5c11c0cc1 100644 --- a/account_statement_import_qif/i18n/pt_BR.po +++ b/account_statement_import_qif/i18n/pt_BR.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importar Extrato Bancário" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 fcd349eb4..a51ee86a6 100644 --- a/account_statement_import_qif/i18n/pt_PT.po +++ b/account_statement_import_qif/i18n/pt_PT.po @@ -19,29 +19,32 @@ msgstr "" "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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Importar Extrato Bancário" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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 33266d492..f3bf92433 100644 --- a/account_statement_import_qif/i18n/sl.po +++ b/account_statement_import_qif/i18n/sl.po @@ -16,32 +16,35 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" +"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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, 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" +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +#, fuzzy +msgid "Import Bank Statement Files" msgstr "Uvoz bančnega izpiska" -#. module: account_bank_statement_import_qif -#: model:ir.model,name:account_bank_statement_import_qif.model_account_journal +#. module: account_statement_import_qif +#: model:ir.model,name:account_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 +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form 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:0 +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_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." From e8d168b367f2d62ca2b821e644eeb6aaa7983d34 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 15 Apr 2024 19:09:12 +0000 Subject: [PATCH 18/25] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/ --- account_statement_import_qif/i18n/hr.po | 4 ++-- account_statement_import_qif/i18n/lt_LT.po | 4 ++-- account_statement_import_qif/i18n/sl.po | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/account_statement_import_qif/i18n/hr.po b/account_statement_import_qif/i18n/hr.po index f8f87aa70..909685dac 100644 --- a/account_statement_import_qif/i18n/hr.po +++ b/account_statement_import_qif/i18n/hr.po @@ -16,8 +16,8 @@ msgstr "" "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" +"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_statement_import_qif #. odoo-python diff --git a/account_statement_import_qif/i18n/lt_LT.po b/account_statement_import_qif/i18n/lt_LT.po index 737ee24a1..04c07b6f9 100644 --- a/account_statement_import_qif/i18n/lt_LT.po +++ b/account_statement_import_qif/i18n/lt_LT.po @@ -17,8 +17,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"(n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" #. module: account_statement_import_qif #. odoo-python diff --git a/account_statement_import_qif/i18n/sl.po b/account_statement_import_qif/i18n/sl.po index f3bf92433..b4971211d 100644 --- a/account_statement_import_qif/i18n/sl.po +++ b/account_statement_import_qif/i18n/sl.po @@ -16,8 +16,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " -"n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: account_statement_import_qif #. odoo-python From 4a00087ea3267e36b19ed90d3b9531b8d61ab9b9 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 3 May 2024 07:12:57 +0000 Subject: [PATCH 19/25] Added translation using Weblate (Italian) --- account_statement_import_qif/i18n/it.po | 44 +++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 account_statement_import_qif/i18n/it.po diff --git a/account_statement_import_qif/i18n/it.po b/account_statement_import_qif/i18n/it.po new file mode 100644 index 000000000..edb4e5d22 --- /dev/null +++ b/account_statement_import_qif/i18n/it.po @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_statement_import_qif +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 +#, python-format +msgid "Could not decipher the QIF file." +msgstr "" + +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_statement_import +msgid "Import Bank Statement Files" +msgstr "" + +#. module: account_statement_import_qif +#: model:ir.model,name:account_statement_import_qif.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_statement_import_qif +#: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form +msgid "Quicken Interchange Format (.qif)" +msgstr "" + +#. module: account_statement_import_qif +#. odoo-python +#: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 +#, python-format +msgid "This file is either not a bank statement or is not correctly formed." +msgstr "" From 280dfee346c853df8c67d5ce48ea11bd34df67bd Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 3 May 2024 14:09:04 +0000 Subject: [PATCH 20/25] Translated using Weblate (Italian) Currently translated at 80.0% (4 of 5 strings) Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/it/ --- account_statement_import_qif/i18n/it.po | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/account_statement_import_qif/i18n/it.po b/account_statement_import_qif/i18n/it.po index edb4e5d22..d1d8bea16 100644 --- a/account_statement_import_qif/i18n/it.po +++ b/account_statement_import_qif/i18n/it.po @@ -6,30 +6,32 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-05-03 16:35+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: account_statement_import_qif #. odoo-python #: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." -msgstr "" +msgstr "Impossibile decifrare il file QIF." #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_statement_import msgid "Import Bank Statement Files" -msgstr "" +msgstr "Importazione file estratto conto bancario" #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_journal msgid "Journal" -msgstr "" +msgstr "Registro" #. module: account_statement_import_qif #: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form @@ -42,3 +44,4 @@ msgstr "" #, python-format msgid "This file is either not a bank statement or is not correctly formed." msgstr "" +"Questo file non è un estratto conto bancario o non è nel formato corretto." From 3893b16643bd65049202bde20b9fb7ad6af1359b Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 6 May 2024 11:34:33 +0000 Subject: [PATCH 21/25] Translated using Weblate (Italian) Currently translated at 100.0% (5 of 5 strings) Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/it/ --- account_statement_import_qif/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account_statement_import_qif/i18n/it.po b/account_statement_import_qif/i18n/it.po index d1d8bea16..0181c040a 100644 --- a/account_statement_import_qif/i18n/it.po +++ b/account_statement_import_qif/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-05-03 16:35+0000\n" +"PO-Revision-Date: 2024-05-06 11:35+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -36,7 +36,7 @@ msgstr "Registro" #. module: account_statement_import_qif #: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form msgid "Quicken Interchange Format (.qif)" -msgstr "" +msgstr "Quicken Interchange Format (.qif)" #. module: account_statement_import_qif #. odoo-python From 066918112dfca78708f6ed84dbfe8cb30818dd08 Mon Sep 17 00:00:00 2001 From: Sergio Ariel Ameghino Date: Sun, 12 May 2024 18:40:07 +0000 Subject: [PATCH 22/25] Translated using Weblate (Spanish) Currently translated at 100.0% (5 of 5 strings) Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/es/ --- account_statement_import_qif/i18n/es.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/account_statement_import_qif/i18n/es.po b/account_statement_import_qif/i18n/es.po index c96397353..e6993f2bb 100644 --- a/account_statement_import_qif/i18n/es.po +++ b/account_statement_import_qif/i18n/es.po @@ -10,14 +10,15 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2024-05-12 21:35+0000\n" +"Last-Translator: Sergio Ariel Ameghino \n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: account_statement_import_qif #. odoo-python @@ -28,19 +29,18 @@ msgstr "No se puede descifrar el archivo QIF." #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_statement_import -#, fuzzy msgid "Import Bank Statement Files" msgstr "Importar extracto bancario" #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_journal msgid "Journal" -msgstr "" +msgstr "Diario" #. module: account_statement_import_qif #: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form msgid "Quicken Interchange Format (.qif)" -msgstr "Quicken Interchange Format (.qif)" +msgstr "Formato de intercambio QIF" #. module: account_statement_import_qif #. odoo-python From f66248921b89300a59e1beb5a836b579b19ba10d Mon Sep 17 00:00:00 2001 From: Rodrigo Macedo Date: Wed, 22 May 2024 00:55:42 +0000 Subject: [PATCH 23/25] Translated using Weblate (Portuguese (Brazil)) Currently translated at 60.0% (3 of 5 strings) Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/pt_BR/ --- account_statement_import_qif/i18n/pt_BR.po | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/account_statement_import_qif/i18n/pt_BR.po b/account_statement_import_qif/i18n/pt_BR.po index 5c11c0cc1..2fb67afce 100644 --- a/account_statement_import_qif/i18n/pt_BR.po +++ b/account_statement_import_qif/i18n/pt_BR.po @@ -9,15 +9,17 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2024-05-22 02:47+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" #. module: account_statement_import_qif #. odoo-python @@ -28,9 +30,8 @@ msgstr "Não foi possível decifrar o arquivo QIF." #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_statement_import -#, fuzzy msgid "Import Bank Statement Files" -msgstr "Importar Extrato Bancário" +msgstr "Importar Arquivos Extrato Bancário" #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_journal From 7fe32addb0d7ed1310655b77b94c5552cd68141b Mon Sep 17 00:00:00 2001 From: Rodrigo Macedo Date: Wed, 22 May 2024 11:32:35 +0000 Subject: [PATCH 24/25] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (5 of 5 strings) Translation: bank-statement-import-16.0/bank-statement-import-16.0-account_statement_import_qif Translate-URL: https://translation.odoo-community.org/projects/bank-statement-import-16-0/bank-statement-import-16-0-account_statement_import_qif/pt_BR/ --- account_statement_import_qif/i18n/pt_BR.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/account_statement_import_qif/i18n/pt_BR.po b/account_statement_import_qif/i18n/pt_BR.po index 2fb67afce..0753ced11 100644 --- a/account_statement_import_qif/i18n/pt_BR.po +++ b/account_statement_import_qif/i18n/pt_BR.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-17 03:38+0000\n" -"PO-Revision-Date: 2024-05-22 02:47+0000\n" +"PO-Revision-Date: 2024-05-22 13:39+0000\n" "Last-Translator: Rodrigo Macedo \n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" @@ -26,7 +26,7 @@ msgstr "" #: code:addons/account_statement_import_qif/wizards/account_statement_import_qif.py:0 #, python-format msgid "Could not decipher the QIF file." -msgstr "Não foi possível decifrar o arquivo QIF." +msgstr "Não foi possível decifrar o arquivo QIF." #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_statement_import @@ -36,12 +36,12 @@ msgstr "Importar Arquivos Extrato Bancário" #. module: account_statement_import_qif #: model:ir.model,name:account_statement_import_qif.model_account_journal msgid "Journal" -msgstr "" +msgstr "Diário" #. module: account_statement_import_qif #: model_terms:ir.ui.view,arch_db:account_statement_import_qif.account_statement_import_form msgid "Quicken Interchange Format (.qif)" -msgstr "" +msgstr "Acelerar o Formato de Intercâmbio (.qif)" #. module: account_statement_import_qif #. odoo-python From cda405690a0414e73e02d309c6dfe5cc215987d2 Mon Sep 17 00:00:00 2001 From: stferraro Date: Fri, 1 May 2026 20:40:05 -0400 Subject: [PATCH 25/25] [MIG] account_statement_import_qif: Migration to 19.0 --- account_statement_import_qif/README.rst | 75 +++++++++++-------- account_statement_import_qif/__manifest__.py | 4 +- account_statement_import_qif/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 9 +++ .../readme/CONTRIBUTORS.rst | 13 ---- .../readme/DESCRIPTION.md | 15 ++++ .../readme/DESCRIPTION.rst | 14 ---- account_statement_import_qif/readme/USAGE.md | 6 ++ account_statement_import_qif/readme/USAGE.rst | 6 -- .../static/description/index.html | 65 +++++++++------- .../tests/test_import_bank_statement.py | 19 ++--- .../wizards/account_statement_import_qif.py | 5 +- 12 files changed, 126 insertions(+), 108 deletions(-) create mode 100644 account_statement_import_qif/pyproject.toml create mode 100644 account_statement_import_qif/readme/CONTRIBUTORS.md delete mode 100644 account_statement_import_qif/readme/CONTRIBUTORS.rst create mode 100644 account_statement_import_qif/readme/DESCRIPTION.md delete mode 100644 account_statement_import_qif/readme/DESCRIPTION.rst create mode 100644 account_statement_import_qif/readme/USAGE.md delete mode 100644 account_statement_import_qif/readme/USAGE.rst diff --git a/account_statement_import_qif/README.rst b/account_statement_import_qif/README.rst index e48014625..28a21eb80 100644 --- a/account_statement_import_qif/README.rst +++ b/account_statement_import_qif/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ========================== Import QIF Bank Statements ========================== @@ -13,35 +17,37 @@ Import QIF Bank Statements .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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/16.0/account_statement_import_qif + :target: https://github.com/OCA/bank-statement-import/tree/19.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-16-0/bank-statement-import-16-0-account_statement_import_qif + :target: https://translation.odoo-community.org/projects/bank-statement-import-19-0/bank-statement-import-19-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=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-statement-import&target_branch=19.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. +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 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. +The module was initiated as a backport of the new framework developed by +Odoo for V9 at its early stage. As Odoo has relicensed this module as +private inside its Odoo enterprise layer, now this one is maintained +from the original AGPL code. **Table of contents** @@ -53,10 +59,10 @@ Usage 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*. +1. Go to *Invoicing / Accounting* dashboard. +2. Click on *Import statement* from any of the bank journals. +3. Select a QIF file. +4. Press *Import*. Bug Tracker =========== @@ -64,7 +70,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. @@ -72,30 +78,33 @@ Credits ======= Authors -~~~~~~~ +------- * OpenERP SA * Tecnativa Contributors -~~~~~~~~~~~~ +------------ + +- Odoo SA +- Akretion + + - Alexis de Lattre + +- ACSONE A/V -* Odoo SA -* Akretion + - Laurent Mignon - * Alexis de Lattre -* ACSONE A/V +- Therp - * Laurent Mignon -* Therp + - Ronald Portier - * Ronald Portier -* Tecnativa (https://www.tecnativa.com) +- Tecnativa (https://www.tecnativa.com) - * Pedro M. Baeza + - Pedro M. Baeza Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -107,6 +116,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 c316a61b2..4a0371bed 100644 --- a/account_statement_import_qif/__manifest__.py +++ b/account_statement_import_qif/__manifest__.py @@ -7,8 +7,8 @@ { "name": "Import QIF Bank Statements", "category": "Accounting", - "version": "16.0.1.0.0", - "author": "OpenERP SA," "Tecnativa," "Odoo Community Association (OCA)", + "version": "19.0.1.0.0", + "author": "OpenERP SA,Tecnativa,Odoo Community Association (OCA)", "website": "https://github.com/OCA/bank-statement-import", "depends": ["account_statement_import_file"], "data": ["wizards/account_statement_import_qif_view.xml"], diff --git a/account_statement_import_qif/pyproject.toml b/account_statement_import_qif/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/account_statement_import_qif/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_statement_import_qif/readme/CONTRIBUTORS.md b/account_statement_import_qif/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..c688895c2 --- /dev/null +++ b/account_statement_import_qif/readme/CONTRIBUTORS.md @@ -0,0 +1,9 @@ +- Odoo SA +- Akretion + - Alexis de Lattre \ +- ACSONE A/V + - Laurent Mignon \ +- Therp + - Ronald Portier \ +- Tecnativa () + - Pedro M. Baeza diff --git a/account_statement_import_qif/readme/CONTRIBUTORS.rst b/account_statement_import_qif/readme/CONTRIBUTORS.rst deleted file mode 100644 index f6e067680..000000000 --- a/account_statement_import_qif/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,13 +0,0 @@ -* 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.md b/account_statement_import_qif/readme/DESCRIPTION.md new file mode 100644 index 000000000..441dcf3fb --- /dev/null +++ b/account_statement_import_qif/readme/DESCRIPTION.md @@ -0,0 +1,15 @@ +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/DESCRIPTION.rst b/account_statement_import_qif/readme/DESCRIPTION.rst deleted file mode 100644 index 6aa520103..000000000 --- a/account_statement_import_qif/readme/DESCRIPTION.rst +++ /dev/null @@ -1,14 +0,0 @@ -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.md b/account_statement_import_qif/readme/USAGE.md new file mode 100644 index 000000000..a04345d4f --- /dev/null +++ b/account_statement_import_qif/readme/USAGE.md @@ -0,0 +1,6 @@ +To use this module, you need to: + +1. Go to *Invoicing / Accounting* dashboard. +2. Click on *Import statement* from any of the bank journals. +3. Select a QIF file. +4. Press *Import*. diff --git a/account_statement_import_qif/readme/USAGE.rst b/account_statement_import_qif/readme/USAGE.rst deleted file mode 100644 index 15f6f8fd8..000000000 --- a/account_statement_import_qif/readme/USAGE.rst +++ /dev/null @@ -1,6 +0,0 @@ -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 index 191ce05a2..aed9edc66 100644 --- a/account_statement_import_qif/static/description/index.html +++ b/account_statement_import_qif/static/description/index.html @@ -1,18 +1,18 @@ - -Import QIF Bank Statements +README.rst -
    -

    Import QIF Bank Statements

    +
    + + +Odoo Community Association + +
    +

    Import QIF Bank Statements

    -

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

    -

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

    +

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

    +

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

    -

    Important Note

    -

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

    -

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

    +

    Important Note

    +

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

    +

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

    Table of contents

      @@ -391,7 +397,7 @@

      Important Note

    -

    Usage

    +

    Usage

    To use this module, you need to:

    1. Go to Invoicing / Accounting dashboard.
    2. @@ -401,26 +407,26 @@

      Usage

    -

    Bug Tracker

    +

    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.

    -

    Authors

    +

    Authors

    • OpenERP SA
    • Tecnativa
    -

    Contributors

    +

    Contributors

    • Odoo SA
    • Akretion
        @@ -442,15 +448,18 @@

        Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    -

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

    +

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

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

    +
    diff --git a/account_statement_import_qif/tests/test_import_bank_statement.py b/account_statement_import_qif/tests/test_import_bank_statement.py index 0a37d011a..3ce74031a 100644 --- a/account_statement_import_qif/tests/test_import_bank_statement.py +++ b/account_statement_import_qif/tests/test_import_bank_statement.py @@ -7,14 +7,19 @@ import base64 -from odoo.modules.module import get_module_resource from odoo.tests.common import TransactionCase +from odoo.tools.misc import file_path class TestQifFile(TransactionCase): - """Tests for import bank statement qif file format - (account.bank.statement.import) - """ + def setUp(self): + """Tests for import bank statement qif file format + (account.bank.statement.import) + """ + + super().setUp() + self.env["account.bank.statement.line"].search([]).unlink() + self.env["account.bank.statement"].search([]).unlink() @classmethod def setUpClass(cls): @@ -37,11 +42,7 @@ def setUpClass(cls): ) def test_qif_file_import(self): - qif_file_path = get_module_resource( - "account_statement_import_qif", - "tests", - "test_qif.qif", - ) + qif_file_path = file_path("account_statement_import_qif/tests/test_qif.qif") qif_file = base64.b64encode(open(qif_file_path, "rb").read()) wizard = self.statement_import_model.with_context( journal_id=self.journal.id diff --git a/account_statement_import_qif/wizards/account_statement_import_qif.py b/account_statement_import_qif/wizards/account_statement_import_qif.py index 42dc85272..dafde3fa6 100644 --- a/account_statement_import_qif/wizards/account_statement_import_qif.py +++ b/account_statement_import_qif/wizards/account_statement_import_qif.py @@ -10,7 +10,6 @@ from odoo import api, models from odoo.exceptions import UserError -from odoo.tools.translate import _ class AccountStatementImport(models.TransientModel): @@ -32,7 +31,7 @@ def _parse_file(self, data_file): header = data_list[0].strip() header = header.split(":")[1] except Exception as e: - raise UserError(_("Could not decipher the QIF file.")) from e + raise UserError(self.env._("Could not decipher the QIF file.")) from e transactions = [] vals_line = {} total = 0 @@ -72,7 +71,7 @@ def _parse_file(self, data_file): pass else: raise UserError( - _( + self.env._( "This file is either not a bank statement or is " "not correctly formed." )