feat: Absender-Zuordnung kann nach Waehrung unterscheiden

Revolut verschickt fuer eine Zahlung in Euro und eine in Franken dieselbe
Mail vom selben Absender. Ohne die Waehrung als Kriterium landete alles auf
demselben Konto.

Die Erkennung liest die Waehrung ohnehin aus; sie wird jetzt VOR der
Zuordnung ausgewertet und ist ein optionales Filterkriterium. Zuordnungen
mit Waehrung werden zuerst geprueft – wer neben ein allgemeines "revolut"
ein genaues "revolut + EUR" stellt, meint das genaue, unabhaengig von der
Anlagereihenfolge.

Uebergangene Mails melden ausserdem die erkannte Waehrung mit, damit beim
Einrichten sichtbar ist, welcher Wert zu filtern waere.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-22 20:48:55 +02:00
co-authored by Claude Opus 5
parent 512dac2b04
commit 899241f991
8 changed files with 141 additions and 16 deletions
@@ -0,0 +1,26 @@
"""Absender-Zuordnung kann nach Waehrung unterscheiden.
Revolut verschickt fuer eine Zahlung in Euro und eine in Franken dieselbe Mail
vom selben Absender. Ohne die Waehrung als Kriterium liesse sich nicht sagen,
auf welches der beiden Revolut-Konten sie gehoert.
Revision ID: 0018
Revises: 0017
"""
import sqlalchemy as sa
from alembic import op
revision = "0018"
down_revision = "0017"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("mail_senders", sa.Column("currency", sa.String(length=3), nullable=True))
def downgrade() -> None:
with op.batch_alter_table("mail_senders") as batch:
batch.drop_column("currency")