diff --git a/packages/desktop-client/src/components/budget/IncomeHeader.js b/packages/desktop-client/src/components/budget/IncomeHeader.tsx
similarity index 69%
rename from packages/desktop-client/src/components/budget/IncomeHeader.js
rename to packages/desktop-client/src/components/budget/IncomeHeader.tsx
index 0b898231cc4e3162227466cd82f7fabc61bf616b..d8cec93eb4fd7c898a90223197647db3c51fe2f2 100644
--- a/packages/desktop-client/src/components/budget/IncomeHeader.js
+++ b/packages/desktop-client/src/components/budget/IncomeHeader.tsx
@@ -1,11 +1,16 @@
-import React from 'react';
+import React, { type ReactNode } from 'react';
 
 import Button from '../common/Button';
 import View from '../common/View';
 
 import RenderMonths from './RenderMonths';
 
-function IncomeHeader({ MonthComponent, onShowNewGroup }) {
+type IncomeHeaderProps = {
+  MonthComponent?: ReactNode;
+  onShowNewGroup: () => void;
+};
+
+function IncomeHeader({ MonthComponent, onShowNewGroup }: IncomeHeaderProps) {
   return (
     <View style={{ flexDirection: 'row', flex: 1 }}>
       <View
@@ -22,6 +27,8 @@ function IncomeHeader({ MonthComponent, onShowNewGroup }) {
       <RenderMonths
         component={MonthComponent}
         style={{ border: 0, justifyContent: 'flex-end' }}
+        editingIndex={undefined}
+        args={undefined}
       />
     </View>
   );
diff --git a/upcoming-release-notes/1670.md b/upcoming-release-notes/1670.md
new file mode 100644
index 0000000000000000000000000000000000000000..190f3ee63a2c7c7ac85c042d356bf0e75de65403
--- /dev/null
+++ b/upcoming-release-notes/1670.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [Jod929]
+---
+
+Refactor budget/IncomeHeader to tsx
\ No newline at end of file