diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 2ea6e4b39ab..0d0dfafcb8c 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -112,6 +112,15 @@ class account_voucher(osv.osv):
return [(r['id'], (str("%.2f" % r['amount']) or '')) for r in self.read(cr, uid, ids, ['amount'], context, load='_classic_write')]
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
+ if not view_id and context.get('invoice_type',False):
+ mod_obj = self.pool.get('ir.model.data')
+ act_obj = self.pool.get('ir.actions.act_window')
+ if context.get('invoice_type') in ('out_invoice','out_refund'):
+ result = mod_obj._get_id(cr, uid, 'account_voucher', 'view_vendor_receipt_form')
+ else:
+ result = mod_obj._get_id(cr, uid, 'account_voucher', 'view_vendor_payment_form')
+ result = mod_obj.read(cr, uid, [result], ['res_id'], context=context)[0]['res_id']
+ view_id = result
res = super(account_voucher,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
doc = etree.XML(res['arch'])
nodes = doc.xpath("//field[@name='partner_id']")
@@ -349,7 +358,6 @@ class account_voucher(osv.osv):
if context is None:
context = {}
-
currency_pool = self.pool.get('res.currency')
move_pool = self.pool.get('account.move')
line_pool = self.pool.get('account.voucher.line')
@@ -384,6 +392,7 @@ class account_voucher(osv.osv):
account_id = journal.default_credit_account_id.id or journal.default_debit_account_id.id
default['value']['account_id'] = account_id
+
if journal.type not in ('cash', 'bank'):
return default
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index d066c91ad0e..343211c264b 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -161,7 +161,6 @@
+