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 %