<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions
  xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
  targetNamespace="http://bpmn.io/schema/bpmn"
  id="Definitions_1" 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">
  <bpmn:collaboration id="Collaboration_1">
    <bpmn:participant id="Participant_1" name="Procure-to-Pay Process" processRef="Process_1"/>
  </bpmn:collaboration>
  <bpmn:process id="Process_1" isExecutable="false">
    <bpmn:laneSet id="LaneSet_1">
      <bpmn:lane id="Lane_Requester" name="Requester">
        <bpmn:flowNodeRef>StartEvent_RequisitionRaised</bpmn:flowNodeRef>
        <bpmn:flowNodeRef>UserTask_RaiseRequisition</bpmn:flowNodeRef>
      </bpmn:lane>
      <bpmn:lane id="Lane_Manager" name="Manager">
        <bpmn:flowNodeRef>UserTask_ApproveRequisition</bpmn:flowNodeRef>
      </bpmn:lane>
      <bpmn:lane id="Lane_Finance" name="Finance">
        <bpmn:flowNodeRef>Gateway_WithinBudget</bpmn:flowNodeRef>
        <bpmn:flowNodeRef>Gateway_ThreeWayMatch</bpmn:flowNodeRef>
        <bpmn:flowNodeRef>UserTask_InvestigateDiscrepancy</bpmn:flowNodeRef>
        <bpmn:flowNodeRef>ServiceTask_PaySupplier</bpmn:flowNodeRef>
        <bpmn:flowNodeRef>EndEvent_PaymentComplete</bpmn:flowNodeRef>
      </bpmn:lane>
      <bpmn:lane id="Lane_Procurement" name="Procurement">
        <bpmn:flowNodeRef>ServiceTask_IssuePO</bpmn:flowNodeRef>
      </bpmn:lane>
      <bpmn:lane id="Lane_Supplier" name="Supplier">
        <bpmn:flowNodeRef>UserTask_DeliverGoods</bpmn:flowNodeRef>
      </bpmn:lane>
      <bpmn:lane id="Lane_Warehouse" name="Warehouse">
        <bpmn:flowNodeRef>UserTask_RecordGoodsReceipt</bpmn:flowNodeRef>
      </bpmn:lane>
    </bpmn:laneSet>

    <bpmn:startEvent id="StartEvent_RequisitionRaised" name="Requisition Raised">
      <bpmn:outgoing>SequenceFlow_ReqToRaise</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:userTask id="UserTask_RaiseRequisition" name="Raise Requisition">
      <bpmn:incoming>SequenceFlow_ReqToRaise</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_RaiseToApprove</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="UserTask_ApproveRequisition" name="Approve Requisition">
      <bpmn:incoming>SequenceFlow_RaiseToApprove</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_ApproveToBudget</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:exclusiveGateway id="Gateway_WithinBudget" name="Within Budget?" gatewayDirection="Diverging">
      <bpmn:incoming>SequenceFlow_ApproveToBudget</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_BudgetYesToPO</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_BudgetNoToEnd</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:serviceTask id="ServiceTask_IssuePO" name="Issue Purchase Order">
      <bpmn:incoming>SequenceFlow_BudgetYesToPO</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_POtoSupplier</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:userTask id="UserTask_DeliverGoods" name="Deliver Goods">
      <bpmn:incoming>SequenceFlow_POtoSupplier</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_SupplierToWarehouse</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="UserTask_RecordGoodsReceipt" name="Record Goods Receipt">
      <bpmn:incoming>SequenceFlow_SupplierToWarehouse</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_WarehouseToMatch</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:exclusiveGateway id="Gateway_ThreeWayMatch" name="Three-Way Match OK?" gatewayDirection="Diverging">
      <bpmn:incoming>SequenceFlow_WarehouseToMatch</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_MatchYesToPay</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_MatchNoToInvestigate</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:userTask id="UserTask_InvestigateDiscrepancy" name="Investigate Discrepancy">
      <bpmn:incoming>SequenceFlow_MatchNoToInvestigate</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_InvestigateToMatch</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:serviceTask id="ServiceTask_PaySupplier" name="Pay Supplier">
      <bpmn:incoming>SequenceFlow_MatchYesToPay</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_InvestigateToMatch</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_PayToEnd</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:endEvent id="EndEvent_PaymentComplete" name="Payment Complete">
      <bpmn:incoming>SequenceFlow_PayToEnd</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_BudgetNoToEnd</bpmn:incoming>
    </bpmn:endEvent>

    <bpmn:sequenceFlow id="SequenceFlow_ReqToRaise" sourceRef="StartEvent_RequisitionRaised" targetRef="UserTask_RaiseRequisition"/>
    <bpmn:sequenceFlow id="SequenceFlow_RaiseToApprove" sourceRef="UserTask_RaiseRequisition" targetRef="UserTask_ApproveRequisition"/>
    <bpmn:sequenceFlow id="SequenceFlow_ApproveToBudget" sourceRef="UserTask_ApproveRequisition" targetRef="Gateway_WithinBudget"/>
    <bpmn:sequenceFlow id="SequenceFlow_BudgetYesToPO" sourceRef="Gateway_WithinBudget" targetRef="ServiceTask_IssuePO" name="Yes"/>
    <bpmn:sequenceFlow id="SequenceFlow_BudgetNoToEnd" sourceRef="Gateway_WithinBudget" targetRef="EndEvent_PaymentComplete" name="No"/>
    <bpmn:sequenceFlow id="SequenceFlow_POtoSupplier" sourceRef="ServiceTask_IssuePO" targetRef="UserTask_DeliverGoods"/>
    <bpmn:sequenceFlow id="SequenceFlow_SupplierToWarehouse" sourceRef="UserTask_DeliverGoods" targetRef="UserTask_RecordGoodsReceipt"/>
    <bpmn:sequenceFlow id="SequenceFlow_WarehouseToMatch" sourceRef="UserTask_RecordGoodsReceipt" targetRef="Gateway_ThreeWayMatch"/>
    <bpmn:sequenceFlow id="SequenceFlow_MatchYesToPay" sourceRef="Gateway_ThreeWayMatch" targetRef="ServiceTask_PaySupplier" name="Yes"/>
    <bpmn:sequenceFlow id="SequenceFlow_MatchNoToInvestigate" sourceRef="Gateway_ThreeWayMatch" targetRef="UserTask_InvestigateDiscrepancy" name="No"/>
    <bpmn:sequenceFlow id="SequenceFlow_InvestigateToMatch" sourceRef="UserTask_InvestigateDiscrepancy" targetRef="ServiceTask_PaySupplier"/>
    <bpmn:sequenceFlow id="SequenceFlow_PayToEnd" sourceRef="ServiceTask_PaySupplier" targetRef="EndEvent_PaymentComplete"/>
  </bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
  <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1">
    <bpmndi:BPMNShape id="BPMNShape_Participant_1" bpmnElement="Participant_1" isHorizontal="true">
      <dc:Bounds x="0" y="0" width="1940" height="1324"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Requester" bpmnElement="Lane_Requester" isHorizontal="true">
      <dc:Bounds x="30" y="0" width="1910" height="200"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Manager" bpmnElement="Lane_Manager" isHorizontal="true">
      <dc:Bounds x="30" y="200" width="1910" height="200"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Finance" bpmnElement="Lane_Finance" isHorizontal="true">
      <dc:Bounds x="30" y="400" width="1910" height="324"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Procurement" bpmnElement="Lane_Procurement" isHorizontal="true">
      <dc:Bounds x="30" y="724" width="1910" height="200"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Supplier" bpmnElement="Lane_Supplier" isHorizontal="true">
      <dc:Bounds x="30" y="924" width="1910" height="200"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Lane_Warehouse" bpmnElement="Lane_Warehouse" isHorizontal="true">
      <dc:Bounds x="30" y="1124" width="1910" height="200"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Gateway_WithinBudget" bpmnElement="Gateway_WithinBudget">
      <dc:Bounds x="785" y="510" width="50" height="50"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_Gateway_ThreeWayMatch" bpmnElement="Gateway_ThreeWayMatch">
      <dc:Bounds x="1585" y="510" width="50" height="50"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_StartEvent_RequisitionRaised" bpmnElement="StartEvent_RequisitionRaised">
      <dc:Bounds x="192" y="82" width="36" height="36"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_EndEvent_PaymentComplete" bpmnElement="EndEvent_PaymentComplete">
      <dc:Bounds x="992" y="517" width="36" height="36"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_UserTask_RaiseRequisition" bpmnElement="UserTask_RaiseRequisition">
      <dc:Bounds x="360" y="60" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_UserTask_ApproveRequisition" bpmnElement="UserTask_ApproveRequisition">
      <dc:Bounds x="560" y="260" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_UserTask_DeliverGoods" bpmnElement="UserTask_DeliverGoods">
      <dc:Bounds x="1160" y="984" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_UserTask_RecordGoodsReceipt" bpmnElement="UserTask_RecordGoodsReceipt">
      <dc:Bounds x="1360" y="1184" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_UserTask_InvestigateDiscrepancy" bpmnElement="UserTask_InvestigateDiscrepancy">
      <dc:Bounds x="1760" y="440" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_ServiceTask_IssuePO" bpmnElement="ServiceTask_IssuePO">
      <dc:Bounds x="960" y="784" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="BPMNShape_ServiceTask_PaySupplier" bpmnElement="ServiceTask_PaySupplier">
      <dc:Bounds x="1760" y="550" width="100" height="80"/>
    </bpmndi:BPMNShape>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_ReqToRaise" bpmnElement="SequenceFlow_ReqToRaise">
      <di:waypoint x="228" y="100"/>
      <di:waypoint x="360" y="100"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_RaiseToApprove" bpmnElement="SequenceFlow_RaiseToApprove">
      <di:waypoint x="410" y="140"/>
      <di:waypoint x="410" y="300"/>
      <di:waypoint x="560" y="300"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_ApproveToBudget" bpmnElement="SequenceFlow_ApproveToBudget">
      <di:waypoint x="610" y="340"/>
      <di:waypoint x="610" y="535"/>
      <di:waypoint x="785" y="535"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_BudgetYesToPO" bpmnElement="SequenceFlow_BudgetYesToPO">
      <di:waypoint x="810" y="560"/>
      <di:waypoint x="810" y="824"/>
      <di:waypoint x="960" y="824"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_BudgetNoToEnd" bpmnElement="SequenceFlow_BudgetNoToEnd">
      <di:waypoint x="835" y="535"/>
      <di:waypoint x="992" y="535"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_POtoSupplier" bpmnElement="SequenceFlow_POtoSupplier">
      <di:waypoint x="1010" y="864"/>
      <di:waypoint x="1010" y="1024"/>
      <di:waypoint x="1160" y="1024"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_SupplierToWarehouse" bpmnElement="SequenceFlow_SupplierToWarehouse">
      <di:waypoint x="1210" y="1064"/>
      <di:waypoint x="1210" y="1224"/>
      <di:waypoint x="1360" y="1224"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_WarehouseToMatch" bpmnElement="SequenceFlow_WarehouseToMatch">
      <di:waypoint x="1410" y="1184"/>
      <di:waypoint x="1410" y="535"/>
      <di:waypoint x="1585" y="535"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_MatchYesToPay" bpmnElement="SequenceFlow_MatchYesToPay">
      <di:waypoint x="1635" y="535"/>
      <di:waypoint x="1698" y="535"/>
      <di:waypoint x="1698" y="590"/>
      <di:waypoint x="1760" y="590"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_MatchNoToInvestigate" bpmnElement="SequenceFlow_MatchNoToInvestigate">
      <di:waypoint x="1635" y="535"/>
      <di:waypoint x="1698" y="535"/>
      <di:waypoint x="1698" y="480"/>
      <di:waypoint x="1760" y="480"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_InvestigateToMatch" bpmnElement="SequenceFlow_InvestigateToMatch">
      <di:waypoint x="1810" y="520"/>
      <di:waypoint x="1810" y="648"/>
      <di:waypoint x="1810" y="648"/>
      <di:waypoint x="1810" y="630"/>
    </bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_PayToEnd" bpmnElement="SequenceFlow_PayToEnd">
      <di:waypoint x="1810" y="630"/>
      <di:waypoint x="1810" y="666"/>
      <di:waypoint x="1010" y="666"/>
      <di:waypoint x="1010" y="553"/>
    </bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>