<?xml version="1.0" ?>
<openerp>
- <data>
-
- <!--
- Process
- -->
-
- <record id="process_process_purchaseworkflow0" model="process.process">
- <field eval=""""Purchase flow for services companies."""" name="note"/>
- <field eval="1" name="active"/>
- <field eval=""""Purchase Workflow"""" name="name"/>
- </record>
-
- <!--
- Process Node
- -->
-
- <record id="process_node_purchaseorder0" model="process.node">
- <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
- <field name="model_id" ref="purchase.model_purchase_order"/>
- <field eval=""""subflow"""" name="kind"/>
- <field eval=""""Purchase Order"""" name="name"/>
- <field eval=""""After confirming purchase order, it is approved by supplier."""" name="note"/>
- <field name="process_id" ref="account.process_process_invoiceworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="1" name="flow_start"/>
- </record>
-
- <record id="process_node_draftpurchaseorder0" model="process.node">
- <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
- <field name="model_id" ref="purchase.model_purchase_order"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Draft Purchase Order"""" name="name"/>
- <field eval=""""Proposed by the system or manually"""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_confirmpurchaseorder0" model="process.node">
- <field name="menu_id" ref="purchase.menu_purchase_form_action3"/>
- <field name="model_id" ref="purchase.model_purchase_order"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Confirm Purchase Order"""" name="name"/>
- <field eval=""""The user confirm he wants to purchase"""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='confirmed'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_approvepurchaseorder0" model="process.node">
- <field name="menu_id" ref="purchase.menu_purchase_form_action4"/>
- <field name="model_id" ref="purchase.model_purchase_order"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Approve Purchase Order"""" name="name"/>
- <field eval=""""The supplier confirms he can deliver"""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='approved'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_invoicecontrol0" model="process.node">
- <field name="menu_id" ref="account.menu_action_invoice_tree8"/>
- <field name="model_id" ref="account.model_account_invoice"/>
- <field eval=""""subflow"""" name="kind"/>
- <field eval=""""Invoice Control"""" name="name"/>
- <field eval=""""Draft invoices are pre-generated for control."""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_packinglist0" model="process.node">
- <field name="menu_id" ref="stock.menu_action_picking_tree4"/>
- <field name="model_id" ref="stock.model_stock_picking"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Packing list"""" name="name"/>
- <field eval=""""Pre-generated in draft for control"""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='assigned'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_invoiceafterpacking0" model="process.node">
- <field name="menu_id" ref="account.menu_finance_invoice"/>
- <field name="model_id" ref="account.model_account_invoice"/>
- <field eval=""""subflow"""" name="kind"/>
- <field eval=""""Invoice after packing"""" name="name"/>
- <field eval=""""In case you control based on delivery"""" name="note"/>
- <field name="process_id" ref="process_process_purchaseworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <!--
- Process Transition
- -->
-
- <record id="process_transition_confirmingpurchaseorder0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Confirming Purchase Order"""" name="name"/>
- <field eval=""""Confirm Purchase order from Request for quotation"""" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_confirmpurchaseorder0"/>
- <field model="process.node" name="source_node_id" ref="process_node_draftpurchaseorder0"/>
- </record>
-
- <record id="process_transition_approvingpurchaseorder0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Approving Purchase Order"""" name="name"/>
- <field eval=""""Approve Purchase order after Confirming"""" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_approvepurchaseorder0"/>
- <field model="process.node" name="source_node_id" ref="process_node_confirmpurchaseorder0" />
- </record>
-
- <record id="process_transition_invoicefrompurchase0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Invoice from Purchase"""" name="name"/>
- <field eval=""""After approved purchase order , it comes into the supplier invoice"""" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_invoicecontrol0"/>
- <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
- </record>
-
- <record id="process_transition_createpackinglist0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Create Packing list"""" name="name"/>
- <field eval=""""When purchase order is approved , it creates its packing list."""" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_packinglist0"/>
- <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
- </record>
-
- <record id="process_transition_invoicefrompackinglist0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Invoice from Packing list"""" name="name"/>
- <field eval=""""Creates invoice from packin list"""" name="note"/>
- <field model="process.node" name="target_node_id" ref="process_node_invoiceafterpacking0"/>
- <field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
- </record>
-
- <record id="process_transition_purchaseinvoice0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Purchase Invoice"""" name="name"/>
- <field eval=""""After Purchase order , Create invoice."""" name="note"/>
- <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
- <field model="process.node" name="source_node_id" ref="process_node_purchaseorder0"/>
- </record>
-
- </data>
-</openerp>
\ No newline at end of file
+ <data>
+
+ <!--
+ Process
+ -->
+
+ <record id="process_process_purchaseprocess0" model="process.process">
+ <field eval="1" name="active"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""Purchase"""" name="name"/>
+ </record>
+
+ <!--
+ Process Node
+ -->
+
+ <record id="process_node_packinginvoice0" model="process.node">
+ <field name="model_id" ref="stock.model_stock_picking"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Outgoing Products"""" name="name"/>
+ <field eval=""""Outgoing products to invoice"""" name="note"/>
+ <field name="process_id" ref="account.process_process_invoiceprocess0"/>
+ <field eval=""""object.state in ('assigned', 'confirmed')"""" name="model_states"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <record id="process_node_purchaseorder0" model="process.node">
+ <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Purchase Order"""" name="name"/>
+ <field eval=""""Confirmed purchase order to invoice"""" name="note"/>
+ <field name="process_id" ref="account.process_process_supplierinvoiceprocess0"/>
+ <field name="subflow_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <record id="process_node_draftpurchaseorder0" model="process.node">
+ <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""RFQ"""" name="name"/>
+ <field eval=""""Request for Quotations."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_draftpurchaseorder1" model="process.node">
+ <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""RFQ"""" name="name"/>
+ <field eval=""""Request for Quotations."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <record id="process_node_confirmpurchaseorder0" model="process.node">
+ <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Confirmed"""" name="name"/>
+ <field eval=""""State of the Purchase Order."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='confirmed'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_approvepurchaseorder0" model="process.node">
+ <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Approved"""" name="name"/>
+ <field eval=""""State of the Purchase Order."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='approved'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_invoicecontrol0" model="process.node">
+ <field name="menu_id" ref="account.menu_action_invoice_tree2"/>
+ <field name="model_id" ref="account.model_account_invoice"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Draft Invoice"""" name="name"/>
+ <field eval=""""To be reviewed by the accountant."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field name="subflow_id" ref="account.process_process_supplierinvoiceprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_packinglist0" model="process.node">
+ <field name="menu_id" ref="stock.menu_action_picking_tree4"/>
+ <field name="model_id" ref="stock.model_stock_picking"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Incoming Products"""" name="name"/>
+ <field eval=""""List of ordered products."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field eval=""""object.state=='assigned'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_invoiceafterpacking0" model="process.node">
+ <field name="menu_id" ref="account.menu_finance_receivables"/>
+ <field name="model_id" ref="account.model_account_invoice"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Draft Invoice"""" name="name"/>
+ <field eval=""""To be reviewed by the accountant."""" name="note"/>
+ <field name="process_id" ref="process_process_purchaseprocess0"/>
+ <field name="subflow_id" ref="account.process_process_supplierinvoiceprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_productrecept0" model="process.node">
+ <field name="model_id" ref="stock.model_stock_picking"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Incoming Products"""" name="name"/>
+ <field eval=""""Incoming products to control"""" name="note"/>
+ <field name="subflow_id" ref="process_process_purchaseprocess0"/>
+ <field name="process_id" ref="account.process_process_supplierinvoiceprocess0"/>
+ <field eval=""""object.state in ('draft', 'open', 'pending', 'close')"""" name="model_states"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <!--
+ Process Condition
+ -->
+
+ <record id="process_condition_conditionorigin" model="process.condition">
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field name="node_id" ref="process_node_draftpurchaseorder1"/>
+ <field eval=""""object.origin==False"""" name="model_states"/>
+ <field eval=""""condition_origin"""" name="name"/>
+ </record>
+
+ <record id="process_condition_conditioninvoicemanual" model="process.condition">
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field name="node_id" ref="process_node_invoicecontrol0"/>
+ <field eval=""""object.invoice_method=='manual'"""" name="model_states"/>
+ <field eval=""""condition_invoice_manual"""" name="name"/>
+ </record>
+
+ <!--
+ Process Transition
+ -->
+
+ <record id="process_transition_productrecept0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""From a Pick list"""" name="name"/>
+ <field eval=""""A Pick list generates a supplier invoice. Depending on the Invoicing control of the purchase order, the invoice is based on received or on ordered quantities."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="account.process_node_supplierdraftinvoices0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_productrecept0"/>
+ </record>
+
+ <record id="process_transition_confirmingpurchaseorder0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Confirmation"""" name="name"/>
+ <field eval=""""The buyer has to approve the RFQ before being sent to the supplier. The RFQ becomes a confirmed Purchase Order."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_confirmpurchaseorder0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_draftpurchaseorder0"/>
+ <field eval="[(6,0,[ref('purchase.trans_draft_confirmed')])]" name="transition_ids"/>
+ </record>
+
+ <record id="process_transition_confirmingpurchaseorder1" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Confirmation"""" name="name"/>
+ <field eval=""""In case there is no supplier for this product, the buyer can fill the form manually and confirm it. The RFQ becomes a confirmed Purchase Order."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_confirmpurchaseorder0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_draftpurchaseorder1"/>
+ </record>
+
+ <record id="process_transition_approvingpurchaseorder0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Approbation"""" name="name"/>
+ <field eval=""""The supplier approves the Purchase Order."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_approvepurchaseorder0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_confirmpurchaseorder0" />
+ </record>
+
+ <record id="process_transition_invoicefrompurchase0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Invoice"""" name="name"/>
+ <field eval=""""The invoice is created automatically if the Invoice control of the purchase order is 'On order'. The invoice can also be generated manually by the accountant (Invoice control = Manual)."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_invoicecontrol0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
+ <field eval="[(6,0,[ref('purchase.trans_router_invoice')])]" name="transition_ids"/>
+ </record>
+
+ <record id="process_transition_createpackinglist0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Pick list generated"""" name="name"/>
+ <field eval=""""A pick list is generated to track the incoming products."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_packinglist0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
+ </record>
+
+ <record id="process_transition_invoicefrompackinglist0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Invoice"""" name="name"/>
+ <field eval=""""The invoice is created automatically if the Invoice control of the purchase order is 'On picking'. The invoice can also be generated manually by the accountant (Invoice control = Manual)."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_invoiceafterpacking0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
+ </record>
+
+ <record id="process_transition_purchaseinvoice0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""From a purchase order"""" name="name"/>
+ <field eval=""""A purchase order generates a supplier invoice, as soon as it is confirmed by the buyer. Depending on the Invoicing control of the purchase order, the invoice is based on received or on ordered quantities."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="account.process_node_supplierdraftinvoices0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_purchaseorder0"/>
+ </record>
+
+ <record id="process_transition_packinginvoice0" model="process.transition">
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""From a Pick list"""" name="name"/>
+ <field eval=""""A Pick list generates an invoice. Depending on the Invoicing control of the sale order, the invoice is based on delivered or on ordered quantities."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_packinginvoice0"/>
+ </record>
+
+ <!--
+ Process Action
+ -->
+
+ <record id="process_transition_action_confirmpurchaseorder0" model="process.transition.action">
+ <field eval=""""wkf_confirm_order"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Confirm"""" name="name"/>
+ <field name="transition_id" ref="process_transition_confirmingpurchaseorder0"/>
+ </record>
+
+ <record id="process_transition_action_cancelpurchaseorder0" model="process.transition.action">
+ <field eval=""""write({'state':'cancel'})"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Cancel"""" name="name"/>
+ <field name="transition_id" ref="process_transition_confirmingpurchaseorder0"/>
+ </record>
+
+ <record id="process_transition_action_approvingpurchaseorder0" model="process.transition.action">
+ <field eval=""""wkf_approve_order"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Approve"""" name="name"/>
+ <field name="transition_id" ref="process_transition_approvingpurchaseorder0"/>
+ </record>
+
+ <record id="process_transition_action_approvingcancelpurchaseorder0" model="process.transition.action">
+ <field eval=""""write({'state':'cancel'})"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Cancel"""" name="name"/>
+ <field name="transition_id" ref="process_transition_approvingpurchaseorder0"/>
+ </record>.
+
+ <record id="process_transition_action_invoicefrompurchaseorder0" model="process.transition.action">
+ <field eval=""""action_invoice_create"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Create invoice"""" name="name"/>
+ <field name="transition_id" ref="process_transition_invoicefrompurchase0"/>
+ </record>
+
+ </data>
+</openerp>