diff --git a/packages/loot-core/src/server/budget/goal-template.pegjs b/packages/loot-core/src/server/budget/goal-template.pegjs
index 4e93301e7f9c8280a6660c7008e7f7069f18933e..635efced046e3657b8da6a2f43164cc3bca932cd 100644
--- a/packages/loot-core/src/server/budget/goal-template.pegjs
+++ b/packages/loot-core/src/server/budget/goal-template.pegjs
@@ -61,7 +61,7 @@ d 'digit' = [0-9]
 number 'number' = $(d+)
 positive = $([1-9][0-9]*)
 amount 'amount' = currencySymbol? _? amount: $(d+ ('.' (d d?)?)?) { return +amount }
-percent 'percentage' = percent: $(d+) _? '%' { return +percent }
+percent 'percentage' = percent: $(d+ ('.' (d+)?)?) _? '%' { return +percent }
 year 'year' = $(d d d d)
 month 'month' = $(year '-' d d)
 day 'day' = $(d d)
diff --git a/upcoming-release-notes/2689.md b/upcoming-release-notes/2689.md
new file mode 100644
index 0000000000000000000000000000000000000000..b2a5b85001c59d3c264690f4e0067dd9f339dd95
--- /dev/null
+++ b/upcoming-release-notes/2689.md
@@ -0,0 +1,6 @@
+---
+category: Enhancements
+authors: [shall0pass]
+---
+
+Goals: Enable decimals for percentage templates.