diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index ee2173dcd49..d87ece6994d 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -259,10 +259,17 @@ class pos_order(osv.osv): if data.get('payment_name', False): args['name'] = args['name'] + ': ' + data['payment_name'] account_def = property_obj.get(cr, uid, 'property_account_receivable', 'res.partner', context=context) - args['account_id'] = order.partner_id and order.partner_id.property_account_receivable \ - and order.partner_id.property_account_receivable.id or account_def.id or curr_c.account_receivable.id + args['account_id'] = (order.partner_id and order.partner_id.property_account_receivable \ + and order.partner_id.property_account_receivable.id) or (account_def and account_def.id) or False args['partner_id'] = order.partner_id and order.partner_id.id or None + if not args['account_id']: + if not args['partner_id']: + msg = _('There is no receivable account defined to make payment') + else: + msg = _('There is no receivable account defined to make payment for the partner: "%s" (id:%d)') % (order.partner_id.name, order.partner_id.id,) + raise osv.except_osv(_('Configuration Error !'), msg) + statement_id = statement_obj.search(cr,uid, [ ('journal_id', '=', int(data['journal'])), ('company_id', '=', curr_company),