Bank CSV-Import
Mit dem Bank CSV-Import importierst du Kontoauszüge direkt in RechnungsFee. RechnungsFee erkennt das Konto automatisch anhand der IBAN im CSV, gleicht Transaktionen mit offenen Rechnungen ab und bucht sie – ohne manuelle Journal-Einträge.
Aktivierung: Einstellungen → Unternehmen → Tab Funktionen → Checkbox „Bank CSV-Import aktivieren“
Unterstützte Banken
RechnungsFee enthält System-Templates für folgende Banken:
| Bank | Format |
|---|---|
| Sparkasse | MT940 (klassisch) |
| Sparkasse | CAMT (XML-basiert, neueres Format) |
| DKB | Standard CSV |
| ING | Standard CSV |
| Volksbank / Raiffeisenbank | Standard CSV |
| VR-Bank / Sparda-Bank / GLS Gemeinschaftsbank | Standard CSV (Genossenschaftsformat) |
| Commerzbank | Standard CSV |
| Deutsche Bank | Standard CSV |
| Postbank | Standard CSV |
| PayPal | Standard CSV |
| Vivid | Standard CSV |
Alle aufgeführten Banken werden automatisch erkannt – das passende Template wird beim Import selbstständig ausgewählt.
Weitere Banken können über eigene Benutzer-Templates eingebunden werden. Fehlende Banken gerne als Issue melden.
CSV-Import durchführen
- Bank-Import in der Seitenleiste öffnen
- Schaltfläche „+ CSV importieren“ klicken – der Import-Dialog öffnet sich
Schritt 1 – Datei & Analyse
CSV-Datei hochladen (Klick oder Drag & Drop), dann „Analysieren“ klicken.
RechnungsFee liest die IBAN aus dem CSV-Header und vergleicht sie mit deinen konfigurierten Konten:
| Ergebnis | Anzeige |
|---|---|
| IBAN gefunden, Konto bekannt | ✓ grünes Badge mit Kontoname und Anzahl Transaktionen |
| IBAN gefunden, Konto nicht konfiguriert | ⚠ gelbe Warnung: „DE12… ist nicht konfiguriert. Möchtest du das Konto anlegen?“ |
| Keine IBAN in der CSV | Dropdown zur manuellen Kontoauswahl |
Bei der gelben Warnung: „Ja, Konto anlegen“ navigiert direkt zu Einstellungen → Konten. Nach dem Anlegen kannst du den Import erneut starten – die IBAN wird dann erkannt.
Das Template (Bankformat) wird ebenfalls automatisch erkannt. Bei Bedarf kann es manuell aus der Liste gewählt werden.
Schritt 2 – Vorschau
Alle erkannten Transaktionen werden in einer Tabelle angezeigt:
- ↩ = Duplikat (bereits importiert) – ausgegraut, nicht auswählbar
- Einzelne Zeilen per Checkbox ab- oder anwählen
- „Alle“ / „Keine“ für Schnellauswahl
Bei sehr großen Dateien (mehrere Tausend Zeilen) zeigt die Vorschau nur die ersten 500 Zeilen an – importiert werden trotzdem alle. Das schützt vor spürbaren Verzögerungen auf schwächerer Hardware.
Schritt 3 – Ergebnis
Nach dem Klick auf „X Transaktionen importieren“ läuft automatisch der Abgleich:
| Kachel | Bedeutung |
|---|---|
| Automatisch gebucht | Eindeutige Rechnungstreffer wurden sofort gebucht |
| Zuordnung nötig | Transaktionen die noch manuell zugeordnet werden müssen |
Duplikat-Erkennung
Für jede Transaktion wird ein Prüfwert aus Datum + Betrag + Partner-IBAN + Verwendungszweck berechnet. Bereits importierte Transaktionen werden automatisch übersprungen – auch bei überlappenden CSV-Exporten.
Liefert das Bankformat zusätzlich eine eindeutige Transaktions-Referenz (z. B. den PayPal-Transaktionscode), fließt diese ebenfalls ein – wichtig bei Formaten ohne IBAN und Verwendungszweck, damit zwei unterschiedliche Zahlungen mit gleichem Datum und Betrag nicht fälschlich als Duplikat erkannt werden.
Konto-Konfiguration für mehrere Bankkonten
Wenn du mehrere Bankkonten nutzt, solltest du für jedes Konto die IBAN hinterlegen:
Einstellungen → Konten → Konto bearbeiten → Feld IBAN
RechnungsFee erkennt dann beim Import automatisch welchem Konto der CSV-Auszug gehört.
Für den DATEV-Export kann pro Konto eine eigene DATEV-Kontonummer hinterlegt werden (überschreibt das globale datev_konto_bank):
Einstellungen → Konten → Konto bearbeiten → Feld DATEV-Kontonummer (optional)
Transaktionsliste
Nach dem Import zeigt die Bank-Import-Seite alle Transaktionen des aktiven Kontos. Bei mehreren Konten wechselst du über die Konto-Tabs oben.
| Spalte | Inhalt |
|---|---|
| Datum | Buchungsdatum der Transaktion |
| Bankbetrag | Grün = Eingang, Rot = Ausgang |
| Partner / Verwendungszweck | Angaben aus dem CSV |
| Art | Klassifizierungs-Badge (Geschäftlich / Privat / Privatentnahme / Einlage) |
| Buchung / Zuordnung | Status und Aktionen |
Status-Badges
| Badge | Bedeutung |
|---|---|
| Bezahlt + Rechnungsnummer | Transaktion wurde einer Rechnung zugeordnet |
| Gebucht | Freie Journal-Buchung ohne Rechnungsbezug |
| Rückerstattung | Automatisch als Guthaben-Rückzahlung erkannt |
| Zuordnung nötig + [Abgleichen] | Noch nicht gebucht |
Transaktionen filtern
Über der Tabelle stehen drei Filter:
| Filter | Beschreibung |
|---|---|
| Suche | Freitext – durchsucht Partner und Verwendungszweck |
| Zeitraum | Modus Alle · Jahr · Monat · Tag · Zeitraum (wie im Journal) – fragt direkt beim Server ab, findet also auch ältere Transaktionen jenseits der aktuell geladenen Liste |
| Status | Alle · Offen · Gebucht · Privat |
Der gewählte Zeitraum bleibt beim Wechsel zu einer anderen Seite und zurück erhalten – nur ein Neustart der App setzt ihn auf „Alle“ zurück.
Der Zähler zeigt „X von Y Transaktionen“ (Y = tatsächliche Gesamtzahl). Sind mehr Transaktionen vorhanden als geladen, erscheint daneben „Weitere laden“.
Transaktionsliste bereinigen
Mit der Zeit sammeln sich gebuchte Transaktionen in der Liste an. Das Zahnrad-Icon ⚙ rechts neben dem Status-Filter öffnet die Bereinigungseinstellungen.
Manuell bereinigen (Standard)
Ohne konfigurierte Regeln erscheint der Button:
Jetzt bereinigen (X Einträge)
Ein Klick löscht alle gebuchten Transaktionen des aktiven Kontos aus der Import-Liste. Die zugehörigen Journal-Einträge und Rechnungen bleiben unverändert – es werden nur die Import-Einträge entfernt.
Automatische Bereinigung
Im Bereinigungsbereich lassen sich zwei Regeln konfigurieren – einzeln oder kombiniert:
| Einstellung | Wirkung |
|---|---|
| Automatisch löschen nach X Tagen | Gebuchte Transaktionen die älter als X Tage sind, werden beim nächsten Seitenaufruf automatisch gelöscht |
| Maximal N gebuchte behalten | Überschreitet die Anzahl gebuchter Transaktionen den Wert N, werden die ältesten gelöscht bis N übrig bleibt |
Sind beide Regeln aktiv, löst jede für sich aus – es wird jeweils die größere Menge entfernt.
Vorschau: Unter den Eingabefeldern steht „X Einträge würden gelöscht“ – so siehst du die Auswirkung der Regeln bevor du speicherst oder bereinigst.
Die Einstellungen werden im Browser gespeichert (localStorage) und gelten pro Gerät.
Import abbrechen (Ungebuchte löschen)
Hast du versehentlich die falsche Datei importiert und noch keine Transaktionen gebucht, löscht der Button:
Ungebuchte löschen (Y)
alle Transaktionen des aktiven Kontos ohne Buchung – also den kompletten noch nicht verarbeiteten Import. Dieser Button erscheint nur wenn ungebuchte Transaktionen vorhanden sind.
Zahlungsabgleich mit Rechnungen
Automatischer Abgleich (Halbautomatik)
RechnungsFee gleicht Transaktionen nach dem Import automatisch ab. Dabei prüft es drei Kriterien:
| Kriterium | Was verglichen wird |
|---|---|
| Betrag | Restbetrag der Rechnung ≈ Transaktionsbetrag (Toleranz ±0,02 €) – oder Rechnungsbetrag abzüglich hinterlegtem Skonto, wenn die Skonto-Frist eingehalten wurde |
| Rechnungsnummer | Rechnungsnummer steht im Verwendungszweck – vollständig (RE-24-0001) oder nur der Zahlenteil (240001). Trennzeichen und Leerzeichen werden ignoriert. |
| Name | Kunden-/Lieferantenname ähnelt dem Partnernamen der Transaktion |
Die Richtung wird automatisch bestimmt: positive Transaktionen (Eingang) → Ausgangsrechnungen, negative (Ausgang) → Eingangsrechnungen.
Skonto-Zahlungen: Überweist der Kunde exakt den Betrag mit Skontoabzug innerhalb der auf der Rechnung hinterlegten Skonto-Frist, wird das automatisch erkannt – die Rechnung wird als vollständig bezahlt gebucht, inklusive korrektem Skonto-Journaleintrag. Nach Ablauf der Frist oder bei einem abweichenden Betrag zählt nur noch der volle Restbetrag als Treffer; siehe Rechnungen → Skonto.
| Situation | Was passiert |
|---|---|
| Genau 1 Treffer, alle 3 Kriterien erfüllt | Direkt gebucht – kein Dialog |
| Mehrere Treffer oder Score < 3 | Abgleich-Dialog zur manuellen Auswahl |
| Kein Treffer, Kategorie gesetzt | Direkt als freie Journal-Buchung gebucht |
| Kein Treffer, keine Kategorie | BuchungForm öffnet sich (vorausgefüllt) |
Manueller Abgleich
Klicke in der Transaktionsliste auf „Abgleichen“ um eine Transaktion manuell zuzuordnen.
Im Abgleich-Dialog erscheinen alle passenden Rechnungen als Karten mit:
- Rechnungsnummer, Partner, Datum, offenem Restbetrag
- Chips für zutreffende Kriterien (Betrag / Rechnungsnr. / Name)
- Treffer mit ≥ 2 Kriterien oben, schwache Treffer (1 Kriterium) darunter
Klick auf „Als bezahlt markieren“ bucht die Transaktion gegen die gewählte Rechnung. Die Rechnung wechselt automatisch auf bezahlt (oder teilweise bei Anzahlung).
Ohne Rechnungsbezug buchen
Im Abgleich-Dialog gibt es unten „Ohne Rechnungsbezug buchen“ – für Transaktionen die keiner Rechnung entsprechen (Gehalt, Miete, Versicherungen …).
Zahlung auf eine Mahnung
Steht im Verwendungszweck eine Mahnungsnummer (Format MHN-YY####), wird das automatisch erkannt – auch wenn die Mahnung mehrere Rechnungen zusammenfasst. Details dazu unter Mahnwesen → Zahlungseingänge zuordnen.
Mischkonten
Wenn das Konto als Mischkonto (privat & geschäftlich) eingerichtet ist, erscheint eine Klassifizierungs-Spalte:
| Badge | Bedeutung |
|---|---|
| Geschäftlich | Betriebseinnahme oder -ausgabe |
| Privat | Private Transaktion, wird nicht gebucht |
| Privatentnahme | Geldentnahme aus dem Betrieb |
| Einlage | Geldeinlage in den Betrieb |
Die Klassifizierung lässt sich jederzeit in der Liste nachträglich ändern.
Kontotyp einstellen: Einstellungen → Konten → Konto bearbeiten → Kontotyp
Überzahlungen & Guthaben
Was ist eine Überzahlung?
Eine Überzahlung entsteht wenn der tatsächlich überwiesene Betrag den Rechnungsbetrag übersteigt:
- Ausgangsrechnung: Kunde zahlt mehr als gefordert → Kundenguthaben
- Eingangsrechnung: Du zahlst mehr als gefordert → Lieferantenguthaben
RechnungsFee bucht in beiden Fällen nur den exakten Rechnungsbetrag (mit korrekter USt) und legt den Überschuss als offenen Guthaben-Posten vor.
Dashboard-Widget
Das Dashboard zeigt ein oranges Banner für alle offenen Guthaben (Kunden- und Lieferantenguthaben gemeinsam). Jeder Posten zeigt Betrag, Typ (Kunde / Lieferant) und Ursprungsnotiz.
- Kundenguthaben: Kein manuelles Ausbuchen möglich – wird durch Verrechnung oder Rücküberweisung geschlossen
- Lieferantenguthaben: Button „Ausbuchen“ verfügbar für Forderungsausfall (z. B. wenn Lieferant nicht zurückzahlt)
Guthaben auflösen
Es gibt drei Wege ein Guthaben zu schließen:
Weg 1 – Verrechnung mit nächster Rechnung (empfohlen)
Öffne eine offene Rechnung des betreffenden Kunden oder Lieferanten. Im Zahlungsbereich des Detail-Panels erscheint automatisch ein blaues Badge:
Kundenguthaben verfügbar: 31,00 € [Verrechnen]
bzw.
Lieferantenguthaben verfügbar: 31,00 € [Verrechnen]
Ein Klick auf „Verrechnen“ bucht den Guthabenbetrag (oder den Restbetrag der Rechnung, falls geringer) als Teilzahlung mit zahlungsart = Verrechnung. Die USt wird anteilig korrekt berechnet. Die Forderung wird geschlossen.
Der Restbetrag der Rechnung (falls vorhanden) kann dann normal per Bank bezahlt werden.
Weg 2 – Rücküberweisung (Bank-Import)
Überweist der Lieferant das Guthaben zurück oder erstattest du dem Kunden den Überschuss, erkennt RechnungsFee die Transaktion beim nächsten Bank-Import automatisch.
Matching-Kriterien für automatische Erkennung:
| Kriterium | Beschreibung |
|---|---|
| Betrag | Transaktionsbetrag ≈ Guthabenbetrag (±0,02 €) |
| Name | Partner-Name im CSV ähnelt dem Kunden-/Lieferantennamen |
| Keyword | ERSTATTUNG, RUECKERSTATTUNG oder REFUND im Verwendungszweck (Fallback wenn Name nicht matcht) |
Bei einem Match: Guthaben wird automatisch geschlossen, Transaktion erhält das Badge „Rückerstattung“ – kein separater Journal-Eintrag nötig, da der Überschuss nie als Einnahme/Ausgabe verbucht war.
Kundenguthaben zurückzahlen (du überweist an den Kunden)
Du erstattest dem Kunden den Überschuss per Banküberweisung. Beim Anlegen der Überweisung in deinem Online-Banking:
| Feld | Empfohlener Inhalt |
|---|---|
| Empfänger | IBAN und Name des Kunden (wie im Kundenstamm) |
| Verwendungszweck | ERSTATTUNG RE-XXXXXXXX (Rechnungsnummer eintragen) |
Wenn der Kundenname exakt übereinstimmt reicht der Name allein – der Keyword-Eintrag ERSTATTUNG sorgt aber dafür, dass der Match auch bei leichten Abweichungen im Namen klappt (z. B. „Max Mustermann GmbH“ vs. „Mustermann GmbH“).
Beim nächsten CSV-Import erscheint die ausgehende Überweisung mit dem Badge „Rückerstattung“ – das Kundenguthaben wird automatisch geschlossen.
Lieferantenguthaben erhalten (Lieferant überweist zurück)
Der Lieferant erstattet dir den überzahlten Betrag. Du kannst den Lieferanten bitten, im Verwendungszweck ERSTATTUNG oder deine Rechnungsnummer anzugeben. Selbst wenn der Lieferant nichts Eindeutiges einträgt, greift der Name-Abgleich: der Lieferantenname aus deinem Stamm wird gegen den Auftraggeber der eingehenden Überweisung geprüft.
Barzahlung ist nicht möglich – Guthaben können nicht bar ausgezahlt werden, da dies keine korrekte buchhalterische Behandlung wäre.
Weg 3 – Forderungsausfall ausbuchen (nur Lieferantenguthaben)
Falls ein Lieferant das Guthaben weder zurückzahlt noch verrechnet (z. B. Kleinstbetrag, Lieferant nicht mehr erreichbar), kann es über das Dashboard-Widget ausgebucht werden:
- Dashboard → oranges Guthaben-Banner → „Ausbuchen“
- Ausgabe-Kategorie wählen (z. B. „Sonstige Betriebsausgaben“)
- Optional: Notiz eingeben
- „Buchen & schließen“ – legt einen Journal-Eintrag als Forderungsausfall an
Teilzahlungen
Teilzahlungen werden vollständig unterstützt. Buchst du eine Transaktion über einen Teilbetrag gegen eine Rechnung, setzt RechnungsFee den Zahlungsstatus auf „Teilweise bezahlt“. Der nächste Bankeingang über den verbleibenden Restbetrag greift erneut ins Matching – die Rechnung wird dann vollständig bezahlt.
Hinweis zu Privat-Konten
Konten mit dem Typ Privat erscheinen im Import-Dialog nicht – sie sind für den betrieblichen CSV-Import nicht vorgesehen.