diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 33a7832b0a0..707adb27a7e 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -162,7 +162,7 @@ class sale_order(osv.osv): res = super(sale_order,self).action_invoice_create(cr, uid, ids, grouped=grouped, states=states, date_invoice = date_invoice, context=context) for order in self.browse(cr, uid, ids, context=context): if order.order_policy == 'picking': - picking_obj.write(cr, uid, map(lambda x: x.id, order.picking_ids)) + picking_obj.write(cr, uid, map(lambda x: x.id, order.picking_ids), {'invoice_state': 'invoiced'}) return res def action_cancel(self, cr, uid, ids, context=None): diff --git a/addons/sale_stock/test/picking_order_policy.yml b/addons/sale_stock/test/picking_order_policy.yml index 5fc40b3041a..e28b4b066d4 100644 --- a/addons/sale_stock/test/picking_order_policy.yml +++ b/addons/sale_stock/test/picking_order_policy.yml @@ -61,6 +61,7 @@ assert picking.move_type == sale_order.picking_policy,"Delivery Method is not corresponding with delivery method of sale order." assert picking.partner_id.id == sale_order.partner_shipping_id.id,"Shipping Address is not correspond with sale order." assert picking.note == sale_order.note,"Note is not correspond with sale order." + assert picking.invoice_state == (sale_order.order_policy=='picking' and '2binvoiced') or 'none',"Invoice policy is not correspond with sale order." assert len(picking.move_lines) == len(sale_order.order_line), "Total move of delivery order are not corresposning with total sale order lines." location_id = sale_order.warehouse_id.lot_stock_id.id output_id = sale_order.warehouse_id.lot_output_id.id