fix: Vier Ursachen, warum Saldo und Umsaetze auseinanderliefen
Die staendige Meldung "weicht ab" hatte mehrere Quellen, und eine davon war ueberhaupt keine Abweichung. 1. Ein VERFUEGBARER Saldo enthaelt Vorgemerktes. Certain bucht Vorgemerktes bewusst nicht – es kaeme spaeter mit anderer Kennung ein zweites Mal. Beides zu vergleichen musste also dauerhaft danebengehen. Verglichen wird jetzt nur noch ein GEBUCHTER Saldo (CLBD, ITBD, PRCD); sonst steht dort "verfuegbarer Saldo, nicht vergleichbar" und keine Abweichung. 2. Die Saldi wurden VOR den Umsaetzen geholt und sofort geschrieben. Brach der Umsatz-Abruf danach ab, stand ein aktueller Saldo neben altem Bestand – und die Anzeige meldete eine Abweichung, die nur aus der Reihenfolge kam. Sie kommen jetzt zuletzt. Ohne Kontozuordnung weiterhin zuerst: Dort gibt es keine Umsaetze zu holen, und bei mehreren gleich aussehenden Pockets ist der Betrag das Einzige, woran man sie unterscheidet. 3. Jeder weitere Abruf griff nur drei Tage hinter den letzten zurueck. Banken buchen mitunter spaeter zurueck; was einmal ausserhalb lag, kam nie wieder. Jetzt sieben Tage – doppelt holen kostet nichts, die Kennung des Umsatzes faengt es exakt ab. Damit ist die Anzeige nicht mehr nur ehrlicher, sondern zeigt auch wieder auf etwas: Steht dort eine Abweichung, ist sie echt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -177,7 +177,8 @@
|
||||
"adoptConfirm": "Der Saldo von {{bank}} wird als richtig übernommen. Die Differenz von {{diff}} wandert in den Anfangsbestand – sie steht für Bewegungen, die Certain nie gesehen hat. Deine Buchungen bleiben unverändert.",
|
||||
"adopted": "Saldo übernommen.",
|
||||
"identShort_one": "{{count}} Kennung",
|
||||
"identShort_other": "{{count}} Kennungen"
|
||||
"identShort_other": "{{count}} Kennungen",
|
||||
"bankBalanceAvailable": "Bank meldet {{bank}} als verfügbaren Saldo – der enthält Vorgemerktes und lässt sich nicht vergleichen."
|
||||
},
|
||||
"accountTypes": {
|
||||
"girokonto": "Girokonto",
|
||||
@@ -653,7 +654,8 @@
|
||||
"pollSaved": "Takt gespeichert.",
|
||||
"syncOlder": "Älteres nachholen",
|
||||
"syncedDuplicate": "{{n}} standen schon da (aus Datei oder von Hand) und wurden übersprungen.",
|
||||
"addTitle": "Weitere Bank verbinden"
|
||||
"addTitle": "Weitere Bank verbinden",
|
||||
"balanceAvailable": "verfügbarer Saldo, nicht vergleichbar"
|
||||
},
|
||||
"bankReturn": {
|
||||
"title": "Rückkehr von der Bank",
|
||||
|
||||
@@ -177,7 +177,8 @@
|
||||
"adoptConfirm": "The balance of {{bank}} is taken as correct. The difference of {{diff}} moves into the opening balance – it stands for movements Certain never saw. Your transactions stay unchanged.",
|
||||
"adopted": "Balance adopted.",
|
||||
"identShort_one": "{{count}} identifier",
|
||||
"identShort_other": "{{count}} identifiers"
|
||||
"identShort_other": "{{count}} identifiers",
|
||||
"bankBalanceAvailable": "The bank reports {{bank}} as the available balance – it includes pending items and cannot be compared."
|
||||
},
|
||||
"accountTypes": {
|
||||
"girokonto": "Checking",
|
||||
@@ -653,7 +654,8 @@
|
||||
"pollSaved": "Interval saved.",
|
||||
"syncOlder": "Catch up on older",
|
||||
"syncedDuplicate": "{{n}} were already there (from a file or entered by hand) and were skipped.",
|
||||
"addTitle": "Connect another bank"
|
||||
"addTitle": "Connect another bank",
|
||||
"balanceAvailable": "available balance, not comparable"
|
||||
},
|
||||
"bankReturn": {
|
||||
"title": "Back from your bank",
|
||||
|
||||
@@ -326,7 +326,16 @@ export default function Accounts() {
|
||||
ist – sonst faellt das erst beim Vergleich von Hand auf. */}
|
||||
{a.bank_balance_cents != null && (
|
||||
<div className="named-sub">
|
||||
{a.bank_balance_cents === a.balance_cents ? (
|
||||
{/* Ein VERFÜGBARER Saldo enthält Vorgemerktes, das
|
||||
Certain bewusst nicht bucht. Daraus eine Abweichung
|
||||
zu machen, wäre eine Falschmeldung. */}
|
||||
{!a.bank_balance_vergleichbar ? (
|
||||
<span className="muted">
|
||||
{t("accounts.bankBalanceAvailable", {
|
||||
bank: formatMoney(a.bank_balance_cents, a.currency),
|
||||
})}
|
||||
</span>
|
||||
) : a.bank_balance_cents === a.balance_cents ? (
|
||||
<span className="saldo-ok">
|
||||
{t("accounts.bankBalanceMatches")}
|
||||
{a.bank_balance_at ? ` · ${formatDate(a.bank_balance_at)}` : ""}
|
||||
|
||||
@@ -291,7 +291,10 @@ export default function Bankanbindung() {
|
||||
{/* Der eigentliche Nutzen: Certain rechnet den Saldo selbst
|
||||
aus. Weicht er ab, fehlt oder doppelt eine Buchung –
|
||||
das sieht man sonst erst beim Vergleich von Hand. */}
|
||||
{l.account_id && kontoById[l.account_id] && (
|
||||
{!l.balance_vergleichbar && (
|
||||
<span className="muted"> · {t("bank.balanceAvailable")}</span>
|
||||
)}
|
||||
{l.balance_vergleichbar && l.account_id && kontoById[l.account_id] && (
|
||||
(() => {
|
||||
const diff = kontoById[l.account_id].balance_cents
|
||||
- l.balance_cents;
|
||||
|
||||
Reference in New Issue
Block a user