• Germanized
  • Buchhaltung

Leistungsdatum für Rechnungen

Das Leistungsdatum ist wichtiger Bestandteil deiner Rechnungen. Mit Germanized wird das Leistungsdatum für deine Rechnungen bequem automatisch bestimmt und hinterlegt. Standardmäßig nutzt Germanized das Bestelldatum als Leistungsdatum. Darüberhinaus werden folgende Prüfungen vorgenommen und das Leistungsdatum wird ggf. ersetzt:

  1. Existiert ein Fertigstellungs-Datum (Bestellung als Fertiggestellt markiert), wird dieses Datum stattdessen verwendet.
  2. Existiert ein Datum zum Zahlungseingang der Bestellung, wird dieses Datum verwendet.
  3. Existiert ein Versanddatum für die Bestellung (über die Sendungsintegration von Germanized), wird dieses Datum verwendet.

Bitte beachte: Entscheidend für die Bestimmung des Leistungsdatums ist der Zeitpunkt des Festschreibens der Rechnung. Liegen o.g. Daten zum Zeitpunkt des Festschreibens nicht vor, kann das Leistungsdatum auch nicht erweitert werden.

Leistungsdatum in Rechnungen einbetten

Um das Leistungsdatum in Rechnungen einzubetten, kannst du entweder den Datum Block verwenden und als Typ das Leistungsdatum verwenden oder du kannst individuell via Shortcode das Leistungsdatum einbetten. Beispielsweise folgendermaßen:

Leistungsdatum: [document data="date_of_service_period"]

Was hierbei passiert ist, dass entweder der Leistungszeitraum (z.B. im Falle von Verlängerungen von Abonnements via WooCommerce Subscriptions) oder das Leistungsdatum (d.h. Startdatum) ausgegeben wird. Das ist also die dynamischste Lösung.

Leistungsdatum individuell anpassen

Natürlich kann das Leistungsdatum bzw. der Leistungszeitraum auch individuell je Rechnung angepasst werden. Dafür kannst du die entsprechenden Filter nutzen und via PHP Anpassungen vornehmen.

add_filter( 'storeabill_woo_order_date_of_service', 'my_child_adjust_date_of_service', 20, 3 );

function my_child_adjust_date_of_service( $date, $invoice_order, $wc_order ) {
    // Maybe adjust $date based on certain conditions
    return $date;
}

Wenn du einen Leistungszeitraum hinterlegen willst, müsstest du einen anderen Hook verwenden, da du hierbei sowohl das Startdatum als auch das Enddatum hinterlegen muss.

add_action( 'storeabill_woo_order_synced_invoice', 'my_child_on_sync_invoice', 10, 2 );

function my_child_on_sync_invoice( $invoice, $invoice_order ) {
   $wc_order = $invoice_order->get_order();
   // Adjust the date accordingly
   $start = new DateTime();
   $end   = new DateTime();
   $invoice->set_date_of_service( start );
   $invoice->set_date_of_service_end( $end );
}