Open Banking
Funktion: Automatischer Bankkonto-Abruf, Zahlungsmatching und FIBU-Buchung in WinLine
Lizenz: MESO-WSBANKK
Ausführung: Konfigurierbar über Quartz__BankingWorkerJob__scheduler (empfohlen: stündlich oder täglich)
Architektur und Verarbeitungsflow
Der Banking-Job verarbeitet Transaktionen in zwei Phasen pro aktivem Bankkonto:
Phase 1 – Matching (pro Transaktion):
| Richtung | Verarbeitungspfad |
|---|---|
| Eingang (Amount > 0) | Debitor-OP-Matching (Score) → LLM-Fallback → Vorauszahlung → Unmatched |
| Ausgang (Amount < 0) | Kreditor-OP-Matching → LLM-Kreditor → Buchungsregel → LLM-Sachkonto → Unmatched |
| Eingang auf Verrechnungskonto | Buchungsregel mit Richtung=Eingang (z.B. PayPal-Auszahlung) |
Phase 2 – Batch-Import (ein WinLine-Aufruf pro Durchgang):
- Phase 2a: Debitor-Zahlungen →
FibuBankingBookingService(T331 + T340, Buchungsart DZ) - Phase 2b: Ausgänge/Verrechnungen →
FibuAusgangsbuchungService(T331, Buchungsart B/KZ)
Konfiguration: Banking-Konten (BankAccountSettings)
Pro Bankkonto / Zahlungsdienst wird ein BankAccountSettings-Eintrag angelegt:
| Feld | Beschreibung |
|---|---|
| Provider | GMI (GetMyInvoices), fino, FinTS oder Mock |
| ProviderAccountId | Konto-ID beim Provider (z.B. GMI bankAccountUid) |
| BankkontoTyp | Girokonto / Kreditkarte / PayPal / Sonstiges |
| WinlineBankkontonummer | WinLine-Kontonummer (KontoHaben bei B-Buchungen, z.B. 1801) |
| BuchungsregelEnabled | Aktiviert regelbasierte Ausgangsbuchungen (Ausgänge) |
| KreditorOpMatchingEnabled | Aktiviert Abgleich gegen Kreditoren-OPs |
| SachkontoVon / SachkontosBis | Kontenbereich für KI-Sachkonto-Klassifikation (T055) |
| LlmSachkontoEnabled | Aktiviert KI-Sachkonto-Vorschläge (T055 + T028-Kontext) |
Buchungsketten: Girokonto, AMEX und PayPal
Das System unterstützt mehrstufige Zahlungswege über Verrechnungskonten.
Direkte Bankbuchungen (Girokonto)
Normale Ausgaben direkt vom Girokonto (z.B. Miete, Lohnsteuer, Versicherungen):
Girokonto (WinlineBankkontonummer = 1801):
-1.637,42 € | PayeeName="Finanzamt" | VZ="LST 12/2025"
→ BuchungsRegel: "Finanzamt" → KontoSoll=3730
→ Buchung: 3730 (LST) / 1801 (Girokonto) Buchungsart: B
Kreditkarte AMEX (Firmenkonto 1806, Klärungskonto 3631)
Konfiguration:
BankAccountSettings "AMEX": BankkontoTyp=Kreditkarte, WinlineBankkontonummer=1806- Alle AMEX-Käufe werden direkt auf das Sachkonto gegen 1806 gebucht
- Monatliche AMEX-Abbuchung vom Girokonto gleicht 1806 auf 0 aus
AMEX-Konto (WinlineBankkontonummer = 1806):
-129,98 € | PayeeName="Amazon"
→ Regel: "Amazon" → KontoSoll=3631 (sonst. Verr. Amex klären)
→ Buchung: 3631 / 1806 Buchungsart: B
(oder bei bekanntem Sachkonto direkt: 6300 / 1806)
-27,00 € | PayeeName="Strato"
→ KreditorOpMatching → OP "DRP148509759"
→ Buchung: 70109 / 1806 Buchungsart: KZ
Girokonto (WinlineBankkontonummer = 1801):
-1.234,56 € | PayeeName="American Express"
→ Regel: "American Express" → KontoSoll=1806
→ Buchung: 1806 / 1801 Buchungsart: B
Ergebnis: Konto 1806 saldiert auf 0 ✓
PayPal (Firmenkonto 1809)
Konfiguration:
BankAccountSettings "PayPal": BankkontoTyp=PayPal, WinlineBankkontonummer=1809- PayPal-Käufe werden gegen 1809 gebucht
- PayPal-Auszahlungen ans Girokonto (Eingang auf Girokonto) gleichen 1809 aus
PayPal-Konto (WinlineBankkontonummer = 1809):
-45,00 € | PayeeName="eBay Seller XY"
→ Regel (catch-all) → KontoSoll=7670
→ Buchung: 7670 / 1809 Buchungsart: B
Girokonto (WinlineBankkontonummer = 1801):
+200,00 € | PayerName="PayPal" ← EINGANG auf Girokonto!
→ Eingangs-Regel: PayerName="PayPal", Richtung=Eingang → KontoSoll=1809
→ Buchung: 1809 / 1801 Buchungsart: B
Ergebnis: Konto 1809 saldiert auf 0 ✓
PayPal mit AMEX als Zahlungsmittel (3-stufige Kette)
Wenn PayPal-Käufe über die AMEX-Karte finanziert werden, entstehen in GMI zwei Transaktionen für einen Kauf — eine auf PayPal, eine auf AMEX. Die Brückenregel auf dem AMEX-Konto verbindet beide Konten:
PayPal-Konto (WinlineBankkontonummer = 1809):
-45,00 € | PayeeName="eBay Seller"
→ Regel → KontoSoll=7670
→ Buchung: 7670 / 1809 ← Aufwand HIER buchen
AMEX-Konto (WinlineBankkontonummer = 1806):
-45,00 € | PayeeName="PAYPAL *eBay Seller"
→ Brückenregel: PayeeName enthält "PayPal" → KontoSoll=1809
→ Buchung: 1809 / 1806 ← PayPal-VC gegen AMEX-VC
Girokonto (WinlineBankkontonummer = 1801):
-xxx € | PayeeName="American Express"
→ Regel → KontoSoll=1806
→ Buchung: 1806 / 1801 ← AMEX-VC gegen Girokonto
Ergebnis: 1809 = 0 ✓ 1806 = 0 ✓ Aufwand 7670 korrekt belastet ✓
Buchungsregeln (BuchungsRegel)
Regeln erkennen Ausgangstransaktionen anhand von:
- EmpfaengerIban: exakter IBAN-Vergleich (Ausgänge: PayeeIban; Eingänge: PayerIban)
- EmpfaengerNameFilter: Name enthält Text (Regex möglich)
- BetragVon / BetragBis: Betrag-Bereich (absolut)
Buchungsrichtung steuert wann eine Regel greift:
- Ausgang: normale Buchungsregel (Amount < 0)
- Eingang: Verrechnungsbuchung (Amount > 0), z.B. PayPal-Auszahlung ans Girokonto
- Beide: richtungsunabhängig
Empfohlene Regeln für typische Betriebe (Österreich/Deutschland):
| Konto | Bezeichnung | Filter | KontoSoll | Richtung |
|---|---|---|---|---|
| Girokonto | LST/Lohnsteuer | Name: Finanzamt |
3730 | Ausgang |
| Girokonto | SV-Beiträge | Name: Österr. Gesundheitskasse / GKK |
3631 | Ausgang |
| Girokonto | Versicherung allg. | Name: Versicherung |
6520 | Ausgang |
| Girokonto | AMEX-Abrechnung | Name: American Express |
1806 | Ausgang |
| Girokonto | PayPal-Auszahlung | Name: PayPal, Richtung=Eingang |
1809 | Eingang |
| AMEX | Amazon | Name: Amazon |
3631 | Ausgang |
| AMEX | Strato | IBAN: DE… oder Name: Strato |
(via KZ) | Ausgang |
| AMEX | PayPal-Brücke | Name: PayPal |
1809 | Ausgang |
| AMEX | Ungeklärt (Fallback) | BetragVon: 0,01, Prio=999 | 3631 | Ausgang |
| PayPal | Sonstiges | BetragVon: 0,01, Prio=999 | 7670 | Ausgang |
Splitbuchungen
Für Transaktionen mit mehreren Buchungspositionen (z.B. Darlehens-Leistungen mit Tilgung + Zinsen) können Buchungsregeln Split-Zeilen definieren. Jede Split-Zeile hat ein eigenes Gegenkonto, Steuerzeile und Buchungstext.
Betrags-Ermittlung pro Split-Zeile:
- Regex: Betrag per regulärem Ausdruck aus dem Verwendungszweck extrahieren (z.B.
Tilgung\s+([\d.,]+)) - Fest: Fester Betrag
- Prozent: Prozentwert vom Gesamtbetrag
- Rest: Differenz zum Gesamtbetrag (letzte Zeile)
- LLM-Fallback: Wenn Regex fehlschlägt, extrahiert die KI die Teilbeträge
Beispiel Darlehen:
- Verwendungszweck: „Darl.-Leistung 6130402974 ... Tilgung 58,91 Zinsen 121,09"
- Split 1: Gegenkonto 0940 (Darlehen), Betrag per Regex „Tilgung", Steuerzeile 0
- Split 2: Gegenkonto 7320 (Zinsaufwand), Betrag per Regex „Zinsen", Steuerzeile 1
- WinLine: 3 T331-Zeilen (1× Gegenbuchung Bank + 2× Sachkonto-Splits)
KI-Sachkonto-Klassifikation (optional)
Wenn keine Regel greift, kann das LLM (Claude Haiku, IONOS, Ollama, lokal) das Sachkonto vorschlagen:
- T055 (Sachkontenstamm): Alle Sachkonten im konfigurierten Bereich (z.B. 3000–6999) mit ihren Bezeichnungen werden dem LLM als Auswahlmenge übergeben.
- T028 (Buchungshistorie): Die häufigsten B-Buchungen der letzten 12 Monate dienen als Few-Shot-Lernbeispiele — "VHV Versicherung wurde 3× auf 6520 gebucht".
- Konfidenz-Schwellen:
- ≥ 0,85 +
LlmSachkontoAutoBook: direkt buchen - 0,60–0,84:
KiSachkontoVorschlag— manuelle Bestätigung im Journal - < 0,60: kein Vorschlag (sicheres Schweigen)
- ≥ 0,85 +
Filter-Presets im Transaktionsjournal
Die Transaktionsliste bietet vordefinierte Filter-Presets im SetFilter-Dropdown der Toolbar. Damit lassen sich typische Geschäftsvorfälle mit einem Klick filtern:
| Preset | Beschreibung |
|---|---|
| Offene Vorgänge (Standard) | Alle nicht abgeschlossenen Transaktionen (ohne gebuchte/ausgeglichene) |
| Alle Transaktionen | Kein Filter — zeigt alle Einträge |
| Zahlungseingänge | Nur eingehende Zahlungen (positiver Betrag) |
| Zahlungsausgänge | Nur ausgehende Zahlungen (negativer Betrag) |
| Handlungsbedarf | Vorschläge, nicht zuordenbare Transaktionen und Fehler |
| Automatisch zugeordnet | Durch Regel, IBAN oder Name erkannte Transaktionen |
| Gebucht | Erfolgreich in WinLine gebuchte Transaktionen |
| Fehler | Transaktionen mit Fehlermeldung |
| KI-Vorschläge | Sachkonto-Vorschläge der KI zur manuellen Prüfung |
| Freigabe ausstehend | Zur FIBU-Buchung freigegebene, noch nicht verarbeitete Transaktionen |
| Vorauszahlungen | Als Vorauszahlung erkannte Eingänge |
Tipp: Der Standardfilter „Offene Vorgänge" zeigt nur handlungsrelevante Transaktionen. Über „Alle Transaktionen" können auch bereits gebuchte Einträge eingesehen werden.
Keine Kommentare vorhanden
Keine Kommentare vorhanden