← Back to team overview

banking-addons-team team mailing list archive

[Merge] lp:~therp-nl/banking-addons/ba7.0-MIG-import into lp:banking-addons/banking-addons-70

 

Stefan Rijnhart (Therp) has proposed merging lp:~therp-nl/banking-addons/ba7.0-MIG-import into lp:banking-addons/banking-addons-70 with lp:~therp-nl/banking-addons/ba7.0-RFR-split_off_payment_part as a prerequisite.

Commit message:
[MIG] Adapt bank statement import to 7.0 API, views
[LIC] Relicense as AGPL
[IMP] Create partners as suppliers if amount < 0

Requested reviews:
  Banking Addons Team (banking-addons-team)

For more details, see:
https://code.launchpad.net/~therp-nl/banking-addons/ba7.0-MIG-import/+merge/158654
-- 
https://code.launchpad.net/~therp-nl/banking-addons/ba7.0-MIG-import/+merge/158654
Your team Banking Addons Team is requested to review the proposed merge of lp:~therp-nl/banking-addons/ba7.0-MIG-import into lp:banking-addons/banking-addons-70.
=== modified file 'account_banking/__init__.py'
--- account_banking/__init__.py	2012-01-16 16:15:55 +0000
+++ account_banking/__init__.py	2013-04-15 14:22:31 +0000
@@ -11,16 +11,16 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/__openerp__.py'
--- account_banking/__openerp__.py	2013-04-15 14:22:30 +0000
+++ account_banking/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
@@ -8,30 +9,25 @@
 #
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 {
     'name': 'Account Banking',
     'version': '0.1.136',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'Banking addons community',
     'website': 'https://launchpad.net/banking-addons',
     'category': 'Banking addons',
@@ -39,8 +35,7 @@
         'account_voucher',
         'account_iban_preserve_domestic',
         ],
-    'init_xml': [],
-    'update_xml': [
+    'data': [
         'security/ir.model.access.csv',
         'data/account_banking_data.xml',
         'wizard/bank_import_view.xml',
@@ -48,7 +43,6 @@
         'wizard/banking_transaction_wizard.xml',
         'workflow/account_invoice.xml',
     ],
-    'demo_xml': [],
     'external_dependencies': {
         'python' : ['BeautifulSoup'],
     },
@@ -107,6 +101,5 @@
       + No special configuration needed for the parsers, new parsers are
         recognized and made available at server (re)start.
     ''',
-    'active': False,
-    'installable': False,
+    'installable': True,
 }

=== modified file 'account_banking/account_banking.py'
--- account_banking/account_banking.py	2013-04-15 14:22:30 +0000
+++ account_banking/account_banking.py	2013-04-15 14:22:31 +0000
@@ -1,20 +1,24 @@
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
+#              (C) 2011 - 2013 Therp BV (<http://therp.nl>).
+#            
+#    All other contributions are (C) by their respective contributors
+#
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
@@ -57,20 +61,20 @@
     default behavior is to flag the orders as 'sent', not as 'done'.
     Rejected payments from the bank receive on import the status 'rejected'.
 '''
-import time
-import sepa
-from osv import osv, fields
-from tools.translate import _
-from wizard.banktools import get_or_create_bank
-import decimal_precision as dp
-import netsvc
-from openerp import SUPERUSER_ID
+
+from openerp.osv import orm, fields
+from openerp.tools.translate import _
+from openerp import netsvc, SUPERUSER_ID
+from openerp.addons.decimal_precision import decimal_precision as dp
+from openerp.addons.account_banking import sepa
+from openerp.addons.account_banking.wizard.banktools import get_or_create_bank
 
 def warning(title, message):
     '''Convenience routine'''
     return {'warning': {'title': title, 'message': message}}
 
-class account_banking_account_settings(osv.osv):
+
+class account_banking_account_settings(orm.Model):
     '''Default Journal for Bank Account'''
     _name = 'account.banking.account.settings'
     _description = __doc__
@@ -122,13 +126,6 @@
                  ),
         ),
 
-        #'multi_currency': fields.boolean(
-        #    'Multi Currency Bank Account', required=True,
-        #    help=('Select this if your bank account is able to handle '
-        #          'multiple currencies in parallel without coercing to '
-        #          'a single currency.'
-        #         ),
-        #),
     }
 
     def _default_company(self, cr, uid, context=None):
@@ -162,7 +159,8 @@
         if not company_id:
             company_id = self._default_company(cr, uid, context=context)
         partner_id = self.pool.get('res.company').read(
-            cr, uid, company_id, ['partner_id'], context=context)['partner_id'][0]
+            cr, uid, company_id, ['partner_id'],
+            context=context)['partner_id'][0]
         bank_ids = self.pool.get('res.partner.bank').search(
             cr, uid, [('partner_id', '=', partner_id)], context=context)
         return bank_ids and bank_ids[0] or False
@@ -177,7 +175,8 @@
             'res.partner', context=localcontext)
         return account_def and account_def.id or False
 
-    def _default_credit_account_id(self, cr, uid, context=None, company_id=False):
+    def _default_credit_account_id(
+            self, cr, uid, context=None, company_id=False):
         localcontext = context and context.copy() or {}
         localcontext['force_company'] = (
             company_id or self._default_company(cr, uid, context=context))
@@ -187,9 +186,9 @@
         return account_def and account_def.id or False
 
     def find(self, cr, uid, journal_id, partner_bank_id=False, context=None):
-        domain = [('journal_id','=',journal_id)]
+        domain = [('journal_id', '=', journal_id)]
         if partner_bank_id:
-            domain.append(('partner_bank_id','=',partner_bank_id))
+            domain.append(('partner_bank_id', '=', partner_bank_id))
         return self.search(cr, uid, domain, context=context)
 
     def onchange_partner_bank_id(
@@ -225,11 +224,11 @@
         'default_debit_account_id': _default_debit_account_id,
         'default_credit_account_id': _default_credit_account_id,
         'partner_bank_id': _default_partner_bank_id,
-        #'multi_currency': lambda *a: False,
     }
 account_banking_account_settings()
 
-class account_banking_imported_file(osv.osv):
+
+class account_banking_imported_file(orm.Model):
     '''Imported Bank Statements File'''
     _name = 'account.banking.imported.file'
     _description = __doc__
@@ -267,12 +266,13 @@
                                   ),
     }
     _defaults = {
-        'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
+        'date': fields.date.context_today,
         'user_id': lambda self, cursor, uid, context: uid,
     }
 account_banking_imported_file()
 
-class account_bank_statement(osv.osv):
+
+class account_bank_statement(orm.Model):
     '''
     Extensions from account_bank_statement:
         1. Removed period_id (transformed to optional boolean) - as it is no
@@ -285,45 +285,6 @@
     '''
     _inherit = 'account.bank.statement'
     _order = 'id'
