fix: "Nicht in Auswertungen einrechnen" galt fuer Sparen nicht

Wer den Haken an einer Kategorie setzt, sagt damit ausdruecklich: nicht ins
Budget, nicht ins Dashboard, nicht in die Statistik. Die Sparen-Auswertung
las ihn nicht – das Geld stand danach im Ringdiagramm, obwohl der Nutzer
genau das abbestellt hatte.

Beide Uebertrags-Wege halten sich jetzt daran, der am Stueck wie der aus zwei
verknuepften Buchungen. Der Haken an der Kategorie gewinnt; ein Sparziel am
Konto darf ihn nicht stillschweigend aushebeln.

Und weil beides zusammen keinen Sinn ergibt, sagt es das Konto-Formular jetzt
auch: Waehlt man dort eine Kategorie mit Haken, steht darunter, dass so nichts
im Budget erscheinen wird.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-07 14:13:22 +02:00
co-authored by Claude Opus 5
parent e0688ab95e
commit b69c383a72
5 changed files with 79 additions and 2 deletions
+13
View File
@@ -231,6 +231,16 @@ export default function Accounts() {
api.listCategories().then(setGroups).catch(() => setGroups([]));
}, []);
const expenseGroups = useMemo(() => gruppenFuer(groups, "expense"), [groups]);
// Eine Kategorie mit "Nicht in Auswertungen einrechnen" kann im Budget
// nichts zeigen – der Haken an der Kategorie gewinnt. Das gehoert hierhin
// gesagt und nicht erst gemerkt, wenn die Zahl fehlt.
const sparzielNeutral = useMemo(() => {
const id = Number(form?.savings_category_id);
if (!id) return false;
for (const g of groups)
for (const c of g.categories || []) if (c.id === id) return !!c.excluded_from_stats;
return false;
}, [groups, form?.savings_category_id]);
function openNew() {
setEditing(null);
@@ -491,6 +501,9 @@ export default function Accounts() {
/>
</label>
<p className="muted small">{t("accounts.savingsCategoryHint")}</p>
{sparzielNeutral && (
<p className="muted warn small">{t("accounts.savingsCategoryNeutral")}</p>
)}
<label>
<span>{t("accounts.icon")}</span>