mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-06 07:01:45 -05:00
[GH-ISSUE #6513] [Bug]: Schedule template budget calculation incorrect for multiple non-monthly scheduled transactions #44411
Open
opened 2026-04-26 05:32:19 -05:00 by GiteaMirror
·
13 comments
No Branch/Tag Specified
master
claude/hide-default-categories-1cwBZ
matiss/crdt-source-loading
youngcw/unlock-duplicates
matiss/crdt-protobuf
release/26.5.0
claude/update-issue-template-ykMNn
claude/fix-issue-7667-DPXi3
cursor/formula-feedback-improvements-4223
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
jfdoming/api-tokens-part-3
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-1
claude/speed-up-vrt-workflow-ZAyI5
claude/crdt-version-auto-publish-Ph1BH
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
worktree-mellow-strolling-dawn
matiss/browser-api
claude/api-consumer-verification-kfz1K
feature/enable-banking
cursor/transaction-table-rewrite-f077
pr-7454
claude/fix-issue-7410-LLLQ4
release/v100.0.0
revert-7350-trim-deps
revert-7220-sankey-report
revert-7242-fix/split-parent-update-corruption
revert-7281-generate-icons
claude/electron-to-tauri-migration-LjBN8
worktree-remotion
release/vv26.4.0-pre
claude/browser-compatible-api-QbhHh
claude/improve-cli-transactions-waTUY
claude/publish-react-native-ios-j8qoT
js-proxy
claude/fix-flaky-ci-job-5gDdz
react-query-rules
react-query-useSchedules
claude/nightly-theme-validation-scan-DzOGD
claude/debug-simplefin-error-ZuKzB
matiss/desktop-client-subpath-imports
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
add-claude-github-actions-1772738270730
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.5.0
v26.4.0
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#44411
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 @johnallison0 on GitHub (Dec 30, 2025).
Original GitHub issue: https://github.com/actualbudget/actual/issues/6513
Verified issue does not already exist?
What happened?
If you create multiple annual schedules with different end dates and add them as part of a template schedule to a single category the budget calculation is incorrect.
How can we reproduce the issue?
Steps to reproduce
Schedule Template Bug.zip
Create two annual scheduled transactions (bug exists with the 'Repeats' checkbox in either state):
In December, budget £50 towards Bill A and £30 towards Bill B (total: £80 in the Test Bills category)
In January, add both schedule templates to the Test Bills category:
Expected behaviour
Actual behaviour
The template under-budgets in every month where funds are needed, with the shortfall increasing as the due dates approach.
I've attached a simple file that demonstrates the above.
Workaround
Each schedule template works correctly when:
The bug only occurs when multiple schedules with different due dates are combined in the same category.
Where are you hosting Actual?
Desktop App (Electron)
What browsers are you seeing the problem on?
Desktop App (Electron)
Operating System
Linux
@vfhykrmh4k-dot commented on GitHub (Jan 9, 2026):
Bug Report: #template schedule ignores deadline after first month
I am experiencing a similar issue where the template engine loses track of deadlines once a category has an existing balance. I believe these are related to the logic issues discussed in #6513.
Issue: #template schedule reverts to 1/12th math
Template:
#template schedule Cellphone($210 due 03/13/2026)Despite a specific schedule date in March 2026, the engine ignores the deadline once a balance exists
The template engine calculates the first month correctly but then drops to a default 1/12th calculation for the remaining months, failing to hit the goal by the schedule date.
The Error: The engine correctly identifies the "Months Remaining" in the first month, but once a balance exists in the category, it loses track of the deadline and reverts to a standard annual division.
@youngcw commented on GitHub (Jan 9, 2026):
The core issue seems to be that these aren't repeating schedules, so calculating how much is needed per month gets weird when they are stacked.
@vfhykrmh4k-dot commented on GitHub (Jan 9, 2026):
Unfortunately the calculations are also a mess with repeating schedules
Issue 3: Staggered "By Date" templates causing over-budgeting (Front-loading)
When multiple
#template [amount] by [date]lines are used in one category with staggered deadlines, the engine fails to silo the balance for each line.The Setup:
#template 203.18 by 2026-03 repeat every year#template 129.50 by 2026-05 repeat every year#template 1550.00 by 2026-05 repeat every year#template 1500.00 by 2026-12 repeat every yearJanuary 2026 Math Breakdown:
The Error:
The engine is over-budgeting by $133.63 in January. Instead of performing four independent "siloed" calculations, the logic "front-loads" future obligations (specifically from the December Road Maintenance goal) into the current month. This occurs because the engine cannot distinguish between the multiple staggered deadlines and attempts to over-collect early to "protect" the March deadline.
The Impact:
This creates an unstable budget flow. By over-collecting now, the engine will eventually "dip" the suggested amounts significantly below the required monthly averages once the early-year goals are spent, making the template appear unreliable for level-funding.
@youngcw commented on GitHub (Jan 9, 2026):
We have never found a good way to do that without storing gobs of information between months.
@vipergts450 commented on GitHub (Jan 9, 2026):
If you took the starting balance for the month for the category and then ran each template line independently, would any data need to be stored between months?
@vfhykrmh4k-dot commented on GitHub (Jan 9, 2026):
Appreciate this, would it be easier to fix the bug in #template schedule as mentioned here? I would rather then use and stack #template schedules.
@youngcw commented on GitHub (Jan 9, 2026):
So this does work properly if you spend the $100 for schedule A in February. March budgets $35 so there is $90 for schedule B.NVM, my other PR partially fixes this. Thats what I get for working on two issues at once.@youngcw commented on GitHub (Jan 9, 2026):
So PR #6610 partially fixes this. It budgets exactly whats needed if you do charge schedule A before March. If you don't it budgets too much. Better than not enough I guess. The reason it budgets too much is that since it can tell that schedule A wasn't paid out yet, it tries to budget what is needed on a per month basis for schedule B. The problem is that schedule B doesn't have a calculable per month amount since it doesn't repeat, and we dont have the information about when the schedule was created to use.
Ill keep thinking about if there is anything else I can use
@vfhykrmh4k-dot commented on GitHub (Jan 10, 2026):
Hi I have used https://deploy-preview-6610.demo.actualbudget.org/ and it fixes my issue.
Eg #template schedule Cellphone ($210 due 03/13/2026)
Jan = $70, Feb = $70, Mar = $70 Total $210
After updating to the latest Edge Docker image (Jan 10 at 7:04) and having cleared my browser cache/local storage I am still having the old issue.
Eg #template schedule Cellphone ($210 due 03/13/2026)
Jan = $70, Feb = $17.50, Mar = $17.50 Total $105
Am I correct in assuming that this Edge build should have applied the fix?
@youngcw commented on GitHub (Jan 10, 2026):
@vfhykrmh4k-dot that looks like a totally different issue than the one presented here. Please open a separate ticket
@vfhykrmh4k-dot commented on GitHub (Jan 10, 2026):
I was going to post it in https://github.com/actualbudget/actual/issues/6562 but it's closed and resolved and it's very much the same issue I am experiencing. Eg my issue is resolved in https://deploy-preview-6610.demo.actualbudget.org/ seems like you have already done the work in that demo preview and the corrected code was suppose to have been uploaded with the Edge build last night?
Do you still want me to open a separate ticket? I'm new to Github and am still learning how the work-flow works.
@youngcw commented on GitHub (Jan 10, 2026):
Add steps to recreate your issue on the other ticket then if that one is the same problem. Don't hijack unrelated tickets.
@vfhykrmh4k-dot commented on GitHub (Jan 10, 2026):
Will do, though my issue is also technically related to 6562 and 6513. Was not wanting to duplicate support tickets but in future I will create a separate ticket if my issue is not exactly as described. Apologies.