RahalCorporate
BudgetsConcepts

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

ModeWhen Budget ExceededUser ExperienceBooking Proceeds?
Track OnlyNo actionNo indicationYes
Warn When ExceededWarning shownSees warning, can continueYes
Require ApprovalApproval workflowMust submit booking requestOnly after approval
BlockBooking preventedCannot complete bookingNo

How Enforcement Works

When a user attempts to book travel, the system:

  1. Resolves the user's budget using the resolution hierarchy
  2. Evaluates the booking amount against available budget
  3. Converts currency if needed (booking currency → budget currency)
  4. 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 reporting

Warn 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 logged

Require 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

  1. User attempts to book travel that exceeds their budget
  2. System creates a booking request instead of completing the booking
  3. User is notified that approval is required
  4. Manager receives notification and reviews the request
  5. Manager approves or rejects the request
  6. If approved, user can complete the booking
  7. 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 proceed

The 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 admin

Enforcement Decision Summary

SituationTrack OnlyWarnRequire ApprovalBlock
Within budgetAllowAllowAllowAllow
Over budgetAllow (tracked)Warn then AllowCreate RequestBlock

Enforcement and Budget Actions

The system returns one of four actions based on enforcement evaluation:

ActionDescriptionUser Flow
ALLOWProceed with bookingDirect booking
WARNShow warning, allow continueWarning → Confirm → Book
REQUIRE_APPROVALCreate booking requestRequest → Approval → Book
BLOCKPrevent bookingError 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), ALLOW

The 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

ScenarioRecommended Mode
Just starting with budgetsTrack Only
Trust employees, want visibilityWarn When Exceeded
Need manager oversightRequire Approval
Strict financial controlsBlock
Mix of user typesDifferent modes per budget

Progressive Enforcement Strategy

Many companies implement budgets progressively:

  1. Month 1-2: Track Only - Understand spending patterns
  2. Month 3-4: Warn When Exceeded - Build awareness
  3. 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:

FieldDescription
UserWho exceeded
BudgetWhich budget
Requested AmountBooking cost
Available AmountBudget remaining
Excess AmountHow much over
Enforcement ModeWhat mode was in effect
Action TakenALLOW, WARN, REQUIRE_APPROVAL, or BLOCK
ReferenceBooking request or order ID

This provides a complete audit trail for finance and compliance.

On this page