Travel Reimbursement Request Workflow
-
Start
-
The workflow begins when a user submits a Travel Reimbursement Request web form.
-
Get Email
-
The system retrieves the email address for the person who submitted the request (the Requestor).
-
Purpose: To later send notifications at various workflow stages.
-
BookKeeper Approval
-
The request is routed to the correct BookKeeper for approval.
-
The routing is decided based on a location or department code (Loc) entered in the request form. Each code maps to a specific approver group or person.
-
If BookKeeper Rejects: The system captures the rejection note and transitions to a rejection notification step.
-
If BookKeeper Approves: The workflow moves to the next approval step.
-
-
Director/Principal Approval
-
After BookKeeper approval, the request is routed to the appropriate Director, Principal, or similar authority figure (again, based on the Loc code).
-
If Director/Principal Rejects: As above, a rejection note is captured, and the user is notified.
-
If Approved: The process continues.
-
-
Get Seed Value
-
The system generates unique identifiers for this transaction:
-
Batch ID (for financial system records)
-
Reference Number (for tracking the reimbursement)
-
-
Create AP Batch
-
The system tries to create a batch of records in the Accounts Payable (AP) system.
-
This involves:
-
Setting up the batch itself
-
Inserting transaction details (such as the expenses, traveler info, totals, etc.)
-
Attaching all necessary information for processing the reimbursement payment
-
-
These steps are achieved via automated C# code that communicates with the underlying financial software.
-
If any Error Occurs during record creation: The system transitions to error handling (below).
-
If Everything Works: The process moves to completion notifications.
-
-
Email Notification (Success)
-
If the Create AP Batch step succeeds, an email notification is sent to the requester letting them know their reimbursement request has been processed successfully.
-
Handle Errors (Error Handling)
-
If any step (record creation, etc.) fails, the system:
-
Determines what went wrong (collects error messages)
-
Sends an email notification to the requester describing the failure and including details (from workflow variables).
-
-
Handle Rejection
-
If any approver (BookKeeper or Director/Principal) rejects the request:
-
The system checks workflow history for rejection notes/comments.
-
Sends a personalized rejection email to the requester, including the reason for rejection and other request information.
-
10. No-Transition/Escalation Scenarios
-
If the system can't find a way forward (for instance, if there’s no approver available, or something gets stuck):
-
The system determines that a "no transition" condition exists.
-
Sends an appropriate notification to alert about the stuck workflow.
-
11. End
-
The workflow ends either:
-
With a successful payment setup and notification,
-
Or after sending error/rejection messages as needed.
-