diff --git a/backend/app/api/v1/transactions.py b/backend/app/api/v1/transactions.py index 1fc2e5d..1de9ada 100644 --- a/backend/app/api/v1/transactions.py +++ b/backend/app/api/v1/transactions.py @@ -363,6 +363,7 @@ async def _call_ai_parse(file_bytes: bytes, mime_type: str, user_row) -> dict: "date": parsed.get("date"), "description": parsed.get("description"), "category": parsed.get("category"), + "raw": text, } diff --git a/frontend/src/api/settings.ts b/frontend/src/api/settings.ts index 4ab3c35..1c23fd1 100644 --- a/frontend/src/api/settings.ts +++ b/frontend/src/api/settings.ts @@ -21,6 +21,7 @@ export interface ParsedReceipt { date: string | null; description: string | null; category: string | null; + raw: string | null; } export async function getAiSettings(): Promise { diff --git a/frontend/src/pages/transactions/TransactionDetailDrawer.tsx b/frontend/src/pages/transactions/TransactionDetailDrawer.tsx index 01f1909..01e7f75 100644 --- a/frontend/src/pages/transactions/TransactionDetailDrawer.tsx +++ b/frontend/src/pages/transactions/TransactionDetailDrawer.tsx @@ -260,7 +260,16 @@ export default function TransactionDetailDrawer({ transaction, accountName, cate {parseResult.data.date &&
Date{parseResult.data.date}
} {parseResult.data.description &&
Description{parseResult.data.description}
} {parseResult.data.category &&
Category hint{parseResult.data.category}
} + {!parseResult.data.merchant && !parseResult.data.amount && !parseResult.data.description && ( +
No fields detected.
+ )} + {parseResult.data.raw && ( +
+ Raw AI response +
{parseResult.data.raw}
+
+ )}