Fehler in Steuerregeln in Version 5.6.10

Hallo,

kann bitte mal jemand von euch in Shopware 5.6.10 oder möglichst nahe daran Steuerregeln mit einem abweichenden Satz testen und das Ergebnis posten ?

Also z.B. Default im Artikel 19% für DE und eine Steuerregel für Österreich mit 20%

Zum Einsatz kommt SW 5.6.10 Community Edition und die folgende Passage kann in meinen Augen noch nie funktioniert haben:

Datei engine/Shopware/Models/Order/Order.php Methode calculateInvoiceAmount

foreach ($this->getDetails() as $detail) {
            $price = round($detail->getPrice(), 2);

            $invoiceAmount += $price * $detail->getQuantity();

            $tax = $detail->getTax();

            // = 20 % Steuer bei Bestellung aus AT -> bis hier hin korrekt
            $taxValue = $detail->getTaxRate();

            // Additional tax checks required for sw-2238, sw-2903 and sw-3164
            if ($tax && $tax->getId() !== 0 && $tax->getId() !== null && $tax->getTax() !== null) {
                // = 19 %, wenn taxId gesetzt, auch wenn Lieferland = AT
                $taxValue = $tax->getTax();
            }

            if ($this->net) {
                $invoiceAmountNet += Shopware()->Container()->get('shopware.cart.net_rounding')->round($price, $taxValue, $detail->getQuantity());
            } else {
                $invoiceAmountNet += round(($price * $detail->getQuantity()) / (100 + $taxValue) * 100, 2);
            }
        }

Angelegt werden bei mir Bestellungen aus AT in den Positionen mit taxID = 8 für die 19% und in die taxRate werden die 20% der Steuerregel für AT eingetragen.

Sobald aber doch hier der kleinste Schnippsel angefasst wird, wie etwa neue Position hinzugefügt o.ä. sorgt doch das if nach „// Additional tax checks required for sw-2238, sw-2903 and sw-3164“ dafür, dass immer nochmal der Default Satz von 19% gezogen wird oder steh ich grad voll aufm Schlauch ?

Der Shop ist auf Anzeige der Bruttopreise eingestellt. Beim reinen Speichern der Bestellung sollte noch alles ok sein, aber beim manuellen Ändern der Versandkosten / Versandkosten netto sollte er die Positionen neu durchrechnen. Im Backend wird man das wohl gar nicht sehen, da hier immer nur Brutto steht, aber bei Abfrage über die Api hat man dann eine Differenz zwischen invoiceAmount und invoiceAmountNet, die sich aber nur mit 19% MwSt erklären lässt und nicht mit 20 %

Das können wir nachvollziehen. Bei Bestellungen aus dem EU-Ausland stimmt in der Datenbank und somit auch beim Zugriff per API der Wert „invoice_amount_net“ bzw. „invoiceAmountNet“ nicht. Zum Beispiel bei Kunden aus Österreich wird mit 19% gerechnet, obwohl bei den einzelnen Bestellpositionen 20% gespeichert ist. Der Brutto-Betrag stimmt jedoch und im Backend sieht man den falschen Wert nicht. In vom Shop versandten E-Mails fällt es jedoch auf, wenn man den Netto-Preis ausgibt.
Habt ihr hier noch etwas unternommen oder ein Ticket angelegt?