Projekt

Allgemein

Profil

GX-Task #68464

Von Moritz Bunjes vor mehr als 3 Jahren aktualisiert

The third party developer Holger Schrörs from Xycons is complaining about the missing possibility to overload logic in CheckoutShippingContentControl::proceed() and ot_coupon::calculate_tax_deduction(), because the methods are much to long, so you cannot overload parts of it. The code should be split into several methods. 

 Example: In CheckoutShippingContentControl::proceed() it should be possible to overload the value of MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER 

 ------------------- 

 Ein Rabatt-Kupon hat einen festen oder einen prozentualen Rabatt. Ist es ein fester Betrag, kann er zusätzlich als versandkostenfrei bestimmt werden, andernfalls nicht. Ebenfalls kann ein Mindestbestellwert festgelegt werden, ab dem der Rabatt-Kupon gültig ist. Ob der Wert brutto oder netto verrechnet wird hängt von der Einstellung im ot_coupon-Zusamenfassung-Modul ab. Ebenso kann im ot_coupon-Zusamenfassung-Modul festgelegt werden, ob die Versandkosten an den Warenwert angerechnet werden sollen, was relevant für den Mindestbestellwert und die anteilge Verrechnung der MwSt. ist. Wenn man die Versandkosten nicht anrechnen möchte, muss die Anzeigereihenfolge auf 29 gestellt werden, also niedriger sein, als die Versandkosten. Ein Rabatt-Kupon reduziert den Warenwert, muss also auch die MwSt. entsprechend reduzieren. Daher ist im Zusammenfassung-Modul die Option "MwSt. neu berechnen" auf "Standard" zu setzen. Es ist auch möglich die MwSt. nicht zu reduzieren, indem die Option "None" gewählt wird. Ein Use-Case dafür ist mir aber nicht bekannt. Rabatt-Kupons können auch mit der Option "Credit Note" als Gutschrift behandelt werden. Dann wird buchalterisch nicht mehr der Warenwert reduziert und es kann über die Option "MwSt.-Satz" festgelegt werden, ob und welche Steuer enthalten ist, die dann ensprechend verrechnet wird. Gutschriften sind auch unüblich, hier eignet sich das Gutschein-System besser (ot_gv). 

 Beispiel 1: Kupon enthält MwSt. 

 Ein 10 EUR Rabatt-Kupon, der den Warenwert inkl. Versandkosten (aber nicht versandkostenfrei) und die MwSt. reduziert, macht dies anteilig. 

 Artikel A 19% MwSt.: 10 EUR brutto, 8,4034 EUR netto + 1,5966 19% MwSt. 
 Artikel B 7% MwSt.: 10 EUR brutto, 9,3458 EUR netto + 0,6542 7% MwSt. 
 Versandkosten 19% MwSt.: 10 EUR brutto, 8,4034 EUR netto + 1,5966 19% MwSt. 

 Das sind 20 EUR inkl. 19% MwSt. und 10 EUR inkl. 7% MwSt., also 66,667% 19% MwSt.-Anteil und 33,333% 7% MwSt.-Anteil, so dass bei einem Kuponwert von 10 EUR brutto dieser 33,3% 7% MwSt. und 66,7% 19% MwSt. enthält. Die Rechnung dazu lautet: 

 10 * 0,66667 = 6,6667 
 (6,6667 / 1,19 - 6,6667) * -1 = 1,0644 

 10 * 0,33333 = 3,3333 
 (3,3333 / 1,07 - 3,3333) * -1 = 0,2181 

 Bestellung ohne Kupon 
 Artikel A: 10 EUR 
 Artikel B: 10 EUR 
 Versandkosten: 10 EUR 
 inkl. 19& MwSt.: 3,19 EUR (3,1932) 
 inkl. 7% MwSt.: 0,65 EUR (0,6542) 
 Summe: 30 EUR 

 Bestellung mit 10 Kupon 
 Artikel A: 10 EUR 
 Artikel B: 10 EUR 
 Versandkosten: 10 EUR 
 Kupon: -10 EUR 
 inkl. 19& MwSt.: 2,13 EUR (3,1932 - 1,0644 = 2,1288) 
 inkl. 7% MwSt.: 0,44 EUR (0,6542 - 0,2181 = 0,4361) 
 Summe: 20 EUR 


 Beispiel 2: Kupon enthält keine MwSt. 

 Ein 10 EUR Rabatt-Kupon, der den Warenwert inkl. Versandkosten (aber nicht versandkostenfrei) und die MwSt. reduziert, macht dies anteilig. 

 Artikel A 19% MwSt.: 10 EUR brutto, 8,4034 EUR netto + 1,5966 19% MwSt. 
 Artikel B 7% MwSt.: 10 EUR brutto, 9,3458 EUR netto + 0,6542 7% MwSt. 
 Versandkosten 19% MwSt.: 10 EUR brutto, 8,4034 EUR netto + 1,5966 19% MwSt. 

 Das sind 16,8068 EUR exkl. 19% MwSt. und 9,3458 EUR exkl. 7% MwSt., also 64,26416116% 19% MwSt.-Anteil und 35,73553546% 7% MwSt.-Anteil, so dass bei einem Kuponwert von 10 EUR netto dieser 35,73553546% 7% MwSt. und 64,26416116% 19% MwSt. enthält. Die Rechnung dazu lautet: 

 10 * 0,6426416116 = 6,426416116 
 6,426416116 * 0,19 = 1,221019062 

 10 * 0,3573553546 = 3,573553546 
 3,573553546 * 0,07 = 0,250148748 

 Bestellung ohne Kupon 
 Artikel A: 8,40 EUR (8,4034) 
 Artikel B: 9,35 EUR (9,3458) 
 Versandkosten: 8,40 EUR (8,4034) 
 Summe netto: 26,15 EUR 
 zzgl. 19& MwSt.: 3,19 EUR (3,1932) 
 zzgl. 7% MwSt.: 0,65 EUR (0,6542) 
 Summe: 30 EUR 

 Bestellung mit 10 Kupon 
 Artikel A: 8,40 EUR (8,4034) 
 Artikel B: 9,35 EUR (9,3458) 
 Versandkosten: 8,40 EUR (8,4034) 
 Kupon: -10 EUR 
 Summe netto: 16,15 EUR (16,1526) 
 zzgl. 19& MwSt.: 1,97 EUR (3,1932 - 1,221019062 = 1,972180938) 
 zzgl. 7% MwSt.: 0,40 EUR (0,6542 - 0,250148748 = 0,404051252) 
 Summe: 18,53 EUR (18,52883219) 


 Beim Testen sollte auch die Einschränkung eines Kupons auf Artikel und Kategorien überprüft werden, da die Logik dazu ebenfalls neu geschrieben wurde.  

Zurück