dodil/erp-method

modules/purchasing/signoff/purchasing/history/purchasing_order.v5.bpmn

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dodil="https://git.dodil.io/dodil/erp-platform/bpmn/1" id="Definitions_purchasing_v8" name="Purchasing &amp; suppliers processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
 <bpmn:collaboration id="Collaboration_purchasing_v8">
  <bpmn:documentation>Purchasing &amp; suppliers: one pool per entity lifecycle, generated from module.yaml.</bpmn:documentation>
  <bpmn:participant id="Participant_purchasing_order" name="Order" processRef="Process_purchasing_order_v8" />
  <bpmn:participant id="Participant_supplier" name="The supplier (external)">
   <bpmn:documentation>Outside the system: the steps it sends are what the process waits on.</bpmn:documentation>
  </bpmn:participant>
  <bpmn:messageFlow id="Flow_Participant_supplier__Task_receive_order" sourceRef="Participant_supplier" targetRef="Task_receive_order" />
 </bpmn:collaboration>
 <bpmn:process id="Process_purchasing_order_v8" name="Order" isExecutable="false">
  <bpmn:documentation>Lifecycle of the order, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, to_approve, approved, confirmed, closed, cancelled. Note: received, billed and outstanding are DERIVED from receipt and bill rows; part_received is not a state. A stored status and a receipt table disagree the first time someone returns goods.</bpmn:documentation>
  <bpmn:laneSet id="LaneSet_order">
   <bpmn:lane id="Lane_order_buyer" name="whoever places orders">
    <bpmn:flowNodeRef>Start_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_raise_from_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_draft_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_raise_from_quote</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_raise_release_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_price_lines</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_submit_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_confirm_purchase_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_send_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_amend_purchase_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_amend_beyond_approval</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_close_short</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_cancel_purchase_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_order_none__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_order_draft__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_amend_purchase_order__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_amend_purchase_order__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_order_confirmed__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_order_approved__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_order_closed</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_order_cancelled</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_order_system" name="The system">
    <bpmn:flowNodeRef>Task_open_call_off</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_finish_purchase_order</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_order_spend_approver" name="budget holder">
    <bpmn:flowNodeRef>Task_accept_rounding</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_approve_order_level</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_approve_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_reject_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_accept_rounding__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_accept_rounding__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_approve_order_level__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_approve_order_level__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_order_to_approve__if</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_order_receiver" name="whoever takes delivery (stores, site, reception)">
    <bpmn:flowNodeRef>Task_provide_components</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_provide_components__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_provide_components__if_end</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_order_supplier" name="The supplier (external)">
    <bpmn:flowNodeRef>Task_receive_order</bpmn:flowNodeRef>
   </bpmn:lane>
  </bpmn:laneSet>
  <bpmn:startEvent id="Start_order" name="Order needed">
   <bpmn:outgoing>Flow_Start_order__Gateway_order_none__if</bpmn:outgoing>
  </bpmn:startEvent>
  <bpmn:userTask id="Task_raise_from_request" name="Draft the order from the request" dodil:step="raise_from_request">
   <bpmn:documentation>By: whoever places orders. From none to draft. When: an approved request. Effect: keyed req:&lt;request_id&gt;; a second raise returns the same order.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_none__if__Task_raise_from_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_raise_from_request__Task_price_lines</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_draft_order" name="Draft an order directly" dodil:step="draft_order">
   <bpmn:documentation>By: whoever places orders. From none to draft. Effect: keyed po:&lt;buyer&gt;:&lt;moment&gt;.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_none__if__Task_draft_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_draft_order__Task_price_lines</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_raise_from_quote" name="Draft the order from the awarded quote" dodil:step="raise_from_quote">
   <bpmn:documentation>By: whoever places orders. From none to draft. When: an awarded quote (PUR-40). Effect: keyed rfq:&lt;rfq_id&gt;:&lt;bp_id&gt;; the quoted prices fixed on the lines; the request's approval carried (v4).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_none__if__Task_raise_from_quote</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_raise_from_quote__Task_price_lines</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_raise_release_order" name="Draft a release order against a contract" dodil:step="raise_release_order">
   <bpmn:documentation>By: whoever places orders. From none to draft. When: an active quantity or value contract in its validity. Effect: keyed po:&lt;buyer&gt;:&lt;moment&gt; with agreement_id; prices from the agreement line; the agreement's approval is the spend approval within its target (v4, PUR-42).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_none__if__Task_raise_release_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_raise_release_order__Task_price_lines</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:serviceTask id="Task_open_call_off" name="Open a call-off from a JIT release" dodil:step="open_call_off" implementation="##unspecified">
   <bpmn:documentation>By: The system. From none to confirmed. When: a JIT release of an active scheduling agreement. Effect: keyed sa:&lt;agreement_id&gt;:&lt;release_no&gt;, confirmed at once with order_no from the series; the agreement claims written (v4, PUR-43).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_none__if__Task_open_call_off</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_open_call_off__Task_send_order</bpmn:outgoing>
  </bpmn:serviceTask>
  <bpmn:userTask id="Task_price_lines" name="Price the lines in the supplier's unit" dodil:step="price_lines">
   <bpmn:documentation>By: whoever places orders. From draft to draft. Effect: unit_code and its exact conversion copied from the product; the order price unit, its conversion (the supplier price row's own, else the product's), pricing_quantity and unit_price from the supplier price in force today, fixed on the line; net = quantity_priced x unit_price / pricing_quantity, rounded once; the purchase rounding gate shown (v3); the source list checked, the quota's proposal shown, the account assignment (stock | cost_centre | asset | project), item category (standard | consignment | subcontract), subcontract components and planned delivery costs set (v4).</bpmn:documentation>
   <bpmn:incoming>Flow_Task_raise_from_request__Task_price_lines</bpmn:incoming>
   <bpmn:incoming>Flow_Task_draft_order__Task_price_lines</bpmn:incoming>
   <bpmn:incoming>Flow_Task_raise_from_quote__Task_price_lines</bpmn:incoming>
   <bpmn:incoming>Flow_Task_raise_release_order__Task_price_lines</bpmn:incoming>
   <bpmn:incoming>Flow_Task_reject_order__Task_price_lines</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_price_lines__Gateway_accept_rounding__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_accept_rounding" name="Accept an order off the pack rule" dodil:step="accept_rounding" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From draft to draft. When: a line fails purchase_rounding; the acceptor is not the buyer (email AND sub). Requires: reason. Effect: an override row (order, revision, line, gate purchase_rounding, who, why), before the order is sent for approval or confirmed; the buyer confirms (v3). An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_accept_rounding__if__Task_accept_rounding</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_accept_rounding__Gateway_accept_rounding__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_order_level" name="Approve one release level" dodil:step="approve_order_level" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From to_approve to to_approve. When: the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; not the buyer nor an earlier level's approver (email AND sub). Effect: a release row (order, revision, level, who) (v4, PUR-38). An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_approve_order_level__if__Task_approve_order_level</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_order_level__Gateway_approve_order_level__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_submit_order" name="Send for approval" dodil:step="submit_order">
   <bpmn:documentation>By: whoever places orders. From draft to to_approve. When: no approved request covers the total, and the total is above the owner's order threshold.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_draft__if__Task_submit_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_submit_order__Gateway_approve_order_level__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_order" name="Approve the order" dodil:step="approve_order" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From to_approve to approved. When: the final level: the total is within the approver's limit in force today; the approver is not the buyer nor an earlier level's approver (email AND sub). An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_to_approve__if__Task_approve_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_order__Gateway_order_approved__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_reject_order" name="Send back with a reason" dodil:step="reject_order">
   <bpmn:documentation>By: budget holder. From to_approve to draft. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_to_approve__if__Task_reject_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_reject_order__Task_price_lines</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_confirm_purchase_order" name="Confirm the order" dodil:step="confirm_purchase_order">
   <bpmn:documentation>By: whoever places orders. From draft / approved to confirmed. When: within authority (an approved request or approval covers the total, or below the threshold); every line has a unit and a pricing unit that convert; every line meets its purchase rounding or carries an override for this revision (v3); every line's supplier is allowed by the source list; a release order fits what is left on its agreement; an asset-assigned line is assignable; a subcontract line has its components (v4). Effect: order_no claimed from the series; contents, each line's pricing conversion and account assignment frozen; product told each unit and pricing unit was used; agreement claims written (v4).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_draft__if__Task_confirm_purchase_order</bpmn:incoming>
   <bpmn:incoming>Flow_Gateway_order_approved__if__Task_confirm_purchase_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_confirm_purchase_order__Task_send_order</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_send_order" name="Send it to the supplier" dodil:step="send_order">
   <bpmn:documentation>By: whoever places orders. From confirmed to confirmed. Effect: each send recorded with when and to whom.</bpmn:documentation>
   <bpmn:incoming>Flow_Task_open_call_off__Task_send_order</bpmn:incoming>
   <bpmn:incoming>Flow_Task_confirm_purchase_order__Task_send_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_send_order__Gateway_provide_components__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_provide_components" name="Send the subcontractor our components" dodil:step="provide_components">
   <bpmn:documentation>By: whoever takes delivery (stores, site, reception). From confirmed to confirmed. When: a subcontract line; not more than the line needs, unless a reason is given. Effect: inventory's POST /subcontract-provisions per component, keyed pur:&lt;purchase_order_id&gt;:&lt;line_no&gt;:prov:&lt;seq&gt;: the components move to stock held at the supplier, still ours (v4, PUR-57).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_provide_components__if__Task_provide_components</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_provide_components__Gateway_provide_components__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:receiveTask id="Task_receive_order" name="The supplier delivers" dodil:step="receive_order" dodil:external="true">
   <bpmn:documentation>By: The supplier. From confirmed to confirmed. Done outside the system: the process waits for it.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_provide_components__if_end__Task_receive_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_receive_order__Gateway_amend_purchase_order__if</bpmn:outgoing>
  </bpmn:receiveTask>
  <bpmn:userTask id="Task_amend_purchase_order" name="Amend the confirmed order" dodil:step="amend_purchase_order">
   <bpmn:documentation>By: whoever places orders. From confirmed to confirmed. When: the new total is still within what was approved; a line is never reduced below what was received or billed. Effect: a new revision row; the previous revision kept.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_amend_purchase_order__if__Task_amend_purchase_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_amend_purchase_order__Gateway_amend_purchase_order__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_amend_beyond_approval" name="Amend beyond what was approved" dodil:step="amend_beyond_approval">
   <bpmn:documentation>By: whoever places orders. From confirmed to to_approve. When: the new total exceeds what was approved.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_confirmed__if__Task_amend_beyond_approval</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_amend_beyond_approval__Gateway_approve_order_level__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_close_short" name="Close short with a reason" dodil:step="close_short">
   <bpmn:documentation>By: whoever places orders. From confirmed to closed. Requires: reason. Effect: what was not received stops being outstanding and committed.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_confirmed__if__Task_close_short</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_close_short__End_order_closed</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:serviceTask id="Task_finish_purchase_order" name="Finish the order" dodil:step="finish_purchase_order" implementation="##unspecified">
   <bpmn:documentation>By: The system. From confirmed to closed. When: every line received and billed in full (or two-way: billed).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_confirmed__if__Task_finish_purchase_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_finish_purchase_order__End_order_closed</bpmn:outgoing>
  </bpmn:serviceTask>
  <bpmn:userTask id="Task_cancel_purchase_order" name="Cancel the order" dodil:step="cancel_purchase_order">
   <bpmn:documentation>By: whoever places orders. From draft / to_approve / approved / confirmed to cancelled. When: nothing received and nothing billed. Requires: reason. Effect: a confirmed order keeps its number; v8: the request it was raised from is cancelled with it (cancel_with_order).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_order_draft__if__Task_cancel_purchase_order</bpmn:incoming>
   <bpmn:incoming>Flow_Gateway_order_confirmed__if__Task_cancel_purchase_order</bpmn:incoming>
   <bpmn:incoming>Flow_Gateway_order_to_approve__if__Task_cancel_purchase_order</bpmn:incoming>
   <bpmn:incoming>Flow_Gateway_order_approved__if__Task_cancel_purchase_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_cancel_purchase_order__End_order_cancelled</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:exclusiveGateway id="Gateway_order_none__if" name="New order?">
   <bpmn:incoming>Flow_Start_order__Gateway_order_none__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_order_none__if__Task_raise_from_request</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_none__if__Task_draft_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_none__if__Task_raise_from_quote</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_none__if__Task_raise_release_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_none__if__Task_open_call_off</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_accept_rounding__if" name="a line fails purchase_rounding; the acceptor is not the buyer (email AND sub)?">
   <bpmn:incoming>Flow_Task_price_lines__Gateway_accept_rounding__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_accept_rounding__if__Task_accept_rounding</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_accept_rounding__if__Gateway_accept_rounding__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_accept_rounding__if_end">
   <bpmn:incoming>Flow_Gateway_accept_rounding__if__Gateway_accept_rounding__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_accept_rounding__Gateway_accept_rounding__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_accept_rounding__if_end__Gateway_order_draft__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_order_draft__if" name="Order draft: what next?">
   <bpmn:incoming>Flow_Gateway_accept_rounding__if_end__Gateway_order_draft__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_order_draft__if__Task_submit_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_draft__if__Task_confirm_purchase_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_draft__if__Task_cancel_purchase_order</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_provide_components__if" name="a subcontract line; not more than the line needs, unless a reason is given?">
   <bpmn:incoming>Flow_Task_send_order__Gateway_provide_components__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_provide_components__if__Task_provide_components</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_provide_components__if__Gateway_provide_components__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_provide_components__if_end">
   <bpmn:incoming>Flow_Gateway_provide_components__if__Gateway_provide_components__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_provide_components__Gateway_provide_components__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_provide_components__if_end__Task_receive_order</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_amend_purchase_order__if" name="the new total is still within what was approved; a line is never reduced below what was received or billed?">
   <bpmn:incoming>Flow_Task_receive_order__Gateway_amend_purchase_order__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_amend_purchase_order__if__Task_amend_purchase_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_amend_purchase_order__if__Gateway_amend_purchase_order__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_amend_purchase_order__if_end">
   <bpmn:incoming>Flow_Gateway_amend_purchase_order__if__Gateway_amend_purchase_order__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_amend_purchase_order__Gateway_amend_purchase_order__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_amend_purchase_order__if_end__Gateway_order_confirmed__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_order_confirmed__if" name="Order confirmed: what next?">
   <bpmn:incoming>Flow_Gateway_amend_purchase_order__if_end__Gateway_order_confirmed__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_order_confirmed__if__Task_amend_beyond_approval</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_confirmed__if__Task_close_short</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_confirmed__if__Task_finish_purchase_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_confirmed__if__Task_cancel_purchase_order</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_approve_order_level__if" name="the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; not the buyer nor an earlier level's approver (email AND sub)?">
   <bpmn:incoming>Flow_Task_submit_order__Gateway_approve_order_level__if</bpmn:incoming>
   <bpmn:incoming>Flow_Task_amend_beyond_approval__Gateway_approve_order_level__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_approve_order_level__if__Task_approve_order_level</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_approve_order_level__if__Gateway_approve_order_level__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_approve_order_level__if_end">
   <bpmn:incoming>Flow_Gateway_approve_order_level__if__Gateway_approve_order_level__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_approve_order_level__Gateway_approve_order_level__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_approve_order_level__if_end__Gateway_order_to_approve__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_order_to_approve__if" name="Order to approve: what next?">
   <bpmn:incoming>Flow_Gateway_approve_order_level__if_end__Gateway_order_to_approve__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_order_to_approve__if__Task_approve_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_to_approve__if__Task_reject_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_to_approve__if__Task_cancel_purchase_order</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_order_approved__if" name="Order approved: what next?">
   <bpmn:incoming>Flow_Task_approve_order__Gateway_order_approved__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_order_approved__if__Task_confirm_purchase_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_order_approved__if__Task_cancel_purchase_order</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:endEvent id="End_order_closed" name="Order closed">
   <bpmn:incoming>Flow_Task_close_short__End_order_closed</bpmn:incoming>
   <bpmn:incoming>Flow_Task_finish_purchase_order__End_order_closed</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:endEvent id="End_order_cancelled" name="Order cancelled">
   <bpmn:incoming>Flow_Task_cancel_purchase_order__End_order_cancelled</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:sequenceFlow id="Flow_Gateway_order_none__if__Task_raise_from_request" sourceRef="Gateway_order_none__if" targetRef="Task_raise_from_request" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_none__if__Task_draft_order" sourceRef="Gateway_order_none__if" targetRef="Task_draft_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_none__if__Task_raise_from_quote" sourceRef="Gateway_order_none__if" targetRef="Task_raise_from_quote" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_none__if__Task_raise_release_order" sourceRef="Gateway_order_none__if" targetRef="Task_raise_release_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_none__if__Task_open_call_off" sourceRef="Gateway_order_none__if" targetRef="Task_open_call_off" />
  <bpmn:sequenceFlow id="Flow_Start_order__Gateway_order_none__if" sourceRef="Start_order" targetRef="Gateway_order_none__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_accept_rounding__if__Task_accept_rounding" name="a line fails purchase_rounding; the acceptor is not the buyer (email AND sub)" sourceRef="Gateway_accept_rounding__if" targetRef="Task_accept_rounding" />
  <bpmn:sequenceFlow id="Flow_Gateway_accept_rounding__if__Gateway_accept_rounding__if_end" name="otherwise" sourceRef="Gateway_accept_rounding__if" targetRef="Gateway_accept_rounding__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_accept_rounding__Gateway_accept_rounding__if_end" sourceRef="Task_accept_rounding" targetRef="Gateway_accept_rounding__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_price_lines__Gateway_accept_rounding__if" sourceRef="Task_price_lines" targetRef="Gateway_accept_rounding__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_draft__if__Task_submit_order" sourceRef="Gateway_order_draft__if" targetRef="Task_submit_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_draft__if__Task_confirm_purchase_order" sourceRef="Gateway_order_draft__if" targetRef="Task_confirm_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_draft__if__Task_cancel_purchase_order" sourceRef="Gateway_order_draft__if" targetRef="Task_cancel_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_accept_rounding__if_end__Gateway_order_draft__if" sourceRef="Gateway_accept_rounding__if_end" targetRef="Gateway_order_draft__if" />
  <bpmn:sequenceFlow id="Flow_Task_raise_from_request__Task_price_lines" sourceRef="Task_raise_from_request" targetRef="Task_price_lines" />
  <bpmn:sequenceFlow id="Flow_Task_draft_order__Task_price_lines" sourceRef="Task_draft_order" targetRef="Task_price_lines" />
  <bpmn:sequenceFlow id="Flow_Task_raise_from_quote__Task_price_lines" sourceRef="Task_raise_from_quote" targetRef="Task_price_lines" />
  <bpmn:sequenceFlow id="Flow_Task_raise_release_order__Task_price_lines" sourceRef="Task_raise_release_order" targetRef="Task_price_lines" />
  <bpmn:sequenceFlow id="Flow_Gateway_provide_components__if__Task_provide_components" name="a subcontract line; not more than the line needs, unless a reason is given" sourceRef="Gateway_provide_components__if" targetRef="Task_provide_components" />
  <bpmn:sequenceFlow id="Flow_Gateway_provide_components__if__Gateway_provide_components__if_end" name="otherwise" sourceRef="Gateway_provide_components__if" targetRef="Gateway_provide_components__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_provide_components__Gateway_provide_components__if_end" sourceRef="Task_provide_components" targetRef="Gateway_provide_components__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_amend_purchase_order__if__Task_amend_purchase_order" name="the new total is still within what was approved; a line is never reduced below what was received or billed" sourceRef="Gateway_amend_purchase_order__if" targetRef="Task_amend_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_amend_purchase_order__if__Gateway_amend_purchase_order__if_end" name="otherwise" sourceRef="Gateway_amend_purchase_order__if" targetRef="Gateway_amend_purchase_order__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_amend_purchase_order__Gateway_amend_purchase_order__if_end" sourceRef="Task_amend_purchase_order" targetRef="Gateway_amend_purchase_order__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_send_order__Gateway_provide_components__if" sourceRef="Task_send_order" targetRef="Gateway_provide_components__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_provide_components__if_end__Task_receive_order" sourceRef="Gateway_provide_components__if_end" targetRef="Task_receive_order" />
  <bpmn:sequenceFlow id="Flow_Task_receive_order__Gateway_amend_purchase_order__if" sourceRef="Task_receive_order" targetRef="Gateway_amend_purchase_order__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_confirmed__if__Task_amend_beyond_approval" sourceRef="Gateway_order_confirmed__if" targetRef="Task_amend_beyond_approval" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_confirmed__if__Task_close_short" sourceRef="Gateway_order_confirmed__if" targetRef="Task_close_short" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_confirmed__if__Task_finish_purchase_order" sourceRef="Gateway_order_confirmed__if" targetRef="Task_finish_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_confirmed__if__Task_cancel_purchase_order" sourceRef="Gateway_order_confirmed__if" targetRef="Task_cancel_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_amend_purchase_order__if_end__Gateway_order_confirmed__if" sourceRef="Gateway_amend_purchase_order__if_end" targetRef="Gateway_order_confirmed__if" />
  <bpmn:sequenceFlow id="Flow_Task_open_call_off__Task_send_order" sourceRef="Task_open_call_off" targetRef="Task_send_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_order_level__if__Task_approve_order_level" name="the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; not the buyer nor an earlier level's approver (email AND sub)" sourceRef="Gateway_approve_order_level__if" targetRef="Task_approve_order_level" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_order_level__if__Gateway_approve_order_level__if_end" name="otherwise" sourceRef="Gateway_approve_order_level__if" targetRef="Gateway_approve_order_level__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_approve_order_level__Gateway_approve_order_level__if_end" sourceRef="Task_approve_order_level" targetRef="Gateway_approve_order_level__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_to_approve__if__Task_approve_order" sourceRef="Gateway_order_to_approve__if" targetRef="Task_approve_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_to_approve__if__Task_reject_order" sourceRef="Gateway_order_to_approve__if" targetRef="Task_reject_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_to_approve__if__Task_cancel_purchase_order" sourceRef="Gateway_order_to_approve__if" targetRef="Task_cancel_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_order_level__if_end__Gateway_order_to_approve__if" sourceRef="Gateway_approve_order_level__if_end" targetRef="Gateway_order_to_approve__if" />
  <bpmn:sequenceFlow id="Flow_Task_submit_order__Gateway_approve_order_level__if" sourceRef="Task_submit_order" targetRef="Gateway_approve_order_level__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_approved__if__Task_confirm_purchase_order" sourceRef="Gateway_order_approved__if" targetRef="Task_confirm_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_order_approved__if__Task_cancel_purchase_order" sourceRef="Gateway_order_approved__if" targetRef="Task_cancel_purchase_order" />
  <bpmn:sequenceFlow id="Flow_Task_approve_order__Gateway_order_approved__if" sourceRef="Task_approve_order" targetRef="Gateway_order_approved__if" />
  <bpmn:sequenceFlow id="Flow_Task_reject_order__Task_price_lines" sourceRef="Task_reject_order" targetRef="Task_price_lines" />
  <bpmn:sequenceFlow id="Flow_Task_confirm_purchase_order__Task_send_order" sourceRef="Task_confirm_purchase_order" targetRef="Task_send_order" />
  <bpmn:sequenceFlow id="Flow_Task_amend_beyond_approval__Gateway_approve_order_level__if" sourceRef="Task_amend_beyond_approval" targetRef="Gateway_approve_order_level__if" />
  <bpmn:sequenceFlow id="Flow_Task_close_short__End_order_closed" sourceRef="Task_close_short" targetRef="End_order_closed" />
  <bpmn:sequenceFlow id="Flow_Task_finish_purchase_order__End_order_closed" sourceRef="Task_finish_purchase_order" targetRef="End_order_closed" />
  <bpmn:sequenceFlow id="Flow_Task_cancel_purchase_order__End_order_cancelled" sourceRef="Task_cancel_purchase_order" targetRef="End_order_cancelled" />
 </bpmn:process>
 <bpmndi:BPMNDiagram id="BPMNDiagram_purchasing_v8">
  <bpmndi:BPMNPlane id="BPMNPlane_purchasing_v8" bpmnElement="Collaboration_purchasing_v8">
   <bpmndi:BPMNShape id="Participant_purchasing_order_di" bpmnElement="Participant_purchasing_order" isHorizontal="true">
    <dc:Bounds x="0" y="0" width="2320" height="1300" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_order_buyer_di" bpmnElement="Lane_order_buyer" isHorizontal="true">
    <dc:Bounds x="30" y="0" width="2290" height="500" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_order_system_di" bpmnElement="Lane_order_system" isHorizontal="true">
    <dc:Bounds x="30" y="500" width="2290" height="140" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_order_spend_approver_di" bpmnElement="Lane_order_spend_approver" isHorizontal="true">
    <dc:Bounds x="30" y="640" width="2290" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_order_receiver_di" bpmnElement="Lane_order_receiver" isHorizontal="true">
    <dc:Bounds x="30" y="900" width="2290" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_order_supplier_di" bpmnElement="Lane_order_supplier" isHorizontal="true">
    <dc:Bounds x="30" y="1160" width="2290" height="140" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Start_order_di" bpmnElement="Start_order">
    <dc:Bounds x="157" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_raise_from_request_di" bpmnElement="Task_raise_from_request">
    <dc:Bounds x="465" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_draft_order_di" bpmnElement="Task_draft_order">
    <dc:Bounds x="465" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_raise_from_quote_di" bpmnElement="Task_raise_from_quote">
    <dc:Bounds x="465" y="260" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_raise_release_order_di" bpmnElement="Task_raise_release_order">
    <dc:Bounds x="465" y="380" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_open_call_off_di" bpmnElement="Task_open_call_off">
    <dc:Bounds x="465" y="520" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_price_lines_di" bpmnElement="Task_price_lines">
    <dc:Bounds x="635" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_accept_rounding_di" bpmnElement="Task_accept_rounding">
    <dc:Bounds x="975" y="660" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_order_level_di" bpmnElement="Task_approve_order_level">
    <dc:Bounds x="1655" y="660" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_submit_order_di" bpmnElement="Task_submit_order">
    <dc:Bounds x="1315" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_order_di" bpmnElement="Task_approve_order">
    <dc:Bounds x="1995" y="660" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_reject_order_di" bpmnElement="Task_reject_order">
    <dc:Bounds x="1995" y="780" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_confirm_purchase_order_di" bpmnElement="Task_confirm_purchase_order">
    <dc:Bounds x="1315" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_send_order_di" bpmnElement="Task_send_order">
    <dc:Bounds x="635" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_provide_components_di" bpmnElement="Task_provide_components">
    <dc:Bounds x="975" y="920" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_receive_order_di" bpmnElement="Task_receive_order">
    <dc:Bounds x="1145" y="1180" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_amend_purchase_order_di" bpmnElement="Task_amend_purchase_order">
    <dc:Bounds x="1485" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_amend_beyond_approval_di" bpmnElement="Task_amend_beyond_approval">
    <dc:Bounds x="1825" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_close_short_di" bpmnElement="Task_close_short">
    <dc:Bounds x="1825" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_finish_purchase_order_di" bpmnElement="Task_finish_purchase_order">
    <dc:Bounds x="1825" y="520" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_cancel_purchase_order_di" bpmnElement="Task_cancel_purchase_order">
    <dc:Bounds x="1315" y="260" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_order_none__if_di" bpmnElement="Gateway_order_none__if">
    <dc:Bounds x="320" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_accept_rounding__if_di" bpmnElement="Gateway_accept_rounding__if">
    <dc:Bounds x="830" y="675" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_accept_rounding__if_end_di" bpmnElement="Gateway_accept_rounding__if_end">
    <dc:Bounds x="1000" y="795" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_order_draft__if_di" bpmnElement="Gateway_order_draft__if">
    <dc:Bounds x="1170" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_provide_components__if_di" bpmnElement="Gateway_provide_components__if">
    <dc:Bounds x="830" y="935" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_provide_components__if_end_di" bpmnElement="Gateway_provide_components__if_end">
    <dc:Bounds x="1000" y="1055" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_amend_purchase_order__if_di" bpmnElement="Gateway_amend_purchase_order__if">
    <dc:Bounds x="1340" y="395" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_amend_purchase_order__if_end_di" bpmnElement="Gateway_amend_purchase_order__if_end">
    <dc:Bounds x="1510" y="155" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_order_confirmed__if_di" bpmnElement="Gateway_order_confirmed__if">
    <dc:Bounds x="1680" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_approve_order_level__if_di" bpmnElement="Gateway_approve_order_level__if">
    <dc:Bounds x="1510" y="675" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_approve_order_level__if_end_di" bpmnElement="Gateway_approve_order_level__if_end">
    <dc:Bounds x="1680" y="795" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_order_to_approve__if_di" bpmnElement="Gateway_order_to_approve__if">
    <dc:Bounds x="1850" y="675" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_order_approved__if_di" bpmnElement="Gateway_order_approved__if">
    <dc:Bounds x="2190" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_order_closed_di" bpmnElement="End_order_closed">
    <dc:Bounds x="2027" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_order_cancelled_di" bpmnElement="End_order_cancelled">
    <dc:Bounds x="1517" y="282" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_none__if__Task_raise_from_request_di" bpmnElement="Flow_Gateway_order_none__if__Task_raise_from_request">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="465" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_none__if__Task_draft_order_di" bpmnElement="Flow_Gateway_order_none__if__Task_draft_order">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="180" />
    <di:waypoint x="465" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_none__if__Task_raise_from_quote_di" bpmnElement="Flow_Gateway_order_none__if__Task_raise_from_quote">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="300" />
    <di:waypoint x="465" y="300" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_none__if__Task_raise_release_order_di" bpmnElement="Flow_Gateway_order_none__if__Task_raise_release_order">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="420" />
    <di:waypoint x="465" y="420" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_none__if__Task_open_call_off_di" bpmnElement="Flow_Gateway_order_none__if__Task_open_call_off">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="560" />
    <di:waypoint x="465" y="560" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Start_order__Gateway_order_none__if_di" bpmnElement="Flow_Start_order__Gateway_order_none__if">
    <di:waypoint x="193" y="60" />
    <di:waypoint x="320" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_accept_rounding__if__Task_accept_rounding_di" bpmnElement="Flow_Gateway_accept_rounding__if__Task_accept_rounding">
    <di:waypoint x="880" y="700" />
    <di:waypoint x="975" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_accept_rounding__if__Gateway_accept_rounding__if_end_di" bpmnElement="Flow_Gateway_accept_rounding__if__Gateway_accept_rounding__if_end">
    <di:waypoint x="880" y="700" />
    <di:waypoint x="975" y="700" />
    <di:waypoint x="975" y="820" />
    <di:waypoint x="1000" y="820" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_accept_rounding__Gateway_accept_rounding__if_end_di" bpmnElement="Flow_Task_accept_rounding__Gateway_accept_rounding__if_end">
    <di:waypoint x="1025" y="740" />
    <di:waypoint x="1025" y="860" />
    <di:waypoint x="1025" y="860" />
    <di:waypoint x="1025" y="845" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_price_lines__Gateway_accept_rounding__if_di" bpmnElement="Flow_Task_price_lines__Gateway_accept_rounding__if">
    <di:waypoint x="735" y="60" />
    <di:waypoint x="805" y="60" />
    <di:waypoint x="805" y="700" />
    <di:waypoint x="830" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_draft__if__Task_submit_order_di" bpmnElement="Flow_Gateway_order_draft__if__Task_submit_order">
    <di:waypoint x="1220" y="60" />
    <di:waypoint x="1315" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_draft__if__Task_confirm_purchase_order_di" bpmnElement="Flow_Gateway_order_draft__if__Task_confirm_purchase_order">
    <di:waypoint x="1220" y="60" />
    <di:waypoint x="1290" y="60" />
    <di:waypoint x="1290" y="180" />
    <di:waypoint x="1315" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_draft__if__Task_cancel_purchase_order_di" bpmnElement="Flow_Gateway_order_draft__if__Task_cancel_purchase_order">
    <di:waypoint x="1220" y="60" />
    <di:waypoint x="1290" y="60" />
    <di:waypoint x="1290" y="300" />
    <di:waypoint x="1315" y="300" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_accept_rounding__if_end__Gateway_order_draft__if_di" bpmnElement="Flow_Gateway_accept_rounding__if_end__Gateway_order_draft__if">
    <di:waypoint x="1050" y="820" />
    <di:waypoint x="1145" y="820" />
    <di:waypoint x="1145" y="60" />
    <di:waypoint x="1170" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_raise_from_request__Task_price_lines_di" bpmnElement="Flow_Task_raise_from_request__Task_price_lines">
    <di:waypoint x="565" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_draft_order__Task_price_lines_di" bpmnElement="Flow_Task_draft_order__Task_price_lines">
    <di:waypoint x="565" y="180" />
    <di:waypoint x="610" y="180" />
    <di:waypoint x="610" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_raise_from_quote__Task_price_lines_di" bpmnElement="Flow_Task_raise_from_quote__Task_price_lines">
    <di:waypoint x="565" y="300" />
    <di:waypoint x="610" y="300" />
    <di:waypoint x="610" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_raise_release_order__Task_price_lines_di" bpmnElement="Flow_Task_raise_release_order__Task_price_lines">
    <di:waypoint x="565" y="420" />
    <di:waypoint x="610" y="420" />
    <di:waypoint x="610" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_provide_components__if__Task_provide_components_di" bpmnElement="Flow_Gateway_provide_components__if__Task_provide_components">
    <di:waypoint x="880" y="960" />
    <di:waypoint x="975" y="960" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_provide_components__if__Gateway_provide_components__if_end_di" bpmnElement="Flow_Gateway_provide_components__if__Gateway_provide_components__if_end">
    <di:waypoint x="880" y="960" />
    <di:waypoint x="975" y="960" />
    <di:waypoint x="975" y="1080" />
    <di:waypoint x="1000" y="1080" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_provide_components__Gateway_provide_components__if_end_di" bpmnElement="Flow_Task_provide_components__Gateway_provide_components__if_end">
    <di:waypoint x="1025" y="1000" />
    <di:waypoint x="1025" y="1126" />
    <di:waypoint x="1025" y="1126" />
    <di:waypoint x="1025" y="1105" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_amend_purchase_order__if__Task_amend_purchase_order_di" bpmnElement="Flow_Gateway_amend_purchase_order__if__Task_amend_purchase_order">
    <di:waypoint x="1390" y="420" />
    <di:waypoint x="1460" y="420" />
    <di:waypoint x="1460" y="60" />
    <di:waypoint x="1485" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_amend_purchase_order__if__Gateway_amend_purchase_order__if_end_di" bpmnElement="Flow_Gateway_amend_purchase_order__if__Gateway_amend_purchase_order__if_end">
    <di:waypoint x="1390" y="420" />
    <di:waypoint x="1485" y="420" />
    <di:waypoint x="1485" y="180" />
    <di:waypoint x="1510" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_amend_purchase_order__Gateway_amend_purchase_order__if_end_di" bpmnElement="Flow_Task_amend_purchase_order__Gateway_amend_purchase_order__if_end">
    <di:waypoint x="1535" y="100" />
    <di:waypoint x="1535" y="232" />
    <di:waypoint x="1535" y="232" />
    <di:waypoint x="1535" y="205" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_send_order__Gateway_provide_components__if_di" bpmnElement="Flow_Task_send_order__Gateway_provide_components__if">
    <di:waypoint x="735" y="180" />
    <di:waypoint x="805" y="180" />
    <di:waypoint x="805" y="960" />
    <di:waypoint x="830" y="960" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_provide_components__if_end__Task_receive_order_di" bpmnElement="Flow_Gateway_provide_components__if_end__Task_receive_order">
    <di:waypoint x="1050" y="1080" />
    <di:waypoint x="1120" y="1080" />
    <di:waypoint x="1120" y="1220" />
    <di:waypoint x="1145" y="1220" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_receive_order__Gateway_amend_purchase_order__if_di" bpmnElement="Flow_Task_receive_order__Gateway_amend_purchase_order__if">
    <di:waypoint x="1245" y="1220" />
    <di:waypoint x="1315" y="1220" />
    <di:waypoint x="1315" y="420" />
    <di:waypoint x="1340" y="420" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_confirmed__if__Task_amend_beyond_approval_di" bpmnElement="Flow_Gateway_order_confirmed__if__Task_amend_beyond_approval">
    <di:waypoint x="1730" y="60" />
    <di:waypoint x="1825" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_confirmed__if__Task_close_short_di" bpmnElement="Flow_Gateway_order_confirmed__if__Task_close_short">
    <di:waypoint x="1730" y="60" />
    <di:waypoint x="1800" y="60" />
    <di:waypoint x="1800" y="180" />
    <di:waypoint x="1825" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_confirmed__if__Task_finish_purchase_order_di" bpmnElement="Flow_Gateway_order_confirmed__if__Task_finish_purchase_order">
    <di:waypoint x="1730" y="60" />
    <di:waypoint x="1800" y="60" />
    <di:waypoint x="1800" y="560" />
    <di:waypoint x="1825" y="560" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_confirmed__if__Task_cancel_purchase_order_di" bpmnElement="Flow_Gateway_order_confirmed__if__Task_cancel_purchase_order">
    <di:waypoint x="1705" y="85" />
    <di:waypoint x="1705" y="373" />
    <di:waypoint x="1365" y="373" />
    <di:waypoint x="1365" y="340" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_amend_purchase_order__if_end__Gateway_order_confirmed__if_di" bpmnElement="Flow_Gateway_amend_purchase_order__if_end__Gateway_order_confirmed__if">
    <di:waypoint x="1560" y="180" />
    <di:waypoint x="1655" y="180" />
    <di:waypoint x="1655" y="60" />
    <di:waypoint x="1680" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_open_call_off__Task_send_order_di" bpmnElement="Flow_Task_open_call_off__Task_send_order">
    <di:waypoint x="565" y="560" />
    <di:waypoint x="610" y="560" />
    <di:waypoint x="610" y="180" />
    <di:waypoint x="635" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_order_level__if__Task_approve_order_level_di" bpmnElement="Flow_Gateway_approve_order_level__if__Task_approve_order_level">
    <di:waypoint x="1560" y="700" />
    <di:waypoint x="1655" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_order_level__if__Gateway_approve_order_level__if_end_di" bpmnElement="Flow_Gateway_approve_order_level__if__Gateway_approve_order_level__if_end">
    <di:waypoint x="1560" y="700" />
    <di:waypoint x="1655" y="700" />
    <di:waypoint x="1655" y="820" />
    <di:waypoint x="1680" y="820" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_order_level__Gateway_approve_order_level__if_end_di" bpmnElement="Flow_Task_approve_order_level__Gateway_approve_order_level__if_end">
    <di:waypoint x="1705" y="740" />
    <di:waypoint x="1705" y="860" />
    <di:waypoint x="1705" y="860" />
    <di:waypoint x="1705" y="845" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_to_approve__if__Task_approve_order_di" bpmnElement="Flow_Gateway_order_to_approve__if__Task_approve_order">
    <di:waypoint x="1900" y="700" />
    <di:waypoint x="1995" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_to_approve__if__Task_reject_order_di" bpmnElement="Flow_Gateway_order_to_approve__if__Task_reject_order">
    <di:waypoint x="1900" y="700" />
    <di:waypoint x="1970" y="700" />
    <di:waypoint x="1970" y="820" />
    <di:waypoint x="1995" y="820" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_to_approve__if__Task_cancel_purchase_order_di" bpmnElement="Flow_Gateway_order_to_approve__if__Task_cancel_purchase_order">
    <di:waypoint x="1875" y="725" />
    <di:waypoint x="1875" y="746" />
    <di:waypoint x="1365" y="746" />
    <di:waypoint x="1365" y="340" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_order_level__if_end__Gateway_order_to_approve__if_di" bpmnElement="Flow_Gateway_approve_order_level__if_end__Gateway_order_to_approve__if">
    <di:waypoint x="1730" y="820" />
    <di:waypoint x="1825" y="820" />
    <di:waypoint x="1825" y="700" />
    <di:waypoint x="1850" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_submit_order__Gateway_approve_order_level__if_di" bpmnElement="Flow_Task_submit_order__Gateway_approve_order_level__if">
    <di:waypoint x="1415" y="60" />
    <di:waypoint x="1485" y="60" />
    <di:waypoint x="1485" y="700" />
    <di:waypoint x="1510" y="700" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_approved__if__Task_confirm_purchase_order_di" bpmnElement="Flow_Gateway_order_approved__if__Task_confirm_purchase_order">
    <di:waypoint x="2215" y="85" />
    <di:waypoint x="2215" y="247" />
    <di:waypoint x="1365" y="247" />
    <di:waypoint x="1365" y="220" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_order_approved__if__Task_cancel_purchase_order_di" bpmnElement="Flow_Gateway_order_approved__if__Task_cancel_purchase_order">
    <di:waypoint x="2215" y="85" />
    <di:waypoint x="2215" y="373" />
    <di:waypoint x="1365" y="373" />
    <di:waypoint x="1365" y="340" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_order__Gateway_order_approved__if_di" bpmnElement="Flow_Task_approve_order__Gateway_order_approved__if">
    <di:waypoint x="2095" y="700" />
    <di:waypoint x="2165" y="700" />
    <di:waypoint x="2165" y="60" />
    <di:waypoint x="2190" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_reject_order__Task_price_lines_di" bpmnElement="Flow_Task_reject_order__Task_price_lines">
    <di:waypoint x="2045" y="860" />
    <di:waypoint x="2045" y="875" />
    <di:waypoint x="685" y="875" />
    <di:waypoint x="685" y="100" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_confirm_purchase_order__Task_send_order_di" bpmnElement="Flow_Task_confirm_purchase_order__Task_send_order">
    <di:waypoint x="1365" y="220" />
    <di:waypoint x="1365" y="241" />
    <di:waypoint x="685" y="241" />
    <di:waypoint x="685" y="220" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_amend_beyond_approval__Gateway_approve_order_level__if_di" bpmnElement="Flow_Task_amend_beyond_approval__Gateway_approve_order_level__if">
    <di:waypoint x="1875" y="100" />
    <di:waypoint x="1875" y="752" />
    <di:waypoint x="1535" y="752" />
    <di:waypoint x="1535" y="725" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_close_short__End_order_closed_di" bpmnElement="Flow_Task_close_short__End_order_closed">
    <di:waypoint x="1925" y="180" />
    <di:waypoint x="2002" y="180" />
    <di:waypoint x="2002" y="60" />
    <di:waypoint x="2027" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_finish_purchase_order__End_order_closed_di" bpmnElement="Flow_Task_finish_purchase_order__End_order_closed">
    <di:waypoint x="1925" y="560" />
    <di:waypoint x="2002" y="560" />
    <di:waypoint x="2002" y="60" />
    <di:waypoint x="2027" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_cancel_purchase_order__End_order_cancelled_di" bpmnElement="Flow_Task_cancel_purchase_order__End_order_cancelled">
    <di:waypoint x="1415" y="300" />
    <di:waypoint x="1517" y="300" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNShape id="Participant_supplier_di" bpmnElement="Participant_supplier" isHorizontal="true">
    <dc:Bounds x="0" y="1340" width="2320" height="60" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNEdge id="Flow_Participant_supplier__Task_receive_order_di" bpmnElement="Flow_Participant_supplier__Task_receive_order">
    <di:waypoint x="1195" y="1340" />
    <di:waypoint x="1195" y="1260" />
   </bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane>
 </bpmndi:BPMNDiagram>
</bpmn:definitions>