Buchhaltung

Bankimport – Kontoauszug hochladen und Buchungen erzeugen

Der Bankimport nimmt Ihnen den größten Teil der monatlichen Buchungsarbeit ab: Sie laden den CSV-Export Ihrer Hausbank hoch, die App ordnet jeder Zeile automatisch ein Soll- und ein Habenkonto zu, und Sie bestätigen das Ergebnis mit einem Klick.

#Wie funktioniert der Import?

Der Ablauf gliedert sich in drei Schritte:

  1. Hochladen — Sie wählen das Bankkonto und laden die CSV-Datei hoch.
  2. Prüfen — die App schlägt für jede Zeile Soll- und Habenkonto vor und teilt sie in drei Eimer auf: ✅ Eindeutig, 🟡 Zu prüfen, ❓ Unbekannt.
  3. Buchen — mit „Alle bestätigen und buchen" werden alle nicht-übersprungenen Zeilen in einer einzigen Datenbank-Transaktion ins Kassenbuch geschrieben.

#Welche Dateiformate werden unterstützt?

Unterstützt sind die CSV-Exporte aller gängigen deutschen Hausbanken:

  • GLS Bank, Sparkasse (CSV-CAMT), DKB (alt + neu)
  • ING-DiBa, Volksbank/Raiffeisenbank (VR-Profi und Online-Banking)
  • Commerzbank, Comdirect, Postbank, N26

Trennzeichen (Semikolon, Komma, Tabulator), Zeichenkodierung (UTF-8, ISO-8859-1, Windows-1252) und die Position der Kopfzeile werden automatisch erkannt. Wenn die Erkennung fehlschlägt, können Sie diese Werte im Fallback-Panel manuell setzen.

#Welches Bankkonto wähle ich?

Die Auswahl ist auf Konten mit der Kontonummer 1200 und ihre Untergliederungen begrenzt — das sind nach SKR42 die Bankkonten. Wenn Sie mehrere Hausbanken nutzen, legen Sie pro Bank ein eigenes Unterkonto an (z. B. 1201 GLS, 1202 Sparkasse) — siehe Eigenes Konto anlegen.

#Was bedeuten die drei Eimer?

Symbol Bedeutung
Eindeutig Eine Regel passt 1:1 — die App ist sich sicher. Üblicherweise einfach bestätigen.
🟡 Zu prüfen Ein Mitglied wurde erkannt, aber die Konten kommen aus einer Standard­zuordnung. Sicherheitshalber prüfen.
Unbekannt Keine Regel passt und kein Mitglied wurde erkannt. Konten müssen manuell gesetzt werden — oder die Zeile wird übersprungen.

Ist die KI-Kategorisierung aktiviert, taucht zusätzlich das Etikett 🤖 KI-Vorschlag auf — siehe KI-Vorschläge beim Bankimport.

#Die Prüf-Tabelle Schritt für Schritt

Nach dem Hochladen sehen Sie eine Tabelle mit allen Zeilen aus dem Kontoauszug. Pro Zeile bedeutet:

Spalte Was steht hier?
Datum Buchungs- bzw. Valutadatum aus der Bank-CSV
Empfänger / Auftraggeber Name und (falls vorhanden) Gegen-IBAN
Verwendungszweck Der Text aus der Bank — Parzellennummern werden gelb markiert
Betrag grün = Eingang (+), rot = Ausgang (−)
Soll-Konto Das Konto, das durch die Buchung belastet wird
Haben-Konto Das Gegenkonto — bei Banküberweisungen meist 1200 Bank
Status Konfidenz-Etikett (✅ / 🟡 / 🤖 / ❓) und ggf. „Übersprungen"
Regel-Häkchen Zuordnung beim Buchen als wiederverwendbare Regel speichern
⋯ Menü Zeile überspringen / wieder aufnehmen

#Welches Konto kommt in Soll, welches in Haben?

