dodil/erp-method
modules/ar/process.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_ar_v2" name="Invoicing processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
<bpmn:collaboration id="Collaboration_ar_v2">
<bpmn:documentation>Invoicing: one pool per entity lifecycle, generated from module.yaml.</bpmn:documentation>
<bpmn:participant id="Participant_ar_schedule" name="Schedule" processRef="Process_ar_schedule_v2" />
<bpmn:participant id="Participant_ar_invoice" name="Invoice" processRef="Process_ar_invoice_v2" />
<bpmn:participant id="Participant_ar_credit_note" name="Credit note" processRef="Process_ar_credit_note_v2" />
<bpmn:participant id="Participant_ar_writeoff" name="Writeoff" processRef="Process_ar_writeoff_v2" />
<bpmn:participant id="Participant_customer" name="The customer (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_customer__Task_receive_invoice" sourceRef="Participant_customer" targetRef="Task_receive_invoice" />
<bpmn:messageFlow id="Flow_Participant_customer__Task_pay" sourceRef="Participant_customer" targetRef="Task_pay" />
</bpmn:collaboration>
<bpmn:process id="Process_ar_schedule_v2" name="Schedule" isExecutable="false">
<bpmn:documentation>Lifecycle of the schedule, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: active, finished, stopped. Note: which period is due, how many are billed and what remains are DERIVED from starts_on, periods and the invoices raised; nothing increments a counter</bpmn:documentation>
<bpmn:laneSet id="LaneSet_schedule">
<bpmn:lane id="Lane_schedule_system" name="The system">
<bpmn:flowNodeRef>Start_schedule</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_plan_billing</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_finish_schedule</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_stop_billing</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_schedule_active__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_schedule_finished</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_schedule_stopped</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_schedule" name="Schedule needed">
<bpmn:outgoing>Flow_Start_schedule__Task_plan_billing</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:serviceTask id="Task_plan_billing" name="Create a schedule for the sold line" dodil:step="plan_billing" implementation="##unspecified">
<bpmn:documentation>By: The system. From none to active. When: a source confirmed a recurring, instalment or usage line. Effect: one schedule per line, keyed <source_id>|<line_id>.</bpmn:documentation>
<bpmn:incoming>Flow_Start_schedule__Task_plan_billing</bpmn:incoming>
<bpmn:outgoing>Flow_Task_plan_billing__Gateway_schedule_active__if</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Task_finish_schedule" name="Finish the schedule" dodil:step="finish_schedule" implementation="##unspecified">
<bpmn:documentation>By: The system. From active to finished. When: every period raised.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_schedule_active__if__Task_finish_schedule</bpmn:incoming>
<bpmn:outgoing>Flow_Task_finish_schedule__End_schedule_finished</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Task_stop_billing" name="Stop billing after the current period" dodil:step="stop_billing" implementation="##unspecified">
<bpmn:documentation>By: The system. From active to stopped. When: the source ended early (AR-28). Effect: issued invoices are untouched.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_schedule_active__if__Task_stop_billing</bpmn:incoming>
<bpmn:outgoing>Flow_Task_stop_billing__End_schedule_stopped</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:exclusiveGateway id="Gateway_schedule_active__if" name="Schedule active: what next?">
<bpmn:incoming>Flow_Task_plan_billing__Gateway_schedule_active__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_schedule_active__if__Task_finish_schedule</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_schedule_active__if__Task_stop_billing</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_schedule_finished" name="Schedule finished">
<bpmn:incoming>Flow_Task_finish_schedule__End_schedule_finished</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="End_schedule_stopped" name="Schedule stopped">
<bpmn:incoming>Flow_Task_stop_billing__End_schedule_stopped</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_Start_schedule__Task_plan_billing" sourceRef="Start_schedule" targetRef="Task_plan_billing" />
<bpmn:sequenceFlow id="Flow_Gateway_schedule_active__if__Task_finish_schedule" sourceRef="Gateway_schedule_active__if" targetRef="Task_finish_schedule" />
<bpmn:sequenceFlow id="Flow_Gateway_schedule_active__if__Task_stop_billing" sourceRef="Gateway_schedule_active__if" targetRef="Task_stop_billing" />
<bpmn:sequenceFlow id="Flow_Task_plan_billing__Gateway_schedule_active__if" sourceRef="Task_plan_billing" targetRef="Gateway_schedule_active__if" />
<bpmn:sequenceFlow id="Flow_Task_finish_schedule__End_schedule_finished" sourceRef="Task_finish_schedule" targetRef="End_schedule_finished" />
<bpmn:sequenceFlow id="Flow_Task_stop_billing__End_schedule_stopped" sourceRef="Task_stop_billing" targetRef="End_schedule_stopped" />
</bpmn:process>
<bpmn:process id="Process_ar_invoice_v2" name="Invoice" isExecutable="false">
<bpmn:documentation>Lifecycle of the invoice, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, issued, void, cancelled. Note: SETTLEMENT is derived, never stored: outstanding = total - SUM(allocations of payments, credit notes and write-offs), computed by payments; open, part paid, paid and written off follow from it, so there is no "paid" state to set.</bpmn:documentation>
<bpmn:laneSet id="LaneSet_invoice">
<bpmn:lane id="Lane_invoice_system" name="The system">
<bpmn:flowNodeRef>Start_invoice</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_raise_due</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_raise_due</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_raise_from_order</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_raise_for_acceptance</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_ai_check_draft</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_post_to_ledger</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_invoice_none__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_check_draft__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_check_draft__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_post_to_ledger__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_post_to_ledger__if_end</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_invoice_biller" name="Whoever sends the invoices (office, bookkeeper)">
<bpmn:flowNodeRef>Task_draft_invoice</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_review_draft</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_fill_usage</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_cancel</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_issue</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_send</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_export</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_fill_usage__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_fill_usage__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_invoice_draft__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_invoice_cancelled</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_export__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_export__if_end</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_invoice_customer" name="The customer (external)">
<bpmn:flowNodeRef>Task_receive_invoice</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_pay</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_invoice_collector" name="Whoever chases money and records it">
<bpmn:flowNodeRef>Task_chase</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Timer_chase</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_record_payment</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_chase__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_chase__if_end</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_invoice_approver" name="Owner / finance manager">
<bpmn:flowNodeRef>Task_void_invoice</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_invoice_issued__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_invoice_issued</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_invoice_void</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_invoice" name="Invoice needed">
<bpmn:outgoing>Flow_Start_invoice__Gateway_invoice_none__if</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:serviceTask id="Task_raise_due" name="Raise this period's draft" dodil:step="raise_due" implementation="##unspecified">
<bpmn:documentation>By: The system. From none to draft. When: a schedule period is due. Effect: keyed rec:schedule:period, so a second run makes nothing. Waits: the billing day of the period.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_raise_due__Task_raise_due</bpmn:incoming>
<bpmn:outgoing>Flow_Task_raise_due__Gateway_ai_check_draft__if</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:intermediateCatchEvent id="Timer_raise_due" name="the billing day of the period">
<bpmn:incoming>Flow_Gateway_invoice_none__if__Timer_raise_due</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_raise_due__Task_raise_due</bpmn:outgoing>
<bpmn:timerEventDefinition id="Timer_raise_due__definition">
<bpmn:timeDuration xsi:type="bpmn:tFormalExpression">the billing day of the period</bpmn:timeDuration>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:serviceTask id="Task_raise_from_order" name="Raise the draft the order asked for" dodil:step="raise_from_order" implementation="##unspecified">
<bpmn:documentation>By: The system. From none to draft. When: a source called raise_draft (an order, a deposit, an adapter). Effect: keyed on the source; lines keep their source keys.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_none__if__Task_raise_from_order</bpmn:incoming>
<bpmn:outgoing>Flow_Task_raise_from_order__Gateway_ai_check_draft__if</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Task_raise_for_acceptance" name="Raise the draft for the accepted item" dodil:step="raise_for_acceptance" implementation="##unspecified">
<bpmn:documentation>By: The system. From none to draft. When: an item was accepted (AR-29). Effect: keyed acc:item.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_none__if__Task_raise_for_acceptance</bpmn:incoming>
<bpmn:outgoing>Flow_Task_raise_for_acceptance__Gateway_ai_check_draft__if</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:userTask id="Task_draft_invoice" name="Raise an invoice by hand" dodil:step="draft_invoice">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From none to draft. When: work with no order (AR-02). Effect: totals and tax computed, never typed.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_none__if__Task_draft_invoice</bpmn:incoming>
<bpmn:outgoing>Flow_Task_draft_invoice__Gateway_ai_check_draft__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:serviceTask id="Task_ai_check_draft" name="AI checks the draft before issue (suggest)" dodil:step="ai_check_draft" implementation="##unspecified">
<bpmn:documentation>By: The system. From draft to draft. When: the pre-issue check is on. Effect: unusual amounts, a missing PO, an odd tax code or a duplicate of last month listed for the biller.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_ai_check_draft__if__Task_ai_check_draft</bpmn:incoming>
<bpmn:outgoing>Flow_Task_ai_check_draft__Gateway_ai_check_draft__if_end</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:userTask id="Task_review_draft" name="Review the draft" dodil:step="review_draft">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From draft to draft. Effect: drafts are not issued automatically unless the setting says so for the source.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_ai_check_draft__if_end__Task_review_draft</bpmn:incoming>
<bpmn:outgoing>Flow_Task_review_draft__Gateway_fill_usage__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_fill_usage" name="Enter the period's usage" dodil:step="fill_usage">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From draft to draft. When: the draft has a usage line.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_fill_usage__if__Task_fill_usage</bpmn:incoming>
<bpmn:outgoing>Flow_Task_fill_usage__Gateway_fill_usage__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_cancel" name="Cancel the draft" dodil:step="cancel">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From draft to cancelled. Effect: no number used; a zero-usage period ends here.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_draft__if__Task_cancel</bpmn:incoming>
<bpmn:outgoing>Flow_Task_cancel__End_invoice_cancelled</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_issue" name="Issue the invoice" dodil:step="issue">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From draft to issued. When: at least one line; usage filled in; the customer has a bill-to address and terms; the tax content check passes. Effect: numbered; due date from the terms; tax and bill-to frozen.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_draft__if__Task_issue</bpmn:incoming>
<bpmn:outgoing>Flow_Task_issue__Gateway_post_to_ledger__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:serviceTask id="Task_post_to_ledger" name="Post to the ledger" dodil:step="post_to_ledger" implementation="##unspecified">
<bpmn:documentation>By: The system. From issued to issued. When: the ledger mode is post. Effect: a balanced journal keyed on the invoice.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_post_to_ledger__if__Task_post_to_ledger</bpmn:incoming>
<bpmn:outgoing>Flow_Task_post_to_ledger__Gateway_post_to_ledger__if_end</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:userTask id="Task_send" name="Send it (a person presses Send)" dodil:step="send">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From issued to issued. Effect: the send recorded; delivery tracked by the mail capability.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_post_to_ledger__if_end__Task_send</bpmn:incoming>
<bpmn:outgoing>Flow_Task_send__Task_receive_invoice</bpmn:outgoing>
</bpmn:userTask>
<bpmn:receiveTask id="Task_receive_invoice" name="Receive the invoice" dodil:step="receive_invoice" dodil:external="true">
<bpmn:documentation>By: The customer. From issued to issued. Done outside the system: the process waits for it.</bpmn:documentation>
<bpmn:incoming>Flow_Task_send__Task_receive_invoice</bpmn:incoming>
<bpmn:outgoing>Flow_Task_receive_invoice__Gateway_chase__if</bpmn:outgoing>
</bpmn:receiveTask>
<bpmn:userTask id="Task_chase" name="Chase by hand" dodil:step="chase">
<bpmn:documentation>By: Whoever chases money and records it. From issued to issued. When: overdue and outstanding above zero, and reminders are by hand. Waits: the due date passes unpaid.</bpmn:documentation>
<bpmn:incoming>Flow_Timer_chase__Task_chase</bpmn:incoming>
<bpmn:outgoing>Flow_Task_chase__Gateway_chase__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:intermediateCatchEvent id="Timer_chase" name="the due date passes unpaid">
<bpmn:incoming>Flow_Gateway_chase__if__Timer_chase</bpmn:incoming>
<bpmn:outgoing>Flow_Timer_chase__Task_chase</bpmn:outgoing>
<bpmn:timerEventDefinition id="Timer_chase__definition">
<bpmn:timeDuration xsi:type="bpmn:tFormalExpression">the due date passes unpaid</bpmn:timeDuration>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
<bpmn:receiveTask id="Task_pay" name="Pay" dodil:step="pay" dodil:external="true">
<bpmn:documentation>By: The customer. From issued to issued. Done outside the system: the process waits for it.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_chase__if_end__Task_pay</bpmn:incoming>
<bpmn:outgoing>Flow_Task_pay__Task_record_payment</bpmn:outgoing>
</bpmn:receiveTask>
<bpmn:userTask id="Task_record_payment" name="Record the receipt and what it settles" dodil:step="record_payment">
<bpmn:documentation>By: Whoever chases money and records it. From issued to issued. Effect: in payments: the receipt and its allocations; outstanding is derived.</bpmn:documentation>
<bpmn:incoming>Flow_Task_pay__Task_record_payment</bpmn:incoming>
<bpmn:outgoing>Flow_Task_record_payment__Gateway_export__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_export" name="Include in the monthly export to the accountant" dodil:step="export">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From issued to issued. When: the ledger mode is export. Effect: in one export batch, once.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_export__if__Task_export</bpmn:incoming>
<bpmn:outgoing>Flow_Task_export__Gateway_export__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_void_invoice" name="Void the invoice" dodil:step="void_invoice" dodil:approval="true">
<bpmn:documentation>By: Owner / finance manager. From issued to void. When: no allocations, and voiding is allowed. Requires: reason. Effect: drops out of every balance; reversing journal in post mode. An approval.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_invoice_issued__if__Task_void_invoice</bpmn:incoming>
<bpmn:outgoing>Flow_Task_void_invoice__End_invoice_void</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_invoice_none__if" name="New invoice?">
<bpmn:incoming>Flow_Start_invoice__Gateway_invoice_none__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_invoice_none__if__Timer_raise_due</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_invoice_none__if__Task_raise_from_order</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_invoice_none__if__Task_raise_for_acceptance</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_invoice_none__if__Task_draft_invoice</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_check_draft__if" name="the pre-issue check is on?">
<bpmn:incoming>Flow_Task_raise_due__Gateway_ai_check_draft__if</bpmn:incoming>
<bpmn:incoming>Flow_Task_raise_from_order__Gateway_ai_check_draft__if</bpmn:incoming>
<bpmn:incoming>Flow_Task_raise_for_acceptance__Gateway_ai_check_draft__if</bpmn:incoming>
<bpmn:incoming>Flow_Task_draft_invoice__Gateway_ai_check_draft__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_check_draft__if__Task_ai_check_draft</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_ai_check_draft__if__Gateway_ai_check_draft__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_check_draft__if_end">
<bpmn:incoming>Flow_Gateway_ai_check_draft__if__Gateway_ai_check_draft__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_ai_check_draft__Gateway_ai_check_draft__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_check_draft__if_end__Task_review_draft</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_fill_usage__if" name="the draft has a usage line?">
<bpmn:incoming>Flow_Task_review_draft__Gateway_fill_usage__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_fill_usage__if__Task_fill_usage</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_fill_usage__if__Gateway_fill_usage__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_fill_usage__if_end">
<bpmn:incoming>Flow_Gateway_fill_usage__if__Gateway_fill_usage__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_fill_usage__Gateway_fill_usage__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_fill_usage__if_end__Gateway_invoice_draft__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_invoice_draft__if" name="Invoice draft: what next?">
<bpmn:incoming>Flow_Gateway_fill_usage__if_end__Gateway_invoice_draft__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_invoice_draft__if__Task_cancel</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_invoice_draft__if__Task_issue</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_invoice_cancelled" name="Invoice cancelled">
<bpmn:incoming>Flow_Task_cancel__End_invoice_cancelled</bpmn:incoming>
</bpmn:endEvent>
<bpmn:exclusiveGateway id="Gateway_post_to_ledger__if" name="the ledger mode is post?">
<bpmn:incoming>Flow_Task_issue__Gateway_post_to_ledger__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_post_to_ledger__if__Task_post_to_ledger</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_post_to_ledger__if__Gateway_post_to_ledger__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_post_to_ledger__if_end">
<bpmn:incoming>Flow_Gateway_post_to_ledger__if__Gateway_post_to_ledger__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_post_to_ledger__Gateway_post_to_ledger__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_post_to_ledger__if_end__Task_send</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_chase__if" name="overdue and outstanding above zero, and reminders are by hand?">
<bpmn:incoming>Flow_Task_receive_invoice__Gateway_chase__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_chase__if__Timer_chase</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_chase__if__Gateway_chase__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_chase__if_end">
<bpmn:incoming>Flow_Gateway_chase__if__Gateway_chase__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_chase__Gateway_chase__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_chase__if_end__Task_pay</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_export__if" name="the ledger mode is export?">
<bpmn:incoming>Flow_Task_record_payment__Gateway_export__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_export__if__Task_export</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_export__if__Gateway_export__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_export__if_end">
<bpmn:incoming>Flow_Gateway_export__if__Gateway_export__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_export__Gateway_export__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_export__if_end__Gateway_invoice_issued__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_invoice_issued__if" name="Invoice issued: done, or go on?">
<bpmn:incoming>Flow_Gateway_export__if_end__Gateway_invoice_issued__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_invoice_issued__if__Task_void_invoice</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_invoice_issued__if__End_invoice_issued</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_invoice_issued" name="Invoice issued">
<bpmn:incoming>Flow_Gateway_invoice_issued__if__End_invoice_issued</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="End_invoice_void" name="Invoice void">
<bpmn:incoming>Flow_Task_void_invoice__End_invoice_void</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_Timer_raise_due__Task_raise_due" sourceRef="Timer_raise_due" targetRef="Task_raise_due" />
<bpmn:sequenceFlow id="Flow_Timer_chase__Task_chase" sourceRef="Timer_chase" targetRef="Task_chase" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_none__if__Timer_raise_due" sourceRef="Gateway_invoice_none__if" targetRef="Timer_raise_due" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_none__if__Task_raise_from_order" sourceRef="Gateway_invoice_none__if" targetRef="Task_raise_from_order" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_none__if__Task_raise_for_acceptance" sourceRef="Gateway_invoice_none__if" targetRef="Task_raise_for_acceptance" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_none__if__Task_draft_invoice" sourceRef="Gateway_invoice_none__if" targetRef="Task_draft_invoice" />
<bpmn:sequenceFlow id="Flow_Start_invoice__Gateway_invoice_none__if" sourceRef="Start_invoice" targetRef="Gateway_invoice_none__if" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_draft__if__Task_ai_check_draft" name="the pre-issue check is on" sourceRef="Gateway_ai_check_draft__if" targetRef="Task_ai_check_draft" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_draft__if__Gateway_ai_check_draft__if_end" name="otherwise" sourceRef="Gateway_ai_check_draft__if" targetRef="Gateway_ai_check_draft__if_end" />
<bpmn:sequenceFlow id="Flow_Task_ai_check_draft__Gateway_ai_check_draft__if_end" sourceRef="Task_ai_check_draft" targetRef="Gateway_ai_check_draft__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_fill_usage__if__Task_fill_usage" name="the draft has a usage line" sourceRef="Gateway_fill_usage__if" targetRef="Task_fill_usage" />
<bpmn:sequenceFlow id="Flow_Gateway_fill_usage__if__Gateway_fill_usage__if_end" name="otherwise" sourceRef="Gateway_fill_usage__if" targetRef="Gateway_fill_usage__if_end" />
<bpmn:sequenceFlow id="Flow_Task_fill_usage__Gateway_fill_usage__if_end" sourceRef="Task_fill_usage" targetRef="Gateway_fill_usage__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_draft__if_end__Task_review_draft" sourceRef="Gateway_ai_check_draft__if_end" targetRef="Task_review_draft" />
<bpmn:sequenceFlow id="Flow_Task_review_draft__Gateway_fill_usage__if" sourceRef="Task_review_draft" targetRef="Gateway_fill_usage__if" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_draft__if__Task_cancel" sourceRef="Gateway_invoice_draft__if" targetRef="Task_cancel" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_draft__if__Task_issue" sourceRef="Gateway_invoice_draft__if" targetRef="Task_issue" />
<bpmn:sequenceFlow id="Flow_Gateway_fill_usage__if_end__Gateway_invoice_draft__if" sourceRef="Gateway_fill_usage__if_end" targetRef="Gateway_invoice_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_raise_due__Gateway_ai_check_draft__if" sourceRef="Task_raise_due" targetRef="Gateway_ai_check_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_raise_from_order__Gateway_ai_check_draft__if" sourceRef="Task_raise_from_order" targetRef="Gateway_ai_check_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_raise_for_acceptance__Gateway_ai_check_draft__if" sourceRef="Task_raise_for_acceptance" targetRef="Gateway_ai_check_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_draft_invoice__Gateway_ai_check_draft__if" sourceRef="Task_draft_invoice" targetRef="Gateway_ai_check_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_cancel__End_invoice_cancelled" sourceRef="Task_cancel" targetRef="End_invoice_cancelled" />
<bpmn:sequenceFlow id="Flow_Gateway_post_to_ledger__if__Task_post_to_ledger" name="the ledger mode is post" sourceRef="Gateway_post_to_ledger__if" targetRef="Task_post_to_ledger" />
<bpmn:sequenceFlow id="Flow_Gateway_post_to_ledger__if__Gateway_post_to_ledger__if_end" name="otherwise" sourceRef="Gateway_post_to_ledger__if" targetRef="Gateway_post_to_ledger__if_end" />
<bpmn:sequenceFlow id="Flow_Task_post_to_ledger__Gateway_post_to_ledger__if_end" sourceRef="Task_post_to_ledger" targetRef="Gateway_post_to_ledger__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_chase__if__Timer_chase" name="overdue and outstanding above zero, and reminders are by hand" sourceRef="Gateway_chase__if" targetRef="Timer_chase" />
<bpmn:sequenceFlow id="Flow_Gateway_chase__if__Gateway_chase__if_end" name="otherwise" sourceRef="Gateway_chase__if" targetRef="Gateway_chase__if_end" />
<bpmn:sequenceFlow id="Flow_Task_chase__Gateway_chase__if_end" sourceRef="Task_chase" targetRef="Gateway_chase__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_export__if__Task_export" name="the ledger mode is export" sourceRef="Gateway_export__if" targetRef="Task_export" />
<bpmn:sequenceFlow id="Flow_Gateway_export__if__Gateway_export__if_end" name="otherwise" sourceRef="Gateway_export__if" targetRef="Gateway_export__if_end" />
<bpmn:sequenceFlow id="Flow_Task_export__Gateway_export__if_end" sourceRef="Task_export" targetRef="Gateway_export__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_post_to_ledger__if_end__Task_send" sourceRef="Gateway_post_to_ledger__if_end" targetRef="Task_send" />
<bpmn:sequenceFlow id="Flow_Task_send__Task_receive_invoice" sourceRef="Task_send" targetRef="Task_receive_invoice" />
<bpmn:sequenceFlow id="Flow_Task_receive_invoice__Gateway_chase__if" sourceRef="Task_receive_invoice" targetRef="Gateway_chase__if" />
<bpmn:sequenceFlow id="Flow_Gateway_chase__if_end__Task_pay" sourceRef="Gateway_chase__if_end" targetRef="Task_pay" />
<bpmn:sequenceFlow id="Flow_Task_pay__Task_record_payment" sourceRef="Task_pay" targetRef="Task_record_payment" />
<bpmn:sequenceFlow id="Flow_Task_record_payment__Gateway_export__if" sourceRef="Task_record_payment" targetRef="Gateway_export__if" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_issued__if__Task_void_invoice" sourceRef="Gateway_invoice_issued__if" targetRef="Task_void_invoice" />
<bpmn:sequenceFlow id="Flow_Gateway_invoice_issued__if__End_invoice_issued" name="done" sourceRef="Gateway_invoice_issued__if" targetRef="End_invoice_issued" />
<bpmn:sequenceFlow id="Flow_Gateway_export__if_end__Gateway_invoice_issued__if" sourceRef="Gateway_export__if_end" targetRef="Gateway_invoice_issued__if" />
<bpmn:sequenceFlow id="Flow_Task_issue__Gateway_post_to_ledger__if" sourceRef="Task_issue" targetRef="Gateway_post_to_ledger__if" />
<bpmn:sequenceFlow id="Flow_Task_void_invoice__End_invoice_void" sourceRef="Task_void_invoice" targetRef="End_invoice_void" />
</bpmn:process>
<bpmn:process id="Process_ar_credit_note_v2" name="Credit note" isExecutable="false">
<bpmn:documentation>Lifecycle of the credit note, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, approved, cancelled.</bpmn:documentation>
<bpmn:laneSet id="LaneSet_credit_note">
<bpmn:lane id="Lane_credit_note_biller" name="Whoever sends the invoices (office, bookkeeper)">
<bpmn:flowNodeRef>Start_credit_note</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_draft_credit</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_allocate_credit</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_cancel_credit</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_credit_note_approved</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_credit_note_cancelled</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_credit_note_approver" name="Owner / finance manager">
<bpmn:flowNodeRef>Task_approve_credit</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_credit_note_draft__if</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_credit_note" name="Credit note needed">
<bpmn:outgoing>Flow_Start_credit_note__Task_draft_credit</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="Task_draft_credit" name="Draft a credit note" dodil:step="draft_credit">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From none to draft. When: an issued invoice to correct, or a goodwill credit on the customer.</bpmn:documentation>
<bpmn:incoming>Flow_Start_credit_note__Task_draft_credit</bpmn:incoming>
<bpmn:outgoing>Flow_Task_draft_credit__Gateway_credit_note_draft__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_approve_credit" name="Approve the credit note" dodil:step="approve_credit" dodil:approval="true">
<bpmn:documentation>By: Owner / finance manager. From draft to approved. When: lines and tax present; it does not exceed the invoice it names. Effect: numbered; tax frozen; posted in post mode. An approval.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_credit_note_draft__if__Task_approve_credit</bpmn:incoming>
<bpmn:outgoing>Flow_Task_approve_credit__Task_allocate_credit</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_allocate_credit" name="Allocate the credit" dodil:step="allocate_credit">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From approved to approved. Effect: in payments: against one or more invoices, or left on the customer.</bpmn:documentation>
<bpmn:incoming>Flow_Task_approve_credit__Task_allocate_credit</bpmn:incoming>
<bpmn:outgoing>Flow_Task_allocate_credit__End_credit_note_approved</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_cancel_credit" name="Cancel the draft credit" dodil:step="cancel_credit">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From draft to cancelled.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_credit_note_draft__if__Task_cancel_credit</bpmn:incoming>
<bpmn:outgoing>Flow_Task_cancel_credit__End_credit_note_cancelled</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_credit_note_draft__if" name="Credit note draft: what next?">
<bpmn:incoming>Flow_Task_draft_credit__Gateway_credit_note_draft__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_credit_note_draft__if__Task_approve_credit</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_credit_note_draft__if__Task_cancel_credit</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_credit_note_approved" name="Credit note approved">
<bpmn:incoming>Flow_Task_allocate_credit__End_credit_note_approved</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="End_credit_note_cancelled" name="Credit note cancelled">
<bpmn:incoming>Flow_Task_cancel_credit__End_credit_note_cancelled</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_Start_credit_note__Task_draft_credit" sourceRef="Start_credit_note" targetRef="Task_draft_credit" />
<bpmn:sequenceFlow id="Flow_Gateway_credit_note_draft__if__Task_approve_credit" sourceRef="Gateway_credit_note_draft__if" targetRef="Task_approve_credit" />
<bpmn:sequenceFlow id="Flow_Gateway_credit_note_draft__if__Task_cancel_credit" sourceRef="Gateway_credit_note_draft__if" targetRef="Task_cancel_credit" />
<bpmn:sequenceFlow id="Flow_Task_draft_credit__Gateway_credit_note_draft__if" sourceRef="Task_draft_credit" targetRef="Gateway_credit_note_draft__if" />
<bpmn:sequenceFlow id="Flow_Task_allocate_credit__End_credit_note_approved" sourceRef="Task_allocate_credit" targetRef="End_credit_note_approved" />
<bpmn:sequenceFlow id="Flow_Task_approve_credit__Task_allocate_credit" sourceRef="Task_approve_credit" targetRef="Task_allocate_credit" />
<bpmn:sequenceFlow id="Flow_Task_cancel_credit__End_credit_note_cancelled" sourceRef="Task_cancel_credit" targetRef="End_credit_note_cancelled" />
</bpmn:process>
<bpmn:process id="Process_ar_writeoff_v2" name="Writeoff" isExecutable="false">
<bpmn:documentation>Lifecycle of the writeoff, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: proposed, approved, rejected.</bpmn:documentation>
<bpmn:laneSet id="LaneSet_writeoff">
<bpmn:lane id="Lane_writeoff_biller" name="Whoever sends the invoices (office, bookkeeper)">
<bpmn:flowNodeRef>Start_writeoff</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_propose_writeoff</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_writeoff_approver" name="Owner / finance manager">
<bpmn:flowNodeRef>Task_approve_writeoff</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_reject_writeoff</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_writeoff_proposed__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_writeoff_approved</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_writeoff_rejected</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_writeoff" name="Writeoff needed">
<bpmn:outgoing>Flow_Start_writeoff__Task_propose_writeoff</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="Task_propose_writeoff" name="Propose a write-off" dodil:step="propose_writeoff">
<bpmn:documentation>By: Whoever sends the invoices (office, bookkeeper). From none to proposed. Requires: reason.</bpmn:documentation>
<bpmn:incoming>Flow_Start_writeoff__Task_propose_writeoff</bpmn:incoming>
<bpmn:outgoing>Flow_Task_propose_writeoff__Gateway_writeoff_proposed__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_approve_writeoff" name="Approve the write-off" dodil:step="approve_writeoff" dodil:approval="true">
<bpmn:documentation>By: Owner / finance manager. From proposed to approved. When: below the threshold, or the approver accepts it above. Effect: allocated in payments; bad debt posted in post mode. An approval.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_writeoff_proposed__if__Task_approve_writeoff</bpmn:incoming>
<bpmn:outgoing>Flow_Task_approve_writeoff__End_writeoff_approved</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_reject_writeoff" name="Reject the write-off" dodil:step="reject_writeoff">
<bpmn:documentation>By: Owner / finance manager. From proposed to rejected. Requires: reason.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_writeoff_proposed__if__Task_reject_writeoff</bpmn:incoming>
<bpmn:outgoing>Flow_Task_reject_writeoff__End_writeoff_rejected</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_writeoff_proposed__if" name="Writeoff proposed: what next?">
<bpmn:incoming>Flow_Task_propose_writeoff__Gateway_writeoff_proposed__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_writeoff_proposed__if__Task_approve_writeoff</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_writeoff_proposed__if__Task_reject_writeoff</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_writeoff_approved" name="Writeoff approved">
<bpmn:incoming>Flow_Task_approve_writeoff__End_writeoff_approved</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="End_writeoff_rejected" name="Writeoff rejected">
<bpmn:incoming>Flow_Task_reject_writeoff__End_writeoff_rejected</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_Start_writeoff__Task_propose_writeoff" sourceRef="Start_writeoff" targetRef="Task_propose_writeoff" />
<bpmn:sequenceFlow id="Flow_Gateway_writeoff_proposed__if__Task_approve_writeoff" sourceRef="Gateway_writeoff_proposed__if" targetRef="Task_approve_writeoff" />
<bpmn:sequenceFlow id="Flow_Gateway_writeoff_proposed__if__Task_reject_writeoff" sourceRef="Gateway_writeoff_proposed__if" targetRef="Task_reject_writeoff" />
<bpmn:sequenceFlow id="Flow_Task_propose_writeoff__Gateway_writeoff_proposed__if" sourceRef="Task_propose_writeoff" targetRef="Gateway_writeoff_proposed__if" />
<bpmn:sequenceFlow id="Flow_Task_approve_writeoff__End_writeoff_approved" sourceRef="Task_approve_writeoff" targetRef="End_writeoff_approved" />
<bpmn:sequenceFlow id="Flow_Task_reject_writeoff__End_writeoff_rejected" sourceRef="Task_reject_writeoff" targetRef="End_writeoff_rejected" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_ar_v2">
<bpmndi:BPMNPlane id="BPMNPlane_ar_v2" bpmnElement="Collaboration_ar_v2">
<bpmndi:BPMNShape id="Participant_ar_schedule_di" bpmnElement="Participant_ar_schedule" isHorizontal="true">
<dc:Bounds x="0" y="0" width="960" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_schedule_system_di" bpmnElement="Lane_schedule_system" isHorizontal="true">
<dc:Bounds x="30" y="0" width="930" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Start_schedule_di" bpmnElement="Start_schedule">
<dc:Bounds x="157" y="42" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_plan_billing_di" bpmnElement="Task_plan_billing">
<dc:Bounds x="295" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_finish_schedule_di" bpmnElement="Task_finish_schedule">
<dc:Bounds x="635" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_stop_billing_di" bpmnElement="Task_stop_billing">
<dc:Bounds x="635" y="140" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_schedule_active__if_di" bpmnElement="Gateway_schedule_active__if">
<dc:Bounds x="490" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_schedule_finished_di" bpmnElement="End_schedule_finished">
<dc:Bounds x="837" y="42" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_schedule_stopped_di" bpmnElement="End_schedule_stopped">
<dc:Bounds x="837" y="162" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Start_schedule__Task_plan_billing_di" bpmnElement="Flow_Start_schedule__Task_plan_billing">
<di:waypoint x="193" y="60" />
<di:waypoint x="295" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_schedule_active__if__Task_finish_schedule_di" bpmnElement="Flow_Gateway_schedule_active__if__Task_finish_schedule">
<di:waypoint x="540" y="60" />
<di:waypoint x="635" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_schedule_active__if__Task_stop_billing_di" bpmnElement="Flow_Gateway_schedule_active__if__Task_stop_billing">
<di:waypoint x="540" y="60" />
<di:waypoint x="610" y="60" />
<di:waypoint x="610" y="180" />
<di:waypoint x="635" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_plan_billing__Gateway_schedule_active__if_di" bpmnElement="Flow_Task_plan_billing__Gateway_schedule_active__if">
<di:waypoint x="395" y="60" />
<di:waypoint x="490" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_finish_schedule__End_schedule_finished_di" bpmnElement="Flow_Task_finish_schedule__End_schedule_finished">
<di:waypoint x="735" y="60" />
<di:waypoint x="837" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_stop_billing__End_schedule_stopped_di" bpmnElement="Flow_Task_stop_billing__End_schedule_stopped">
<di:waypoint x="735" y="180" />
<di:waypoint x="837" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_ar_invoice_di" bpmnElement="Participant_ar_invoice" isHorizontal="true">
<dc:Bounds x="0" y="300" width="4020" height="1300" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_invoice_system_di" bpmnElement="Lane_invoice_system" isHorizontal="true">
<dc:Bounds x="30" y="300" width="3990" height="380" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_invoice_biller_di" bpmnElement="Lane_invoice_biller" isHorizontal="true">
<dc:Bounds x="30" y="680" width="3990" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_invoice_customer_di" bpmnElement="Lane_invoice_customer" isHorizontal="true">
<dc:Bounds x="30" y="940" width="3990" height="140" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_invoice_collector_di" bpmnElement="Lane_invoice_collector" isHorizontal="true">
<dc:Bounds x="30" y="1080" width="3990" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_invoice_approver_di" bpmnElement="Lane_invoice_approver" isHorizontal="true">
<dc:Bounds x="30" y="1340" width="3990" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Start_invoice_di" bpmnElement="Start_invoice">
<dc:Bounds x="157" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_raise_due_di" bpmnElement="Task_raise_due">
<dc:Bounds x="635" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_raise_due_di" bpmnElement="Timer_raise_due">
<dc:Bounds x="497" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_raise_from_order_di" bpmnElement="Task_raise_from_order">
<dc:Bounds x="465" y="440" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_raise_for_acceptance_di" bpmnElement="Task_raise_for_acceptance">
<dc:Bounds x="465" y="560" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_draft_invoice_di" bpmnElement="Task_draft_invoice">
<dc:Bounds x="465" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_ai_check_draft_di" bpmnElement="Task_ai_check_draft">
<dc:Bounds x="805" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_review_draft_di" bpmnElement="Task_review_draft">
<dc:Bounds x="975" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_fill_usage_di" bpmnElement="Task_fill_usage">
<dc:Bounds x="1315" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_cancel_di" bpmnElement="Task_cancel">
<dc:Bounds x="1655" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_issue_di" bpmnElement="Task_issue">
<dc:Bounds x="1655" y="820" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_post_to_ledger_di" bpmnElement="Task_post_to_ledger">
<dc:Bounds x="1995" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_send_di" bpmnElement="Task_send">
<dc:Bounds x="2165" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_receive_invoice_di" bpmnElement="Task_receive_invoice">
<dc:Bounds x="2335" y="960" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_chase_di" bpmnElement="Task_chase">
<dc:Bounds x="2845" y="1100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Timer_chase_di" bpmnElement="Timer_chase">
<dc:Bounds x="2707" y="1122" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_pay_di" bpmnElement="Task_pay">
<dc:Bounds x="2845" y="960" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_record_payment_di" bpmnElement="Task_record_payment">
<dc:Bounds x="3015" y="1100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_export_di" bpmnElement="Task_export">
<dc:Bounds x="3355" y="700" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_void_invoice_di" bpmnElement="Task_void_invoice">
<dc:Bounds x="3695" y="1360" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_invoice_none__if_di" bpmnElement="Gateway_invoice_none__if">
<dc:Bounds x="320" y="335" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_check_draft__if_di" bpmnElement="Gateway_ai_check_draft__if">
<dc:Bounds x="660" y="455" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_check_draft__if_end_di" bpmnElement="Gateway_ai_check_draft__if_end">
<dc:Bounds x="830" y="455" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_fill_usage__if_di" bpmnElement="Gateway_fill_usage__if">
<dc:Bounds x="1170" y="715" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_fill_usage__if_end_di" bpmnElement="Gateway_fill_usage__if_end">
<dc:Bounds x="1340" y="835" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_invoice_draft__if_di" bpmnElement="Gateway_invoice_draft__if">
<dc:Bounds x="1510" y="715" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_invoice_cancelled_di" bpmnElement="End_invoice_cancelled">
<dc:Bounds x="1857" y="722" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_post_to_ledger__if_di" bpmnElement="Gateway_post_to_ledger__if">
<dc:Bounds x="1850" y="335" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_post_to_ledger__if_end_di" bpmnElement="Gateway_post_to_ledger__if_end">
<dc:Bounds x="2020" y="455" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_chase__if_di" bpmnElement="Gateway_chase__if">
<dc:Bounds x="2530" y="1115" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_chase__if_end_di" bpmnElement="Gateway_chase__if_end">
<dc:Bounds x="2700" y="1235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_export__if_di" bpmnElement="Gateway_export__if">
<dc:Bounds x="3210" y="715" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_export__if_end_di" bpmnElement="Gateway_export__if_end">
<dc:Bounds x="3380" y="835" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_invoice_issued__if_di" bpmnElement="Gateway_invoice_issued__if">
<dc:Bounds x="3550" y="1375" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_invoice_issued_di" bpmnElement="End_invoice_issued">
<dc:Bounds x="3727" y="1502" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_invoice_void_di" bpmnElement="End_invoice_void">
<dc:Bounds x="3897" y="1382" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Timer_raise_due__Task_raise_due_di" bpmnElement="Flow_Timer_raise_due__Task_raise_due">
<di:waypoint x="533" y="360" />
<di:waypoint x="635" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Timer_chase__Task_chase_di" bpmnElement="Flow_Timer_chase__Task_chase">
<di:waypoint x="2743" y="1140" />
<di:waypoint x="2845" y="1140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_none__if__Timer_raise_due_di" bpmnElement="Flow_Gateway_invoice_none__if__Timer_raise_due">
<di:waypoint x="370" y="360" />
<di:waypoint x="497" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_none__if__Task_raise_from_order_di" bpmnElement="Flow_Gateway_invoice_none__if__Task_raise_from_order">
<di:waypoint x="370" y="360" />
<di:waypoint x="440" y="360" />
<di:waypoint x="440" y="480" />
<di:waypoint x="465" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_none__if__Task_raise_for_acceptance_di" bpmnElement="Flow_Gateway_invoice_none__if__Task_raise_for_acceptance">
<di:waypoint x="370" y="360" />
<di:waypoint x="440" y="360" />
<di:waypoint x="440" y="600" />
<di:waypoint x="465" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_none__if__Task_draft_invoice_di" bpmnElement="Flow_Gateway_invoice_none__if__Task_draft_invoice">
<di:waypoint x="370" y="360" />
<di:waypoint x="440" y="360" />
<di:waypoint x="440" y="740" />
<di:waypoint x="465" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Start_invoice__Gateway_invoice_none__if_di" bpmnElement="Flow_Start_invoice__Gateway_invoice_none__if">
<di:waypoint x="193" y="360" />
<di:waypoint x="320" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_draft__if__Task_ai_check_draft_di" bpmnElement="Flow_Gateway_ai_check_draft__if__Task_ai_check_draft">
<di:waypoint x="710" y="480" />
<di:waypoint x="780" y="480" />
<di:waypoint x="780" y="360" />
<di:waypoint x="805" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_draft__if__Gateway_ai_check_draft__if_end_di" bpmnElement="Flow_Gateway_ai_check_draft__if__Gateway_ai_check_draft__if_end">
<di:waypoint x="710" y="480" />
<di:waypoint x="830" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_ai_check_draft__Gateway_ai_check_draft__if_end_di" bpmnElement="Flow_Task_ai_check_draft__Gateway_ai_check_draft__if_end">
<di:waypoint x="855" y="400" />
<di:waypoint x="855" y="520" />
<di:waypoint x="855" y="520" />
<di:waypoint x="855" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_fill_usage__if__Task_fill_usage_di" bpmnElement="Flow_Gateway_fill_usage__if__Task_fill_usage">
<di:waypoint x="1220" y="740" />
<di:waypoint x="1315" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_fill_usage__if__Gateway_fill_usage__if_end_di" bpmnElement="Flow_Gateway_fill_usage__if__Gateway_fill_usage__if_end">
<di:waypoint x="1220" y="740" />
<di:waypoint x="1315" y="740" />
<di:waypoint x="1315" y="860" />
<di:waypoint x="1340" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_fill_usage__Gateway_fill_usage__if_end_di" bpmnElement="Flow_Task_fill_usage__Gateway_fill_usage__if_end">
<di:waypoint x="1365" y="780" />
<di:waypoint x="1365" y="906" />
<di:waypoint x="1365" y="906" />
<di:waypoint x="1365" y="885" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_draft__if_end__Task_review_draft_di" bpmnElement="Flow_Gateway_ai_check_draft__if_end__Task_review_draft">
<di:waypoint x="880" y="480" />
<di:waypoint x="950" y="480" />
<di:waypoint x="950" y="740" />
<di:waypoint x="975" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_review_draft__Gateway_fill_usage__if_di" bpmnElement="Flow_Task_review_draft__Gateway_fill_usage__if">
<di:waypoint x="1075" y="740" />
<di:waypoint x="1170" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_draft__if__Task_cancel_di" bpmnElement="Flow_Gateway_invoice_draft__if__Task_cancel">
<di:waypoint x="1560" y="740" />
<di:waypoint x="1655" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_draft__if__Task_issue_di" bpmnElement="Flow_Gateway_invoice_draft__if__Task_issue">
<di:waypoint x="1560" y="740" />
<di:waypoint x="1630" y="740" />
<di:waypoint x="1630" y="860" />
<di:waypoint x="1655" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_fill_usage__if_end__Gateway_invoice_draft__if_di" bpmnElement="Flow_Gateway_fill_usage__if_end__Gateway_invoice_draft__if">
<di:waypoint x="1390" y="860" />
<di:waypoint x="1485" y="860" />
<di:waypoint x="1485" y="740" />
<di:waypoint x="1510" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_raise_due__Gateway_ai_check_draft__if_di" bpmnElement="Flow_Task_raise_due__Gateway_ai_check_draft__if">
<di:waypoint x="685" y="400" />
<di:waypoint x="685" y="532" />
<di:waypoint x="685" y="532" />
<di:waypoint x="685" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_raise_from_order__Gateway_ai_check_draft__if_di" bpmnElement="Flow_Task_raise_from_order__Gateway_ai_check_draft__if">
<di:waypoint x="565" y="480" />
<di:waypoint x="660" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_raise_for_acceptance__Gateway_ai_check_draft__if_di" bpmnElement="Flow_Task_raise_for_acceptance__Gateway_ai_check_draft__if">
<di:waypoint x="565" y="600" />
<di:waypoint x="635" y="600" />
<di:waypoint x="635" y="480" />
<di:waypoint x="660" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_draft_invoice__Gateway_ai_check_draft__if_di" bpmnElement="Flow_Task_draft_invoice__Gateway_ai_check_draft__if">
<di:waypoint x="565" y="740" />
<di:waypoint x="635" y="740" />
<di:waypoint x="635" y="480" />
<di:waypoint x="660" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_cancel__End_invoice_cancelled_di" bpmnElement="Flow_Task_cancel__End_invoice_cancelled">
<di:waypoint x="1755" y="740" />
<di:waypoint x="1857" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_post_to_ledger__if__Task_post_to_ledger_di" bpmnElement="Flow_Gateway_post_to_ledger__if__Task_post_to_ledger">
<di:waypoint x="1900" y="360" />
<di:waypoint x="1995" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_post_to_ledger__if__Gateway_post_to_ledger__if_end_di" bpmnElement="Flow_Gateway_post_to_ledger__if__Gateway_post_to_ledger__if_end">
<di:waypoint x="1900" y="360" />
<di:waypoint x="1995" y="360" />
<di:waypoint x="1995" y="480" />
<di:waypoint x="2020" y="480" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_post_to_ledger__Gateway_post_to_ledger__if_end_di" bpmnElement="Flow_Task_post_to_ledger__Gateway_post_to_ledger__if_end">
<di:waypoint x="2045" y="400" />
<di:waypoint x="2045" y="538" />
<di:waypoint x="2045" y="538" />
<di:waypoint x="2045" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_chase__if__Timer_chase_di" bpmnElement="Flow_Gateway_chase__if__Timer_chase">
<di:waypoint x="2580" y="1140" />
<di:waypoint x="2707" y="1140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_chase__if__Gateway_chase__if_end_di" bpmnElement="Flow_Gateway_chase__if__Gateway_chase__if_end">
<di:waypoint x="2580" y="1140" />
<di:waypoint x="2675" y="1140" />
<di:waypoint x="2675" y="1260" />
<di:waypoint x="2700" y="1260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_chase__Gateway_chase__if_end_di" bpmnElement="Flow_Task_chase__Gateway_chase__if_end">
<di:waypoint x="2895" y="1180" />
<di:waypoint x="2895" y="1300" />
<di:waypoint x="2725" y="1300" />
<di:waypoint x="2725" y="1285" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_export__if__Task_export_di" bpmnElement="Flow_Gateway_export__if__Task_export">
<di:waypoint x="3260" y="740" />
<di:waypoint x="3355" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_export__if__Gateway_export__if_end_di" bpmnElement="Flow_Gateway_export__if__Gateway_export__if_end">
<di:waypoint x="3260" y="740" />
<di:waypoint x="3355" y="740" />
<di:waypoint x="3355" y="860" />
<di:waypoint x="3380" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_export__Gateway_export__if_end_di" bpmnElement="Flow_Task_export__Gateway_export__if_end">
<di:waypoint x="3405" y="780" />
<di:waypoint x="3405" y="906" />
<di:waypoint x="3405" y="906" />
<di:waypoint x="3405" y="885" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_post_to_ledger__if_end__Task_send_di" bpmnElement="Flow_Gateway_post_to_ledger__if_end__Task_send">
<di:waypoint x="2070" y="480" />
<di:waypoint x="2140" y="480" />
<di:waypoint x="2140" y="740" />
<di:waypoint x="2165" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_send__Task_receive_invoice_di" bpmnElement="Flow_Task_send__Task_receive_invoice">
<di:waypoint x="2265" y="740" />
<di:waypoint x="2310" y="740" />
<di:waypoint x="2310" y="1000" />
<di:waypoint x="2335" y="1000" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_receive_invoice__Gateway_chase__if_di" bpmnElement="Flow_Task_receive_invoice__Gateway_chase__if">
<di:waypoint x="2435" y="1000" />
<di:waypoint x="2505" y="1000" />
<di:waypoint x="2505" y="1140" />
<di:waypoint x="2530" y="1140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_chase__if_end__Task_pay_di" bpmnElement="Flow_Gateway_chase__if_end__Task_pay">
<di:waypoint x="2750" y="1260" />
<di:waypoint x="2820" y="1260" />
<di:waypoint x="2820" y="1000" />
<di:waypoint x="2845" y="1000" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_pay__Task_record_payment_di" bpmnElement="Flow_Task_pay__Task_record_payment">
<di:waypoint x="2945" y="1000" />
<di:waypoint x="2990" y="1000" />
<di:waypoint x="2990" y="1140" />
<di:waypoint x="3015" y="1140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_record_payment__Gateway_export__if_di" bpmnElement="Flow_Task_record_payment__Gateway_export__if">
<di:waypoint x="3115" y="1140" />
<di:waypoint x="3185" y="1140" />
<di:waypoint x="3185" y="740" />
<di:waypoint x="3210" y="740" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_issued__if__Task_void_invoice_di" bpmnElement="Flow_Gateway_invoice_issued__if__Task_void_invoice">
<di:waypoint x="3600" y="1400" />
<di:waypoint x="3695" y="1400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_invoice_issued__if__End_invoice_issued_di" bpmnElement="Flow_Gateway_invoice_issued__if__End_invoice_issued">
<di:waypoint x="3600" y="1400" />
<di:waypoint x="3702" y="1400" />
<di:waypoint x="3702" y="1520" />
<di:waypoint x="3727" y="1520" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_export__if_end__Gateway_invoice_issued__if_di" bpmnElement="Flow_Gateway_export__if_end__Gateway_invoice_issued__if">
<di:waypoint x="3430" y="860" />
<di:waypoint x="3525" y="860" />
<di:waypoint x="3525" y="1400" />
<di:waypoint x="3550" y="1400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_issue__Gateway_post_to_ledger__if_di" bpmnElement="Flow_Task_issue__Gateway_post_to_ledger__if">
<di:waypoint x="1755" y="860" />
<di:waypoint x="1825" y="860" />
<di:waypoint x="1825" y="360" />
<di:waypoint x="1850" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_void_invoice__End_invoice_void_di" bpmnElement="Flow_Task_void_invoice__End_invoice_void">
<di:waypoint x="3795" y="1400" />
<di:waypoint x="3897" y="1400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_ar_credit_note_di" bpmnElement="Participant_ar_credit_note" isHorizontal="true">
<dc:Bounds x="0" y="1640" width="1130" height="400" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_credit_note_biller_di" bpmnElement="Lane_credit_note_biller" isHorizontal="true">
<dc:Bounds x="30" y="1640" width="1100" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_credit_note_approver_di" bpmnElement="Lane_credit_note_approver" isHorizontal="true">
<dc:Bounds x="30" y="1900" width="1100" height="140" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Start_credit_note_di" bpmnElement="Start_credit_note">
<dc:Bounds x="157" y="1682" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_draft_credit_di" bpmnElement="Task_draft_credit">
<dc:Bounds x="295" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_approve_credit_di" bpmnElement="Task_approve_credit">
<dc:Bounds x="635" y="1920" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_allocate_credit_di" bpmnElement="Task_allocate_credit">
<dc:Bounds x="805" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_cancel_credit_di" bpmnElement="Task_cancel_credit">
<dc:Bounds x="635" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_credit_note_draft__if_di" bpmnElement="Gateway_credit_note_draft__if">
<dc:Bounds x="490" y="1935" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_credit_note_approved_di" bpmnElement="End_credit_note_approved">
<dc:Bounds x="1007" y="1682" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_credit_note_cancelled_di" bpmnElement="End_credit_note_cancelled">
<dc:Bounds x="837" y="1802" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Start_credit_note__Task_draft_credit_di" bpmnElement="Flow_Start_credit_note__Task_draft_credit">
<di:waypoint x="193" y="1700" />
<di:waypoint x="295" y="1700" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_credit_note_draft__if__Task_approve_credit_di" bpmnElement="Flow_Gateway_credit_note_draft__if__Task_approve_credit">
<di:waypoint x="540" y="1960" />
<di:waypoint x="635" y="1960" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_credit_note_draft__if__Task_cancel_credit_di" bpmnElement="Flow_Gateway_credit_note_draft__if__Task_cancel_credit">
<di:waypoint x="540" y="1960" />
<di:waypoint x="610" y="1960" />
<di:waypoint x="610" y="1700" />
<di:waypoint x="635" y="1700" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_draft_credit__Gateway_credit_note_draft__if_di" bpmnElement="Flow_Task_draft_credit__Gateway_credit_note_draft__if">
<di:waypoint x="395" y="1700" />
<di:waypoint x="465" y="1700" />
<di:waypoint x="465" y="1960" />
<di:waypoint x="490" y="1960" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_allocate_credit__End_credit_note_approved_di" bpmnElement="Flow_Task_allocate_credit__End_credit_note_approved">
<di:waypoint x="905" y="1700" />
<di:waypoint x="1007" y="1700" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_approve_credit__Task_allocate_credit_di" bpmnElement="Flow_Task_approve_credit__Task_allocate_credit">
<di:waypoint x="735" y="1960" />
<di:waypoint x="780" y="1960" />
<di:waypoint x="780" y="1700" />
<di:waypoint x="805" y="1700" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_cancel_credit__End_credit_note_cancelled_di" bpmnElement="Flow_Task_cancel_credit__End_credit_note_cancelled">
<di:waypoint x="735" y="1700" />
<di:waypoint x="812" y="1700" />
<di:waypoint x="812" y="1820" />
<di:waypoint x="837" y="1820" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_ar_writeoff_di" bpmnElement="Participant_ar_writeoff" isHorizontal="true">
<dc:Bounds x="0" y="2080" width="960" height="400" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_writeoff_biller_di" bpmnElement="Lane_writeoff_biller" isHorizontal="true">
<dc:Bounds x="30" y="2080" width="930" height="140" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_writeoff_approver_di" bpmnElement="Lane_writeoff_approver" isHorizontal="true">
<dc:Bounds x="30" y="2220" width="930" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Start_writeoff_di" bpmnElement="Start_writeoff">
<dc:Bounds x="157" y="2122" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_propose_writeoff_di" bpmnElement="Task_propose_writeoff">
<dc:Bounds x="295" y="2100" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_approve_writeoff_di" bpmnElement="Task_approve_writeoff">
<dc:Bounds x="635" y="2240" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_reject_writeoff_di" bpmnElement="Task_reject_writeoff">
<dc:Bounds x="635" y="2360" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_writeoff_proposed__if_di" bpmnElement="Gateway_writeoff_proposed__if">
<dc:Bounds x="490" y="2255" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_writeoff_approved_di" bpmnElement="End_writeoff_approved">
<dc:Bounds x="837" y="2262" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_writeoff_rejected_di" bpmnElement="End_writeoff_rejected">
<dc:Bounds x="837" y="2382" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Start_writeoff__Task_propose_writeoff_di" bpmnElement="Flow_Start_writeoff__Task_propose_writeoff">
<di:waypoint x="193" y="2140" />
<di:waypoint x="295" y="2140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_writeoff_proposed__if__Task_approve_writeoff_di" bpmnElement="Flow_Gateway_writeoff_proposed__if__Task_approve_writeoff">
<di:waypoint x="540" y="2280" />
<di:waypoint x="635" y="2280" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_writeoff_proposed__if__Task_reject_writeoff_di" bpmnElement="Flow_Gateway_writeoff_proposed__if__Task_reject_writeoff">
<di:waypoint x="540" y="2280" />
<di:waypoint x="610" y="2280" />
<di:waypoint x="610" y="2400" />
<di:waypoint x="635" y="2400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_propose_writeoff__Gateway_writeoff_proposed__if_di" bpmnElement="Flow_Task_propose_writeoff__Gateway_writeoff_proposed__if">
<di:waypoint x="395" y="2140" />
<di:waypoint x="465" y="2140" />
<di:waypoint x="465" y="2280" />
<di:waypoint x="490" y="2280" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_approve_writeoff__End_writeoff_approved_di" bpmnElement="Flow_Task_approve_writeoff__End_writeoff_approved">
<di:waypoint x="735" y="2280" />
<di:waypoint x="837" y="2280" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_reject_writeoff__End_writeoff_rejected_di" bpmnElement="Flow_Task_reject_writeoff__End_writeoff_rejected">
<di:waypoint x="735" y="2400" />
<di:waypoint x="837" y="2400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_customer_di" bpmnElement="Participant_customer" isHorizontal="true">
<dc:Bounds x="0" y="2520" width="4020" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Participant_customer__Task_receive_invoice_di" bpmnElement="Flow_Participant_customer__Task_receive_invoice">
<di:waypoint x="2385" y="2520" />
<di:waypoint x="2385" y="1040" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Participant_customer__Task_pay_di" bpmnElement="Flow_Participant_customer__Task_pay">
<di:waypoint x="2895" y="2520" />
<di:waypoint x="2895" y="1040" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>