diff --git a/addons/account/account.py b/addons/account/account.py
index 7e0cdb00cae..6bd34048e3b 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -2541,8 +2541,8 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts', required=True),
'code_digits':fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
'seq_journal':fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."),
- "sale_tax": fields.many2one("account.tax.template", "Sale Tax"),
- "purchase_tax": fields.many2one("account.tax.template", "Purchase Tax"),
+ "sale_tax": fields.many2one("account.tax.template", "Default Sale Tax"),
+ "purchase_tax": fields.many2one("account.tax.template", "Default Purchase Tax"),
}
def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None):
res = {}
@@ -2550,12 +2550,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
res['value']["sale_tax"] = False
res['value']["purchase_tax"] = False
if chart_template_id:
- ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
- , "=", chart_template_id)], order="sequence")
- if len(ids) > 0:
- id=ids[0]
- res['value']["sale_tax"] = id
- res['value']["purchase_tax"] = id
+ sale_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
+ , "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
+ purchase_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
+ , "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))], order="sequence")
+ res['value']["sale_tax"] = sale_tax_ids and sale_tax_ids[0] or False
+ res['value']["purchase_tax"] = purchase_tax_ids and purchase_tax_ids[0] or False
return res
def _get_chart(self, cr, uid, context={}):
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index ffea12170a2..62cfa7cbd6f 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -1101,6 +1101,10 @@ class account_move_line(osv.osv):
journal_obj = self.pool.get('account.journal')
if context is None:
context = {}
+ if vals.get('move_id', False):
+ company_id = self.pool.get('account.move').read(cr, uid, vals['move_id'], ['company_id']).get('company_id', False)
+ if company_id:
+ vals['company_id'] = company_id[0]
self._check_date(cr, uid, vals, context, check)
if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']:
raise osv.except_osv(_('Bad account!'), _('You can not use an inactive account!'))
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index a92ca3b3bb9..acbe5071088 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -2419,8 +2419,8 @@
-
-
+
+
tree,form
- {'type':'pop'}
- [('type','=','pop')]
+ {'server_type':'pop'}
+ [('server_type','=','pop')]