Purchase Order Basic Workflow purchase.order True True draft sent function write({'state':'sent'}) confirmed function wkf_confirm_order() cancel function True write({'state':'cancel'}) 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 invoice_done() function invoice_end picking subflow action_picking_create() picking_done picking_done() function subflow.delivery_done done write({'state':'done'}) function True AND purchase_confirm send_rfq purchase_confirm purchase_cancel purchase_cancel purchase_cancel has_stockable_product() not has_stockable_product() invoice_method=='order' invoice_method<>'order' picking_ok invoice_ok purchase_cancel purchase_cancel subflow.cancel subflow.cancel subflow.done subflow.paid buy subflow action_po_assign() check_buy() subflow.delivery_done subflow.cancel