-    _abf_others = []
-    _abf_others_loaded = False
-
-    def __init__(self, *args, **kwargs):
-        '''
-        See where we stand in the order of things
-        '''
-        super(account_bank_statement, self).__init__(*args, **kwargs)
-        if not self._abf_others_loaded:
-            self._abf_others_loaded = True
-            self._abf_others = [x for x in self.__class__.__mro__
-                                   if x.__module__.split('.')[0] not in [
-                                       'osv', 'account', 'account_banking',
-                                       '__builtin__'
-                                   ]
-                               ]
-
-    #def _currency(self, cursor, user, ids, name, args, context=None):
-    #    '''
-    #    Calculate currency from contained transactions
-    #    '''
-    #    res = {}
-    #    res_currency_obj = self.pool.get('res.currency')
-    #    res_users_obj = self.pool.get('res.users')
-    #    default_currency = res_users_obj.browse(cursor, user,
-    #            user, context=context).company_id.currency_id
-    #    for statement in self.browse(cursor, user, ids, context=context):
-    #        currency = statement.journal_id.currency
-    #        if not currency:
-    #            currency = default_currency
-    #        res[statement.id] = currency.id
-    #    currency_names = {}
-    #    for currency_id, currency_name in res_currency_obj.name_get(cursor,
-    #            user, res.values(), context=context):
-    #        currency_names[currency_id] = currency_name
-    #    for statement_id in res.keys():
-    #        currency_id = res[statement_id]
-    #        res[statement_id] = (currency_id, currency_names[currency_id])
-    #    return res
 
     _columns = {
         'period_id': fields.many2one('account.period', 'Period',
@@ -331,13 +292,10 @@
         'banking_id': fields.many2one('account.banking.imported.file',
                                      'Imported File', readonly=True,
                                      ),
-    #    'currency': fields.function(_currency, method=True, string='Currency',
-    #        type='many2one', relation='res.currency'),
     }
 
     _defaults = {
-        'period_id': lambda *a: False,
-    #    'currency': _currency,
+        'period_id': False,
     }
 
     def _check_company_id(self, cr, uid, ids, context=None):
@@ -346,19 +304,21 @@
         move of period_id to the statement line
         """
         for statement in self.browse(cr, uid, ids, context=context):
-            if (statement.period_id and
-                statement.company_id.id != statement.period_id.company_id.id):
-                return False
             for line in statement.line_ids:
                 if (line.period_id and
                     statement.company_id.id != line.period_id.company_id.id):
                     return False
-        return True
+                if not statement.period_id:
+                    statement.write({'period_id': line.period_id.id})
+        return super(account_bank_statement, self)._check_company_id(
+            cr, uid, ids, context=context)
     
     # Redefine the constraint, or it still refer to the original method
     _constraints = [
-        (_check_company_id, 'The journal and period chosen have to belong to the same company.', ['journal_id','period_id']),
-    ]
+        (_check_company_id,
+         'The journal and period chosen have to belong to the same company.',
+         ['journal_id','period_id']),
+        ]
 
     def _get_period(self, cursor, uid, date, context=None):
         '''
@@ -368,11 +328,33 @@
         periods = period_obj.find(cursor, uid, dt=date, context=context)
         return periods and periods[0] or False
 
-    #def compute(self, cursor, uid, ids, context=None):
-    #    '''
-    #    Compute start and end balance with mixed currencies.
-    #    '''
-    #    return None
+    def _prepare_move(
+            self, cr, uid, st_line, st_line_number, context=None):
+        """
+        Add the statement line's period to the move, overwriting
+        the period on the statement
+        """
+        res = super(account_bank_statement, self)._prepare_move(
+            cr, uid, st_line, st_line_number, context=context)
+        if context and context.get('period_id'):
+            res['period_id'] = context['period_id']
+        return res
+
+    def _prepare_move_line_vals(
+            self, cr, uid, st_line, move_id, debit, credit, currency_id=False,
+            amount_currency=False, account_id=False, analytic_id=False,
+            partner_id=False, context=None):
+        """
+        Add the statement line's period to the move lines, overwriting
+        the period on the statement
+        """
+        res = super(account_bank_statement, self)._prepare_move_line_vals(
+            cr, uid, st_line, move_id, debit, credit, currency_id=currency_id,
+            amount_currency=amount_currency, account_id=account_id,
+            analytic_id=analytic_id, partner_id=partner_id, context=context)
+        if context and context.get('period_id'):
+            res['period_id'] = context['period_id']
+        return res
 
     def create_move_from_st_line(self, cr, uid, st_line_id,
                                  company_currency_id, st_line_number,
@@ -387,212 +369,110 @@
 
         if context is None:
             context = {}
-        res_currency_obj = self.pool.get('res.currency')
         account_move_obj = self.pool.get('account.move')
         account_move_line_obj = self.pool.get('account.move.line')
         account_bank_statement_line_obj = self.pool.get(
             'account.bank.statement.line')
         st_line = account_bank_statement_line_obj.browse(
             cr, uid, st_line_id, context=context)
+
+        # AB: take period from statement line and write to context
+        # this will be picked up by the _prepare_move* methods
         period_id = self._get_period(
-            cr, uid, st_line.date, context=context)    # AB
-        # Start account voucher
-        # Post the voucher and update links between statement and moves
+            cr, uid, st_line.date, context=context)
+        localctx = context.copy()
+        localctx['period_id'] = period_id
+        # --AB
+
+        # AB: Take account_voucher into account:
+        # Write date & period on the voucher, delegate to account_voucher's
+        # override of this method. Then post the related move and return.
         if st_line.voucher_id:
             voucher_pool = self.pool.get('account.voucher')
-            wf_service = netsvc.LocalService("workflow")
             voucher_pool.write(
                 cr, uid, [st_line.voucher_id.id], {
-                    'number': st_line_number,
                     'date': st_line.date,
-                    'period_id': period_id, # AB
+                    'period_id': period_id,
                 }, context=context)
-            if st_line.voucher_id.state == 'cancel':
-                voucher_pool.action_cancel_draft(
-                    cr, uid, [st_line.voucher_id.id], context=context)
-            wf_service.trg_validate(
-                uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
-            v = voucher_pool.browse(
-                cr, uid, st_line.voucher_id.id, context=context)
-            account_bank_statement_line_obj.write(cr, uid, [st_line_id], {
-                    'move_ids': [(4, v.move_id.id, False)]
-                    })
-            account_move_line_obj.write(
-                cr, uid, [x.id for x in v.move_ids],
-                {'statement_id': st_line.statement_id.id}, context=context)
-            # End of account_voucher
-            st_line.refresh()
-
-            # AB: The voucher journal isn't automatically posted, so post it (if needed)
+
+        res = super(account_bank_statement, self).create_move_from_st_line(
+            cr, uid, st_line_id, company_currency_id, st_line_number,
+            context=localctx)
+
+        st_line.refresh()
+        if st_line.voucher_id:
             if not st_line.voucher_id.journal_id.entry_posted:
-                account_move_obj.post(cr, uid, [st_line.voucher_id.move_id.id], context={})
-            return True
-
-        st = st_line.statement_id
-
-        context.update({'date': st_line.date})
-        ctxt = context.copy()                       # AB
-        ctxt['company_id'] = st_line.company_id.id  # AB
-
-        move_id = account_move_obj.create(cr, uid, {
-            'journal_id': st.journal_id.id,
-            'period_id': period_id, # AB
-            'date': st_line.date,
-            'name': st_line_number,
-        }, context=context)
-        account_bank_statement_line_obj.write(cr, uid, [st_line.id], {
-            'move_ids': [(4, move_id, False)]
-        })
-
-        torec = []
-        if st_line.amount >= 0:
-            account_id = st.journal_id.default_credit_account_id.id
+                account_move_obj.post(
+                    cr, uid, [st_line.voucher_id.move_id.id], context={})
         else:
-            account_id = st.journal_id.default_debit_account_id.id
-
-        acc_cur = ((st_line.amount <= 0 and
-                    st.journal_id.default_debit_account_id) or
-                   st_line.account_id)
-        context.update({
-                'res.currency.compute.account': acc_cur,
-            })
-        amount = res_currency_obj.compute(cr, uid, st.currency.id,
-                company_currency_id, st_line.amount, context=context)
-
-        val = {
-            'name': st_line.name,
-            'date': st_line.date,
-            'ref': st_line.ref,
-            'move_id': move_id,
-            'partner_id': (((st_line.partner_id) and st_line.partner_id.id) or
-                           False),
-            'account_id': (st_line.account_id) and st_line.account_id.id,
-            'credit': ((amount>0) and amount) or 0.0,
-            'debit': ((amount<0) and -amount) or 0.0,
-            'statement_id': st.id,
-            'journal_id': st.journal_id.id,
-            'period_id': period_id, # AB
-            'currency_id': st.currency.id,
-            'analytic_account_id': (st_line.analytic_account_id and
-                                    st_line.analytic_account_id.id or
-                                    False),
-        }
-
-        if st.currency.id <> company_currency_id:
-            amount_cur = res_currency_obj.compute(cr, uid, company_currency_id,
-                        st.currency.id, amount, context=context)
-            val['amount_currency'] = -amount_cur
-
-        if (st_line.account_id and st_line.account_id.currency_id and
-            st_line.account_id.currency_id.id <> company_currency_id):
-            val['currency_id'] = st_line.account_id.currency_id.id
-            amount_cur = res_currency_obj.compute(cr, uid, company_currency_id,
-                    st_line.account_id.currency_id.id, amount, context=context)
-            val['amount_currency'] = -amount_cur
-
-        move_line_id = account_move_line_obj.create(
-            cr, uid, val, context=context)
-        torec.append(move_line_id)
-
-        # Fill the secondary amount/currency
-        # if currency is not the same than the company
-        amount_currency = False
-        currency_id = False
-        if st.currency.id <> company_currency_id:
-            amount_currency = st_line.amount
-            currency_id = st.currency.id
-        account_move_line_obj.create(cr, uid, {
-            'name': st_line.name,
-            'date': st_line.date,
-            'ref': st_line.ref,
-            'move_id': move_id,
-            'partner_id': (((st_line.partner_id) and st_line.partner_id.id) or
-                           False),
-            'account_id': account_id,
-            'credit': ((amount < 0) and -amount) or 0.0,
-            'debit': ((amount > 0) and amount) or 0.0,
-            'statement_id': st.id,
-            'journal_id': st.journal_id.id,
-            'period_id': period_id, # AB
-            'amount_currency': amount_currency,
-            'currency_id': currency_id,
-            }, context=context)
-
-        for line in account_move_line_obj.browse(cr, uid, [x.id for x in
-                account_move_obj.browse(cr, uid, move_id,
-                    context=context).line_id],
-                context=context):
-            if line.state <> 'valid':
-                raise osv.except_osv(_('Error !'),
-                        _('Journal Item "%s" is not valid') % line.name)
-
-        # Bank statements will not consider boolean on journal entry_posted
-        account_move_obj.post(cr, uid, [move_id], context=context)
-        
-        """
-        Account-banking:
-        - Write stored reconcile_id
-        - Pay invoices through workflow 
-
-        Does not apply to voucher integration, but only to
-        payments and payment orders
-        """
-        if st_line.reconcile_id:
-            account_move_line_obj.write(cr, uid, torec, {
-                    (st_line.reconcile_id.line_partial_ids and 
-                     'reconcile_partial_id' or 'reconcile_id'): 
-                    st_line.reconcile_id.id }, context=context)
-            for move_line in (st_line.reconcile_id.line_id or []) + (
-                st_line.reconcile_id.line_partial_ids or []):
-                netsvc.LocalService("workflow").trg_trigger(
-                    uid, 'account.move.line', move_line.id, cr)
-        #""" End account-banking """
-
-        return move_id
+            # Write stored reconcile_id and pay invoices through workflow 
+            if st_line.reconcile_id:
+                move_ids = [move.id for move in st_line.move_ids]
+                torec = account_move_obj.search(
+                    cr, uid, [
+                        ('move_id', 'in', move_ids),
+                        ('account_id', '=', st_line.account_id.id)],
+                    context=context)
+                account_move_line_obj.write(cr, uid, torec, {
+                        (st_line.reconcile_id.line_partial_ids and 
+                         'reconcile_partial_id' or 'reconcile_id'): 
+                        st_line.reconcile_id.id }, context=context)
+                for move_line in (st_line.reconcile_id.line_id or []) + (
+                    st_line.reconcile_id.line_partial_ids or []):
+                    netsvc.LocalService("workflow").trg_trigger(
+                        uid, 'account.move.line', move_line.id, cr)
+        return res
 
     def button_confirm_bank(self, cr, uid, ids, context=None):
-        if context is None: context = {}
+        """
+        Assign journal sequence to statements without a name
+        """
+        if context is None:
+            context = {}
         obj_seq = self.pool.get('ir.sequence')
-        if not isinstance(ids, list): ids = [ids]
-        noname_ids = self.search(cr, uid, [('id','in',ids),('name','=','/')])
+        if ids and isinstance(ids, (int, long)):
+            ids = [ids]
+        noname_ids = self.search(
+            cr, uid, [('id', 'in', ids),('name', '=', '/')],
+            context=context)
         for st in self.browse(cr, uid, noname_ids, context=context):
-                if st.journal_id.sequence_id:
-                    year = self.pool.get('account.period').browse(cr, uid, self._get_period(cr, uid, st.date)).fiscalyear_id.id
-                    c = {'fiscalyear_id': year}
-                    st_number = obj_seq.get_id(cr, uid, st.journal_id.sequence_id.id, context=c)
-                    self.write(cr, uid, ids, {'name': st_number})
+            if st.journal_id.sequence_id:
+                period_id = self._get_period(cr, uid, st.date)
+                year = self.pool.get('account.period').browse(
+                    cr, uid, period_id, context=context).fiscalyear_id.id
+                c = {'fiscalyear_id': year}
+                st_number = obj_seq.get_id(
+                    cr, uid, st.journal_id.sequence_id.id, context=c)
+                self.write(
+                    cr, uid, ids, {'name': st_number}, context=context)
         
-        return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context)
+        return super(account_bank_statement, self).button_confirm_bank(
+            cr, uid, ids, context)
 
 account_bank_statement()
 
-class account_voucher(osv.osv):
+
+class account_voucher(orm.Model):
     _inherit = 'account.voucher'
 
     def _get_period(self, cr, uid, context=None):
-        if context is None: context = {}
+        if context is None:
+            context = {}
         if not context.get('period_id') and context.get('move_line_ids'):
-            res = self.pool.get('account.move.line').browse(cr, uid , context.get('move_line_ids'))[0].period_id.id
-            context['period_id'] = res
+            return self.pool.get('account.move.line').browse(
+                cr, uid , context.get('move_line_ids'))[0].period_id.id
         return super(account_voucher, self)._get_period(cr, uid, context)
 
-    def create(self, cr, uid, values, context=None):
-        if values.get('period_id') == False and context.get('move_line_ids'):
-            values['period_id'] = self._get_period(cr, uid, context)
-        return super(account_voucher, self).create(cr, uid, values, context)
-
 account_voucher()
 
-class account_bank_statement_line(osv.osv):
+
+class account_bank_statement_line(orm.Model):
     '''
     Extension on basic class:
         1. Extra links to account.period and res.partner.bank for tracing and
            matching.
         2. Extra 'trans' field to carry the transaction id of the bank.
-        3. Extra 'international' flag to indicate the missing of a remote
-           account number. Some banks use seperate international banking
-           modules that do not integrate with the standard transaction files.
-        4. Readonly states for most fields except when in draft.
+        3. Readonly states for most fields except when in draft.
     '''
     _inherit = 'account.bank.statement.line'
     _description = 'Bank Transaction'
@@ -602,26 +482,6 @@
         periods = self.pool.get('account.period').find(cursor, user, dt=date)
         return periods and periods[0] or False
 
-    def _seems_international(self, cursor, user, context=None):
-        '''
-        Some banks have seperate international banking modules which do not
-        translate correctly into the national formats. Instead, they
-        leave key fields blank and signal this anomaly with a special
-        transfer type.
-        With the introduction of SEPA, this may worsen greatly, as SEPA
-        payments are considered to be analogous to international payments
-        by most local formats.
-        '''
-        # Quick and dirty check: if remote bank account is missing, assume
-        # international transfer
-        return not (
-            context.get('partner_bank_id') and context['partner_bank_id']
-        )
-        # Not so dirty check: check if partner_id is set. If it is, check the
-        # default/invoice addresses country. If it is the same as our
-        # company's, its local, else international.
-        # TODO: to be done
-
     def _get_currency(self, cursor, user, context=None):
         '''
         Get the default currency (required to allow other modules to function,
@@ -633,30 +493,6 @@
         return res_users_obj.browse(cursor, user, user,
                 context=context).company_id.currency_id.id
 
-    #def _reconcile_amount(self, cursor, user, ids, name, args, context=None):
-    #    '''
-    #    Redefinition from the original: don't use the statements currency, but
-    #    the transactions currency.
-    #    '''
-    #    if not ids:
-    #        return {}
-
-    #    res_currency_obj = self.pool.get('res.currency')
-    #    res_users_obj = self.pool.get('res.users')
-
-    #    res = {}
-    #    company_currency_id = res_users_obj.browse(cursor, user, user,
-    #            context=context).company_id.currency_id.id
-
-    #    for line in self.browse(cursor, user, ids, context=context):
-    #        if line.reconcile_id:
-    #            res[line.id] = res_currency_obj.compute(cursor, user,
-    #                    company_currency_id, line.currency.id,
-    #                    line.reconcile_id.total_entry, context=context)
-    #        else:
-    #            res[line.id] = 0.0
-    #    return res
-
     def _get_invoice_id(self, cr, uid, ids, name, args, context=None):
         res = {}
         for st_line in self.browse(cr, uid, ids, context):
@@ -674,7 +510,7 @@
         return res
 
     _columns = {
-        # Redefines
+        # Redefines. Todo: refactor away to view attrs
         'amount': fields.float('Amount', readonly=True,
                             digits_compute=dp.get_precision('Account'),
                             states={'draft': [('readonly', False)]}),
@@ -684,8 +520,6 @@
                             states={'draft': [('readonly', False)]}),
         'date': fields.date('Date', required=True, readonly=True,
                             states={'draft': [('readonly', False)]}),
-        #'reconcile_amount': fields.function(_reconcile_amount,
-        #    string='Amount reconciled', method=True, type='float'),
 
         # New columns
         'trans': fields.char('Bank Transaction ID', size=15, required=False,
@@ -700,12 +534,6 @@
                             states={'confirmed': [('readonly', True)]}),
         'currency': fields.many2one('res.currency', 'Currency', required=True,
                             states={'confirmed': [('readonly', True)]}),
-
-        # Not used yet, but usefull in the future.
-        'international': fields.boolean('International Transaction',
-                            required=False,
-                            states={'confirmed': [('readonly', True)]},
-                            ),
         'reconcile_id': fields.many2one(
             'account.move.reconcile', 'Reconciliation', readonly=True
             ),
@@ -717,14 +545,13 @@
 
     _defaults = {
         'period_id': _get_period,
-        'international': _seems_international,
         'currency': _get_currency,
     }
 
 account_bank_statement_line()
 
 
-class res_partner_bank(osv.osv):
+class res_partner_bank(orm.Model):
     '''
     This is a hack to circumvent the very limited but widely used base_iban
     dependency. The usage of __mro__ requires inside information of
@@ -754,15 +581,13 @@
         self._founder.__init__(*args, **kwargs)
         mro = self.__class__.__mro__
         for i in range(len(mro)):
-            if mro[i].__module__.startswith('base.'):
+            if mro[i].__module__.startswith('openerp.addons.base.'):
                 self._founder = mro[i]
                 break
 
     def init(self, cr):
         '''
         Update existing iban accounts to comply to new regime
-        Note that usage of the ORM is not possible here, as the ORM cannot
-        search on values not provided by the client.
         '''
         
         partner_bank_obj = self.pool.get('res.partner.bank')
@@ -795,10 +620,11 @@
         Create dual function IBAN account for SEPA countries
         '''
         if vals.get('state') == 'iban':
-            iban = vals.get('acc_number',False) or vals.get('acc_number_domestic',False)
+            iban = (vals.get('acc_number')
+                    or vals.get('acc_number_domestic', False))
             vals['acc_number'], vals['acc_number_domestic'] = (
                 self._correct_IBAN(iban))
-        return self._founder.create(cursor, uid, vals, context)
+        return self._founder.create(self, cursor, uid, vals, context)
 
     def write(self, cr, uid, ids, vals, context=None):
         '''
@@ -818,7 +644,7 @@
                         self._correct_IBAN(account['acc_number']))
                 else:
                     vals['acc_number_domestic'] = False
-            self._founder.write(cr, uid, account['id'], vals, context)
+            self._founder.write(self, cr, uid, account['id'], vals, context)
         return True
 
     def search(self, cursor, uid, args, *rest, **kwargs):
@@ -880,10 +706,9 @@
         # Extend search filter
         newargs = extended_search_expression(args)
         
-        # Original search (_founder)
-        results = self._founder.search(cursor, uid, newargs,
-                                       *rest, **kwargs
-                                      )
+        # Original search
+        results = super(res_partner_bank, self).search(
+            cursor, uid, newargs, *rest, **kwargs)
         return results
 
     def read(
@@ -894,7 +719,7 @@
         '''
         if fields and 'state' not in fields:
             fields.append('state')
-        records = self._founder.read(cr, uid, ids, fields, context, load)
+        records = self._founder.read(self, cr, uid, ids, fields, context, load)
         is_list = True
         if not isinstance(records, list):
             records = [records,]
@@ -954,6 +779,9 @@
         Trigger to find IBAN. When found:
             1. Reformat BBAN
             2. Autocomplete bank
+
+        TODO: prevent unnecessary assignment of country_ids and
+        browsing of the country
         '''
         if not acc_number:
             return {}
@@ -1013,6 +841,7 @@
         if country_ids:
             country = country_obj.browse(
                 cursor, uid, country_ids[0], context=context)
+            values['country_id'] = country_ids[0]
         if country and country.code in sepa.IBAN.countries:
             try:
                 info = sepa.online.account_info(country.code, acc_number)
@@ -1027,9 +856,8 @@
                             info.bic or iban_acc.BIC_searchkey,
                             name = info.bank
                             )
-                        values['country_id'] = country_id or \
-                                               country_ids and country_ids[0] or \
-                                               False
+                        if country_id:
+                            values['country_id'] = country_id
                         values['bank'] = bank_id or False
                         if info.bic:
                             values['bank_bic'] = info.bic
@@ -1038,8 +866,8 @@
                 if info is None:
                     result.update(warning(
                         _('Invalid data'),
-                        _('The account number appears to be invalid for %(country)s')
-                        % {'country': country.name}
+                        _('The account number appears to be invalid for %s')
+                        % country.name
                     ))
             except NotImplementedError:
                 if country.code in sepa.IBAN.countries:
@@ -1049,8 +877,8 @@
                     else:
                         result.update(warning(
                             _('Invalid format'),
-                            _('The account number has the wrong format for %(country)s')
-                            % {'country': country.name}
+                            _('The account number has the wrong format for %s')
+                            % country.name
                         ))
         return result
 
@@ -1083,15 +911,10 @@
                        _("The IBAN number doesn't seem to be correct")
                       )
 
-    _constraints = [
-        # Cannot have this as a constraint as it is rejecting valid numbers from GB and DE
-        # It works much better without this constraint!
-        #(check_iban, _("The IBAN number doesn't seem to be correct"), ["acc_number"])
-    ]
-
 res_partner_bank()
 
-class res_bank(osv.osv):
+
+class res_bank(orm.Model):
     '''
     Add a on_change trigger to automagically fill bank details from the 
     online SWIFT database. Allow hand filled names to overrule SWIFT names.
@@ -1134,7 +957,8 @@
 
 res_bank()
 
-class invoice(osv.osv):
+
+class invoice(orm.Model):
     '''
     Create other reference types as well.
 
@@ -1147,6 +971,9 @@
 
     Don't forget to redefine the column "reference_type" as below or
     your method will never be triggered.
+
+    TODO: move 'structured' part to account_banking_payment module
+    where it belongs
     '''
     _inherit = 'account.invoice'
 
@@ -1176,13 +1003,16 @@
 
 invoice()
 
-class account_move_line(osv.osv):
+
+class account_move_line(orm.Model):
     _inherit = "account.move.line"
 
     def get_balance(self, cr, uid, ids, context=None):
         """ 
         Return the balance of any set of move lines.
-        Surely this exists somewhere in account base, but I missed it.
+
+        Not to be confused with the 'balance' field on this model, which
+        returns the account balance that the move line applies to.
         """
         total = 0.0
         if not ids:

=== modified file 'account_banking/account_banking_view.xml'
--- account_banking/account_banking_view.xml	2013-04-15 14:22:30 +0000
+++ account_banking/account_banking_view.xml	2013-04-15 14:22:31 +0000
@@ -134,16 +134,7 @@
                 </tree>
             </field>
         </record>
-        <record id="view_account_banking_imported_line_search" model="ir.ui.view">
-            <field name="name">account.banking.imported.line.search</field>
-            <field name="model">account.bank.imported.line</field>
-            <field name="type">search</field>
-            <field name="arch" type="xml">
-                <search string="Search Bank Statement files">
-                  <field name="company_id" />
-                </search>
-            </field>
-        </record>
+
         <record model="ir.actions.act_window" id="action_account_banking_imported_files">
             <field name="name">Imported Bank Statements Files</field>
             <field name="type">ir.actions.act_window</field>
@@ -193,7 +184,12 @@
             <field name="model">account.bank.statement</field>
             <field name="type">tree</field>
             <field name="arch" type="xml">
-                <field name="period_id" position="replace"/>
+                <!-- Remove period from bank statement -->
+                <field name="period_id" position="replace">
+                    <!-- Add invisible column for identification of import file
+                    -->
+                    <field name="banking_id" invisible="True" />
+                </field>
             </field>
         </record>
         <record id="view_banking_bank_statement_form_1" model="ir.ui.view">
@@ -204,92 +200,52 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <data>
+                    <page string="Transactions" position="after">
+                        <page string="Journal Entries" name="move_live_ids">
+                            <field colspan="4" name="move_line_ids" nolabel="1"/>
+                        </page>
+                    </page>
                     <field name="period_id" position="replace"/>
-                    <xpath expr="/form/notebook/page[@string='Transaction']/field/tree" position="attributes">
+
+                    <xpath expr="//page[@string='Transactions']/field/tree"
+                           position="attributes">
                         <attribute name="colors">black:state == 'confirmed';darkmagenta:match_multi == True;crimson:duplicate == True;grey:state == 'draft';</attribute>
                     </xpath>
-                    <xpath expr="/form/notebook/page[@string='Transaction']/field/tree/field[@name='name']" position="replace">
-                        <field name="name" required="1"/>
-                    </xpath>
-                    <xpath expr="/form/notebook/page[@string='Transaction']/field/form/field[@name='name']" position="replace">
-                        <field name="name" required="1"/>
-                    </xpath>
-                </data>
-            </field>
-        </record>
-        <record id="view_banking_bank_statement_form_2" model="ir.ui.view">
-            <field name="name">account.bank.statement.form.banking-2</field>
-            <field name="inherit_id" ref="account.view_bank_statement_form" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <xpath expr="/form/notebook/page[@string='Transaction']/field/tree/field[@name='ref']" position="after">
-                    <field name="period_id"/>
-                </xpath>
-            </field>
-        </record>
-        <record id="view_banking_bank_statement_form_3" model="ir.ui.view">
-            <field name="name">account.bank.statement.form.banking-3</field>
-            <field name="inherit_id" ref="account.view_bank_statement_form" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <data>
-                    <xpath expr="/form/notebook/page[@string='Transaction']/field/form/field[@name='ref']" position="after">
-                        <field name="period_id"/>
-                        <field name="match_type"/>
-                        <field name="match_multi"/>
-                        <field name="duplicate"/>
-                    </xpath>
-                </data>
-            </field>
-        </record>
-
-        <!-- Add invisible column on bank statements tree for identification
-             of import file
-        -->
-        <record id="view_banking_bank_statement_tree_2" model="ir.ui.view">
-            <field name="name">account.bank.statement.tree.banking-2</field>
-            <field name="inherit_id" ref="account.view_bank_statement_tree" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <field name="state" position="after">
-                    <field name="banking_id" invisible="True" />
-                </field>
-            </field>
-        </record>
-
-        <!-- Add invisible field for identification of import file on bank statements
-        -->
-        <record id="view_banking_bank_statement_form_4" model="ir.ui.view">
-            <field name="name">account.bank.statement.form.banking-4</field>
-            <field name="inherit_id" ref="account.view_bank_statement_form" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <field name="balance_end_real" position="after">
-                    <field name="banking_id" invisible="True"/>
-                </field>
-            </field>
-        </record>
-
-        <!-- Show bank accounts in account_bank_statement_line to enable manual
-             coupling of bank account numbers to statement lines and harvest info
-             for future matching in the process.
-        -->
-        <record id="view_banking_bank_statement_form_5" model="ir.ui.view">
-            <field name="name">account.bank.statement.form.banking-5</field>
-            <field name="inherit_id" ref="account.view_bank_statement_form" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <data>
-                    <xpath expr="/form/notebook/page/field[@name='line_ids']/tree/field[@name='partner_id']" position="after">
+
+                    <xpath expr="//field[@name='line_ids']/tree/field[@name='name']"
+                           position="attributes">
+                        <attribute name="required">1</attribute>
+                    </xpath>
+
+                    <xpath expr="//field[@name='line_ids']/form//field[@name='name']"
+                           position="attributes">
+                        <attribute name="required">1</attribute>
+                    </xpath>
+
+                    <!-- Add invisible field for identification of import file
+                         on bank statements 
+                    -->
+                    <field name="balance_end_real" position="after">
+                        <field name="banking_id" invisible="True"/>
+                    </field>
+
+                    <!-- Show bank accounts in account_bank_statement_line to
+                         enable manualcoupling of bank account numbers to
+                         statement lines and harvest info for future matching
+                         in the process.
+                    -->
+                    <xpath expr="//field[@name='line_ids']/tree/field[@name='partner_id']"
+                           position="after">
                         <!-- TODO set partner_id when partner_bank_id changes -->
                         <field name="partner_bank_id"/>
                     </xpath>
-                    <xpath expr="/form/notebook/page/field[@name='line_ids']/tree/field[@name='amount']" position="after">
+                    <xpath expr="//field[@name='line_ids']/form//field[@name='partner_id']"
+                           position="after">
+                        <field name="partner_bank_id"/>
+                    </xpath>
+
+                    <xpath expr="//field[@name='line_ids']/tree/field[@name='amount']"
+                           position="after">
                         <field name="match_type"/>
                         <field name="residual"/>
                         <button name="match_wizard" states="draft"
@@ -310,7 +266,9 @@
                         <field name="invoice_id"/>
                         <field name="reconcile_id"/>
                     </xpath>
-                    <xpath expr="/form/notebook/page/field[@name='line_ids']/form/field[@name='amount']" position="after">
+
+                    <xpath expr="//field[@name='line_ids']/form//field[@name='amount']"
+                           position="after">
                         <field name="state"/>
                         <field name="invoice_id"/>
                         <field name="reconcile_id"/>
@@ -318,30 +276,7 @@
                 </data>
             </field>
         </record>
-        <record id="view_banking_bank_statement_form_6" model="ir.ui.view">
-            <field name="name">account.bank.statement.form.banking-6</field>
-            <field name="inherit_id" ref="account.view_bank_statement_form" />
-            <field name="model">account.bank.statement</field>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <xpath expr="/form/notebook/page/field[@name='line_ids']/form/field[@name='partner_id']" position="after">
-                    <field name="partner_bank_id"/>
-                </xpath>
-            </field>
-        </record>
 
-        <!-- Set trigger on IBAN and acc_number fields in res_partner_bank form -->
-        <!--record id="view_partner_bank_account_banking_form_1" model="ir.ui.view">
-            <field name="name">res.partner.bank.form.banking-1</field>
-            <field name="model">res.partner.bank</field>
-            <field name="inherit_id" ref="base_iban.view_partner_bank_iban_form"/>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <field name="iban" position="replace">
-                    <field name="iban" on_change="onchange_iban(iban)" />
-                </field>
-            </field>
-        </record-->
         <record id="view_partner_bank_account_banking_form_2" model="ir.ui.view">
             <field name="name">res.partner.bank.form.banking-2</field>
             <field name="model">res.partner.bank</field>
@@ -360,53 +295,6 @@
             </field>
         </record>
 
-        <!-- Set trigger on IBAN and acc_number field in res_partner form -->
-        <!--record id="view_partner_account_banking_form_1" model="ir.ui.view">
-            <field name="name">res.partner.form.banking-1</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="base_iban.view_partner_iban_form"/>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <field name="iban" position="replace">
-                    <field name="iban" on_change="onchange_iban(iban)" /> 
-                </field>
-            </field>
-        </record-->
-        <record id="view_partner_account_banking_form_2" model="ir.ui.view">
-            <field name="name">res.partner.form.banking-2</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="account.view_partner_property_form"/>
-            <field name="priority" eval="24"/>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <data>
-                    <field name="acc_number" position="attributes">
-                        <attribute name="on_change">onchange_acc_number(acc_number, acc_number_domestic, state, partner_id, country_id)</attribute>
-                    </field>
-                    <field name="acc_number_domestic" position="attributes">
-                        <attribute name="on_change">onchange_domestic(acc_number_domestic, partner_id, country_id)</attribute>
-                    </field>
-                </data>
-            </field>
-        </record>
-        <record id="view_partner_account_banking_form_3" model="ir.ui.view">
-            <field name="name">res.partner.form.banking-3</field>
-            <field name="model">res.partner</field>
-            <field name="inherit_id" ref="account.view_partner_property_form"/>
-            <field name="priority" eval="24"/>
-            <field name="type">form</field>
-            <field name="arch" type="xml">
-                <data>
-                    <field name="acc_number" position="attributes">
-                        <attribute name="on_change">onchange_acc_number(acc_number, acc_number_domestic, state, partner_id, country_id)</attribute>
-                    </field>
-                    <field name="acc_number_domestic" position="attributes">
-                        <attribute name="on_change">onchange_domestic(acc_number_domestic, partner_id, country_id)</attribute>
-                    </field>
-                </data>
-            </field>
-        </record>
-        
         <!-- Set trigger on BIC in res_bank form -->
         <record id="view_res_bank_account_banking_form_1" model="ir.ui.view">
             <field name="name">res.bank.form.banking-1</field>
@@ -438,25 +326,25 @@
                     <field domain="[('journal_id','=',parent.journal_id)]" name="account_id"/>
                     <field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', parent.company_id), ('type', '&lt;&gt;', 'view')]"/>
                     <field name="amount"/>
-                        <field name="match_type"/>
-                        <field name="residual"/>
-                        <button name="match_wizard" states="draft"
-                                string="Match"
-                                icon="terp-gtk-jump-to-ltr"
-                                type="object"/>
-                        <field name="match_multi" invisible="1"/>
-                        <field name="duplicate" invisible="1"/>
-                        <field name="state"/>
-                        <button name="confirm" states="draft"
-                                string="Confirm transaction"
-                                icon="gtk-ok"
-                                type="object"/>
-                        <button name="cancel" states="confirmed"
-                                string="Cancel transaction"
-                                icon="gtk-cancel"
-                                type="object"/>
-                        <field name="invoice_id"/>
-                        <field name="reconcile_id"/>
+                    <field name="match_type"/>
+                    <field name="residual"/>
+                    <button name="match_wizard" states="draft"
+                            string="Match"
+                            icon="terp-gtk-jump-to-ltr"
+                            type="object"/>
+                    <field name="match_multi" invisible="1"/>
+                    <field name="duplicate" invisible="1"/>
+                    <field name="state"/>
+                    <button name="confirm" states="draft"
+                            string="Confirm transaction"
+                            icon="gtk-ok"
+                            type="object"/>
+                    <button name="cancel" states="confirmed"
+                            string="Cancel transaction"
+                            icon="gtk-cancel"
+                            type="object"/>
+                    <field name="invoice_id"/>
+                    <field name="reconcile_id"/>
                 </tree>
             </field>
         </record>

=== modified file 'account_banking/banking_import_transaction.py'
--- account_banking/banking_import_transaction.py	2013-04-15 14:22:30 +0000
+++ account_banking/banking_import_transaction.py	2013-04-15 14:22:31 +0000
@@ -1,45 +1,42 @@
-# -*- encoding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
-#                  Contributions by Kaspars Vilkens (KNdati):
-#                  lenghty discussions, bugreports and bugfixes
-#    Refractoring (C) 2011 Therp BV (<http://therp.nl>).
-#                 (C) 2011 Smile (<http://smile.fr>).
+#              (C) 2011 Therp BV (<http://therp.nl>).
+#              (C) 2011 Smile (<http://smile.fr>).
+#            
+#    All other contributions are (C) by their respective contributors
 #
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
-from osv import osv, fields
-import netsvc
-import base64
 import datetime
-from tools import config
-from tools.translate import _
-from parsers import models
-from parsers.convert import *
-# from account_banking.struct import struct
-from account_banking import sepa
-from wizard.banktools import *
-import decimal_precision as dp
+from openerp.osv import orm, fields
+from openerp import netsvc
+from openerp.tools.translate import _
+from openerp.addons.decimal_precision import decimal_precision as dp
+from openerp.addons.account_banking.parsers import models
+from openerp.addons.account_banking.parsers.convert import *
+from openerp.addons.account_banking import sepa
+from openerp.addons.account_banking.wizard.banktools import *
 
 bt = models.mem_bank_transaction
 
-class banking_import_transaction(osv.osv):
+
+class banking_import_transaction(orm.Model):
     """ orm representation of mem_bank_transaction() for interactive and posthoc
     configuration of reconciliation in the bank statement view.
 
@@ -406,7 +403,7 @@
         transaction = self.browse(cr, uid, transaction_id, context)
         if not transaction.move_line_id:
             if transaction.match_type == 'invoice':
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot link transaction %s with invoice") %
                     transaction.statement_line_id.name,
                     (transaction.invoice_ids and
@@ -416,7 +413,7 @@
                             transaction.statement_line_id.name
                      )))
             else:
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot link transaction %s with accounting entry") %
                     transaction.statement_line_id.name,
                     (transaction.move_line_ids and
@@ -475,7 +472,6 @@
             'partner_id': st_line.partner_id and st_line.partner_id.id or False,
             'company_id': st_line.company_id.id,
             'type':voucher_type,
-            'company_id': st_line.company_id.id,
             'account_id': account_id,
             'amount': abs(st_line.amount),
             'writeoff_amount': writeoff,
@@ -552,7 +548,7 @@
     def _legacy_clear_up_writeoff(self, cr, uid, transaction, context=None):
         """
         Legacy method to support upgrades older installations of the
-        interactive wizard branch. To be removed after 6.2
+        interactive wizard branch. To be removed after 7.0
         clear up the writeoff move
         """
         if transaction.writeoff_move_line_id:
@@ -649,7 +645,7 @@
             if not transaction.match_type:
                 continue
             if transaction.match_type not in self.cancel_map:
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot cancel type %s" % transaction.match_type),
                     _("No method found to cancel this type"))
             self.cancel_map[transaction.match_type](
@@ -670,7 +666,7 @@
             if not transaction.match_type:
                 continue
             if transaction.match_type not in self.confirm_map:
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot reconcile"),
                     _("Cannot reconcile type %s. No method found to " +
                       "reconcile this type") %
@@ -678,7 +674,7 @@
                     )
             if (transaction.residual and transaction.writeoff_account_id):
                 if transaction.match_type not in ('invoice', 'move', 'manual'):
