Kontoauszugs-Import (Bank State Import)

Hinweis: Work in Progress

Dieses Modul befindet sich aktuell noch in aktiver Entwicklung. Funktionen, Konfigurationsoptionen und das Bedienkonzept können sich kurzfristig ändern. Für den produktiven Einsatz bitte vorher mit dem Versino-Support abstimmen.

Überblick

Das Versino Financial Suite Bank State Import Modul ermöglicht den Import und die Verarbeitung von elektronischen Kontoauszügen in SAP Business One. Es unterstützt verschiedene Bankenformate (MT940, CAMT) und nutzt eine leistungsstarke Regel- und RegEx-Engine, um Transaktionen automatisch zuzuordnen und die manuelle Arbeit zu minimieren.

Zugang zum Modul: Der Prozess startet unter Versino Financial Suite > Bank Statement Import. Die Bearbeitung findet im Formular Bank Statement Processing statt.


Hauptfunktionen

Regelbasierte, automatische Zuordnung

Das Modul liest Kontoauszugsdateien ein und versucht, Transaktionen automatisch zuzuordnen. Dies geschieht durch eine mehrstufige Logik, die unter anderem Bankverbindungen, Beträge und Verwendungszwecke über konfigurierbare Regeln und reguläre Ausdrücke (RegEx) abgleicht.

Interaktive Verarbeitungsmatrix

Alle Transaktionen werden in einer übersichtlichen Matrix dargestellt. Hier können Sie nicht zugeordnete Posten manuell bearbeiten, Geschäftspartner zuweisen oder den Status einer Zeile verwalten.

Split-Funktion für Sammelbuchungen

Wenn eine Banktransaktion mehrere Geschäftsvorfälle betrifft, können Sie diese über den Split-Dialog in beliebig viele Teilbeträge aufteilen. Das System berechnet den Restbetrag automatisch und erstellt neue, separate Zeilen in der Matrix für eine saubere Verbuchung.

Status-Management

Jede Zeile in der Matrix hat einen Status. Über die Checkbox „Cleared“ können Sie eine Transaktion als „ausgeglichen“ markieren, um sie für weitere Bearbeitungen zu sperren. Das Add-on setzt zudem ein Kennzeichen „Durch Addon geprüft“, wenn eine Zeile automatisch verarbeitet wurde.


Matrix-Spalten im Überblick

Datum & Beträge

  • BSLineDate — Buchungsdatum der Banktransaktion
  • BSValuDate — Valutadatum
  • IncomingAmount — Eingehende Beträge (Gutschriften)
  • OutgoingAmount — Ausgehende Beträge (Belastungen)

Identifikation & Codes

  • Ref — Bank-Referenznummer
  • Memo / Memo2 — Verwendungszweck
  • CardCode — Zugeordneter Geschäftspartner
  • ExternalCode — Externer Vorgangscode (Bank-spezifisch)
  • InternalCode — Interner Vorgangscode (Unternehmen-spezifisch)

Status & Verarbeitung

  • Cleared — Status-Checkbox für Ausgleich
  • PstMethod — Buchungsmethode
  • BankStatementType — Art der Banktransaktion

5-stufige Verarbeitungslogik

Beim Klick auf „Auszug verarbeiten“ durchläuft jede Banktransaktion fünf Verarbeitungsstufen:

  1. RegEx-basierte Geschäftspartner-Erkennung — Durchsuchen aller konfigurierten RegEx-Regeln (Typ „B“) und Anwendung auf Memo-Felder.
  2. Code-Transformation über Rule1 — Prüfung auf Hausbank-Übereinstimmung (BLZ, Kontonummer, BIC, IBAN), Validierung von GP-Bankdaten, Betragsprüfung und Referenz-Abgleich.
  3. RegEx-basierte Belegerkennung — Durchsuchen aller RegEx-Regeln (Typ „D“), SQL-Abfragen zur Belegerkennung, Erstellung von MultiplePayment-Einträgen.
  4. Bankverbindungs-basierte GP-Zuordnung — Direkter Abgleich über BLZ, Kontonummer, BIC und IBAN.
  5. Finale RegEx-Zuordnung — Verwendung der RegEx-Ergebnisse als Fallback-Option.

Status-Management

  • Offen — Noch nicht verarbeitet
  • Zugeordnet — Geschäftspartner zugewiesen
  • Ausgeglichen — Mit offenen Posten verrechnet (Cleared-Checkbox gesetzt)
  • Aufgeteilt — In mehrere Transaktionen geteilt (per Split)
  • Abgeschlossen — Vollständig verarbeitet

Das Feld „Durch Addon geprüft“ kennzeichnet, dass eine Zeile vom System automatisch verarbeitet wurde: Y = erfolgreich verarbeitet, (leer) = noch nicht verarbeitet.


Konfigurationstabellen

  • VAG_BNKSTMNT_R1 — Direkte Zuordnungsregeln (Rule1) mit Hausbank- und GP-Bankdaten
  • VAG_BNKSTMNT_REGEX — RegEx-Regeln für Texterkennung in Memo-Feldern
  • VAG_BNKSTMNT_HEAD / LINES — Import-Verwaltung mit FileID, Mapping und Status-Verfolgung

