Mindermengenzuschlag im Warenkorb ohne MwSt. anzeigen

Hallo,

wenn ich für ein Land (z.B. Österreich) ein Mindermengenzuschlag (sw-surcharge) definiert habe und habe für dieses Land die Steuern deaktiviert, wird mir der Mindermengenzuschlag trotzdem brutto und nicht netto (ohne MwSt.) angezeigt. Alle anderen Preise im Warenkorb werden netto angezeigt.

Das gleiche passiert auch bei „Zuschlag für Zahlungsart“ (sw-payment-absolute).

Ist das ein Bug?

Ich benutze die aktuellste Version 5.2.5

Vielen Dank vorab!!

Hallo liebe Community!

Hier ein Beispiel für den Warenkorb:

  • Rechnungs- und Lieferadresse Deutschland
  • Kunde eingeloggt

Pos1 -  Artikel - 10,- Euro brutto
Pos2 - Zuschlag für Zahlungsart - 10 Euro brutto
Pos3 - Mindermengenzuschlag - 10 Euro brutto
Pos4 - Warenkorbrabatt (10%) - 1 Euro brutto

Jetzt ändert der Kunde seine Lieferadresse nach Österreic h, UST-ID ist hinterlegt, Steuern bei Österreich deaktiviert:

Pos1 -  Artikel - 8,40,- Euro netto
Pos2 - Zuschlag für Zahlungsart - 10 Euro brutto - FALSCH
Pos3 - Mindermengenzuschlag - 10 Euro brutto - FALSCH
Pos4 - Warenkorbrabatt (10%) - 0,84 Euro netto

Zuschlag für Zahlungsart und Mindermengenzuschlag ändern sich nicht von brutto nach netto!

Kann mir jemend helfen?

Liebe Grüße Jon

 

 /**
     * Check if minimum charging is reached
     * Used only in CheckoutController::getMinimumCharge()
     *
     * @return double|false Minimum order value in current currency, or false
     */
    public function sCheckMinimumCharge()
    {
        $minimumOrder = $this->sSYSTEM->sUSERGROUPDATA["minimumorder"];
        $factor = $this->sSYSTEM->sCurrency["factor"];

        if ($minimumOrder && !$this->sSYSTEM->sUSERGROUPDATA["minimumordersurcharge"]) {
            $amount = $this->sGetAmount();
            if ($amount["totalAmount"] < ($minimumOrder * $factor)) {
                return ($minimumOrder * $factor);
            }
        }
        return false;
    }

    /**
     * Add surcharge for payment means to cart
     * Used only internally in sBasket::sGetBasket
     *
     * @return null|false False on failure, null on success
     */
    public function sInsertSurcharge()
    {
        $name = $this->config->get('sSURCHARGENUMBER', "SURCHARGE");

        // Delete previous inserted discounts
        $this->db->delete(
            's_order_basket',
            array(
                'sessionID = ?' => $this->session->get('sessionId'),
                'ordernumber = ?' => $name
            )
        );

        if (!$this->sCountBasket()) {
            return false;
        }

        $minimumOrder = $this->sSYSTEM->sUSERGROUPDATA['minimumorder'];
        $minimumOrderSurcharge = $this->sSYSTEM->sUSERGROUPDATA['minimumordersurcharge'];
        if ($minimumOrder && $minimumOrderSurcharge) {
            $amount = $this->sGetAmount();

            if ($amount["totalAmount"] < $minimumOrder) {
                $taxAutoMode = $this->config->get('sTAXAUTOMODE');
                if (!empty($taxAutoMode)) {
                    $tax = $this->getMaxTax();
                } else {
                    $tax = $this->config->get('sDISCOUNTTAX');
                }

                if (empty($tax)) {
                    $tax = 19;
                }

                if ((!$this->sSYSTEM->sUSERGROUPDATA["tax"] && $this->sSYSTEM->sUSERGROUPDATA["id"])) {
                    $discountNet = $minimumOrderSurcharge;
                } else {
                    $discountNet = round($minimumOrderSurcharge / (100+$tax) * 100, 3);
                }

                if ($this->sSYSTEM->sCurrency["factor"]) {
                    $factor = $this->sSYSTEM->sCurrency["factor"];
                    $discountNet *= $factor;
                } else {
                    $factor = 1;
                }

                $surcharge = $minimumOrderSurcharge * $factor;
                $surchargeName = $this->snippetManager
                    ->getNamespace('backend/static/discounts_surcharges')
                    ->get('surcharge_name');

                $this->db->insert(
                    's_order_basket',
                    $params = array(
                        'sessionID' => $this->session->get('sessionId'),
                        'articlename' => $surchargeName,
                        'articleID' => 0,
                        'ordernumber' => $name,
                        'quantity' => 1,
                        'price' => $surcharge,
                        'netprice' => $discountNet,
                        'tax_rate' => $tax,
                        'datum' => new Zend_Date(),
                        'modus' => 4,
                        'currencyFactor' => $this->sSYSTEM->sCurrency["factor"]
                    )
                );
            }
        }
    }

Das hab ich in der “sBasket.php” gefunden. Aber irgendwie reagiert der Shop nicht auf Änderungen. Bin ich hier zu mindest richtig?

Vielen Dank!!

Jon

Konntest du dein Problem lösen? Würde mich auch interessieren