Merchgain
DE
Jetzt verfügbar
Als Nächstes, in dieser Reihenfolge
  • FrançaisFR
  • ItalianoIT
  • PortuguêsPT
  • NederlandsNL

Die deutschen Texte hat noch kein Muttersprachler geprüft. Fehler gefunden? Schreiben Sie uns.

Kostenlos installierenInstallieren
← Alle Antworten

Ich habe eine Erstattung ausgelöst, und mein alter Rohertrag hat sich geändert. Warum?

Bei einer Erstattung berechnet WooCommerce den Wareneinsatz jeder Position der ursprünglichen Bestellung aus dem heutigen Wert neu. Verhalten des Kerns, nicht umkehrbar.

Gruppe
Wo Daten fehlen
Quelle
R — Verhalten des WooCommerce-Kerns
Code
REWRITE
Aktualisiert

Die kurze Antwort

Weil WooCommerce bei einer Erstattung den Wareneinsatz jeder Position der ursprünglichen Bestellung neu berechnet, und zwar mit dem Wareneinsatz jedes Produkts so, wie er heute ist, nicht mit dem, der beim Verkauf erfasst wurde.

Hat sich Ihr Einkaufspreis inzwischen geändert, ändert sich die gespeicherte Historie mit. So verhält sich der WooCommerce-Kern, es betrifft jedes Plugin, das dieses Feld liest, und keine Einstellung schaltet es ab.

Was WooCommerce tatsächlich tut

Am Ende von wc_create_refund(), sobald die Erstattung gespeichert ist, tut der Kern Folgendes mit der übergeordneten Bestellung:

if ( ...->feature_is_enabled() && $order->has_cogs() ) {
    $order->calculate_cogs_total_value();
}
$order->save();

Die Neuberechnung der Bestellsumme geht jede Position durch und ruft calculate_cogs_value() auf, das den aktuellen Wareneinsatz des Produkts liest. Das Speichern der Bestellung schreibt dann alle diese Positionen zurück.

Eine Erstattung für einen Artikel schreibt also den erfassten Wareneinsatz jedes Artikels dieser Bestellung neu. Und wurde der Wareneinsatz des Produkts inzwischen geleert, ergibt die Neuberechnung null, was, wie unter Wareneinsatz null oder kein Wareneinsatz beschrieben, den Wert löscht, statt ihn zu speichern. Der ursprüngliche Wareneinsatz ist dann endgültig weg.

Was Sie tun können

  • Kosten ändern, nicht leeren. Ein Kostenfeld zu leeren ist der eine Schritt, der eine Erstattung in einen dauerhaften Datenverlust für diese Bestellung verwandeln kann.
  • Exportieren Sie die CSV-Datei am Ende jedes Monats. Das dauert zehn Sekunden und gibt Ihnen einen Beleg dafür, wie der Monat beim Abschluss aussah. Das ist der einzige Schutz, der nicht davon abhängt, dass der Kern sein Verhalten ändert.
  • Rechnen Sie bei erstatteten Bestellungen mit kleinen Abweichungen und wissen Sie, woher sie kommen, statt den Bericht zu verdächtigen.

So zeigt Merchgain das im Bericht

Merchgain zeigt, was in der Datenbank steht. Es führt keine zweite, private Kopie Ihrer Kostenhistorie und schreibt nichts in die Bestellung. Davor schützen kann es Sie also nicht, und es wird auch nicht so tun, als gäbe es die Abweichung nicht.

Deshalb steckt der CSV-Export auch in der kostenlosen Version und nicht hinter einer Bezahlschranke: Für einen Shop mit Erstattungen ist ein monatlicher Export der Unterschied zwischen einer gesicherten Kostenhistorie und der bloßen Hoffnung, dass nichts sie überschrieben hat.

Das in einem echten Bericht ansehen

Passt das nicht zu dem, was Sie in Ihrem Shop sehen? Schreiben Sie uns — wir lesen jede Nachricht. contact@merchgain.com