Sicherheitshinweis: SQL-Injection-Schutz

In den RegEx-Regeln sind nur SELECT-Abfragen erlaubt. Verbotene SQL-Operationen (UPDATE, INSERT, DELETE, CREATE, DROP, ALTER, TRUNCATE) werden vom System automatisch blockiert.


Split-Beispiel

Sammelzahlung in zwei Posten aufteilen

Sie erhalten eine Sammelüberweisung von 1.000,00 EUR eingehend, die zwei Geschäftsvorfälle betrifft (300 EUR für GP-A, 700 EUR für die ursprüngliche Forderung):

  1. Rechtsklick auf die 1.000-EUR-Zeile → „GP Split“
  2. Im Split-Dialog: 300 EUR + Geschäftspartner GP-A eingeben
  3. OK

Resultat: Neue Zeile: 300,00 EUR eingehend für GP-A / Original-Zeile: 700,00 EUR eingehend (Restbetrag)


Integration mit SAP Business One

SAP B1 BankStatementsService API

Vollständige Integration über die offizielle BankStatementsService API. Direkte Manipulation von BankStatement-Objekten mit transaktionaler Sicherheit bei Split-Operationen.

Geschäftspartner-Integration (OCRD)

Direkte Verbindung zur OCRD-Tabelle mit Choose-From-List-Integration, GP-Validierung und Status- bzw. Berechtigungsprüfung.


Anwendung

Einrichtung: Die Automatisierung konfigurieren (für Administratoren)

  • Direkte Zuordnungsregeln (Rule1): Feste Regeln definieren — z. B.: Wenn im Verwendungszweck „Miete Mai“ steht, wird die Transaktion automatisch einem bestimmten externen Vorgangscode zugeordnet.
  • RegEx-Regeln: Flexible Muster hinterlegen, um z. B. Rechnungs- oder Kundennummern aus einem langen Verwendungszweck zu extrahieren und automatisch zuzuordnen.

Täglicher Workflow: Kontoauszug bearbeiten

  1. Navigieren Sie zu Versino Financial Suite > Bank Statement Import und wählen Sie die Kontoauszugsdatei aus.
  2. Nach dem Import öffnet sich das Bank Statement Processing Formular. Die Automatisierungs-Engine hat bereits versucht, Zahlungen zuzuordnen.
  3. Klicken Sie auf „Auszug verarbeiten“, um die 5-stufige Verarbeitung für alle Zeilen zu starten.
  4. Bearbeiten Sie die verbleibenden Posten manuell, indem Sie den korrekten Geschäftspartner zuweisen.
  5. Bei Sammelzahlungen wählen Sie die Zeile aus, aktivieren die Split-Funktion per Rechtsklick, geben den Teilbetrag sowie den Geschäftspartner ein und bestätigen.
  6. Markieren Sie fertig bearbeitete Zeilen als „Cleared“.
  7. Bestätigen Sie am Ende die gesamte Verarbeitung, um die Buchungen zu erstellen.

Tipps und Fehlerbehandlung

Tipps für die tägliche Arbeit

  • Split konsequent nutzen: Nutzen Sie die Split-Funktion für Sammelbuchungen. Eine Zeile kann nur gesplittet werden, wenn sie nicht als „Cleared“ markiert ist.
  • Trefferquote erhöhen: Halten Sie Ihre Geschäftspartner-Stammdaten (insbesondere Bankverbindungen) aktuell, um die automatische Trefferquote zu erhöhen.
  • RegEx-Regeln testen: Testen Sie neue RegEx-Muster gründlich in einem externen Tool, bevor Sie sie produktiv einsetzen.
  • Backup vor Konfigurationsänderungen: Erstellen Sie Backup-Kopien der Regel-Konfigurationen, bevor Sie größere Änderungen vornehmen.

Häufige Probleme und Lösungen

Problem: „Der Betrag muss größer als 0 sein“.

Lösung: Geben Sie im Split-Dialog einen gültigen numerischen Betrag größer als Null ein.

Problem: „Split nicht möglich, diese Zeile ist bereits ausgeglichen“.

Lösung: Entfernen Sie das „Cleared“-Häkchen in der Zeile, um sie wieder bearbeitbar zu machen.

Problem: „Externer Vorgangscode konnte nicht gesetzt werden“.

Lösung: Überprüfen Sie die externe Code-Konfiguration, validieren Sie verfügbare Codes im System und prüfen Sie Benutzerberechtigungen.

Problem: RegEx-Regeln funktionieren nicht.

Lösung: Testen Sie RegEx-Muster in einem externen RegEx-Tool, prüfen Sie SQL-Abfragen auf Syntax-Fehler und validieren Sie Tabellen- und Feldnamen.

Problem: SQL-Injection-Warnung bei RegEx-Abfragen.

Lösung: Entfernen Sie verbotene SQL-Operationen (UPDATE, INSERT, DELETE, CREATE, DROP, ALTER, TRUNCATE). Verwenden Sie nur SELECT-Abfragen.

Problem: Verarbeitung hängt bei großen Datenmengen.

Lösung: Teilen Sie die Verarbeitung in kleinere Chargen auf, nutzen Sie die spezifische Zeilen-Verarbeitung und optimieren Sie RegEx-Muster für bessere Performance.