Short Facts

  • Auftrags-Abo-Vorlagen-Verwaltung
    • Abo-Auftragsliste
    • Abo-Auftrags-Bearbeiten-Maske.
      Zusätzlicher Reiter "Abo-Ausführung" beim Auftrag bearbeiten/anlegen.
  • Manuelle und zeitliche automatisierte Auftragsgenerierung aus Abo-Vorlage heraus
  • Abo-Intervall Einstellung
    • jährlich
    • monatlich
    • täglich
    • freie Intervalle (cron).
  • Abo-Start- und -End-Datum konfigurierbar
  • Abo-Pausen konfigurierbar
  • Optionale Daten-Aktualisierungen bei Abo-Ausführung möglich für bspw. (personalisierte) Preise, Rechnungs- und Lieferadressen

Was ist ein Abo-Auftrag?

Vereinfacht gesagt, ist ein Abo-Auftrag ein normaler Auftrag, der als Kopier-Vorlage genutzt wird, um daraus die eigentlichen Aufträge zu erzeugen.

Die Abo-Aufträge werden in einer eigenen Abo-Auftragsliste verwaltet.

Abo-Ausführung (Manuell)

Mit der Abo-Ausführung wird der eigentliche Abo-Auftrag kopiert in einen neuen eigenständigen Auftrag.

Dabei werden typischerweise alle Auftragsdaten des Abo-Auftrags kopiert, wie bspw.:

  • Kunden-Zuordnung
  • Rechnungs- und Lieferanschrift
  • Auftragsposten (ohne Gutscheine) und Preise
  • sonstige Felder
  • Ggfs. Zahlungsvorgang / -einstellungen

Über erweiterte Einstellungen können die genaue abweichende Kopier-Vorgaben (pro Abo-Auftrag) geändert. Somit ist es zum Beispiel möglich ...

  • immer die aktuelle "primäre Rechnungsadresse" (Kunden-Adressbuch) zu verwenden
  • immer die aktuelle "primäre Lieferadresse" (Kunden-Adressbuch) zu verwenden
  • aktuelle Standardpreise aus dem PIM zu verwenden
  • aktuelle kundenspezifische Preise zu verwenden


Automatische Abo-Ausführung (Daemon)

Die Erzeugung von Aufträgen aus Abo-Aufträgen heraus kann komplett automatisiert werden.

Der Abo-Daemon läuft per Default stündlich, zur 15. Minute. Alle dann fälligen und mit Abo-Modus "automatisch"  eingestellten Abo-Aufträge werden dann ausgeführt.

Die Ausführungszeitpunkte des Abo-Daemons selbst können wiederum angepasst werden. Dieser könnte bspw. nur täglich, wöchentlich oder einmal monatlich laufen. Alle bis dahin fällig gewordenen Abo-Aufträge werden eben erst dann erzeugt.

Abo-Pausen

Zu jedem Abo können individuelle Pausen-Intervalle hinterlegt werden.

  • Es können mehrere Pausen-Intervalle hinterlegt werden.
  • Die Pausen-Start- und -Endzeitpunkte müssen nicht genau auf Abo-Ausführungszeitpunkte o.ä. gesetzt werden. Sie können frei gewählt werden.
  • Wird ein Abo-Auftrag ausgeführt und die Ausführungszeit fällt in eine konfigurierte Abo-Pause, so wird ..
    • die Erzeugung eines neuen Auftrags einfach übersprungen und nächste reguläre Ausführungszeitpunkt für das Abo berechnet und gespeichert. Dieser Zeitpunkt kann sich dann eventuell immer noch in dem Pausen-Intervall befinden.
      Es wird absichtlich nicht der erstmögliche Ausführungszeitpunkt nach der aktuellen Abo-Pause errechnet, da es sein könnte, dass während der Abo-Pause das Pausen-Ende zwischenzeitlich vorverlegt würde.
    • Ein spezieller Flow "orderperiodic_execute_pauseskip" ausgelöst, der entsprechend konfiguriert werden kann.


Flows

Folgende Standard Flows stehen zur Anpassung zur Verfügung

  • "orderperiodic_create"
  • "orderperiodic_update"
  • "orderperiodic_execute" - Nach erfolgreicher Abo-Ausführung. Enthält Daten zu dem Abo-Auftrag, sowie zu dem neu generiertem Auftrag.
  • "orderperiodic_execute_pauseskip" - Wird ausgelöst nach versuchter Abo-Ausführung, wenn die Ausführungszeit in eine konfigurierte Abo-Pause fällt.

Konfiguration

Kopier-Einstellungen "default"

Es können optional "default"-Kopiereinstellungen in der Hublify-System-Variable "orderPeriodic_orderCopyOptions_default" hinterlegt werden.

Diese Kopiereinstellungen werden dann beim Ausführen eines Abo-Auftrags verwendet, wenn in dessen Abo-Einstellungen der Kopiermodus "default" ausgewählt wurde.

Hfy Var Syntax: "orderPeriodic_orderCopyOptions_default"

{
  "copy_inv_address": "exact",    // "exact|none|update_toprimary"
  "copy_dlv_address": "exact",    // "exact|none|update_toprimary"
  "copy_prices": "exact",         // "exact|update_std|update_personal"
  "copy_prd_replace": "exact",    // "exact|rpl_newest". Future "rpl_newest_instock|rpl_oldest_instock"

  "copy_prdtype_product": true,
  "copy_prdtype_coupon": false,
  "copy_prdtype_shipping": true,
  "copy_prdtype_payment": true,
  "copy_prdtype_docs": true,
  "copy_prdtype_other": true,

  "copy_transactions": "exact",   // "exact|none|update_todefault"
                                  // "exact" - copies amount & src-/trg-account-pointer
                                  //  Exception: if order-persid changes the src-account is NOT copied!

  "override": {
    "o_type": "order"
  }
}