feat: Kategorien aus Auswertungen ausnehmen (z. B. „Kontoübertrag")
Umbuchungen zwischen eigenen Konten sind keine Ausgabe – das Geld ist nicht weg, es liegt woanders. Bisher blieb nur die Wahl zwischen einer echten Transfer- Buchung (bildet die Wirklichkeit ab, braucht aber auf beiden Seiten passende Regeln und schätzt bei Fremdwährung den Gegenwert) oder einer gewöhnlichen Ausgabe, die Budget und Statistik verfälscht. Kategorien haben jetzt den Schalter „Nicht in Auswertungen einrechnen": Die Buchung wirkt weiter auf den Kontostand, bleibt aber aus Budget, Dashboard und Auswertungen heraus. Gefiltert wird zentral in actual_expense_by_category und income_by_category – damit greift es zugleich für Budget-Donut, Budget- Fortschritt, Einnahmen/Ausgaben, Ausgaben-Anteile und die Budget-Seite. Das ersetzt die Transfer-Paarung nicht, es ist der einfachere Weg: kein Gegenkonto, keine Kursschätzung, dafür ohne Verbindung zwischen den beiden Seiten. Migration 0013, Schalter im Kategorie-Dialog, Kennzeichnung in der Liste, Test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""Kategorien: aus Auswertungen ausnehmen.
|
||||
|
||||
Für Umbuchungen zwischen eigenen Konten („Kontoübertrag"). Das Geld ist nicht
|
||||
ausgegeben, es liegt nur woanders – solche Buchungen sollen den Kontostand
|
||||
verändern, aber Budget, Dashboard und Statistik nicht verfälschen.
|
||||
|
||||
Revision ID: 0013
|
||||
Revises: 0012
|
||||
Create Date: 2026-08-21
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
revision = "0013"
|
||||
down_revision = "0012"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
with op.batch_alter_table("categories") as batch:
|
||||
batch.add_column(sa.Column("excluded_from_stats", sa.Boolean(), nullable=False,
|
||||
server_default=sa.text("0")))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
with op.batch_alter_table("categories") as batch:
|
||||
batch.drop_column("excluded_from_stats")
|
||||
Reference in New Issue
Block a user