app.models.bank_statement moduleΒΆ

BankStatement and BankTransaction ORM models.

class app.models.bank_statement.BankStatement(**kwargs)[source]ΒΆ

Bases: UUIDPrimaryKeyMixin, Base

Statement-level metadata extracted from a CSV bank statement.

account_holder: Mapped[str | None]ΒΆ
account_number: Mapped[str | None]ΒΆ
bank_name: Mapped[str | None]ΒΆ
closing_balance: Mapped[Decimal | None]ΒΆ
currency: Mapped[str | None]ΒΆ
detected_delimiter: Mapped[str | None]ΒΆ
detected_encoding: Mapped[str | None]ΒΆ
detected_format: Mapped[str | None]ΒΆ
document: Mapped[Document]ΒΆ
document_id: Mapped[UUID]ΒΆ
extracted_at: Mapped[datetime]ΒΆ
idΒΆ
opening_balance: Mapped[Decimal | None]ΒΆ
processing_job: Mapped[ProcessingJob]ΒΆ
processing_job_id: Mapped[UUID]ΒΆ
raw_headers: Mapped[dict[str, Any] | None]ΒΆ
statement_from: Mapped[date | None]ΒΆ
statement_to: Mapped[date | None]ΒΆ
total_rows_parsed: Mapped[int | None]ΒΆ
total_rows_skipped: Mapped[int | None]ΒΆ
transactions: Mapped[list[BankTransaction]]ΒΆ
updated_at: Mapped[datetime]ΒΆ
class app.models.bank_statement.BankTransaction(**kwargs)[source]ΒΆ

Bases: UUIDPrimaryKeyMixin, Base

Individual transaction row from a bank statement CSV.

amount: Mapped[Decimal]ΒΆ
balance_after: Mapped[Decimal | None]ΒΆ
bank_statement: Mapped[BankStatement]ΒΆ
bank_statement_id: Mapped[UUID]ΒΆ
created_at: Mapped[datetime]ΒΆ
currency: Mapped[str | None]ΒΆ
description: Mapped[str | None]ΒΆ
direction: Mapped[str]ΒΆ
id: Mapped[UUID]ΒΆ
parse_warnings: Mapped[list[str] | None]ΒΆ
raw_description: Mapped[str | None]ΒΆ
reference_number: Mapped[str | None]ΒΆ
row_index: Mapped[int]ΒΆ
transaction_date: Mapped[date]ΒΆ
transaction_type: Mapped[TransactionType]ΒΆ
value_date: Mapped[date | None]ΒΆ