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 Type | Duration | Use Case |
|---|---|---|
| Monthly | 1 month | Frequent travelers, tight spending control |
| Quarterly | 3 months | Balanced flexibility and control |
| Yearly | 12 months | Maximum flexibility, annual budgeting |
How Periods Work
- Budget Created: When you create a budget, the first period is automatically created
- Period Active: Users book travel, and spending is tracked against the current period
- Period Expires: When the end date passes, a daily job processes expired periods
- Rollover Applied: Remaining balance is calculated and rolled to the next period (if configured)
- New Period Created: The old period is marked as closed, and the new period becomes active
Period Lifecycle
- Creation - When a budget is created, the first period is automatically created
- Active - Users book travel, spending is tracked against this period
- Expiration - When the end date passes, a daily job processes expired periods
- Rollover - Remaining balance is calculated and rolled to the next period (if configured)
- Closed - The period is marked as CLOSED and archived
Period States
| State | Description |
|---|---|
| ACTIVE | Current period accepting transactions |
| CLOSED | Past 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:
| Field | Description |
|---|---|
| Base Amount | The budget's configured amount for this period |
| Rollover Amount | Amount carried from the previous period |
| Total Allocated | Base + Rollover = total available |
| Spent Amount | Confirmed transactions (completed bookings) |
| Pending Amount | Reserved but not confirmed (in-progress bookings) |
| Remaining Amount | Total Allocated - Spent - Pending |
Amount Flow Example
| Field | Amount | Calculation |
|---|---|---|
| Base Amount | $5,000 | Original allocation for this period |
| Rollover Amount | $1,200 | Carried from previous period |
| Total Allocated | $6,200 | Base + Rollover |
| Spent Amount | $3,000 | Confirmed bookings |
| Pending Amount | $500 | Reservations in progress |
| Remaining | $2,700 | Total - 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
| Period | Start Date | End Date |
|---|---|---|
| 1 | Jan 15, 2024 | Feb 14, 2024 |
| 2 | Feb 15, 2024 | Mar 14, 2024 |
| 3 | Mar 15, 2024 | Apr 14, 2024 |
Example: Quarterly Budget Starting in April
| Period | Start Date | End Date |
|---|---|---|
| 1 | Apr 1, 2024 | Jun 30, 2024 |
| 2 | Jul 1, 2024 | Sep 30, 2024 |
| 3 | Oct 1, 2024 | Dec 31, 2024 |
| 4 | Jan 1, 2025 | Mar 31, 2025 |
Per User Periods
For Per User allocation, each user gets their own period record in addition to the main budget period:
| Level | What It Tracks |
|---|---|
| Budget Period | Overall period timing (start date, end date, period number) |
| User Budget Period | Individual user's allocation, spending, and remaining balance |
Key Points:
BudgetPeriodtracks the overall budget period timingUserBudgetPeriodtracks 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:
- Find expired periods - Periods where
endDate < todayandstatus = ACTIVE - 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
- 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:
| Period | Dates | Base | Rollover | Total | Spent | Status |
|---|---|---|---|---|---|---|
| 1 | Jan 1 - Jan 31 | $5,000 | $0 | $5,000 | $4,200 | CLOSED |
| 2 | Feb 1 - Feb 28 | $5,000 | $800 | $5,800 | $5,100 | CLOSED |
| 3 | Mar 1 - Mar 31 | $5,000 | $700 | $5,700 | $2,300 | ACTIVE |
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
Related Topics
- Rollover Policies - What happens to unused funds at period end
- Allocation Types - Per User vs Shared Pool
- Consumption Lifecycle - How transactions affect periods