Rabatt an erster Position eingefügt und Summe falsch berechnet

Ich habe für meinen Shop ein Eröffnungsrabatt von 20% eingestellt auf alle Bestellungen. Jetzt habe ich zwei Testbestelltung machen lassen. Die erste Bestellung war gut, sprich alles war richtig berechnet. Für die zweite Bestellung bestellte der Kunde für 25€ und hätte nur 20€ bezahlen müssen. Stattdessen musste er die collen 25€ bezahlen. Hier ist was passiert ist:


“New Shop” ist der 20% Rabatt. wie oben erwähnt. Wie zu sehen ist ist der auf der erten Position. Scheinbar wird in einem solchen Fall die Summe falsch berechnet, da er nicht mit negativen Werten rechnen kann.
Was ist da schief gegangen? Kann ich irgendwie sicher stellen, dass der Rabatt immer als letzte Position kommt? Alternativ, kann ich einstellen, dass er mit negativen Werten rechnen kann, solange die Endsumme positiv ist?
Ich hoffe jemand kann helfen. Ich will nur ungerne jede zweite Bestellung korrigieren und müssen.