mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-10 04:02:38 -05:00
[Bug] [Budget templates]: "up to" template not handling category negative Spent #538
Closed
opened 2026-02-28 19:08:08 -06:00 by GiteaMirror
·
9 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
No Label
bug
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#538
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 @dugite-code on GitHub (Aug 2, 2023).
Verified issue does not already exist?
What happened?
-383.44and a balance-44.80with over1300to budget#template 300 up to 350Expected result: to have
300applied to category budgetActual result:
11.36applied to category budgetIt looks like the spent amount is taken as a positive and the balance subtracted to determine the amount to budget:
Additional details
What error did you receive?
No response
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Firefox
Operating System
Linux
@shall0pass commented on GitHub (Aug 2, 2023):
I'm unable to reproduce this issue. I created a fresh budget to test, added one account, added one payment transaction to the food category in the amount of 315, place a -40 in the budgeted field, and applied #template 300 up to 350. The result was 300 budgeted with a balance of -15. (-315+300).
Did I miss something?
@kyrias commented on GitHub (Aug 2, 2023):
#template 300 up to 350.Result: Food category has budgeted 11.36, spent -383.44, and balance -33.44.
@Kidglove57 commented on GitHub (Aug 2, 2023):
I can also reproduce this. I tried using the “overwrite” feature but it made no difference
@shall0pass commented on GitHub (Aug 2, 2023):
Ah ok. What's happening is that the template doesn't take into consideration any current month spending. If you didn't have the spent value, your category balance for the month would be 350 and you would have hit the limit for the category. Lines 717 and 718 of the goal templates file are where the calculation is being modified from 300 to 11 to max the category at 350 if someone wants to take a look.
Fix: line 717
else if(to_budget +balance >limit) {
to_budget = limit - balance;
}
I'm traveling today so I can't push this until tonight, maybe tomorrow. If someone else wants to check this and push 🎉
@youngcw commented on GitHub (Aug 2, 2023):
This seems to be acting as expected. Select few templates consider the spent value in their calculations. Any overspending should be taken care by clicking the the negative balance and then "cover overspending" to pull in funds from a different category. Other options to clean up the overspending are to get rid of the limit, increase the limit, or use the end of month cleanup.
@shall0pass commented on GitHub (Aug 2, 2023):
Here is the definition of this template from the documentation.
<html>The way I read this, is that it will budget 50 into the category until the category has a maximum amount of 300. Reading it that way, I agree with @youngcw that it is behaving as described. The difference in this bug report is that spending has already occurred when the template was run.
If we change your example slightly, and remove the spending. The template still would have budgeted 11.36 because your category would have been capped at 350 which was specified.
If you have read the description differently, I'm interested in hearing how you think it reads. Maybe we can make it more clear. I think you would be more satisfied with just
#template 300for this application, since you always want to budget 300 into the category. This will not place an upper limit on how much to save.@dugite-code commented on GitHub (Aug 2, 2023):
Right I see where it's going wrong here. But is it really expected? From my read it's up to 350 from when the template is applied and I would expect it would take spending into account. If you have spent the funds you no longer have up to 350 so it should be fine adding the entire 300 as the cap no longer applies, It's certainly not what I expect would happen.
I don't want to use the
#template 300because this category can vary quite a bit but when I do my budget I still want a maximum of 350 in that category. I always have some spending because I get payed in the middle of the month so I do my budget in the middle of the month.@shall0pass commented on GitHub (Aug 2, 2023):
Please try the PR https://github.com/actualbudget/actual/pull/1448 to see if this would resolve your issue. @youngcw , I'd really appreciate a review from you as well when you have time :)
@dugite-code commented on GitHub (Aug 3, 2023):
@shall0pass Yes, just tested on netlify and that resolves my issue.