mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-10 04:02:38 -05:00
[Bug]: Regression in v26.1.0: #template schedule underfunds multi-month schedules after skipped months #2774
Closed
opened 2026-02-28 20:27:22 -06:00 by GiteaMirror
·
13 comments
No Branch/Tag Specified
master
claude/fix-simplefin-batch-sync-O8LcD
matiss/modal-and-server-refactor
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
ai/custom-theme-dual-prefs
matiss/fix-6804
add-claude-github-actions-1772738270730
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2774
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @coltrane42 on GitHub (Jan 5, 2026).
Verified issue does not already exist?
What happened?
In Actual v26.1.0, #template schedule <SCHEDULE_NAME> can underfund a category for a multi-month schedule when some months are skipped/left at 0.
Observed behavior: if I skip funding for one or more months, the schedule template will “catch up” only on the first subsequent month, but then it reverts back to the original base monthly amount even though the category is still behind, and the due month arrives underfunded.
This looks like a regression. Same budget file + same actions:
#template <amount> by <date>(keeps increasing all remaining months as needed)How can we reproduce the issue?
I’m attaching a minimal test budget file that defines a single schedule:
TEST_SCHEDULEI've set 2 categories:
SCHEDULE TEMPLATE:
#template schedule TEST_SCHEDULE
BY TEMPLATE:
#template 50 by 2025-10 repeat every 6 months
If I skip october, november and december, and begin running the templates starting in 2026-01, the two templates behave exactly the same in v25.12 until 2026-04: they increase the budgeted amount proportionally to 12.50 to hit the due date fully funded.
Doing the exact same actions in v26.1, the schedule template only budgets 12.5 on january and reverts back to budgeting 8.33 on february, march and april, hitting the due month underfunded with 37.49 instead of 50.
v26-1-regression-My Finances.zip
Where are you hosting Actual?
Desktop App (Electron)
What browsers are you seeing the problem on?
No response
Operating System
Linux
@coltrane42 commented on GitHub (Jan 7, 2026):
Here are two screenshots showing the situation:
This is the setup after running the templates in v25.12.0:
This is the exact same setup after re-running the templates in v26.1.0:
January and february are now silently underfunded in the scheduled template even though their balances appear in green.
@youngcw commented on GitHub (Jan 9, 2026):
When I use your example file I get 12.50 on both categories, and if I do your screenshot setup, I get 10 for both categoriesNVM, I needed to update my test@youngcw commented on GitHub (Jan 9, 2026):
Ok, I was working on a different schedule issue and accidentally may have fixed this one. Ill put in a PR.
@youngcw commented on GitHub (Jan 9, 2026):
@coltrane42 can you test out https://deploy-preview-6610.demo.actualbudget.org/ and confirm it fixes your issue?
@coltrane42 commented on GitHub (Jan 10, 2026):
Yes, it's working fine and I couldn't replicate the underbudgeting anymore, thanks!
@vfhykrmh4k-dot commented on GitHub (Jan 10, 2026):
PR#6610 does not seem to have pushed the corrected code to Build #1437, which I installed this morning via Docker Container Manager. The Docker image timestamp matches the Build Edge Docker Image timestamp.Actual in Safari indicated an update was available, which was then applied. Browser cache and
localStoragewere then cleared, and I loaded Actual in a Safari Private window to double-check. Unfortunately, the issue shown below persists.Issue:
#template schedule <SCHEDULE_NAME>underfunds a category for a multi-month schedule in two instances:How can we reproduce the issue?
Attached is a test budget file that defines a single schedule:
2026-01-10-Test Budget.zip
Math breakdown in local Docker:
Template used:
#template schedule CELLPHONEEnvironment:
Setup on local Docker (Issue persists in Build #1437):

Setup on Deploy Preview 6610 (Fixed):

This is the exact same setup in the preview environment, which correctly fixes the issue as mentioned in PR #6610.
Let me know if you prefer a new ticket for this.
@youngcw commented on GitHub (Jan 10, 2026):
I haven't tested docker, but you are right that these changes haven't made it to https://edge.actualbudget.org. I don't know why that is but the changes do show in the source. They should show up soon I would think. The desktop app built by that PR does have the change.
@vfhykrmh4k-dot commented on GitHub (Jan 11, 2026):
I've done some further testing
and it seems that the updated code only corrects/applies to newly created schedules and templates linked to them.Eg existing schedules and linked templates still have the calculation error as mentioned in my comment above.Attached budget file2026-01-11-Our Finances.zip
In the example below I've created a new schedule and template linked to it in the row labeled CELL, as you can see the calculations are correct. The row below it labeled 📱Cellphone is the existing schedule and template with the calculation error.

Troubleshooting steps performed:
Here is the docker image I used for the update/rebuild of the container.
Let me know if I should open a new ticket for this?
@youngcw commented on GitHub (Jan 11, 2026):
There is only one block of template code, so that block applies to all schedule templates. Are you rerunning your templates with overwrite?
@vfhykrmh4k-dot commented on GitHub (Jan 11, 2026):
The issue seems to be caused by the "repeat every" field for schedules, specifically when days or weeks are selected, months and years seem to be unaffected. All schedules are affected, new and existing.
I accidentally set the new schedule to repeat every year instead of repeat every 360 days (Cellular provider bills every 360 days), hence it looked like new schedules were unaffected. Apologies!
Updated budget file attached with both schedules repeating every 360 days.
2026-01-11-Template.Issue-2.zip
I went to the existing schedule Cellphone and changed it from repeat every 360 days to repeat every 1 year and now it's calculating correctly. I've tried changing it to 361 and 359 days but then the calculation errors returns. It also calculates correctly when there is no repeat set.
I'm pleased to report that with two template schedules in a category the calculations are now correct as long as the "repeat every field" is not set to days or weeks. In the interim I'll update both schedules to repeat yearly until a fix is pushed.
@vfhykrmh4k-dot commented on GitHub (Jan 13, 2026):
@youngcw should I open a new ticket for this?
@youngcw commented on GitHub (Jan 13, 2026):
@vfhykrmh4k-dot sure
@vfhykrmh4k-dot commented on GitHub (Jan 18, 2026):
Done 😀 Apology for not replying earlier! https://github.com/actualbudget/actual/issues/6644