Bankafstemming van overboekingen: installatie en configuratie
Installatie, gevolgde statussen, automatisch valideren, import van CSV, OFX en CAMT.053, voorstellen controleren, herinneringen, crontaak en probleemoplossing.
Installatie
Installeer de module via Modules > Modulebeheer > Een module uploaden met het ZIP-bestand, of kopieer de map dfbankreconcile naar de map /modules/ van uw winkel en klik op Installeren.
Bij de installatie maakt de module vier tabellen aan (imports, overboekingen, toewijzingen aan bestellingen, herinneringen), voegt het tabblad Bankafstemming toe onder het menu Bestellingen en registreert de hook van de bestelpagina. De bankgegevens voor de herinneringen worden overgenomen uit de native module voor betaling per bankoverschrijving als die is ingesteld.
In de winkel verandert niets zolang u geen afschrift importeert: er wordt geen betaling geregistreerd en geen herinnering verstuurd, want herinneringen staan standaard uit.
De vier schermen van de module
- Verwachte overschrijvingen: bestellingen die op een overboeking wachten, met leeftijd, openstaand bedrag, verstuurde herinneringen en datum van de volgende herinnering. Bovenaan vier kengetallen: openstaand bedrag, te controleren overboekingen, gekoppelde overboekingen en verstuurde herinneringen over 30 dagen.
- Afstemming: de geïmporteerde overboekingen, gefilterd per tabblad (Te controleren, Gekoppeld, Gedeeltelijk, Genegeerd, Alle), met de voorgestelde bestellingen en de acties.
- Afschrift importeren: bestand uploaden en importgeschiedenis.
- Herinneringen: overzicht van de instellingen, URL van de crontaak en logboek van herinneringen en annuleringen.
Configuratie
Open de configuratie met de knop Instellingen in de werkbalk van de module of via Modulebeheer.
Koppeling en validatie
- Bestelstatussen in afwachting van overschrijving: bestellingen met deze statussen worden vergeleken met de geïmporteerde overboekingen. Standaard de status voor wachten op betaling per bankoverschrijving. Houd Ctrl ingedrukt om er meerdere te selecteren.
- Status na volledige betaling: standaard „Betaling aanvaard”.
- Status na een gedeeltelijke betaling: laat „Huidige status behouden” staan of kies een eigen status die u hebt aangemaakt. De betaling wordt in alle gevallen bij de bestelling geregistreerd.
- Betrouwbare koppelingen automatisch valideren en Minimale score voor automatische validatie: zie de volgende sectie.
- Tolerantie op het bedrag: verschil waarbinnen een bedrag als exact geldt, standaard 0,01.
- Geaccepteerd verschil voor bankkosten: een overboeking die hoogstens dit bedrag lager is dan het openstaande bedrag, vereffent de bestelling. Handig bij internationale overboekingen waarbij de bank van de klant kosten inhoudt. Standaard 0, waarmee de regel uit staat.
- Bestellingen zoeken van de laatste: standaard 120 dagen. Oudere bestellingen worden niet voorgesteld.
- Status-e-mail naar de klant sturen: verstuurt de e-mail van de status „Betaling aanvaard” wanneer de bestelling betaald is.
CSV-import
OFX- en CAMT.053-bestanden hebben geen instelling nodig. Laat bij CSV de kolomvelden leeg: de module vindt de kopregel in de eerste 40 regels en herkent gangbare kolomnamen in 8 talen, waaronder Datum, Omschrijving, Bedrag, Af Bij en Naam tegenpartij. Wordt uw export niet herkend, vul dan het Kolomscheidingsteken, de Datumnotatie en de kolomnummers in, te beginnen bij 1:
- Kolom datum.
- Kolom bedrag voor een bedrag met teken, of Kolom credit en Kolom debet als de bank ze scheidt.
- Kolommen omschrijving: een of meer kolommen gescheiden door komma’s, bijvoorbeeld
3,4. Ze worden samengevoegd tot de tekst die geanalyseerd wordt.
De score en automatisch valideren
Elke overboeking wordt vergeleken met de bestellingen die op betaling wachten en uiterlijk op de datum van de overboeking geplaatst zijn. De punten worden opgeteld:
- Bestelreferentie gevonden in de omschrijving: 60 punten. De zoekopdracht negeert spaties en leestekens, dus een referentie die de bank in tweeën knipt, wordt toch gevonden.
- Bestelnummer gevonden na Bestelling, Order, CMD, Commande, Bestellung, Pedido, Ordine, Zamówienie of Encomenda: 45 punten.
- Exact bedrag: 35 punten. Bedrag min bankkosten, binnen de ingestelde tolerantie: 30 punten.
- Klantnaam gevonden (achternaam, bedrijf of naam op het factuuradres, minstens 4 tekens): 15 punten.
- Enige bestelling met dit bedrag, zonder referentie of nummer: 10 punten.
- Meerdere bestellingen in één overboeking: als de omschrijving meerdere referenties noemt waarvan de som het bedrag is, wordt een verzamelvoorstel van 95 punten toegevoegd.
Voorbeelden: referentie en exact bedrag geven 95. Bestelnummer, exact bedrag en naam geven 95. Exact bedrag en naam zonder referentie geven 50, of 60 als het de enige bestelling met dat bedrag is.
Een overboeking wordt tijdens de import automatisch gevalideerd als automatisch valideren aan staat, het beste voorstel de bestelling vereffent, de score de drempel haalt (standaard 90) en het tweede voorstel minstens 15 punten lager ligt. Andere overboekingen met een voorstel van minstens 40 punten krijgen de status Voorstel, de rest Geen koppeling.
Twee bestellingen met hetzelfde bedrag zonder referentie in de omschrijving worden nooit automatisch gevalideerd: hun scores zijn gelijk.
Een afschrift importeren
- Download het afschrift van uw rekening uit het internetbankieren als CSV, OFX, QFX of CAMT.053 XML.
- Open het scherm Afschrift importeren, kies het bestand (maximaal 20 MB) en klik op Importeren en koppelen.
- De resultaatmelding geeft het aantal gelezen inkomende overboekingen, de al geïmporteerde regels, de automatisch als betaald gemarkeerde bestellingen en de te controleren overboekingen. Daarna komt u op het scherm Afstemming.
Alleen bijschrijvingen worden bewaard. Elke regel wordt herkend aan datum, bedrag en omschrijving: een al geïmporteerde regel telt als duplicaat en wordt overgeslagen. U kunt dus elke week het afschrift van de lopende maand importeren zonder duplicaten. Bij CAMT.053-bestanden wordt een verzamelpost van meerdere overboekingen opgesplitst in afzonderlijke overboekingen met de naam van elke opdrachtgever.
Voorstellen controleren
Het tabblad Te controleren toont de openstaande overboekingen gesorteerd op score. Per overboeking toont de kolom Bestellingen tot 5 voorstellen met referentie, klikbaar bestelnummer, klant en bedrijf, openstaand bedrag, eventueel verschil, score en redenen. Een label Gedeeltelijke betaling of Te veel betaald geeft aan dat het bedrag afwijkt van het openstaande bedrag.
- Valideren: registreert de betaling bij de voorgestelde bestelling. Als het bedrag afwijkt, wordt om bevestiging gevraagd.
- Bulkvalidatie: vink overboekingen aan, of Alle voorstellen selecteren, en klik op Eerste voorstel van de geselecteerde overschrijvingen valideren.
- Toewijzen: typ een bestelreferentie of bestelnummer, of meerdere gescheiden door een spatie of komma voor een verzamelbetaling.
- Negeren: voor een overboeking die niet bij een bestelling hoort, bijvoorbeeld een terugbetaling van een leverancier. Ze blijft zichtbaar in het tabblad Genegeerd en kan hersteld worden, waarna de koppeling opnieuw loopt.
De knop Opnieuw koppelen berekent de voorstellen van alle openstaande overboekingen opnieuw, bijvoorbeeld na nieuwe bestellingen. Het zoekveld filtert de overboekingen op omschrijving, betaler, bestelreferentie of exact bedrag, bijvoorbeeld 1.234,56.
Wat er in PrestaShop geregistreerd wordt
De validatie voegt een native betaling aan de bestelling toe, zichtbaar op het tabblad Betalingen, op de factuur en in boekhoudexports. De betaalmethode is die van de bestelling, de transactie-ID is de bankreferentie uit het afschrift (FITID bij OFX, referentie van de bank bij CAMT) of anders DFBR- gevolgd door het nummer van de overboeking, en de datum is de boekingsdatum. Bestaat er al een factuur, dan wordt de betaling eraan gekoppeld.
Vereffent het bedrag de bestelling, toleranties inbegrepen, dan krijgt ze de status na volledige betaling. De statuswijziging gebruikt de geregistreerde betaling en maakt geen tweede aan. Anders is de betaling gedeeltelijk: de bestelling krijgt de status na een gedeeltelijke betaling als die is ingesteld, het resterende bedrag blijft zichtbaar en een latere overboeking vult de betaling aan.
Bestellingen die over meerdere vervoerders verdeeld zijn, delen één referentie. De module behandelt ze als één bestelling: het openstaande bedrag is de som van de bestellingen, de betaling wordt zoals in PrestaShop bij de eerste geregistreerd, en ze wijzigen allemaal van status.
Blok op de bestelpagina
De detailpagina van een bestelling die op betaling wacht, of een overboeking heeft ontvangen, toont een blok Bankoverschrijving: nog te betalen bedrag, ontvangen overboekingen met datum, bedrag en omschrijving, verstuurde herinneringen en een knop Betalingsherinnering sturen.
Herinneringen voor uitblijvende overboekingen
Instellingen
- Betalingsherinneringen sturen: standaard uit.
- Herinneringstermijnen (dagen na de bestelling): tot 5 termijnen gescheiden door komma’s, standaard
3,7,14. De laatste verstuurt de e-mail met de laatste herinnering. Twee herinneringen voor dezelfde bestelling liggen minstens 2 dagen uit elkaar. - Geen herinnering voor bestellingen ouder dan: standaard 30 dagen, zodat klanten van oude bestellingen niet aangeschreven worden op de dag dat u herinneringen inschakelt.
- Kopie van herinneringen sturen naar: optioneel bcc-adres.
- Bankgegevens in de herinneringen: rekeninghouder, IBAN, BIC en adres van de bank.
- Onbetaalde bestellingen annuleren na: standaard 0, waarmee annuleren uit staat. Een gedeeltelijk betaalde bestelling wordt nooit geannuleerd. Annuleren zet de producten terug op voorraad.
Er gaat geen herinnering uit voor een bestelling die door een overboeking in afwachting van controle met minstens 40 punten wordt voorgesteld: het geld is waarschijnlijk binnen. Het resultaat van de taak meldt hoeveel bestellingen daarom zijn overgeslagen.
Crontaak
Het scherm Herinneringen en de configuratie tonen de URL van de taak, beveiligd met een token. Plan bij uw hosting een dagelijkse aanroep:
0 9 * * * curl -s "https://www.uw-winkel.nl/module/dfbankreconcile/cron?token=UW_TOKEN" > /dev/null
Het antwoord is JSON met het aantal verstuurde herinneringen, geannuleerde bestellingen, overgeslagen bestellingen en fouten. De knop Nu uitvoeren start dezelfde taak vanuit de back-office. De knop Nieuw token aanmaken in de configuratie maakt de vorige URL ongeldig.
De e-mails
De module levert twee sjablonen, bankwire_reminder en bankwire_reminder_final, in HTML en tekst, in 8 talen. De e-mail gaat in de taal van de bestelling, of in het Engels als die taal niet is meegeleverd. Hij bevat het openstaande bedrag, het totaal van de bestelling, uw bankgegevens en het verzoek de referentie in de omschrijving te vermelden. De laatste herinnering meldt dat de bestelling geannuleerd kan worden. Variabelen om de sjablonen in mails/ aan te passen: {firstname}, {lastname}, {order_name}, {order_date}, {amount_due}, {total_paid}, {bank_details}, {bank_details_html}.
U kunt een klant ook op elk moment herinneren met de knop Herinneren op het scherm Verwachte overschrijvingen of vanaf de bestelpagina. Elke verzending staat in het logboek van herinneringen.
Probleemoplossing
„Het bestand kon niet worden gelezen”
De kopregel van het CSV-bestand is niet herkend. Open het bestand in een spreadsheet, noteer de nummers van de kolommen datum, bedrag (of credit en debet) en omschrijving en vul ze in bij CSV-import in de configuratie.
„Er is geen transactie gevonden in dit bestand”
Het bestand is gelezen maar bevat geen regel met een bruikbare datum en bedrag. Controleer de datumnotatie (dag/maand/jaar of maand/dag/jaar) en of het afschrift niet leeg is.
Een duidelijke overboeking heeft geen voorstel
Controleer of de bestelling een van de gevolgde statussen heeft, vóór de datum van de overboeking en binnen de zoekperiode geplaatst is, en dezelfde valuta heeft als het afschrift. Klik na het corrigeren van een status op Opnieuw koppelen.
„Bestelling wacht niet meer op betaling”
De bestelling is sinds de import van status veranderd of betaald, bijvoorbeeld door een andere overboeking. Koppel opnieuw om de voorstellen bij te werken.
Herinneringen worden niet verstuurd
Controleer of de herinneringen aan staan, of de cron-URL aangeroepen wordt (test met Nu uitvoeren), of de bestellingen jonger zijn dan de ingestelde maximale leeftijd en of de winkel e-mails kan versturen, via Geavanceerde instellingen > E-mail.
Compatibiliteit
- PrestaShop 8.0 tot 9.x, hetzelfde ZIP-bestand dekt beide versies.
- Multistore: imports en overboekingen horen bij de actieve winkel.
- Formaten: CSV, TXT, OFX en QFX 1.x en 2.x, CAMT.053. Het MT940-formaat wordt niet ondersteund.
- Architectuur ModuleAdminController, zonder Composer-afhankelijkheid.
- Interface en e-mails in het Nederlands, Engels, Frans, Spaans, Duits, Italiaans, Pools en Portugees.