MwSt-Änderung wegen Corona

Für alle die auch die abwegige Vorstellung haben, dass bei „Bruttopreise beibehalten“ auch die Pseudopreise beibehalten werden sollten, hier eine kleine Erweiterung des Plugins:

Zu ändern ist die Datei SwagTax\Components\TaxUpdater.php

Folgende Funktion irgendwo einfügen (Ähnlichkeiten mit  recalculateProductPrices sind rein zufällig Grin) :

    private function recalculateProductPseudoPrices($oldTaxId, $newTaxRate, $newTaxId, $customer_group_mapping)
    {
        $oldTaxRate = $this->connection->fetchColumn('SELECT tax FROM s_core_tax WHERE id = ?', [$oldTaxId]);

        $qb = $this->connection->createQueryBuilder();
        $qb->update('s_articles_prices', 'pseudo')
            ->set('pseudoprice', sprintf('pseudoprice/%s*%s', 1 + ($newTaxRate / 100), 1 + ($oldTaxRate / 100)))
            ->where('pseudo.pricegroup IN (:groups)')
            ->andWhere('(SELECT taxID FROM s_articles WHERE id = pseudo.articleID) = :newTaxID')
            ->andWhere('pseudo.pseudoprice > 0');

        $qb->setParameter(':groups', $customer_group_mapping, Connection::PARAM_STR_ARRAY);
        $qb->setParameter(':newTaxID', $newTaxId);

        $qb->execute();
    }

Und Zeile 54-56 ersetzen mit:

            if ($config['recalculate_prices']) {
                $this->recalculateProductPrices($oldTaxId, $newTaxRate, $newTaxId, $config['customer_group_mapping']);
                $this->recalculateProductPseudoPrices($oldTaxId, $newTaxRate, $newTaxId, $config['customer_group_mapping']);
            }

Thats it. Jetzt werden auch die Pseudopreise beibehalten.

Gerade 1x getestet, aber natürlich alles ohne Gewähr. Testumgebung first!

1 „Gefällt mir“