[PR #6412] Enable budget planning by pay periods #6503

Open
opened 2026-02-28 21:29:16 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/6412

State: open
Merged: No


Pitch:
The biggest challenge with any budget is knowing you’ll have the right amount of money at the right time. Actual Budget’s envelop method does a great job of tracking this by encouraging you to plan only with the money you currently have.

A Pay Period view would allow for planning in income driven slices. Instead of an arbitrary month, a user could select whether they get paid weekly, bi-weekly, etc. and there budget view would be broken down in that time range (e.g Aug 29th - Sep 12th). This allows for planning with numbers proportional to and with the time reference of your income.

Additionally, a Pay Period view solves the Tracking Budget’s biggest issue. Since the time slices are income driven, you can be more confident you’ll have the right amount of money when you need it.

Key architecture pieces:

  1. Uses month IDs YYYY-13 through YYYY-99 for pay periods (vs YYYY-01 to YYYY-12 for calendar months)
  2. No database schema changes - reuses all existing month infrastructure
  3. Module singleton pattern for config management (synced from preferences on both frontend/backend)
  4. Pay period ID presence = proof of enablement (eliminates redundant config checks)

How to Enable:

Experimental Feature Flag:
image

Pay Period Configs:
image

  • This Supports Monthly, Bi-Weekly, and Weekly

Toggleable Pay Periods vs Month view

image

MonthPicker shows the first letter of the Month and the count of how many pay periods are in that month.

Related Links:

Summary by CodeRabbit

  • New Features

    • Configurable pay‑period budgeting: multiple frequencies, start date, and a toggle to switch calendar vs pay‑period views; settings UI and budget menus expose controls when enabled.
  • Improvements

    • Month/date labels and navigation updated across desktop and mobile to show pay‑period ranges and consistent month rendering.
    • Budget view initialization and refresh now respect pay‑period state for accurate display.
  • Tests

    • Extensive unit and integration tests covering pay‑period logic and utilities.

✏️ Tip: You can customize this high-level summary in your review settings.

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6412 **State:** open **Merged:** No --- **Pitch:** The biggest challenge with any budget is knowing you’ll have the right amount of money at the right time. Actual Budget’s envelop method does a great job of tracking this by encouraging you to plan only with the money you currently have. A Pay Period view would allow for planning in income driven slices. Instead of an arbitrary month, a user could select whether they get paid weekly, bi-weekly, etc. and there budget view would be broken down in that time range (e.g Aug 29th - Sep 12th). This allows for planning with numbers proportional to and with the time reference of your income. Additionally, a Pay Period view solves the Tracking Budget’s biggest issue. Since the time slices are income driven, you can be more confident you’ll have the right amount of money when you need it. **Key architecture pieces:** 1. Uses month IDs YYYY-13 through YYYY-99 for pay periods (vs YYYY-01 to YYYY-12 for calendar months) 2. No database schema changes - reuses all existing month infrastructure 3. Module singleton pattern for config management (synced from preferences on both frontend/backend) 4. Pay period ID presence = proof of enablement (eliminates redundant config checks) **How to Enable:** Experimental Feature Flag: <img width="536" height="212" alt="image" src="https://github.com/user-attachments/assets/0a29077a-4b0b-43b9-8b8d-6f922c3a457c" /> Pay Period Configs: <img width="537" height="123" alt="image" src="https://github.com/user-attachments/assets/ad9cc2db-3c05-4d61-a1a3-ebfbf1ea76a0" /> * This Supports Monthly, Bi-Weekly, and Weekly Toggleable Pay Periods vs Month view <img width="1592" height="461" alt="image" src="https://github.com/user-attachments/assets/7dce2680-d85a-444e-ad93-b2194f754eed" /> MonthPicker shows the first letter of the Month and the count of how many pay periods are in that month. **Related Links:** - https://github.com/actualbudget/actual/pull/5730 - https://github.com/actualbudget/actual/issues/5849 - https://github.com/actualbudget/actual/issues/975 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Configurable pay‑period budgeting: multiple frequencies, start date, and a toggle to switch calendar vs pay‑period views; settings UI and budget menus expose controls when enabled. * **Improvements** * Month/date labels and navigation updated across desktop and mobile to show pay‑period ranges and consistent month rendering. * Budget view initialization and refresh now respect pay‑period state for accurate display. * **Tests** * Extensive unit and integration tests covering pay‑period logic and utilities. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
GiteaMirror added the pull-request label 2026-02-28 21:29:16 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6503