Guten Abend zusammen, aktuell ist es in Shopware ja so, dass der Kunde die Mehrwertsteuer seiner Bestellung beim Bestellabschluß angezeigt bekommt ($sBasket.sTaxRates). Leider fehlen diese Informationen in der Bestellbestätigung (E-Mail), unter Mein Konto > Meine Bestellungensowie im Admin-Bereich. Hat hier jemand eine Lösung, wie ich die “sTaxRates” in den Bestellungen auslesen kann oder geht das nur über eine Individual-Programmierung? Ist das rechtlich so überhaupt in Ordnung? Danke vorweg für Eure Antworten! Rafael Kutscha
Ich habe folgendes Plugin geschrieben - die Daten müssten hiermit an so ziemlich allen relevanten Stellen vorliegen: <?php class Shopware_Plugins_Core_Ordertax_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function install() {
$event = $this->createEvent( 'Shopware\_Modules\_Admin\_GetOpenOrderData\_FilterResult', 'onOrderFilterSql'); $this-\>subscribeEvent($event); return true; } static function onOrderFilterSql(Enlight\_Hook\_HookArgs $args) { $getOrders = $args-\>getReturn(); // Array durchlaufen und MwSt errechnen foreach ($getOrders as $orderKey =\> $orderValue){ $getOrders[$orderKey]['summarized\_tax'] = array(); // Hier landen alle Steuern separiert nach Wert (0%,7%,19%) $getOrderDetails = $getOrders[$orderKey]["details"]; // s\_order: invoice\_shipping invoice\_shipping\_net =\> Steuern % fuer Versand foreach($getOrderDetails as $orderDetailsKey =\> $orderDetailsValue) { $tax\_rate = (int) $getOrderDetails[$orderDetailsKey]['tax\_rate']; if(!array\_key\_exists($tax\_rate, $getOrders[$orderKey]['summarized\_tax'])) { $getOrders[$orderKey]['summarized\_tax'][$tax\_rate] = (float) 0; } // Steuerbetrag berechnen $article\_price = (float) str\_replace(array('.', ','), array('', '.'), $getOrderDetails[$orderDetailsKey]['price']); $calced\_tax = $article\_price / 100 \* $tax\_rate; // Steuerbetrag addieren $getOrders[$orderKey]['summarized\_tax'][$tax\_rate] = round($getOrders[$orderKey]['summarized\_tax'][$tax\_rate] + $calced\_tax, 2); } // Kosten der Versandkosten beruecksichtigen $invoice\_shipping\_tax\_rate = (int) $getOrders[$orderKey]['dispatch']['tax\_calculation\_value']; $invoice\_shipping\_tax\_value = round($getOrders[$orderKey]['invoice\_shipping\_net'] / 100 \* $invoice\_shipping\_tax\_rate, 2); if(!array\_key\_exists($invoice\_shipping\_tax\_rate, $getOrders[$orderKey]['summarized\_tax'])) { $getOrders[$orderKey]['summarized\_tax'][$invoice\_shipping\_tax\_rate] = (float) 0; } $getOrders[$orderKey]['summarized\_tax'][$invoice\_shipping\_tax\_rate] = $getOrders[$orderKey]['summarized\_tax'][$invoice\_shipping\_tax\_rate] + $invoice\_shipping\_tax\_value; } return $getOrders; } }
Über eine Antwort/Diskussion auf meine Frage zur rechtlichen freue ich mich!
Hab das auch gesucht. Die Lösung ist: Enthaltene MwSt.: {$sOrderDetails.0.tax_rate} % Summe MwSt.:{$sOrderDetails.0.tax} EUR Gruß Ralf