diff --git a/account_banking/banking_import_transaction.py b/account_banking/banking_import_transaction.py
index 79801c84e..5c0cd1faf 100644
--- a/account_banking/banking_import_transaction.py
+++ b/account_banking/banking_import_transaction.py
@@ -193,6 +193,10 @@ class banking_import_transaction(orm.Model):
iname = invoice.name.upper()
if iname in ref or iname in msg:
return True
+ if invoice.supplier_invoice_number and len(invoice.supplier_invoice_number) > 2:
+ supp_ref = invoice.supplier_invoice_number.upper()
+ if supp_ref in ref or supp_ref in msg:
+ return True
elif invoice.type.startswith('out_'):
# External id's possible and likely
inum = invoice.number.upper()
@@ -1211,8 +1215,6 @@ class banking_import_transaction(orm.Model):
'match_type',
'move_line_id',
'invoice_id',
- 'manual_invoice_id',
- 'manual_move_line_id',
]] +
[(x, [(6, 0, [])]) for x in [
'move_line_ids',
@@ -1299,9 +1301,9 @@ class banking_import_transaction(orm.Model):
'exchange_rate': fields.float('exchange_rate'),
'transferred_amount': fields.float('transferred_amount'),
'message': fields.char('message', size=1024),
- 'remote_owner': fields.char('remote_owner', size=24),
- 'remote_owner_address': fields.char('remote_owner_address', size=24),
- 'remote_owner_city': fields.char('remote_owner_city', size=24),
+ 'remote_owner': fields.char('remote_owner', size=128),
+ 'remote_owner_address': fields.char('remote_owner_address', size=256),
+ 'remote_owner_city': fields.char('remote_owner_city', size=128),
'remote_owner_postalcode': fields.char('remote_owner_postalcode', size=24),
'remote_owner_country_code': fields.char('remote_owner_country_code', size=24),
'remote_owner_custno': fields.char('remote_owner_custno', size=24),
diff --git a/account_banking/data/account_banking_data.xml b/account_banking/data/account_banking_data.xml
index 3d47ad718..14ae6eafe 100644
--- a/account_banking/data/account_banking_data.xml
+++ b/account_banking/data/account_banking_data.xml
@@ -13,12 +13,5 @@
-
-
-
-
diff --git a/account_banking/migrations/0.1.81/post-set-statement-line-state.py b/account_banking/migrations/6.1.0.1.81/post-set-statement-line-state.py
similarity index 100%
rename from account_banking/migrations/0.1.81/post-set-statement-line-state.py
rename to account_banking/migrations/6.1.0.1.81/post-set-statement-line-state.py
diff --git a/account_banking/migrations/7.0.0.1/pre-migration.py b/account_banking/migrations/7.0.0.1/pre-migration.py
new file mode 100644
index 000000000..e12284d0e
--- /dev/null
+++ b/account_banking/migrations/7.0.0.1/pre-migration.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (C) 2013 Therp BV ().
+# All Rights Reserved
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+
+def migrate(cr, version):
+ if not version:
+ return
+
+ # workflow state moved to another, new module
+ cr.execute(
+ """
+ UPDATE ir_model_data
+ SET module = 'account_banking_payment'
+ WHERE name = 'trans_done_sent'
+ AND module = 'account_direct_debit'
+ """)
diff --git a/account_banking/sepa/iban.py b/account_banking/sepa/iban.py
index 7d16840d9..817b043b1 100644
--- a/account_banking/sepa/iban.py
+++ b/account_banking/sepa/iban.py
@@ -190,7 +190,7 @@ class IBAN(str):
BBAN_formats = {
'AL': BBANFormat('CCBBBBVAAAAAAAAAAAAAAAAAA', '%B%A'),
'AD': BBANFormat('CCCCBBBBAAAAAAAAAAAA', '%A'),
- 'AT': BBANFormat('BBBBBAAAAAAAAAAA', '%A BLZ %C'),
+ 'AT': BBANFormat('BBBBBAAAAAAAAAAA', '%A BLZ %B'),
'BE': BBANFormat('CCCAAAAAAAVV', '%C-%A-%V'),
'BA': BBANFormat('BBBCCCAAAAAAAA', '%I'),
'BG': BBANFormat('BBBBCCCCAAAAAAAAAA', '%I'),
diff --git a/account_banking/wizard/banking_transaction_wizard.py b/account_banking/wizard/banking_transaction_wizard.py
index 0fc71677c..255d7979c 100644
--- a/account_banking/wizard/banking_transaction_wizard.py
+++ b/account_banking/wizard/banking_transaction_wizard.py
@@ -314,6 +314,10 @@ class banking_transaction_wizard(orm.TransientModel):
'ref': fields.related(
'statement_line_id', 'ref', type='char', size=32,
string="Reference", readonly=True),
+ 'message': fields.related(
+ 'statement_line_id', 'import_transaction_id', 'message',
+ type='char', size=1024,
+ string="Message", readonly=True),
'partner_id': fields.related(
'statement_line_id', 'partner_id',
type='many2one', relation='res.partner',
@@ -363,13 +367,6 @@ class banking_transaction_wizard(orm.TransientModel):
('payment_order_manual', 'Payment order (manual)'),
],
string='Match type', readonly=True),
- 'manual_invoice_id': fields.many2one(
- 'account.invoice', 'Match this invoice',
- domain=[('reconciled', '=', False)]),
- 'manual_move_line_id': fields.many2one(
- 'account.move.line', 'Or match this entry',
- domain=[('account_id.reconcile', '=', True),
- ('reconcile_id', '=', False)]),
'manual_invoice_ids': fields.many2many(
'account.invoice',
'banking_transaction_wizard_account_invoice_rel',
diff --git a/account_banking/wizard/banking_transaction_wizard.xml b/account_banking/wizard/banking_transaction_wizard.xml
index 1e970eb7e..018b87210 100644
--- a/account_banking/wizard/banking_transaction_wizard.xml
+++ b/account_banking/wizard/banking_transaction_wizard.xml
@@ -17,8 +17,9 @@
-
+
+
diff --git a/account_banking/wizard/link_partner.py b/account_banking/wizard/link_partner.py
index c4d9108f6..fc4f83acd 100644
--- a/account_banking/wizard/link_partner.py
+++ b/account_banking/wizard/link_partner.py
@@ -22,6 +22,7 @@
from openerp.osv import orm, fields
from openerp.tools.translate import _
from openerp.addons.account_banking.wizard import banktools
+import ast
class link_partner(orm.TransientModel):
_name = 'banking.link_partner'
@@ -37,6 +38,16 @@ class link_partner(orm.TransientModel):
'statement_line_id': fields.many2one(
'account.bank.statement.line',
'Statement line', required=True),
+ 'amount': fields.related(
+ 'statement_line_id', 'amount', type='float',
+ string="Amount", readonly=True),
+ 'ref': fields.related(
+ 'statement_line_id', 'ref', type='char', size=32,
+ string="Reference", readonly=True),
+ 'message': fields.related(
+ 'statement_line_id', 'import_transaction_id', 'message',
+ type='char', size=1024,
+ string="Message", readonly=True),
'remote_account': fields.char(
'Account number', size=24, readonly=True),
# Partner values
@@ -50,6 +61,11 @@ class link_partner(orm.TransientModel):
'phone': fields.char('Phone', size=64),
'fax': fields.char('Fax', size=64),
'mobile': fields.char('Mobile', size=64),
+ 'is_company': fields.boolean('Is a Company'),
+ }
+
+ _defaults = {
+ 'is_company': True,
}
def create(self, cr, uid, vals, context=None):
@@ -79,9 +95,19 @@ class link_partner(orm.TransientModel):
if 'customer' not in vals and statement_line.amount > 0:
vals['customer'] = True
- if not vals.get('street'):
- vals['street'] = transaction.remote_owner_address
- if not vals.get('street'):
+ address_list = []
+ try:
+ address_list = ast.literal_eval(
+ transaction.remote_owner_address or [])
+ except ValueError:
+ pass
+ if address_list and not vals.get('street'):
+ vals['street'] = address_list.pop(0)
+ if address_list and not vals.get('street2'):
+ vals['street2'] = address_list.pop(0)
+ if transaction.remote_owner_postalcode and not vals.get('zip'):
+ vals['zip'] = transaction.remote_owner_postalcode
+ if transaction.remote_owner_city and not vals.get('city'):
vals['city'] = transaction.remote_owner_city
if not vals.get('country_id'):
vals['country_id'] = banktools.get_country_id(
@@ -101,10 +127,12 @@ class link_partner(orm.TransientModel):
:param wizard: read record of wizard (with load='_classic_write')
:param values: the dictionary of partner values that will be updated
"""
- for field in ['name',
+ for field in ['is_company',
+ 'name',
'street',
'street2',
'zip',
+ 'city',
'country_id',
'state_id',
'phone',
@@ -126,10 +154,7 @@ class link_partner(orm.TransientModel):
else:
wiz_read = self.read(
cr, uid, ids[0], context=context, load='_classic_write')
- partner_fields = self.pool.get(
- 'res.partner')._columns.keys()
partner_vals = {
- 'is_company': True,
'type': 'default',
}
self.update_partner_values(
diff --git a/account_banking/wizard/link_partner.xml b/account_banking/wizard/link_partner.xml
index c9c2d21c9..bf0c46a67 100644
--- a/account_banking/wizard/link_partner.xml
+++ b/account_banking/wizard/link_partner.xml
@@ -7,15 +7,24 @@
banking.link_partner