Zahlungsabgleich für Überweisungen: Installation und Konfiguration
Installation, überwachte Status, automatische Validierung, Import von CSV, OFX und CAMT.053, Prüfung der Vorschläge, Erinnerungen, Cronjob und Fehlerbehebung.
Installation
Installieren Sie das Modul über Module > Modulverwaltung > Modul hochladen mit der ZIP-Datei, oder kopieren Sie den Ordner dfbankreconcile in das Verzeichnis /modules/ Ihres Shops und klicken Sie auf Installieren.
Bei der Installation legt das Modul vier Tabellen an (Importe, Überweisungen, Zuordnungen zu Bestellungen, Erinnerungen), fügt den Menüpunkt Bankabgleich unter Bestellungen hinzu und registriert den Hook der Bestellseite. Die Bankverbindung für die Erinnerungen wird aus dem nativen Modul für Zahlung per Überweisung übernommen, wenn es eingerichtet ist.
Im Shop ändert sich nichts, bis Sie einen Auszug importieren: Es wird keine Zahlung verbucht und keine Erinnerung versendet, da Erinnerungen standardmäßig deaktiviert sind.
Die vier Ansichten des Moduls
- Erwartete Überweisungen: Bestellungen mit ausstehender Überweisung, mit Alter, offenem Betrag, versendeten Erinnerungen und Datum der nächsten Erinnerung. Oben vier Kennzahlen: offener Betrag, zu prüfende Überweisungen, zugeordnete Überweisungen und versendete Erinnerungen in 30 Tagen.
- Abgleich: die importierten Überweisungen, gefiltert nach Reiter (Zu prüfen, Zugeordnet, Teilweise, Ignoriert, Alle), mit den Bestellvorschlägen und Aktionen.
- Auszug importieren: Hochladen der Datei und Importhistorie.
- Erinnerungen: Übersicht der Einstellungen, Cron-URL und Protokoll der Erinnerungen und Stornierungen.
Konfiguration
Öffnen Sie die Konfiguration über die Schaltfläche Einstellungen in der Werkzeugleiste des Moduls oder über die Modulverwaltung.
Abgleich und Validierung
- Bestellstatus mit ausstehender Überweisung: Bestellungen in diesen Status werden mit den importierten Überweisungen verglichen. Standardmäßig der Status „Warten auf Zahlungseingang Überweisung“. Halten Sie Strg gedrückt, um mehrere auszuwählen.
- Status nach vollständiger Zahlung: standardmäßig „Zahlung eingegangen“.
- Status nach einer Teilzahlung: „Aktuellen Status beibehalten“ oder ein eigener Status, den Sie angelegt haben. In jedem Fall wird die Zahlung bei der Bestellung verbucht.
- Zuverlässige Zuordnungen automatisch validieren und Mindestpunktzahl für die automatische Validierung: siehe nächster Abschnitt.
- Betragstoleranz: Abweichung, bis zu der ein Betrag als exakt gilt, standardmäßig 0,01.
- Akzeptierte Differenz für Bankgebühren: Eine Überweisung, die höchstens um diesen Wert unter dem offenen Betrag liegt, gleicht die Bestellung aus. Nützlich bei Auslandsüberweisungen, bei denen die Bank des Kunden Gebühren einbehält. Standardmäßig 0, die Regel ist damit deaktiviert.
- Bestellungen suchen aus den letzten: standardmäßig 120 Tage. Ältere Bestellungen werden nicht vorgeschlagen.
- Status-E-Mail an den Kunden senden: sendet die zum Status „Zahlung eingegangen“ gehörende E-Mail, wenn die Bestellung bezahlt ist.
CSV-Import
OFX- und CAMT.053-Dateien benötigen keine Einstellung. Lassen Sie bei CSV die Spaltenfelder leer: Das Modul findet die Kopfzeile in den ersten 40 Zeilen und erkennt übliche Spaltennamen in 8 Sprachen, darunter Buchungstag, Verwendungszweck, Betrag, Soll und Haben. Wird Ihr Export nicht erkannt, geben Sie Spaltentrennzeichen, Datumsformat und die Spaltennummern an, beginnend bei 1:
- Spalte Datum.
- Spalte Betrag für einen Betrag mit Vorzeichen, oder Spalte Haben und Spalte Soll, wenn die Bank sie trennt.
- Spalten Buchungstext: eine oder mehrere Spalten, durch Kommas getrennt, zum Beispiel
3,4. Sie werden zum analysierten Text zusammengefügt.
Punktzahl und automatische Validierung
Jede Überweisung wird mit den offenen Bestellungen verglichen, die spätestens am Tag der Überweisung aufgegeben wurden. Die Punkte werden addiert:
- Bestellreferenz im Verwendungszweck gefunden: 60 Punkte. Die Suche ignoriert Leerzeichen und Satzzeichen, eine von der Bank getrennte Referenz wird also trotzdem gefunden.
- Bestellnummer gefunden nach Bestellung, BestellNr, Order, CMD, Commande, Pedido, Ordine, Zamówienie oder Encomenda: 45 Punkte.
- Exakter Betrag: 35 Punkte. Betrag abzüglich Bankgebühren innerhalb der eingestellten Toleranz: 30 Punkte.
- Kundenname gefunden (Nachname, Firma oder Name der Rechnungsadresse, mindestens 4 Zeichen): 15 Punkte.
- Einzige Bestellung mit diesem Betrag, ohne Referenz oder Nummer: 10 Punkte.
- Mehrere Bestellungen in einer Überweisung: Nennt der Verwendungszweck mehrere Referenzen, deren Summe dem Betrag entspricht, wird ein Sammelvorschlag mit 95 Punkten hinzugefügt.
Beispiele: Referenz und exakter Betrag ergeben 95. Bestellnummer, exakter Betrag und Name ergeben 95. Exakter Betrag und Name ohne Referenz ergeben 50, oder 60, wenn es die einzige Bestellung mit diesem Betrag ist.
Eine Überweisung wird beim Import automatisch validiert, wenn die automatische Validierung aktiv ist, der beste Vorschlag die Bestellung ausgleicht, seine Punktzahl die Schwelle erreicht (standardmäßig 90) und er mindestens 15 Punkte vor dem zweiten liegt. Andere Überweisungen mit einem Vorschlag ab 40 Punkten werden zum Vorschlag, der Rest steht auf Keine Zuordnung.
Zwei Bestellungen mit gleichem Betrag ohne Referenz im Verwendungszweck werden nie automatisch validiert: Ihre Punktzahlen sind gleich.
Einen Auszug importieren
- Laden Sie den Kontoauszug aus Ihrem Onlinebanking als CSV, OFX, QFX oder CAMT.053-XML herunter.
- Öffnen Sie die Ansicht Auszug importieren, wählen Sie die Datei (maximal 20 MB) und klicken Sie auf Importieren und abgleichen.
- Die Ergebnismeldung nennt die gelesenen eingehenden Überweisungen, die bereits importierten Zeilen, die automatisch als bezahlt markierten Bestellungen und die zu prüfenden Überweisungen. Anschließend gelangen Sie zur Ansicht Abgleich.
Nur Gutschriften werden übernommen. Jede Zeile wird über Datum, Betrag und Verwendungszweck erkannt: Eine bereits importierte Zeile wird als Duplikat gezählt und übersprungen. Sie können also jede Woche den Auszug des laufenden Monats importieren, ohne Duplikate zu erzeugen. Bei CAMT.053-Dateien wird eine Sammelbuchung in einzelne Überweisungen mit dem Namen jedes Auftraggebers aufgeteilt.
Vorschläge prüfen
Der Reiter Zu prüfen listet die offenen Überweisungen nach Punktzahl sortiert. Für jede Überweisung zeigt die Spalte Bestellungen bis zu 5 Vorschläge mit Referenz, verlinkter Bestellnummer, Kunde und Firma, offenem Betrag, eventueller Differenz, Punktzahl und Gründen. Ein Hinweis Teilzahlung oder Überzahlung markiert einen vom offenen Betrag abweichenden Betrag.
- Validieren: verbucht die Zahlung bei der vorgeschlagenen Bestellung. Weicht der Betrag ab, wird eine Bestätigung abgefragt.
- Sammelvalidierung: Überweisungen ankreuzen oder Alle Vorschläge auswählen, dann Ersten Vorschlag der ausgewählten Überweisungen validieren klicken.
- Zuordnen: eine Bestellreferenz oder Bestellnummer eingeben, bei einer Sammelüberweisung mehrere, getrennt durch Leerzeichen oder Komma.
- Ignorieren: für eine Überweisung, die keine Bestellung betrifft, zum Beispiel eine Lieferantenerstattung. Sie bleibt im Reiter Ignoriert sichtbar und kann wiederhergestellt werden, wobei der Abgleich erneut läuft.
Die Schaltfläche Erneut abgleichen berechnet die Vorschläge aller offenen Überweisungen neu, zum Beispiel nach neuen Bestellungen. Das Suchfeld filtert die Überweisungen nach Verwendungszweck, Zahler, Bestellreferenz oder exaktem Betrag, zum Beispiel 1.234,56.
Was in PrestaShop verbucht wird
Die Validierung fügt der Bestellung eine native Zahlung hinzu, sichtbar im Reiter Zahlungen, auf der Rechnung und in Buchhaltungsexporten. Die Zahlungsart ist die der Bestellung, die Transaktions-ID ist die Bankreferenz des Auszugs (FITID bei OFX, Referenz des Kontoführers bei CAMT) oder ersatzweise DFBR- gefolgt von der Nummer der Überweisung, das Datum ist das Buchungsdatum. Existiert bereits eine Rechnung, wird die Zahlung mit ihr verknüpft.
Gleicht der Betrag die Bestellung aus, Toleranzen eingeschlossen, wechselt sie in den Status nach vollständiger Zahlung. Der Statuswechsel verwendet die verbuchte Zahlung und legt keine zweite an. Andernfalls ist die Zahlung eine Teilzahlung: Die Bestellung wechselt in den Status nach Teilzahlung, falls eingestellt, der Restbetrag bleibt sichtbar und eine spätere Überweisung vervollständigt die Zahlung.
Auf mehrere Versanddienstleister aufgeteilte Bestellungen teilen sich eine Referenz. Das Modul behandelt sie als eine Bestellung: Der offene Betrag ist die Summe der Bestellungen, die Zahlung wird wie in PrestaShop bei der ersten verbucht, und alle wechseln den Status.
Block auf der Bestellseite
Die Detailseite einer Bestellung, die auf Zahlung wartet oder eine Überweisung erhalten hat, zeigt einen Block Banküberweisung: noch offener Betrag, eingegangene Überweisungen mit Datum, Betrag und Verwendungszweck, versendete Erinnerungen und eine Schaltfläche Zahlungserinnerung senden.
Erinnerungen für nicht eingegangene Überweisungen
Einstellungen
- Zahlungserinnerungen senden: standardmäßig deaktiviert.
- Erinnerungsfristen (Tage nach der Bestellung): bis zu 5 Fristen, durch Kommas getrennt, standardmäßig
3,7,14. Die letzte versendet die E-Mail mit der letzten Erinnerung. Zwei Erinnerungen zur selben Bestellung liegen mindestens 2 Tage auseinander. - Keine Erinnerung für Bestellungen älter als: standardmäßig 30 Tage, damit Kunden alter Bestellungen am Tag der Aktivierung nicht angeschrieben werden.
- Kopie der Erinnerungen senden an: optionale Blindkopie-Adresse.
- In Erinnerungen angezeigte Bankverbindung: Kontoinhaber, IBAN, BIC und Anschrift der Bank.
- Unbezahlte Bestellungen stornieren nach: standardmäßig 0, die Stornierung ist damit deaktiviert. Eine teilweise bezahlte Bestellung wird nie storniert. Die Stornierung bucht die Produkte zurück in den Bestand.
Für eine Bestellung, die eine zur Prüfung anstehende Überweisung mit mindestens 40 Punkten vorschlägt, wird keine Erinnerung versendet: Das Geld ist vermutlich eingegangen. Das Ergebnis der Aufgabe nennt die Zahl der deshalb übersprungenen Bestellungen.
Cronjob
Die Ansicht Erinnerungen und die Konfiguration zeigen die durch ein Token geschützte URL der Aufgabe. Richten Sie bei Ihrem Hosting einen täglichen Aufruf ein:
0 9 * * * curl -s "https://www.ihr-shop.de/module/dfbankreconcile/cron?token=IHR_TOKEN" > /dev/null
Die Antwort ist ein JSON mit der Zahl der versendeten Erinnerungen, stornierten Bestellungen, übersprungenen Bestellungen und Fehler. Die Schaltfläche Jetzt ausführen startet dieselbe Aufgabe im Backoffice. Die Schaltfläche Neues Token erzeugen in der Konfiguration macht die bisherige URL ungültig.
Die E-Mails
Das Modul liefert zwei Vorlagen, bankwire_reminder und bankwire_reminder_final, als HTML und Text, in 8 Sprachen. Die E-Mail wird in der Sprache der Bestellung versendet, auf Englisch, wenn diese Sprache nicht enthalten ist. Sie enthält den offenen Betrag, die Bestellsumme, Ihre Bankverbindung und die Bitte, die Referenz im Verwendungszweck anzugeben. Die letzte Erinnerung weist darauf hin, dass die Bestellung storniert werden kann. Verfügbare Variablen zum Anpassen der Vorlagen in mails/: {firstname}, {lastname}, {order_name}, {order_date}, {amount_due}, {total_paid}, {bank_details}, {bank_details_html}.
Sie können einen Kunden auch jederzeit mit der Schaltfläche Erinnern in der Ansicht Erwartete Überweisungen oder über die Bestellseite erinnern. Jeder Versand wird im Erinnerungsprotokoll festgehalten.
Fehlerbehebung
„Die Datei konnte nicht gelesen werden“
Die Kopfzeile der CSV-Datei wurde nicht erkannt. Öffnen Sie die Datei in einer Tabellenkalkulation, notieren Sie die Nummern der Spalten Datum, Betrag (oder Haben und Soll) und Verwendungszweck und tragen Sie sie im Abschnitt CSV-Import der Konfiguration ein.
„In dieser Datei wurde keine Buchung gefunden“
Die Datei wurde gelesen, enthält aber keine Zeile mit verwertbarem Datum und Betrag. Prüfen Sie das Datumsformat (Tag/Monat/Jahr oder Monat/Tag/Jahr) und ob der Auszug leer ist.
Eine eindeutige Überweisung hat keinen Vorschlag
Prüfen Sie, ob die Bestellung in einem der überwachten Status ist, vor dem Datum der Überweisung und innerhalb des Suchzeitraums aufgegeben wurde und dieselbe Währung wie der Auszug hat. Klicken Sie nach einer Statuskorrektur auf Erneut abgleichen.
„Die Bestellung wartet nicht mehr auf Zahlung“
Die Bestellung hat seit dem Import den Status gewechselt oder wurde bezahlt, zum Beispiel durch eine andere Überweisung. Gleichen Sie erneut ab, um die Vorschläge zu aktualisieren.
Erinnerungen werden nicht versendet
Prüfen Sie, ob die Erinnerungen aktiviert sind, die Cron-URL aufgerufen wird (mit Jetzt ausführen testen), die Bestellungen jünger als das eingestellte Höchstalter sind und der Shop E-Mails versenden kann, unter Erweiterte Einstellungen > E-Mail.
Kompatibilität
- PrestaShop 8.0 bis 9.x, dieselbe ZIP-Datei deckt beide Versionen ab.
- Multistore: Importe und Überweisungen gehören zum aktiven Shop.
- Formate: CSV, TXT, OFX und QFX 1.x und 2.x, CAMT.053. Das MT940-Format wird nicht unterstützt.
- Architektur ModuleAdminController, ohne Composer-Abhängigkeit.
- Oberfläche und E-Mails auf Deutsch, Englisch, Französisch, Spanisch, Italienisch, Niederländisch, Polnisch und Portugiesisch.