RahalCorporate
BudgetsConcepts

Budget Periods

Understanding monthly, quarterly, and yearly budget cycles

Budget Periods

Budget periods define the time cycles during which budget amounts are allocated and tracked. At the end of each period, the budget resets (with optional rollover), and a new period begins.

Period Types

Rahal supports three period types:

Period TypeDurationUse Case
Monthly1 monthFrequent travelers, tight spending control
Quarterly3 monthsBalanced flexibility and control
Yearly12 monthsMaximum flexibility, annual budgeting

How Periods Work

  1. Budget Created: When you create a budget, the first period is automatically created
  2. Period Active: Users book travel, and spending is tracked against the current period
  3. Period Expires: When the end date passes, a daily job processes expired periods
  4. Rollover Applied: Remaining balance is calculated and rolled to the next period (if configured)
  5. New Period Created: The old period is marked as closed, and the new period becomes active

Period Lifecycle

  1. Creation - When a budget is created, the first period is automatically created
  2. Active - Users book travel, spending is tracked against this period
  3. Expiration - When the end date passes, a daily job processes expired periods
  4. Rollover - Remaining balance is calculated and rolled to the next period (if configured)
  5. Closed - The period is marked as CLOSED and archived

Period States

StateDescription
ACTIVECurrent period accepting transactions
CLOSEDPast period, no new transactions allowed

Configuring Period Timing

Start Day

The Period Start Day determines which day of the month the period begins:

  • Day 1-28: Period starts on this day each cycle
  • Avoid days 29-31 to prevent issues with shorter months

If you set a start day of 31, the period will start on the last day of months with fewer days (e.g., February 28).

Start Month (Quarterly/Yearly Only)

For quarterly and yearly budgets, you also specify the Start Month:

Quarterly Example:

  • Start Month: January, Start Day: 1
  • Periods: Jan 1 - Mar 31, Apr 1 - Jun 30, Jul 1 - Sep 30, Oct 1 - Dec 31

Yearly Example:

  • Start Month: April, Start Day: 1 (Fiscal year)
  • Period: Apr 1, 2024 - Mar 31, 2025

Period Amounts

Each period tracks several monetary values:

FieldDescription
Base AmountThe budget's configured amount for this period
Rollover AmountAmount carried from the previous period
Total AllocatedBase + Rollover = total available
Spent AmountConfirmed transactions (completed bookings)
Pending AmountReserved but not confirmed (in-progress bookings)
Remaining AmountTotal Allocated - Spent - Pending

Amount Flow Example

FieldAmountCalculation
Base Amount$5,000Original allocation for this period
Rollover Amount$1,200Carried from previous period
Total Allocated$6,200Base + Rollover
Spent Amount$3,000Confirmed bookings
Pending Amount$500Reservations in progress
Remaining$2,700Total - Spent - Pending

Period Creation Logic

The system automatically creates periods:

For the first period:

  • Uses your configured start day and month
  • If the calculated start date is in the future, it goes back one cycle (e.g., if start day is 1 and today is January 15, the period is January 1-31, not February 1-28)

For subsequent periods:

  • Start date is the day after the previous period ended
  • End date is calculated based on period type (add 1/3/12 months, then subtract 1 day)

Example: Monthly Budget Starting on Day 15

PeriodStart DateEnd Date
1Jan 15, 2024Feb 14, 2024
2Feb 15, 2024Mar 14, 2024
3Mar 15, 2024Apr 14, 2024

Example: Quarterly Budget Starting in April

PeriodStart DateEnd Date
1Apr 1, 2024Jun 30, 2024
2Jul 1, 2024Sep 30, 2024
3Oct 1, 2024Dec 31, 2024
4Jan 1, 2025Mar 31, 2025

Per User Periods

For Per User allocation, each user gets their own period record in addition to the main budget period:

LevelWhat It Tracks
Budget PeriodOverall period timing (start date, end date, period number)
User Budget PeriodIndividual user's allocation, spending, and remaining balance

Key Points:

  • BudgetPeriod tracks the overall budget period timing
  • UserBudgetPeriod tracks each user's individual allocation within that period
  • Rollover is calculated per user, not at the pool level

Automatic Period Transitions

A daily background job handles period transitions:

  1. Find expired periods - Periods where endDate < today and status = ACTIVE
  2. Process each budget:
    • Close the expired period (set status to CLOSED)
    • Calculate rollover amount based on rollover policy
    • Create the next period with rollover applied
  3. For Per User budgets:
    • Create new UserBudgetPeriod records for each user
    • Apply individual rollover amounts

Period transitions happen automatically. You don't need to manually create new periods.

Period History

Administrators can view the history of all periods for a budget:

PeriodDatesBaseRolloverTotalSpentStatus
1Jan 1 - Jan 31$5,000$0$5,000$4,200CLOSED
2Feb 1 - Feb 28$5,000$800$5,800$5,100CLOSED
3Mar 1 - Mar 31$5,000$700$5,700$2,300ACTIVE

This history provides:

  • Full audit trail of budget usage over time
  • Visibility into rollover patterns
  • Data for budgeting and forecasting

Choosing a Period Type

Monthly

  • Pros: Tight control, quick feedback loop, easier to adjust
  • Cons: May be restrictive for occasional travelers
  • Best for: Sales teams with regular travel, companies with tight cash flow

Quarterly

  • Pros: More flexibility, aligns with business quarters
  • Cons: Harder to course-correct if overspending early
  • Best for: Project teams, seasonal businesses, mid-sized companies

Yearly

  • Pros: Maximum flexibility, aligns with annual budgeting
  • Cons: Risk of early depletion, harder to track spending patterns
  • Best for: Executives, infrequent travelers, stable organizations

On this page