diff --git a/packages/loot-core/src/server/accounts/rules.ts b/packages/loot-core/src/server/accounts/rules.ts
index e97fa8ef2f39b67f809f673fa843586ebcccc7fa..8bf51d7ccfe9b5b2b9713806566a2cbbe2e38cdd 100644
--- a/packages/loot-core/src/server/accounts/rules.ts
+++ b/packages/loot-core/src/server/accounts/rules.ts
@@ -35,7 +35,6 @@ function parseRecurDate(desc) {
 
     return {
       type: 'recur',
-      // @ts-expect-error fix me
       schedule: new RSchedule({
         rrules: rules,
         data: {
diff --git a/packages/loot-core/src/server/schedules/app.ts b/packages/loot-core/src/server/schedules/app.ts
index dedbe2e0e8f6880eba2520b02d43d2118a37e906..ea99443d4bc5066149fd063a1609623046924988 100644
--- a/packages/loot-core/src/server/schedules/app.ts
+++ b/packages/loot-core/src/server/schedules/app.ts
@@ -374,21 +374,17 @@ async function getUpcomingDates({ config, count }) {
   const rules = recurConfigToRSchedule(config);
 
   try {
-    // @ts-expect-error fix me
     const schedule = new RSchedule({ rrules: rules });
 
-    return (
-      schedule
-        // @ts-expect-error fix me
-        .occurrences({ start: d.startOfDay(new Date()), take: count })
-        .toArray()
-        .map(date =>
-          config.skipWeekend
-            ? getDateWithSkippedWeekend(date.date, config.weekendSolveMode)
-            : date.date,
-        )
-        .map(date => dayFromDate(date))
-    );
+    return schedule
+      .occurrences({ start: d.startOfDay(new Date()), take: count })
+      .toArray()
+      .map(date =>
+        config.skipWeekend
+          ? getDateWithSkippedWeekend(date.date, config.weekendSolveMode)
+          : date.date,
+      )
+      .map(date => dayFromDate(date));
   } catch (err) {
     captureBreadcrumb(config);
     throw err;
diff --git a/packages/loot-core/src/server/schedules/find-schedules.ts b/packages/loot-core/src/server/schedules/find-schedules.ts
index d63c04b130cffdf0235744abf7e15316bde0f26c..8b45406138b3212102c45b179975c1e322467e2d 100644
--- a/packages/loot-core/src/server/schedules/find-schedules.ts
+++ b/packages/loot-core/src/server/schedules/find-schedules.ts
@@ -16,15 +16,11 @@ import { Schedule as RSchedule } from '../util/rschedule';
 import { SchedulesHandlers } from './types/handlers';
 
 function takeDates(config) {
-  // @ts-expect-error fix me
   const schedule = new RSchedule({ rrules: recurConfigToRSchedule(config) });
-  return (
-    schedule
-      // @ts-expect-error fix me
-      .occurrences({ take: 3 })
-      .toArray()
-      .map(d => d.date)
-  );
+  return schedule
+    .occurrences({ take: 3 })
+    .toArray()
+    .map(d => d.date);
 }
 
 async function getTransactions(date, account) {
diff --git a/packages/loot-core/src/server/util/rschedule.ts b/packages/loot-core/src/server/util/rschedule.ts
index e43edb3896980fdfa8fec6fb3a6cc79c5732ee3e..0d61be8aff2550230c710749ddb0071fd19791cd 100644
--- a/packages/loot-core/src/server/util/rschedule.ts
+++ b/packages/loot-core/src/server/util/rschedule.ts
@@ -1,5 +1,4 @@
 import '@rschedule/standard-date-adapter/setup';
-import '@rschedule/json-tools/Schedule';
 
 export * from '@rschedule/standard-date-adapter';
 export * from '@rschedule/core';
diff --git a/upcoming-release-notes/3361.md b/upcoming-release-notes/3361.md
new file mode 100644
index 0000000000000000000000000000000000000000..7b9dd21635ca1330cfb18a0331a5209db2517025
--- /dev/null
+++ b/upcoming-release-notes/3361.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [UnderKoen]
+---
+
+TypeScript: RSchedule types fixed