Enforcement Modes
Control what happens when users exceed their budget
Enforcement Modes
Enforcement modes determine what action the system takes when a user attempts to book travel that would exceed their available budget. You can range from passive tracking to complete blocking.
Enforcement Mode Options
| Mode | When Budget Exceeded | User Experience | Booking Proceeds? |
|---|---|---|---|
| Track Only | No action | No indication | Yes |
| Warn When Exceeded | Warning shown | Sees warning, can continue | Yes |
| Require Approval | Approval workflow | Must submit booking request | Only after approval |
| Block | Booking prevented | Cannot complete booking | No |
How Enforcement Works
When a user attempts to book travel, the system:
- Resolves the user's budget using the resolution hierarchy
- Evaluates the booking amount against available budget
- Converts currency if needed (booking currency → budget currency)
- Determines the action based on enforcement mode and whether budget is exceeded
Track Only
Track Only is the most permissive mode. The system records all spending but never restricts bookings.
Behavior
- Bookings always proceed regardless of budget status
- No warnings or notifications to users
- Spending is tracked for reporting purposes
- Budget can go negative (overspent)
Use Cases
- New budget implementation - Track current spending patterns before enforcing limits
- Executive travel - Track costs without restricting VIPs
- Pilot programs - Test budgeting without impacting workflows
- Reporting only - When budgets are informational, not restrictive
Example Scenario
Budget: $5,000/month
Available: $500
Booking: $1,200 flight
Result: Booking proceeds
Budget shows: -$700 remaining (overspent)
Transaction logged for reportingWarn When Exceeded
Warn When Exceeded shows users a warning but allows them to proceed with the booking.
Behavior
- Warning displayed when booking would exceed budget
- User sees exactly how much they're over budget
- User can acknowledge warning and continue
- Spending tracked, budget can go negative
Warning Message Format
This booking will exceed your budget by $700 USD
Available: $500
Booking Cost: $1,200
Excess Amount: $700
Do you want to proceed?
[Cancel] [Proceed Anyway]Use Cases
- Soft limits - Discourage overspending without blocking
- Culture of accountability - Trust employees to make judgment calls
- Flexible policies - Allow occasional overages for business needs
- Gradual enforcement - Step before implementing strict controls
Example Scenario
Budget: $5,000/month, Warn When Exceeded
Available: $500
Booking: $1,200 flight
Result: Warning shown: "This booking will exceed your budget by $700"
User acknowledges and confirms
Booking proceeds
Budget violation loggedRequire Approval When Exceeded
Require Approval routes over-budget bookings through an approval workflow instead of completing immediately.
Behavior
- Within-budget bookings proceed normally
- Over-budget bookings create a Booking Request
- User cannot complete booking until approved
- Manager/admin reviews and approves or rejects
- If approved, booking proceeds; if rejected, user is notified
Workflow
- User attempts to book travel that exceeds their budget
- System creates a booking request instead of completing the booking
- User is notified that approval is required
- Manager receives notification and reviews the request
- Manager approves or rejects the request
- If approved, user can complete the booking
- If rejected, user is notified and the reserved budget is released
Use Cases
- Controlled flexibility - Allow exceptions with oversight
- Manager accountability - Managers own budget decisions
- Audit trail - Clear record of who approved what
- Cost center control - Finance can monitor overages
Example Scenario
Budget: $5,000/month, Require Approval
Available: $500
Booking: $1,200 flight
Result: Booking request created with:
- Requested amount: $1,200
- Budget available: $500
- Excess: $700
- Status: PENDING
User waits for approval
Manager approves → booking can proceedThe Require Approval mode integrates with Booking Requests. Budget information is included in the request for manager context.
Block When Exceeded
Block is the strictest mode. Users cannot complete bookings that would exceed their budget.
Behavior
- Within-budget bookings proceed normally
- Over-budget bookings are completely blocked
- User sees clear message explaining the block
- No override option - must choose cheaper options or wait for more budget
Block Message Format
Unable to complete booking
Your travel budget has insufficient funds for this booking.
Available: $500
Booking Cost: $1,200
Shortfall: $700
Please select a less expensive option or contact your manager
to request a budget increase.
[Browse Alternatives] [Cancel]Use Cases
- Hard budget limits - No exceptions allowed
- Financial constraints - Company cannot afford overages
- Compliance requirements - Spending caps are regulatory
- Cost center lockdown - Strict project budget control
Example Scenario
Budget: $5,000/month, Block
Available: $500
Booking: $1,200 flight
Result: Booking blocked
User sees: "Insufficient budget - $700 shortfall"
User must:
- Choose cheaper option
- Wait for budget reset
- Request budget increase from adminEnforcement Decision Summary
| Situation | Track Only | Warn | Require Approval | Block |
|---|---|---|---|---|
| Within budget | Allow | Allow | Allow | Allow |
| Over budget | Allow (tracked) | Warn then Allow | Create Request | Block |
Enforcement and Budget Actions
The system returns one of four actions based on enforcement evaluation:
| Action | Description | User Flow |
|---|---|---|
ALLOW | Proceed with booking | Direct booking |
WARN | Show warning, allow continue | Warning → Confirm → Book |
REQUIRE_APPROVAL | Create booking request | Request → Approval → Book |
BLOCK | Prevent booking | Error message, no booking |
Currency Conversion
When the booking currency differs from the budget currency, the system converts before comparison:
Booking: 400 EUR
Budget Currency: USD
Exchange Rate: 1 EUR = 1.10 USD
Converted Amount: 440 USD
Available Budget: 500 USD
Result: Within budget (440 < 500), ALLOWThe conversion happens automatically using the CurrencyConversionService. If conversion fails (e.g., unsupported currency pair), the system falls back to using the original amount.
Currency conversion uses the company's configured exchange rates. If rates are outdated, enforcement decisions may be slightly inaccurate. Regularly update exchange rates for accurate budget enforcement.
Company Default Enforcement
Companies can set a Default Enforcement Mode in company budget settings. This applies when:
- Creating new budgets (pre-fills the setting)
- Budgets inherit the company default if not explicitly set
Individual budgets can override the company default.
Choosing an Enforcement Mode
| Scenario | Recommended Mode |
|---|---|
| Just starting with budgets | Track Only |
| Trust employees, want visibility | Warn When Exceeded |
| Need manager oversight | Require Approval |
| Strict financial controls | Block |
| Mix of user types | Different modes per budget |
Progressive Enforcement Strategy
Many companies implement budgets progressively:
- Month 1-2: Track Only - Understand spending patterns
- Month 3-4: Warn When Exceeded - Build awareness
- Month 5+: Require Approval or Block - Full enforcement
This allows employees to adjust to budget awareness before restrictions apply.
Violation Logging
When a user exceeds their budget (regardless of enforcement mode), the system logs a Budget Violation:
| Field | Description |
|---|---|
| User | Who exceeded |
| Budget | Which budget |
| Requested Amount | Booking cost |
| Available Amount | Budget remaining |
| Excess Amount | How much over |
| Enforcement Mode | What mode was in effect |
| Action Taken | ALLOW, WARN, REQUIRE_APPROVAL, or BLOCK |
| Reference | Booking request or order ID |
This provides a complete audit trail for finance and compliance.
Related Topics
- Budget Resolution - How budgets are assigned to users
- Company Settings - Set default enforcement
- Enforcement Modes Reference - Complete reference