from dataclasses import dataclass from datetime import datetime from typing import Optional @dataclass class Receipt: id: str file_name: str upload_date: datetime receipt_date: datetime amount: float tax: float vendor: str category: str @dataclass class Transaction: id: str transaction_date: datetime amount: float vendor: str notes: str @dataclass class Match: receipt: Receipt transaction: Transaction confidence_score: float match_reason: str