C.R.E.A.M. - A personal finance app

PythonFlaskSQLitePDF Parsing

Cash Rules Everything Around Me — a personal finance management app for Swiss bank accounts and invoices.

Features

Bank imports

  • Dedicated importers for BEKB, PostFinance and Revolut
  • Recursive document discovery in 03-Bewegungen/ (bank subfolders supported)
  • Multi-account support via IBAN-aware matching
  • Duplicate protection with stable import hashes
  • Repair and normalization CLI helpers for legacy PostFinance imports

Invoice imports

  • Import from pending and paid folders
  • Parse amount, due date, invoice date, and issuer from Swiss invoice/QR PDFs
  • Manual correction directly in UI (title, amount, due date, status, category)
  • Delete single invoice DB entries for clean re-import testing
  • Remember title rules per issuer, including category defaults

Categories

  • Assign categories to transactions and invoices in the UI
  • Filter both dashboard tabs by category
  • Manage categories in dedicated Kategorien tab:
    • create
    • search/filter
    • rename
    • safe delete when unused
    • hierarchy with parent/child paths (for example Energie/Gas)

Search & Filter

  • Advanced transaction search and filter view.
  • Multi-Select account, category, year & amount
  • Text filter for description, recipients with pattern matching
  • Group result by account, category, description, recipients, year or month

Technical details

C.R.E.A.M. is a personal bookkeeping application build with Python and designed for Swiss residents who receive bank statements and invoices as PDF files. Instead of manually typing every transaction into a spreadsheet, you drop your PDF statements into designated folders and the app parses them automatically — extracting dates, amounts, recipients, and even QR-bill payment slips. You review and correct entries through a dark-mode dashboard running locally in your browser.

Related Journal Entries