-                    raise osv.except_osv(
+                    raise orm.except_orm(
                         _("Cannot reconcile"),
                         _("Bank transaction %s: write off not implemented for " +
                           "this match type.") %
@@ -689,12 +685,6 @@
             self.confirm_map[transaction.match_type](
                 self, cr, uid, transaction.id, context)
 
-        """
-        account_ids = [
-        x.id for x in bank_account_ids 
-        if x.partner_id.id == move_line.partner_id.id
-        ][0]
-        """
         return True
    
     signal_duplicate_keys = [
@@ -727,7 +717,7 @@
                     me['transferred_amount'] - trans.transferred_amount):
                     dupes.append(trans.id)
             if len(dupes) < 1:
-                raise osv.except_osv(_('Cannot check for duplicate'),
+                raise orm.except_orm(_('Cannot check for duplicate'),
                                _("Cannot check for duplicate. "
                                  "I can't find myself."))
             if len(dupes) > 1:
@@ -833,7 +823,6 @@
         has_payment = bool(payment_line_obj)
         statement_line_obj = self.pool.get('account.bank.statement.line')
         statement_obj = self.pool.get('account.bank.statement')
-        payment_order_obj = self.pool.get('payment.order')
         imported_statement_ids = []
 
         # Results
@@ -886,7 +875,7 @@
 
             if (transaction.statement_line_id and
                 transaction.statement_line_id.state == 'confirmed'):
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot perform match"),
                     _("Cannot perform match on a confirmed transction"))
             
@@ -1077,7 +1066,10 @@
                         transaction.remote_owner_address,
                         transaction.remote_owner_postalcode,
                         transaction.remote_owner_city,
-                        country_code, results['log'], context=context)
+                        country_code, results['log'],
+                        customer=transaction.transferred_amount > 0,
+                        supplier=transaction.transferred_amount < 0,
+                        context=context)
                     if transaction.remote_account:
                         partner_bank_id = create_bank_account(
                             self.pool, cr, uid, partner_id,
@@ -1356,7 +1348,8 @@
             'account.bank.statement.line', 'Statement line',
             ondelete='CASCADE'),
         'statement_id': fields.many2one(
-            'account.bank.statement', 'Statement'),
+            'account.bank.statement', 'Statement',
+            ondelete='CASCADE'),
         'parent_id': fields.many2one(
             'banking.import.transaction', 'Split off from this transaction'),
         # match fields
