Purchase Order Basic Workflow purchase.order True True draft confirmed function wkf_confirm_order() cancel write({'state':'cancel'}) stopall True except_invoice function write({'state':'except_invoice'}) except_picking function write({'state':'except_picking'}) router OR function wkf_approve_order() invoice subflow action_invoice_create() invoice_done write({'invoiced':1}) function picking subflow action_picking_create() picking_done write({'shipped':1}) function subflow.delivery_done done write({'state':'done'}) function True AND purchase_confirm purchase_cancel purchase_cancel purchase_approve has_stockable_product() not has_stockable_product() invoice_method=='order' invoice_method<>'order' picking_ok invoice_ok cancel cancel subflow.cancel subflow.cancel subflow.done subflow.paid