To create a BPMN (Business Process Model and Notation) model for the order fulfilment process of MedSupply Inc., we need to break down the various components of the transaction and ensure we incorporate elements such as error handling and compensation for complex transactions. Below is an outline of how the BPMN components can be structured:
(a) BPMN Model of the Order Fulfilment Process
The BPMN model should consist of the following activities and associated flows:
Main Process Flow:
-
Receive Customer Order
- Task: Receive order from the online portal.
-
Verify Customer Credit and Payment Terms
- Exclusive Gateway (Decision): Is the credit valid?
- Yes → Proceed to Check Inventory Availability.
- No → → End Event (Send Notification: Credit Issues).
- Exclusive Gateway (Decision): Is the credit valid?
-
Check Inventory Availability
- Exclusive Gateway (Decision): Is inventory available?
- Yes → Proceed to Process Payment.
- No → → End Event (Send Notification: Insufficient Inventory).
- Exclusive Gateway (Decision): Is inventory available?
-
Process Payment
- Sub-process: Handle Payment Processing
- Includes internal tasks like:
- Verify Payment Details
- Process Payment (Authorize, Capture)
- Manage Refund/Adjustments (if necessary)
- Includes internal tasks like:
- Event-based Gateway (Decision): Was the payment successful?
- Yes → Move to Pick, Pack, and Ship Order.
- No → → End Event (Send Notification: Payment Failure).
- Sub-process: Handle Payment Processing
-
Pick, Pack, and Ship Order
- Task: Prepare Order for Shipping.
-
Manage Returns and Exchanges
- Inclusive Gateway: Initiate Return/Exchange?
- If yes, handle return process.
- If no, proceed to End Event.
- Inclusive Gateway: Initiate Return/Exchange?
-
End Event: Order Fulfilled.
(b) Transaction Sub-process with Compensation Handling for Payment Processing
Incorporate the following steps within the Payment Processing sub-process with compensation:
- Payment Verification
- Charge Customer Card
- Set Payment Status to "In Progress"
Compensation handling:
-
If Payment Fails:
- Trigger a compensation event to cancel the charge and revert any charges made (e.g., refund).
- Utilize a compensation event in BPMN to represent the refund handling.
Sub-Process: Process Payment - Task: Verify Payment - Task: Charge Customer Card - Event-based Gateway (Payment Status Decision) - If failed → Trigger Compensation Event (Refund). - If succeeded → Update Inventory.
(c) Error Handling and Exception Management
Include appropriate error handling:
-
Insufficient Inventory
- If inventory is found to be insufficient:
- Send Notification to Customer (out of stock).
- Log Error and Terminate Process.
- If inventory is found to be insufficient:
-
Payment Failures
- If payment authorization fails:
- Send Notification to Customer.
- Automatic retries (with limit).
- Log Error and Terminate Process if retries exceed.
- If payment authorization fails:
-
Regulatory Compliance Issues
- Check for regulatory compliance before fulfilling orders.
- If non-compliant:
- Send alert to Compliance Department.
- Log Issue.
- Terminate Process until compliance is confirmed.
Visual Representation of the BPMN
To visualize the BPMN, you would typically use a BPMN diagramming tool where you can drag and drop the activities, gateways, events, and subprocesses, connecting them with arrows to show the sequence in which they should occur.
Please Note: The actual drawing of the BPMN model would require a graphics-based software tool or an environment compliant with the BPMN specifications (such as Lucidchart, Signavio, or similar).
In summary, the complete BPMN process diagram should visually represent all the elements discussed above while clearly defining the flow of the order fulfilment process respecting the complexities associated with payment processing and regulatory requirements.