@@ -1394,7 +1387,7 @@
                   "or reconcile it with the payment(s)"),
             ),
         'writeoff_amount': fields.float('Difference Amount'),
-        # Legacy field: to be removed after 6.2
+        # Legacy field: to be removed after 7.0
         'writeoff_move_line_id': fields.many2one(
             'account.move.line', 'Write off move line'),
         'writeoff_analytic_id': fields.many2one(
@@ -1412,7 +1405,8 @@
 
 banking_import_transaction()
 
-class account_bank_statement_line(osv.osv):
+
+class account_bank_statement_line(orm.Model):
     _inherit = 'account.bank.statement.line'
     _columns = {
         'import_transaction_id': fields.many2one(
@@ -1483,21 +1477,20 @@
         """
         statement_pool = self.pool.get('account.bank.statement')
         obj_seq = self.pool.get('ir.sequence')
-        move_pool = self.pool.get('account.move')
         import_transaction_obj = self.pool.get('banking.import.transaction')
 
         for st_line in self.browse(cr, uid, ids, context):
             if st_line.state != 'draft':
                 continue
             if st_line.duplicate:
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _('Bank transfer flagged as duplicate'),
                     _("You cannot confirm a bank transfer marked as a "
                       "duplicate (%s.%s)") % 
                     (st_line.statement_id.name, st_line.name,))
             if st_line.analytic_account_id:
                 if not st_line.statement_id.journal_id.analytic_journal_id:
-                    raise osv.except_osv(
+                    raise orm.except_orm(
                         _('No Analytic Journal !'),
                         _("You have to define an analytic journal on the '%s' "
                           "journal!") % (st_line.statement_id.journal_id.name,))
@@ -1541,7 +1534,6 @@
             ids = [ids]
         import_transaction_obj = self.pool.get('banking.import.transaction')
         move_pool = self.pool.get('account.move')
-        transaction_cancel_ids = []
         set_draft_ids = []
         move_unlink_ids = []
         # harvest ids for various actions
@@ -1549,7 +1541,7 @@
             if st_line.state != 'confirmed':
                 continue
             if st_line.statement_id.state != 'draft':
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _("Cannot cancel bank transaction"),
                     _("The bank statement that this transaction belongs to has "
                       "already been confirmed"))
@@ -1584,7 +1576,7 @@
             ids = [ids]
         for line in self.browse(cr, uid, ids, context=context):
             if line.state == 'confirmed':
-                raise osv.except_osv(
+                raise orm.except_orm(
                     _('Confirmed Statement Line'),
                     _("You cannot delete a confirmed Statement Line"
                       ": '%s'" % line.name))
@@ -1629,7 +1621,8 @@
 
 account_bank_statement_line()
 
-class account_bank_statement(osv.osv):
+
+class account_bank_statement(orm.Model):
     _inherit = 'account.bank.statement'
 
     def _end_balance(self, cursor, user, ids, name, attr, context=None):
@@ -1665,19 +1658,21 @@
             self.balance_check(cr, uid, st.id, journal_type=j_type, context=context)
             if (not st.journal_id.default_credit_account_id) \
                     or (not st.journal_id.default_debit_account_id):
-                raise osv.except_osv(_('Configuration Error !'),
+                raise orm.except_orm(_('Configuration Error !'),
                         _('Please verify that an account is defined in the journal.'))
 
             # protect against misguided manual changes
             for line in st.move_line_ids:
                 if line.state != 'valid':
-                    raise osv.except_osv(_('Error !'),
+                    raise orm.except_orm(_('Error !'),
                             _('The account entries lines are not in valid state.'))
 
             line_obj.confirm(cr, uid, [line.id for line in st.line_ids], context)
             st.refresh()
-            self.log(cr, uid, st.id, _('Statement %s is confirmed, journal '
-                                       'items are created.') % (st.name,))
+            self.message_post(
+                cr, uid, [st.id],
+                body=_('Statement %s confirmed, journal items were created.')
+                % (st.name,), context=context)
         return self.write(cr, uid, ids, {'state':'confirm'}, context=context)
 
     def button_cancel(self, cr, uid, ids, context=None):
@@ -1696,8 +1691,12 @@
         for st in self.browse(cr, uid, ids, context=context):
             for line in st.line_ids:
                 if line.state == 'confirmed':
-                    raise osv.except_osv(_('Confirmed Statement Lines'), _("You cannot delete a Statement with confirmed Statement Lines: '%s'" % st.name))
-        return super(account_bank_statement,self).unlink(cr, uid, ids, context=context)
+                    raise orm.except_orm(
+                        _('Confirmed Statement Lines'),
+                        _("You cannot delete a Statement with confirmed "
+                          "Statement Lines: '%s'" % st.name))
+        return super(account_bank_statement, self).unlink(
+            cr, uid, ids, context=context)
 
     _columns = {
         # override this field *only* to replace the 

=== modified file 'account_banking/migrations/0.1.81/post-set-statement-line-state.py'
--- account_banking/migrations/0.1.81/post-set-statement-line-state.py	2011-12-27 12:00:52 +0000
+++ account_banking/migrations/0.1.81/post-set-statement-line-state.py	2013-04-15 14:22:31 +0000
@@ -4,16 +4,16 @@
 #    Copyright (C) 2011 Therp BV (<http://therp.nl>)
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/parsers/__init__.py'
--- account_banking/parsers/__init__.py	2010-01-26 20:55:24 +0000
+++ account_banking/parsers/__init__.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/parsers/convert.py'
--- account_banking/parsers/convert.py	2011-03-09 12:26:49 +0000
+++ account_banking/parsers/convert.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/parsers/models.py'
--- account_banking/parsers/models.py	2012-01-17 08:48:10 +0000
+++ account_banking/parsers/models.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #  All Rights Reserved
 #
 #  This program is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
+#  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 General Public License for more details.
+#  GNU Affero General Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License
+#  You should have received a copy of the GNU Affero General Public License
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/record.py'
--- account_banking/record.py	2011-03-10 21:54:37 +0000
+++ account_banking/record.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/sepa/__init__.py'
--- account_banking/sepa/__init__.py	2010-06-29 14:58:52 +0000
+++ account_banking/sepa/__init__.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #  All Rights Reserved
 #
 #  This program is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
+#  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 General Public License for more details.
+#  GNU Affero General Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License
+#  You should have received a copy of the GNU Affero General Public License
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/sepa/iban.py'
--- account_banking/sepa/iban.py	2012-05-03 09:58:01 +0000
+++ account_banking/sepa/iban.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #  All Rights Reserved
 #
 #  This program is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
+#  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 General Public License for more details.
+#  GNU Affero General Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License
+#  You should have received a copy of the GNU Affero General Public License
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/sepa/online.py'
--- account_banking/sepa/online.py	2012-01-12 09:50:06 +0000
+++ account_banking/sepa/online.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #  All Rights Reserved
 #
 #  This program is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
+#  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 General Public License for more details.
+#  GNU Affero General Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License
+#  You should have received a copy of the GNU Affero General Public License
 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/sepa/postalcode.py'
--- account_banking/sepa/postalcode.py	2012-05-03 10:28:10 +0000
+++ account_banking/sepa/postalcode.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/sepa/urlagent.py'
--- account_banking/sepa/urlagent.py	2010-02-25 23:18:37 +0000
+++ account_banking/sepa/urlagent.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/struct.py'
--- account_banking/struct.py	2010-02-03 23:36:03 +0000
+++ account_banking/struct.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/wizard/__init__.py'
--- account_banking/wizard/__init__.py	2013-04-15 14:22:30 +0000
+++ account_banking/wizard/__init__.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking/wizard/bank_import.py'
--- account_banking/wizard/bank_import.py	2013-04-15 14:22:30 +0000
+++ account_banking/wizard/bank_import.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
@@ -28,19 +28,15 @@
 The parsing is done in the parser modules. Every parser module is required to
 use parser.models as a mean of communication with the business logic.
 '''
-from osv import osv, fields
-import time
-import netsvc
+from osv import orm, fields
 import base64
 import datetime
-from tools import config
-from tools.translate import _
-from account_banking.parsers import models
-from account_banking.parsers.convert import *
-from account_banking.struct import struct
-from account_banking import sepa
-from banktools import *
-import decimal_precision as dp
+from openerp.tools.translate import _
+from openerp.addons.account_banking.parsers import models
+from openerp.addons.account_banking.parsers.convert import *
+from openerp.addons.account_banking.struct import struct
+from openerp.addons.account_banking.wizard.banktools import *
+from openerp.addons.decimal_precision import decimal_precision as dp
 
 bt = models.mem_bank_transaction
 
@@ -54,7 +50,8 @@
     '''
     return models.parser_type.get_parser_types()
 
-class banking_import_line(osv.osv_memory):
+
+class banking_import_line(orm.TransientModel):
     _name = 'banking.import.line'
     _description = 'Bank import lines'
     _columns = {
@@ -98,7 +95,7 @@
 banking_import_line()
     
 
-class banking_import(osv.osv_memory):
+class banking_import(orm.TransientModel):
     _name = 'account.banking.bank.import'
 
     def import_statements_file(self, cursor, uid, ids, context):
@@ -121,7 +118,7 @@
         parser_code = banking_import.parser
         parser = models.create_parser(parser_code)
         if not parser:
-            raise osv.except_osv(
+            raise orm.except_orm(
                 _('ERROR!'),
                 _('Unable to import parser %(parser)s. Parser class not found.') %
                 {'parser': parser_code}
@@ -135,7 +132,7 @@
         statements = parser.parse(cursor, data)
 
         if any([x for x in statements if not x.is_valid()]):
-            raise osv.except_osv(
+            raise orm.except_orm(
                 _('ERROR!'),
                 _('The imported statements appear to be invalid! Check your file.')
             )
@@ -255,11 +252,14 @@
                 continue
 
             # Get the period for the statement (as bank statement object checks this)
-            period_ids = period_obj.search(cursor, uid, [('company_id','=',company.id),
-                                                         ('date_start','<=',statement.date),
-                                                         ('date_stop','>=',statement.date),
-                                                         ('special', '=', False)])
-
+            period_ids = period_obj.search(
+                cursor, uid, [
+                    ('company_id', '=', company.id),
+                    ('date_start', '<=', statement.date),
+                    ('date_stop', '>=', statement.date),
+                    ('special', '=', False),
+                    ], context=context)
+            
             if not period_ids:
                 results.log.append(
                     _('No period found covering statement date %(date)s, '
@@ -302,11 +302,9 @@
                 values['local_account'] = statement.local_account
                 values['local_currency'] = statement.local_currency
 
-                transaction_id = import_transaction_obj.create(cursor, uid, values, context=context)
-                if transaction_id:
-                    transaction_ids.append(transaction_id)
-                else:
-                    osv.except_osv('Failed to create an import transaction resource','')
+                transaction_id = import_transaction_obj.create(
+                    cursor, uid, values, context=context)
+                transaction_ids.append(transaction_id)
             
             results.stat_loaded_cnt += 1
 
@@ -422,7 +420,6 @@
             'State', readonly=True),
         'import_id': fields.many2one(
             'account.banking.imported.file', 'Import File'),
-        # osv_memory does not seem to support one2many
         'statement_ids': fields.many2many(
             'account.bank.statement', 'rel_wiz_statements', 'wizard_id',
             'statement_id', 'Imported Bank Statements'),

=== modified file 'account_banking/wizard/banking_transaction_wizard.py'
--- account_banking/wizard/banking_transaction_wizard.py	2013-04-15 14:22:30 +0000
+++ account_banking/wizard/banking_transaction_wizard.py	2013-04-15 14:22:31 +0000
@@ -2,25 +2,26 @@
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
-#              (C) 2011 Therp BV (<http://therp.nl>).
+#              (C) 2011 - 2013 Therp BV (<http://therp.nl>).
 #              (C) 2011 Smile (<http://smile.fr>).
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
-from osv import osv, fields
+
+from osv import orm, fields
 from openerp.tools.translate import _
 
 """
@@ -31,7 +32,8 @@
 
 """
 
-class banking_transaction_wizard(osv.osv_memory):
+
+class banking_transaction_wizard(orm.TransientModel):
     _name = 'banking.transaction.wizard'
     _description = 'Match transaction'
 
@@ -78,7 +80,7 @@
             cr, uid, ids[0], ['import_transaction_id'],
             context=context)['import_transaction_id'][0] # many2one tuple
         import_transaction_obj.match(cr, uid, [trans_id], context=context)
-        return True
+        return self.create_act_window(cr, uid, ids, context=None)
     
     def write(self, cr, uid, ids, vals, context=None):
         """
@@ -162,7 +164,7 @@
                         # transaction_obj.write(
                         #   cr, uid, wiz.import_transaction_id.id,
                         #   { 'invoice_id': False, }, context=context)
-                        osv.except_osv(
+                        orm.except_orm(
                             _("No entry found for the selected invoice"),
                             _("No entry found for the selected invoice. " +
                               "Try manual reconciliation."))
@@ -184,7 +186,7 @@
                                 move_line_id = line.id
                                 break
                     if not move_line_id:
-                        osv.except_osv(
+                        orm.except_orm(
                             _("Cannot select for reconcilion"),
                             _("No entry found for the selected invoice. "))
                 else:
@@ -222,7 +224,7 @@
         """
         Just a button that triggers a write.
         """
-        return True
+        return self.create_act_window(cr, uid, ids, context=None)
 
     def disable_match(self, cr, uid, ids, context=None):
         """
@@ -255,7 +257,7 @@
                          if x['import_transaction_id']]
             self.pool.get('banking.import.transaction').clear_and_write(
                 cr, uid, trans_ids, context=context)
-        return True
+        return self.create_act_window(cr, uid, ids, context=None)
 
     def reverse_duplicate(self, cr, uid, ids, context=None):
         if isinstance(ids, (int, float)):
@@ -267,7 +269,7 @@
             transaction_obj.write(
                 cr, uid, wiz['import_transaction_id'][0], 
                 {'duplicate': not wiz['duplicate']}, context=context)
-        return True
+        return self.create_act_window(cr, uid, ids, context=None)
 
     def _get_default_match_type(self, cr, uid, context=None):
         """

=== modified file 'account_banking/wizard/banktools.py'
--- account_banking/wizard/banktools.py	2013-02-07 09:38:41 +0000
+++ account_banking/wizard/banktools.py	2013-04-15 14:22:31 +0000
@@ -5,25 +5,25 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
 import datetime
-from tools.translate import _
-from account_banking.parsers import convert
-from account_banking import sepa
-from account_banking.struct import struct
+from openerp.tools.translate import _
+from openerp.addons.account_banking.parsers import convert
+from openerp.addons.account_banking import sepa
+from openerp.addons.account_banking.struct import struct
 
 __all__ = [
     'get_period', 
@@ -119,7 +119,8 @@
         return False
 
 def get_or_create_partner(pool, cr, uid, name, address, postal_code, city,
-                          country_code, log, context=None):
+                          country_code, log, supplier=False, customer=False,
+                          context=None):
     '''
     Get or create the partner belonging to the account holders name <name>
 
@@ -141,11 +142,11 @@
                 cr, uid, [('code', '=', country_code.upper())],
                 context=context)
             country_id = country_ids and country_ids[0] or False
-            criteria.append(('address.country_id', '=', country_id))
+            criteria.append(('country_id', '=', country_id))
         if city:
-            criteria.append(('address.city', 'ilike', city))
+            criteria.append(('city', 'ilike', city))
         if postal_code:
-            criteria.append(('address.zip', 'ilike', postal_code))
+            criteria.append(('zip', 'ilike', postal_code))
         partner_search_ids = partner_obj.search(
             cr, uid, criteria, context=context)
         key = name.lower()
@@ -164,16 +165,20 @@
                 user.company_id.partner_id.country.id or
                 False
             )
-        partner_id = partner_obj.create(cr, uid, dict(
-            name=name, active=True,
-            comment='Generated from Bank Statements Import',
-            address=[(0,0,{
+        partner_id = partner_obj.create(
+            cr, uid, {
+                'name': name,
+                'active': True,
+                'comment': 'Generated from Bank Statements Import',
                 'street': address and address[0] or '',
                 'street2': len(address) > 1 and address[1] or '',
                 'city': city,
                 'zip': postal_code or '',
                 'country_id': country_id,
-            })]), context=context)
+                'is_company': True,
+                'supplier': supplier,
+                'customer': customer,
+                }, context=context)
     else:
         if len(partner_ids) > 1:
             log.append(

=== modified file 'account_banking_fi_patu/__init__.py'
--- account_banking_fi_patu/__init__.py	2010-06-30 07:11:08 +0000
+++ account_banking_fi_patu/__init__.py	2013-04-15 14:22:31 +0000
@@ -12,16 +12,16 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== renamed file 'account_banking_fi_patu/__terp__.py' => 'account_banking_fi_patu/__openerp__.py'
--- account_banking_fi_patu/__terp__.py	2011-05-05 10:29:28 +0000
+++ account_banking_fi_patu/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -11,23 +11,23 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Account Banking PATU module',
     'version': '0.62',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'Sami Haahtinen',
     'website': 'http://ressukka.net',
     'category': 'Account Banking',

=== modified file 'account_banking_fi_patu/patu.py'
--- account_banking_fi_patu/patu.py	2012-01-17 08:48:10 +0000
+++ account_banking_fi_patu/patu.py	2013-04-15 14:22:31 +0000
@@ -6,16 +6,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_abnamro/__init__.py'
--- account_banking_nl_abnamro/__init__.py	2011-04-26 21:00:12 +0000
+++ account_banking_nl_abnamro/__init__.py	2013-04-15 14:22:31 +0000
@@ -1,31 +1,2 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-#    Copyright (C) 2009 - 2011 EduSense BV (<http://www.edusense.nl>)
-#                              and Therp BV (<http://therp.nl>)
-#    All Rights Reserved
-#
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU 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 General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
+# -*- coding: utf-8 -*-
 import abnamro
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== modified file 'account_banking_nl_abnamro/__openerp__.py'
--- account_banking_nl_abnamro/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_banking_nl_abnamro/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -1,43 +1,33 @@
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 - 2011 EduSense BV (<http://www.edusense.nl>)
 #                              and Therp BV (<http://therp.nl>)
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 {
     'name': 'abnamro (NL) Bank Statements Import',
     'version': '0.1',
-    'license': 'GPL-3',
-    'author': 'Therp BV / EduSense BV',
-    'website': 'https://launchpad.net/account-banking',
-    'category': 'Account Banking',
+    'license': 'AGPL-3',
+    'author': ['Therp BV', 'EduSense BV'],
+    'website': 'https://launchpad.net/banking-addons',
+    'category': 'Banking addons',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-        #'security/ir.model.access.csv',
-    ],
-    'demo_xml': [],
     'description': '''
 Import filter for abnamro (NL) bank transaction files (txt/tab format).
 
@@ -48,6 +38,5 @@
 Imported bank transfers are organized in statements covering periods of one week,
 even if the imported files cover a different period.
     ''',
-    'active': False,
-    'installable': False,
+    'installable': True,
 }

=== removed file 'account_banking_nl_abnamro/__terp__.py'
--- account_banking_nl_abnamro/__terp__.py	2011-05-05 10:29:28 +0000
+++ account_banking_nl_abnamro/__terp__.py	1970-01-01 00:00:00 +0000
@@ -1,53 +0,0 @@
-##############################################################################
-#
-#    Copyright (C) 2009 - 2011 EduSense BV (<http://www.edusense.nl>)
-#                              and Therp BV (<http://therp.nl>)
-#    All Rights Reserved
-#
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU 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 General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-{
-    'name': 'abnamro (NL) Bank Statements Import',
-    'version': '0.62',
-    'license': 'GPL-3',
-    'author': 'Therp BV / EduSense BV',
-    'website': 'https://launchpad.net/account-banking',
-    'category': 'Account Banking',
-    'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-        #'security/ir.model.access.csv',
-    ],
-    'demo_xml': [],
-    'description': '''
-Import filter for abnamro (NL) bank transaction files (txt/tab format).
-
-No formal specifications of the file layout are released by abnamro. You can
-help improve the performance of this import filter on
-https://launchpad.net/account-banking.
-
-Imported bank transfers are organized in statements covering periods of one week,
-even if the imported files cover a different period.
-    ''',
-    'active': False,
-    'installable': True,
-}

=== modified file 'account_banking_nl_abnamro/abnamro.py'
--- account_banking_nl_abnamro/abnamro.py	2012-10-27 19:53:50 +0000
+++ account_banking_nl_abnamro/abnamro.py	2013-04-15 14:22:31 +0000
@@ -1,21 +1,22 @@
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>)
 #                  2011 Therp BV (<http://therp.nl>)
+#
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
@@ -28,11 +29,11 @@
 Every transaction is bound to a Bank Statement. As such, this module generates
 Bank Statements along with Bank Transactions.
 '''
-from account_banking.parsers import models
-from account_banking.parsers.convert import str2date
-from account_banking.sepa import postalcode
-from tools.translate import _
-from osv import osv
+from openerp.addons.account_banking.parsers import models
+from openerp.addons.account_banking.parsers.convert import str2date
+from openerp.addons.account_banking.sepa import postalcode
+from openerp.tools.translate import _
+from openerp.osv import orm
 
 import re
 import csv
@@ -120,7 +121,7 @@
                 self.error_message = _('No remote account for transaction type '
                                        '%s') % self.transfer_type
         if self.error_message:
-            raise osv.except_osv(_('Error !'), _(self.error_message))
+            raise orm.except_orm(_('Error !'), _(self.error_message))
         return not self.error_message
 
     def parse_message(self):
@@ -162,7 +163,7 @@
                           'SWOC', 'REMI', ]
             while items:
                 if len(items) == 1:
-                    raise osv.except_osv(
+                    raise orm.except_orm(
                         _('Error !'),
                         _("unable to parse SEPA string: %s") % field)
                 key = items.pop(0)
@@ -171,7 +172,7 @@
                     if prev_key:
                         sepa_dict[prev_key] = sepa_dict[prev_key] + '/' + key
                     else:
-                        raise osv.except_osv(
+                        raise orm.except_orm(
                             _('Error !'),
                             _("unable to parse SEPA string: %s") % field)
                 else:
@@ -196,7 +197,7 @@
                     remote_account = account_match.group(1).zfill(10)
                     remote_owner = account_match.group(2).strip() or ''
                 else:
-                    raise osv.except_osv(
+                    raise orm.except_orm(
                         _('Error !'),
                         _('unable to parse GIRO string: %s') % field)
             elif field.startswith('BEA '):

=== modified file 'account_banking_nl_clieop/__init__.py'
--- account_banking_nl_clieop/__init__.py	2010-01-26 20:55:24 +0000
+++ account_banking_nl_clieop/__init__.py	2013-04-15 14:22:31 +0000
@@ -11,16 +11,16 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== renamed file 'account_banking_nl_clieop/__terp__.py' => 'account_banking_nl_clieop/__openerp__.py'
--- account_banking_nl_clieop/__terp__.py	2013-04-15 14:22:30 +0000
+++ account_banking_nl_clieop/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -3,48 +3,39 @@
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Account Banking NL ClieOp',
     'version': '0.92',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'EduSense BV',
     'website': 'http://www.edusense.nl',
     'category': 'Account Banking',
     'depends': ['account_banking_payment'],
-    'init_xml': [],
-    'update_xml': [
+    'data': [
         'account_banking_nl_clieop.xml',
         'wizard/export_clieop_view.xml',
         'data/banking_export_clieop.xml',
         'security/ir.model.access.csv',
     ],
-    'demo_xml': [],
     'description': '''
     Module to export payment orders in ClieOp format.
 
     ClieOp format is used by Dutch banks to batch national bank transfers.
     This module uses the account_banking logic.
     ''',
-    'active': False,
-    'installable': True,
+    'installable': False,
 }

=== modified file 'account_banking_nl_clieop/account_banking_nl_clieop.py'
--- account_banking_nl_clieop/account_banking_nl_clieop.py	2012-12-30 10:55:49 +0000
+++ account_banking_nl_clieop/account_banking_nl_clieop.py	2013-04-15 14:22:31 +0000
@@ -4,16 +4,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_clieop/migrations/0.63/post-fill-ir_model_id.py'
--- account_banking_nl_clieop/migrations/0.63/post-fill-ir_model_id.py	2011-07-24 18:58:32 +0000
+++ account_banking_nl_clieop/migrations/0.63/post-fill-ir_model_id.py	2013-04-15 14:22:31 +0000
@@ -4,16 +4,16 @@
 #    Copyright (C) 2011 Therp BV (<http://therp.nl>)
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_clieop/migrations/0.64/post-set-payment-order-type.py'
--- account_banking_nl_clieop/migrations/0.64/post-set-payment-order-type.py	2011-12-27 12:00:52 +0000
+++ account_banking_nl_clieop/migrations/0.64/post-set-payment-order-type.py	2013-04-15 14:22:31 +0000
@@ -4,16 +4,16 @@
 #    Copyright (C) 2011 Therp BV (<http://therp.nl>)
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_clieop/wizard/__init__.py'
--- account_banking_nl_clieop/wizard/__init__.py	2010-01-26 20:55:24 +0000
+++ account_banking_nl_clieop/wizard/__init__.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_clieop/wizard/clieop.py'
--- account_banking_nl_clieop/wizard/clieop.py	2013-01-28 10:19:32 +0000
+++ account_banking_nl_clieop/wizard/clieop.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_clieop/wizard/export_clieop.py'
--- account_banking_nl_clieop/wizard/export_clieop.py	2013-01-02 15:14:53 +0000
+++ account_banking_nl_clieop/wizard/export_clieop.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_girotel/__init__.py'
--- account_banking_nl_girotel/__init__.py	2010-07-16 15:28:32 +0000
+++ account_banking_nl_girotel/__init__.py	2013-04-15 14:22:31 +0000
@@ -11,16 +11,16 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== renamed file 'account_banking_nl_girotel/__terp__.py' => 'account_banking_nl_girotel/__openerp__.py'
--- account_banking_nl_girotel/__terp__.py	2011-05-05 10:29:28 +0000
+++ account_banking_nl_girotel/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -3,44 +3,35 @@
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Account Banking - Girotel',
     'version': '0.62',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'EduSense BV',
     'website': 'http://www.edusense.nl',
     'category': 'Account Banking',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
+    'data': [
         #'security/ir.model.access.csv',
     ],
-    'demo_xml': [],
     'description': '''
     Module to import Dutch Girotel format transation files.
 
     This modules contains no logic, just an import filter for account_banking.
     ''',
-    'active': False,
     'installable': True,
 }

=== modified file 'account_banking_nl_girotel/girotel.py'
--- account_banking_nl_girotel/girotel.py	2012-07-09 17:04:14 +0000
+++ account_banking_nl_girotel/girotel.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_ing/__init__.py'
--- account_banking_nl_ing/__init__.py	2011-12-11 16:09:20 +0000
+++ account_banking_nl_ing/__init__.py	2013-04-15 14:22:31 +0000
@@ -1,4 +1,2 @@
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
 import ing
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== modified file 'account_banking_nl_ing/__openerp__.py'
--- account_banking_nl_ing/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_banking_nl_ing/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -8,39 +8,29 @@
 #                              
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 {
     'name': 'ING (NL) Bank Statements Import',
     'version': '0.1.140',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': ['Smile', 'Therp BV', 'EduSense BV'],
     'website': 'https://launchpad.net/banking-addons',
     'category': 'Banking addons',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-    ],
-    'demo_xml': [],
     'description': '''
 Module to import Dutch ING bank format transaction files. The format covered
 is the CSV format with either 'dd-mm-yyyy' or 'yyyymmdd' date syntax.
@@ -57,6 +47,5 @@
 
 This modules contains no logic, just an import filter for account_banking.
     ''',
-    'active': False,
-    'installable': False,
+    'installable': True,
 }

=== removed file 'account_banking_nl_ing/__terp__.py'
--- account_banking_nl_ing/__terp__.py	2011-12-21 11:26:36 +0000
+++ account_banking_nl_ing/__terp__.py	1970-01-01 00:00:00 +0000
@@ -1,58 +0,0 @@
-##############################################################################
-#
-#    Copyright (C) 2009 - 2011 EduSense BV (<http://www.edusense.nl>)
-#                              and Therp BV (<http://therp.nl>)
-#    All Rights Reserved
-#
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU 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 General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-{
-    'name': 'ING (NL) Bank Statements Import',
-    'version': '0.1.89',
-    'license': 'GPL-3',
-    'author': 'Smile / Therp BV / EduSense BV',
-    'website': 'https://launchpad.net/banking-addons',
-    'category': 'Banking addons',
-    'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-    ],
-    'demo_xml': [],
-    'description': '''
-
-Module to import Dutch ING bank format transation files (CSV format).
-
-As the ING bank does not provide detailed specification concerning possible
-values and their meaning for the fields in the CSV file format, the statements
-are parsed according to an educated guess based on incomplete information.
-You can contact the banking-addons developers through their launchpad page and
-help improve the performance of this import filter on
-https://launchpad.net/banking-addons.
-
-Note that imported bank transfers are organized in statements covering periods
-of one week, even if the imported files cover a different period.
-
-This modules contains no logic, just an import filter for account_banking.
-    ''',
-    'active': False,
-    'installable': True,
-}

=== modified file 'account_banking_nl_ing/ing.py'
--- account_banking_nl_ing/ing.py	2012-10-04 08:56:19 +0000
+++ account_banking_nl_ing/ing.py	2013-04-15 14:22:31 +0000
@@ -1,4 +1,4 @@
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2011 Smile (<http://smile.fr>).
@@ -10,25 +10,25 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
 from datetime import datetime
-from account_banking.parsers import models
-from account_banking.parsers.convert import str2date
-from account_banking.sepa import postalcode
-from tools.translate import _
+from openerp.addons.account_banking.parsers import models
+from openerp.addons.account_banking.parsers.convert import str2date
+from openerp.addons.account_banking.sepa import postalcode
+from openerp.tools.translate import _
 
 import re
 import csv

=== modified file 'account_banking_nl_multibank/__init__.py'
--- account_banking_nl_multibank/__init__.py	2010-01-26 20:55:24 +0000
+++ account_banking_nl_multibank/__init__.py	2013-04-15 14:22:31 +0000
@@ -11,16 +11,16 @@
 #    garantees and support are strongly adviced to contract EduSense BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== renamed file 'account_banking_nl_multibank/__terp__.py' => 'account_banking_nl_multibank/__openerp__.py'
--- account_banking_nl_multibank/__terp__.py	2011-05-05 10:29:28 +0000
+++ account_banking_nl_multibank/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -1,46 +1,36 @@
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 #    Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
+
 {
     'name': 'Account Banking',
     'version': '0.62',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'EduSense BV',
     'website': 'http://www.edusense.nl',
     'category': 'Account Banking',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-        #'security/ir.model.access.csv',
-    ],
-    'demo_xml': [],
     'description': '''
     Module to import Dutch Multibank format transation files.
 
     This modules contains no logic, just an import filter for account_banking.
     ''',
-    'active': False,
     'installable': True,
 }

=== modified file 'account_banking_nl_multibank/multibank.py'
--- account_banking_nl_multibank/multibank.py	2012-01-17 08:48:10 +0000
+++ account_banking_nl_multibank/multibank.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_triodos/__init__.py'
--- account_banking_nl_triodos/__init__.py	2011-04-26 21:00:12 +0000
+++ account_banking_nl_triodos/__init__.py	2013-04-15 14:22:31 +0000
@@ -13,16 +13,16 @@
 #    or Therp BV
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_nl_triodos/__openerp__.py'
--- account_banking_nl_triodos/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_banking_nl_triodos/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -4,40 +4,28 @@
 #                              and Therp BV (<http://therp.nl>)
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Triodos (NL) Bank Statements Import',
     'version': '0.92',
-    'license': 'GPL-3',
-    'author': 'Therp BV / EduSense BV',
+    'license': 'AGPL-3',
+    'author': ['Therp BV', 'EduSense BV'],
     'website': 'https://launchpad.net/account-banking',
     'category': 'Account Banking',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-        #'security/ir.model.access.csv',
-    ],
-    'demo_xml': [],
     'description': '''
 Module to import Dutch Triodos bank format transation files (CSV format).
 
@@ -53,6 +41,5 @@
 
 This modules contains no logic, just an import filter for account_banking.
     ''',
-    'active': False,
-    'installable': False,
+    'installable': True,
 }

=== removed file 'account_banking_nl_triodos/__terp__.py'
--- account_banking_nl_triodos/__terp__.py	2011-05-05 10:29:28 +0000
+++ account_banking_nl_triodos/__terp__.py	1970-01-01 00:00:00 +0000
@@ -1,58 +0,0 @@
-##############################################################################
-#
-#    Copyright (C) 2009 - 2011 EduSense BV (<http://www.edusense.nl>)
-#                              and Therp BV (<http://therp.nl>)
-#    All Rights Reserved
-#
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#    or Therp BV
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU 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 General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-{
-    'name': 'Triodos (NL) Bank Statements Import',
-    'version': '0.62',
-    'license': 'GPL-3',
-    'author': 'Therp BV / EduSense BV',
-    'website': 'https://launchpad.net/account-banking',
-    'category': 'Account Banking',
-    'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
-        #'security/ir.model.access.csv',
-    ],
-    'demo_xml': [],
-    'description': '''
-Module to import Dutch Triodos bank format transation files (CSV format).
-
-As the Triodos bank does not provide detailed specification concerning possible
-values and their meaning for the fields in the CSV file format, the statements
-are parsed according to an educated guess based on incomplete information.
-You can contact the account-banking developers through their launchpad page and
-help improve the performance of this import filter on
-https://launchpad.net/account-banking.
-
-Note that imported bank transfers are organized in statements covering periods
-of one week, even if the imported files cover a different period.
-
-This modules contains no logic, just an import filter for account_banking.
-    ''',
-    'active': False,
-    'installable': True,
-}

=== modified file 'account_banking_nl_triodos/triodos.py'
--- account_banking_nl_triodos/triodos.py	2012-01-17 08:48:10 +0000
+++ account_banking_nl_triodos/triodos.py	2013-04-15 14:22:31 +0000
@@ -6,16 +6,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_uk_hsbc/__openerp__.py'
--- account_banking_uk_hsbc/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_banking_uk_hsbc/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -26,15 +26,13 @@
     'website': 'http://www.credativ.co.uk',
     'category': 'Account Banking',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
+    'data': [
         'account_banking_uk_hsbc.xml',
         'hsbc_clientid_view.xml',
         'data/banking_export_hsbc.xml',
         'wizard/export_hsbc_view.xml',
         'security/ir.model.access.csv',
     ],
-    'demo_xml': [],
     'description': '''
     Module to import HSBC format transation files (S.W.I.F.T MT940) and to export payments for HSBC.net (PAYMUL).
 
@@ -47,6 +45,5 @@
 
     Initial release of this module was co-sponsored by Canonical.
     ''',
-    'active': False,
-    'installable': False,
+    'installable': True,
 }

=== modified file 'account_banking_uk_hsbc/account_banking_uk_hsbc.py'
--- account_banking_uk_hsbc/account_banking_uk_hsbc.py	2012-03-27 14:55:03 +0000
+++ account_banking_uk_hsbc/account_banking_uk_hsbc.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_uk_hsbc/wizard/__init__.py'
--- account_banking_uk_hsbc/wizard/__init__.py	2011-10-24 15:26:13 +0000
+++ account_banking_uk_hsbc/wizard/__init__.py	2013-04-15 14:22:31 +0000
@@ -6,16 +6,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_uk_hsbc/wizard/export_hsbc.py'
--- account_banking_uk_hsbc/wizard/export_hsbc.py	2012-03-22 12:07:57 +0000
+++ account_banking_uk_hsbc/wizard/export_hsbc.py	2013-04-15 14:22:31 +0000
@@ -6,16 +6,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_uk_hsbc/wizard/paymul.py'
--- account_banking_uk_hsbc/wizard/paymul.py	2012-03-22 12:07:57 +0000
+++ account_banking_uk_hsbc/wizard/paymul.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_banking_uk_hsbc/wizard/paymul_test.py'
--- account_banking_uk_hsbc/wizard/paymul_test.py	2011-10-24 15:26:13 +0000
+++ account_banking_uk_hsbc/wizard/paymul_test.py	2013-04-15 14:22:31 +0000
@@ -5,16 +5,16 @@
 #    All Rights Reserved
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################

=== modified file 'account_direct_debit/__openerp__.py'
--- account_direct_debit/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_direct_debit/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -4,43 +4,35 @@
 #    Copyright (C) 2011 Smile (<http://smile.fr>).
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Direct Debit',
     'version': '6.1.1.134',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'Therp BV / Smile',
     'website': 'https://launchpad.net/banking-addons',
     'category': 'Banking addons',
     'depends': ['account_banking'],
-    'init_xml': [],
-    'update_xml': [
+    'data': [
         'view/account_payment.xml',
         'view/account_invoice.xml',
         'workflow/account_invoice.xml',
         'workflow/account_payment.xml',
         'data/account_payment_term.xml',
     ],
-    'demo_xml': [],
     'description': '''
 This module adds support for direct debit orders, analogous to payment orders.
 A new entry in the Accounting/Payment menu allow you to create a direct debit
@@ -57,6 +49,5 @@
 banking institutions. The banking addons are a continuation of Account Banking
 Framework by Edusense BV. See https://launchpad.net/banking-addons.
     ''',
-    'active': False,
     'installable': False,
 }

=== modified file 'account_payment_shortcut/__openerp__.py'
--- account_payment_shortcut/__openerp__.py	2013-02-26 21:06:36 +0000
+++ account_payment_shortcut/__openerp__.py	2013-04-15 14:22:31 +0000
@@ -4,41 +4,30 @@
 #                  2011 Smile BV (<http://smile.fr>).
 #    All Rights Reserved
 #
-#    WARNING: This program as such is intended to be used by professional
-#    programmers who take the whole responsability of assessing all potential
-#    consequences resulting from its eventual inadequacies and bugs
-#    End users who are looking for a ready-to-use solution with commercial
-#    garantees and support are strongly adviced to contract EduSense BV
-#
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
+#    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 General Public License for more details.
+#    GNU Affero General Public License for more details.
 #
-#    You should have received a copy of the GNU General Public License
+#    You should have received a copy of the GNU Affero General Public License
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 {
     'name': 'Account Payment Invoice Selection Shortcut',
     'version': '6.1.1.134',
-    'license': 'GPL-3',
+    'license': 'AGPL-3',
     'author': 'Smile / Therp BV',
     'website': 'https://launchpad.net/banking-addons',
     'category': 'Banking addons',
     'depends': ['account_payment'],
-    'init_xml': [],
-    'update_xml': [
-    ],
-    'demo_xml': [],
     'description': '''
 When composing a payment order, select all candidates by default (in the second step of the "Select invoices to pay" wizard).
     ''',
-    'active': False,
     'installable': False,
 }


Follow ups