Hook: Rechnung für Mahngebühr

    • Offizieller Beitrag

    In Bezug auf den Beitrag: Mahnung als neue Rechnung stelle ich euch hier einen Hook zur Verfügung welcher automatisch eine Rechnung mit Mahngebühren erstellt.


    Es ist wie im Beitrag erwähnt eine sehr simple Lösung, mehr Komfort wäre nur über ein Modul sinvoll umzusetzen.


    Kopiert folgenden Code in eine neue php Datei und speichert diese unter /includes/hooks/ . Der Code ist PHP7 ready und mit WHMCS 7.2.2 getestet worden (sollte aber ab WHMCS 6 laufen).

    Der Hook darf frei und kostenlos verwendet werden. Eine kommerzielle Nutzung (Verkauf des Hook) ist nicht gestattet. Nutzung auf eigene Gefahr

    • Offizieller Beitrag

    Sofern du die Zeile 11 und Zeile 34 nicht angepasst hast bzw. wie im Beispiel angepasst hast nein.
    Der Hook schaut sich die erste Rechnungsposition der offenen Rechnungen an und wenn er eine Position findet welche "Mahngebühr für Rechnung" enthält, überspringt er die Rechnungserstellung. Habe den Code oben aber noch angepasst, das return war falsch und ein orderby ist neu.

    • Offizieller Beitrag

    Habs auf meinem System gerade nochmal getestet und da gehts. Habt Ihr die Version von Mittwoch im Einsatz? Was habt Ihr in Zeile 8 stehen?


    In Zeile 11 und 34 muss nichts bestimmtes rein, in Zeile 11 muss nur (fast) dasselbe stehen wie in Zeile 34, halt wie im Code

  • So sieht unsere aus


    • Offizieller Beitrag

    Euer Code läuft bei mir.


    In Zeile 35, gibt es den Admin User "admin" und hat dieser API Rechte? Wenn mind. WHMCS 7.2 genutzt wird "admin" einfach gegen "1" ersetzen.
    Ansonsten mal ein


    Code
    logModuleCall('due date fee', 'api', $results);

    unter $results = localAPI setzen und vor dem nächsten dailycron den modullog aktivieren

  • Die Rechnungen sind alle leer weder Text noch Betrag vorhanden.


    Die Rechnungen hat der Hook für einen einzigen Kunden erstellt für 1 Rechnung *lach*


    Kann man eigentlich die Rechnungsnummer per SQL wieder zurück setzen? Sonst hab ich hier ca 25 Stornorechnungen im Account des Kunden.


    In der mod_invoicedata sehe ich die falschen Rechnungen zwar krieg sie dort aber nicht gelöscht... Idee?

    • Offizieller Beitrag

    *grumel* Sorry, änder bitte mal den Hookpoint von AfterCronJob auf DailyCronJob. WHMCS scheint den AfterCronJob wohl nicht mehr nur nach dem täglichen Durchlauf laufen zu lassen sondern nach wirklich jedem Crondurchlauf - welchen man ja jetzt alle 5 minuten oder so machen soll.


    Wieso die Rechnung aber keine Daten enthält kann ich dir gerade nicht sagen, die werden einfach an die WHMCS eigene API übergeben. Ist dein Code noch derselbe wie oben?


    Bzgl des zurücksetzens kann ich dir leider nichts sagen. Laut WHMCS Forum taucht die invoiceid in X verschiedenen Tabellen auf. Da es 0€ "Rechnungen" sind, solltest du die aber auch einfach aus WHMCS löschen können. 0€ Rechnungen sind offiziell keine Rechnungen. Nur zwecks Nachverfolgung der großen Lücke würde ich die in der Buchhaltung archivieren.