Direkt zum Hauptinhalt

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:

  1. T055 (Sachkontenstamm): Alle Sachkonten im konfigurierten Bereich (z.B. 3000–6999) mit ihren Bezeichnungen werden dem LLM als Auswahlmenge übergeben.
  2. T028 (Buchungshistorie): Die häufigsten B-Buchungen der letzten 12 Monate dienen als Few-Shot-Lernbeispiele — "VHV Versicherung wurde 3× auf 6520 gebucht".
  3. Konfidenz-Schwellen:
    • ≥ 0,85 + LlmSachkontoAutoBook: direkt buchen
    • 0,60–0,84: KiSachkontoVorschlag — manuelle Bestätigung im Journal
    • < 0,60: kein Vorschlag (sicheres Schweigen)

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.