diff --git a/packages/loot-core/src/server/budget/goaltemplates.ts b/packages/loot-core/src/server/budget/goaltemplates.ts
index 12a78d706ec4135fbc83ddcebed05e2a1d1333da..e17effde80365e2370934ff0a660189786561642 100644
--- a/packages/loot-core/src/server/budget/goaltemplates.ts
+++ b/packages/loot-core/src/server/budget/goaltemplates.ts
@@ -7,7 +7,7 @@ import { amountToInteger, integerToAmount } from '../../shared/util';
 import * as db from '../db';
 import { getRuleForSchedule, getNextDate } from '../schedules/app';
 
-import { setBudget, getSheetValue } from './actions';
+import { setBudget, setZero, getSheetValue } from './actions';
 import { parse } from './goal-template.pegjs';
 
 export function applyTemplate({ month }) {
@@ -63,13 +63,9 @@ async function processTemplate(month, force) {
             ? template[l].priority
             : lowestPriority;
       }
-      await setBudget({
-        category: category.id,
-        month,
-        amount: 0,
-      });
     }
   }
+  setZero({ month });
   // find all remainder templates, place them after all other templates
   let remainder_found;
   let remainder_priority = lowestPriority + 1;
diff --git a/upcoming-release-notes/1344.md b/upcoming-release-notes/1344.md
new file mode 100644
index 0000000000000000000000000000000000000000..70da0611ffca3ee7c3a666c2a087f8404c3943fb
--- /dev/null
+++ b/upcoming-release-notes/1344.md
@@ -0,0 +1,6 @@
+---
+category: Enhancements
+authors: [shall0pass]
+---
+
+Goals: Use setZero function within goal templates for speed improvement