diff --git a/addons/stock_invoice_directly/wizard/stock_invoice.py b/addons/stock_invoice_directly/wizard/stock_invoice.py index 5de6490dc0f..82990ccf208 100644 --- a/addons/stock_invoice_directly/wizard/stock_invoice.py +++ b/addons/stock_invoice_directly/wizard/stock_invoice.py @@ -31,9 +31,14 @@ class invoice_directly(osv.osv_memory): if context is None: context = {} result = super(invoice_directly, self).do_partial(cr, uid, ids, context) partial = self.browse(cr, uid, ids[0], context) + if partial.picking_id.state != 'done' and partial.picking_id.backorder_id: + # delivery is not finished, opening invoice on backorder + picking = partial.picking_id.backorder_id + else: + picking = partial.picking_id context.update(active_model='stock.picking', - active_ids=[partial.picking_id.id]) - if partial.picking_id.invoice_state == '2binvoiced': + active_ids=[picking.id]) + if picking.invoice_state == '2binvoiced': return { 'name': 'Create Invoice', 'view_type': 'form',