Skip to content

Extract Expense Data from Receipts & Invoice Emails #31

Description

@krishnasahoo11156

Users receive hundreds of receipts (Amazon, Uber, food delivery). We need to automatically extract structured expense data and detect recurring subscriptions.

Acceptance Criteria
• Add Expense model to Prisma schema
• Create backend/src/services/actions/expense-extractor.service.ts
• Keyword filter first (“receipt”, “invoice”, “order confirmation”) — skip LLM for non-receipts
• Use OpenAI structured outputs for extraction: amount, currency, merchant, category, date, paymentMethod, items
• Regex fallback for simple cases ($XX.XX, €XX,XX)
• Normalize merchant names (“Uber Technologies Inc” → “Uber”)
• Detect recurring expenses (same merchant + similar amount + regular interval)
• Add expense summary to frontend EmailViewer sidebar

Technical Notes
• Must complete in <2s
• Handle multiple receipts in one email
• Currency conversion: store original + USD equivalent
• Must not call LLM for non-receipt emails (save costs)

Metadata

Metadata

Assignees

No one assigned

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions