From 5dd59c0053a6e9123efea525e3a103f7e68436df Mon Sep 17 00:00:00 2001 From: youngcw <calebyoung94@gmail.com> Date: Thu, 27 Jul 2023 18:35:00 -0700 Subject: [PATCH] Goals: fix leftover 1 cent in remainder goal (#1400) --- packages/loot-core/src/server/budget/goaltemplates.ts | 5 ++++- upcoming-release-notes/1400.md | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 upcoming-release-notes/1400.md diff --git a/packages/loot-core/src/server/budget/goaltemplates.ts b/packages/loot-core/src/server/budget/goaltemplates.ts index 7c3c033bf..bf394c4c5 100644 --- a/packages/loot-core/src/server/budget/goaltemplates.ts +++ b/packages/loot-core/src/server/budget/goaltemplates.ts @@ -144,7 +144,7 @@ async function processTemplate(month, force, category_templates) { let remainder_scale = 1; if (priority === lowestPriority) { let available_now = await getSheetValue(sheetName, `to-budget`); - remainder_scale = Math.round(available_now / remainder_weight_total); + remainder_scale = available_now / remainder_weight_total; } for (let c = 0; c < categories.length; c++) { @@ -671,6 +671,9 @@ async function applyCategoryTemplate( // can over budget with the rounding, so checking that if (to_budget >= budgetAvailable + budgeted) { to_budget = budgetAvailable + budgeted; + // check if there is 1 cent leftover from rounding + } else if (budgetAvailable - to_budget === 1) { + to_budget = to_budget + 1; } } break; diff --git a/upcoming-release-notes/1400.md b/upcoming-release-notes/1400.md new file mode 100644 index 000000000..3bd39278f --- /dev/null +++ b/upcoming-release-notes/1400.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [youngcw] +--- + +Goals: Fix leftover $0.01 when using remainder goal -- GitLab