Die Faustregel für eine Eingangs-Zahlung (Geld kommt aufs Konto):

  • Soll = 1200 Bank (Ihr Konto wird belastet, d. h. „auf der Soll-Seite erhöht")
  • Haben = das Ertragskonto, woher das Geld stammt:
    • Pacht-Zahlung eines Mitglieds → 3200 Pachterträge
    • Wasser-Zahlung → 3210 Wassererträge
    • Mitgliedsbeitrag → 3100 Mitgliedsbeiträge
    • Spende → 3300 Spenden
    • sonstige Forderung → 3700 Sonstige Erträge

Für eine Ausgangs-Zahlung (Geld geht vom Konto):

  • Soll = das Aufwandskonto (4xxx) oder die Forderung, die bezahlt wurde:
    • Pachtzins an Stadt → 4200 Pachtaufwand
    • Stromrechnung → 4250 Energieaufwand
    • Bürobedarf → 4400 Sonstige Aufwendungen
  • Haben = 1200 Bank

Eine vollständige Übersicht der SKR42-Konten finden Sie im Kontenrahmen — und für die häufigsten Geschäftsvorfälle in der Übersicht der automatischen Buchungen, insbesondere Pacht bezahlt, Wasser bezahlt und Mitgliedsbeitrag bezahlt.

Tipp: Im Konto-Auswahlfeld können Sie nach Kontonummer oder Bezeichnung tippen. Ein paar Buchstaben („Pacht", „Strom", „Müll") reichen meist aus, um die passenden Konten zu finden.

#Was bedeutet das Häkchen "Regel"?

Setzen Sie das Häkchen Regel an einer Zeile, wenn die Zuordnung immer so sein soll:

  • Hat die Zeile eine Gegen-IBAN (z. B. „Stadt Berlin"), wird eine IBAN-Regel gespeichert: künftige Buchungen von derselben IBAN landen automatisch im ✅-Eimer.
  • Hat die Zeile keine IBAN, wird eine Stichwort-Regel aus dem Verwendungszweck gespeichert (das längste sinnvolle Wort, z. B. „Stromabrechnung", „Pachtzins").

Beim nächsten Import wird dieselbe Konstellation automatisch erkannt — Sie sparen Arbeit, und die App wird mit jedem Import schlauer. Die Regeln können Sie später in Buchhaltung → Konten-Zuordnung überprüfen und anpassen.

#Eine Zeile überspringen

Über das ⋯-Menü am rechten Rand können Sie eine Zeile als „Übersprungen" markieren — sie wird beim Buchen ignoriert und bleibt damit im Kontoauszug, aber nicht im Kassenbuch. Sinnvoll z. B. für:

  • Buchungen, die schon manuell ins Kassenbuch eingetragen wurden,
  • interne Umbuchungen zwischen eigenen Konten, die der Verein lieber separat behandelt,
  • Zeilen, deren richtige Zuordnung Sie noch klären müssen — Sie können den Import dann ohne diese Zeile abschließen und sie später einzeln manuell buchen.

Übersprungene Zeilen erkennen Sie an der reduzierten Deckkraft und dem grauen Etikett „Übersprungen".

#„Alle bestätigen und buchen" — was passiert dann?

Der Button ist nur aktiv, wenn jede nicht-übersprungene Zeile ein Soll- und ein Habenkonto hat. Ein Klick:

  1. Erzeugt für jede aktive Zeile eine Buchung im Kassenbuch mit Quelle „Bankimport".
  2. Legt für jede Zeile mit gesetztem Regel-Häkchen eine neue categorisation_rule an (oder aktualisiert eine bestehende).
  3. Aktualisiert die zuletzt benutzten Regeln (Sortierung beim nächsten Import).
  4. Überspringt Zeilen, deren Referenz bereits gebucht ist (siehe „Duplikate" unten).

Alles passiert in einer einzigen Datenbank-Transaktion — entweder wird alles gebucht, oder bei einem Fehler nichts.

#In welcher Reihenfolge sucht die App nach einer Regel?

Die App probiert vier Strategien — die obere gewinnt:

  1. IBAN — die Gegen-IBAN stimmt exakt mit einer gespeicherten Regel überein (z. B. immer von der Stadtkasse → 4200 Pachtaufwand).
  2. Empfänger-Regex — der Auftraggeber/Empfänger passt zu einem regulären Ausdruck.
  3. Stichwort — ein Wort im Verwendungszweck (z. B. „Pacht") trifft.
  4. Mitglied — der Name des Auftraggebers lässt sich einem Mitglied zuordnen.

Innerhalb einer Stufe entscheidet die höhere Priorität, bei Gleichstand die zuletzt genutzte Regel.

#Eine Zuordnung als Regel merken

Setzen Sie in einer Zeile das Häkchen Regel — beim Buchen wird die Zuordnung als neue categorisation_rule gespeichert. Beim nächsten Import wird dieselbe Konstellation (IBAN bzw. Stichwort) automatisch erkannt und landet im ✅-Eimer.

So lernt der Import von Mal zu Mal dazu und Sie sparen mit jedem Monat mehr Arbeit.

#Was passiert mit Duplikaten?

Jede importierte Zeile bekommt eine eindeutige Referenz (Hash aus Datum, Betrag und Verwendungszweck). Wird dieselbe Zeile ein zweites Mal hochgeladen — z. B. weil zwei sich überlappende CSV-Exporte gezogen wurden — überspringt die App den Eintrag automatisch und meldet die Anzahl im Toast.

Sie können also bedenkenlos den ganzen Monatsauszug erneut importieren, wenn Sie unsicher sind, was schon gebucht ist.

#Datenschutz beim Hochladen

  • Die CSV-Datei wird nur während der Prüfung zwischengespeichert (im tmp/-Verzeichnis Ihres Vereins).
  • Nach dem Buchen wird die Datei gelöscht — die einzelnen Buchungen bleiben im Kassenbuch.
  • Mit aktiver KI-Kategorisierung werden eine reduzierte Form der Zeilen an die KI gesendet (siehe KI-Vorschläge).

#Was nicht geht — und warum

  • FinTS / PSD2 Open Banking — direkter Abruf vom Bankkonto. Steht auf der Roadmap, ist aber noch nicht umgesetzt.
  • Rückgängig machen — wie alle Buchungen sind importierte Einträge nach GoBD unveränderbar. Korrekturen erfolgen über eine Stornobuchung.