diff --git a/packages/loot-core/src/server/budget/goal-template.pegjs b/packages/loot-core/src/server/budget/goal-template.pegjs
index 78127a04ec34e936160430173446ba836912be82..e4559d5335d12466de63180a7ff2ef10343e01be 100644
--- a/packages/loot-core/src/server/budget/goal-template.pegjs
+++ b/packages/loot-core/src/server/budget/goal-template.pegjs
@@ -19,10 +19,10 @@ expr
     { return { type: 'simple', limit } }
 
 repeat 'repeat interval'
-  = 'month' { return { annual: false } }
-  / months: d _ 'months' { return { annual: false, repeat: +months } }
-  / 'year' { return { annual: true } }
-  / years: d _ 'years' { return { annual: true, repeat: +years } }
+  = 'month'i { return { annual: false } }
+  / months: d _ 'months'i { return { annual: false, repeat: +months } }
+  / 'year'i { return { annual: true } }
+  / years: d _ 'years'i { return { annual: true, repeat: +years } }
 
 limit = _ upTo? _ amount: amount { return amount }
 
@@ -30,15 +30,15 @@ weekCount
   = week { return null }
   / n: number _ weeks { return +n }
 
-spendFrom = _ 'spend' _ 'from' _ month: month { return month }
+spendFrom = _ 'spend'i _ 'from'i _ month: month { return month }
 
-week = 'week'
-weeks = 'weeks'
-by = 'by'
-of = 'of'
-repeatEvery = 'repeat' _ 'every'
-starting = 'starting'
-upTo = 'up' _ 'to'
+week = 'week'i
+weeks = 'weeks'i
+by = 'by'i
+of = 'of'i
+repeatEvery = 'repeat'i _ 'every'i
+starting = 'starting'i
+upTo = 'up'i _ 'to'i
 
 _ 'space' = ' '+
 d 'digit' = [0-9]
diff --git a/upcoming-release-notes/756.md b/upcoming-release-notes/756.md
new file mode 100644
index 0000000000000000000000000000000000000000..0d1535e037426bcde6262cc35dab842ecda54af2
--- /dev/null
+++ b/upcoming-release-notes/756.md
@@ -0,0 +1,6 @@
+---
+category: Enhancements
+authors: [j-f1]
+---
+
+Make goal template keywords case insensitive