Das WooCommerce DATEV-Format Export-Plugin erstellt standardmäßig Buchungssätze, sobald eine Bestellung auf "abgeschlossen" gestellt wird. Hintergrund: Ab diesem Zeitpunkt erlaubt WooCommerce keine Änderungen in der Bestellungmaske/Bestellbearbeitung mehr.
Diese Logik kann angepasst werden. Das kann zum Beispiel notwendig sein, wenn:
Die "reguläre" Logik findest du - nur zum Überblick - in includes/system/orders/order-status-observer.php.
Die reguläre Logik kann deaktiviert werden. Setze dazu unter Buchhaltung > Einstellungen die Option "Buchungssatzerstellungs-Modus (Verhalten bei Mehrfachbuchungen)" auf "Ausschließlich manueller Export".
Mit etwas Custom Code kannst du Buchungssätze zum Beispiel bei einem anderen Status erstellen lassen. Du musst dann aber sicherstellen, dass die Bestellungen ab diesem Bestellstatus nicht mehr geändert werden können! Eine Übersicht über die WooCommerce-Bestellstatus (das ist der Plural ;-)) findest du in der offiziellen WooCommerce-Dokumentation.
Es gibt z.B. noch folgende Hooks:
add_action( 'woocommerce_order_status_processing', 'wcdtvfe_customizations_on_order_processing_listener', 10, 2 );
function wcdtvfe_customizations_on_order_processing_listener( $order_id ) {
$order = wc_get_order( $order_id );
$previous_accounting_records = (new \WooCommerce_DATEV_Format_Export\Accounting_Records_Repository())->get_by_order_id( $order_id );
// keine doppelte Erstellung von Buchungssätzen erlauben
if ( count ( $previous_accounting_records ) > 0 ) {
return;
}
$accounting_records = (new \WooCommerce_DATEV_Format_Export\Order_Accounting_Records_Factory())->create( $order );
(new \WooCommerce_DATEV_Format_Export\Accounting_Records_Repository())->save_several( $accounting_records );
}
Du willst deinen Shop zusätzlich entlasten und Buchungssätze nur nachts erstellen? Du kannst die o.g. Funktion auch einfach mit einem Cron-Job ansprechen.
Sie haben Fragen oder möchten ein Angebot anfordern?