diff --git a/src/components/pages/expense/pdf/ExpensePDFButton.tsx b/src/components/pages/expense/pdf/ExpensePDFButton.tsx
new file mode 100644
index 00000000..fe062c25
--- /dev/null
+++ b/src/components/pages/expense/pdf/ExpensePDFButton.tsx
@@ -0,0 +1,53 @@
+'use client';
+
+import { pdf } from '@react-pdf/renderer';
+
+import Button from '@/components/Button';
+import { Icon } from '@iconify/react';
+import ExpensePDF from '@/components/pages/expense/pdf/ExpensePDF';
+
+import { Expense } from '@/types/api/expense';
+
+interface ExpensePDFPreviewButtonProps {
+ expense?: Expense;
+}
+
+const ExpensePDFPreviewButton = ({ expense }: ExpensePDFPreviewButtonProps) => {
+ const openPdf = async () => {
+ const expensePdfBlob = await pdf(