Mehrwertsteuer nach Zahlungsart

Hallo zusammen
bei meinem Shop-Projekt gibt es 10% bei Vorauszahlung. Wie schaffe ich es, dass die Mehrwertsteuer auf den Gesamtbetrag inkl. dem Zahlungs-Rabatt berechnet wird?

Vielen Dank für eure Hilfe

Erst mal die Frage weshalb die MWST falsch berechnet und falsch ausgewiesen werden soll?

Warum falsch?
Wäre doch dann so wie z.B. hier: http://www.louis-mathis.ch/Abrechnungsschema.pdf

Vielleicht machst Du mal ein Beispiel Ist/Soll.

Aus Deiner Frage lese ich, dass Du die MWST vom Brutto-Warenwert errechnen willst. Im PDF wäre dies:

Summe aller gelieferten Waren oder geleisteten Arbeiten 12865.00

Tatsächlich wird aber richtig von diesem Wert die MWST berechnet:

Total netto Warenlieferung oder Arbeitsleistung (Nettoumsatz) 11725.16

Das mit dem Beispiel ist eine gute Idee:

Ist:
Summe Artikel (netto) Fr. 1’000.00
zzgl. MwSt. 8% Betrag Fr. 80.00
Summe Artikel (brutto) Fr. 1’080.00
Versandkosten Fr. 0.00
Abschlag Zahlungsart -Fr. 100.00
Gesamtsumme Fr. 980.00

Soll:
Summe Artikel (netto) Fr. 1’000.00
Versandkosten Fr. 0.00
Abschlag Zahlungsart -Fr. 100.00
(Zwischensumme) Fr. 900.00
zzgl. MwSt. 8% Betrag Fr. 72.00
Gesamtsumme Fr. 972.00

Dieses Thema wurde hier im Forum schon mal diskutiert:
http://forum.oxid-esales.com/showthread.php?t=10098

Die MwSt muss auch für den Zahlungsart-Aufschlag/Abschlag ausgewiesen werden, weil diese Position willkürlich festgelegt und nicht steuerfrei ist.


www.top-badshop.com
PDF-HANDBUCH:
http://www.tvm-europe.com/oxid_eshop4_manual.shtml

@romeier_ch
Du gibst die Artikelpreise netto ein und hast die Einstellung im Admin entsprechend eingestellt. So sieht das Beispiel für mich aus.

@Earlybird
Hier handelt es sich um einen Schweizer Shop, folglich auch Schweizer MWST-Gesetz anwendbar.

[QUOTE=romeier_ch;139801]Das mit dem Beispiel ist eine gute Idee:

Ist:
Summe Artikel (netto) Fr. 1’000.00
zzgl. MwSt. 8% Betrag Fr. 80.00
Summe Artikel (brutto) Fr. 1’080.00
Versandkosten Fr. 0.00
Abschlag Zahlungsart -Fr. 100.00
Gesamtsumme Fr. 980.00
[/QUOTE]

ich denke nicht, dass sich das Umsatzsteuerrecht der Schweiz hier von dem Deutschen unterscheidet:
Unabhängig davon, ob man den Abschlag (10 %) vom Brutto oder vom Nettobetrag abzieht, muss am Ende der gleiche Bruttobetrag, nämlich 972 Fr. herauskommen. Wenn Du den Abschlag vom Bruttobetrag abziehst, wäre er 108 Fr, nicht 100 Fr.

Allerdings wird der im Abschlag Zahlungsart enthaltene Steuerbetrag bei Oxid nicht ausgewiesen.
Der hier http://forum.oxid-esales.com/showthread.php?t=10098 behandelte Fehler ist in der Hinsicht noch nicht behoben.

Bastelfex Du sagst es!

Na dann nochmal zusammenfassend:
Die Lösung ist so wie es schon im früheren Thread erläutert wurde.

  1. Konkret sieht es nach entspr. Grundeinst. für MwSt (Marco) und Code-Anpassungen (leofonic) im Verzeichnis “core” je nach Oxid Version etwa so aus:

oxbasket.php: $dPayVAT <> 0



     public function getPayCostVat()
    {
        $dPayVAT = $this->getCosts( 'oxpayment' )->getVatValue();
        if ( $dPayVAT <> 0 ) {
            return oxLang::getInstance()->formatCurrency( $dPayVAT, $this->getBasketCurrency() );
        }
        return false;
    }
 

oxpayment.php $dPrice <> 0



    public function getPaymentPrice( $oBasket )
    {
        //getting basket price with applied discounts and vouchers
        $dBasketPrice = $oBasket->getPriceForPayment();
        $dPrice = $this->getPaymentValue( $dBasketPrice );
         // calculating total price
        $oPrice = oxNew( 'oxPrice' );
        $oPrice->setBruttoPriceMode();
        $oPrice->setPrice( $dPrice );
        if ( $this->getConfig()->getConfigParam( 'blCalcVATForPayCharge' ) && $dPrice <> 0) {
            $oPrice->setVat( $oBasket->getMostUsedVatPercent() );
        }
         return $oPrice;
    }
  
 
  1. Im Bestellprozess und der Best.Email wird es so angezeigt (lang.php angepasst):

Summe Artikel (netto): 1.036,00 €
zzgl. MwSt 19% Betrag: 196,84 €
Summe Artikel (brutto): 1.232,84 €

Versandkosten (netto): 47,90 €
Versand. MwSt 19% Betrag:: 9,10 €
Versandkosten (brutto): 57,00 €
Auf/Abschlag Zahlungsart: -32,52 €
Zahlart MwSt 19% Betrag: -6,18 €
[hier fehlt noch der Bruttowert]

Gesamtsumme: 1.251,14 €

  1. In der PDF-Rechnung aber evtl. noch nicht ganz so.

FAZIT:
Diese Art der Darstellung ist überhaupt nicht professionell, sondern verwirrend und bedarf einer kompletten Überarbeitung seitens OXID.

Übersichtlich ist eine Zusammenfassung der Beträge nach MwSt-Sätzen (oft in einer Unterzeile dargestellt - s. grosse Unternehmen von A-Z).

Hallo zusammen,

ich habe das hier beschriebe Porblem auch in meinen Shop!
B2B / Nettopreise im Shop / Version 4.8.4

Es soll eine Zahlungsmethode geben die einen Rabatt von 100% gewährt!
Dies funktioniert bis auf die Mehrwertsteuer auch super.

Ich habe ein Modul für oxpayment und oxbasket geschrieben und die genannten Methoden überschrieben.

Anschliessend habe ich mir das entsprechenden(basketcontent.tpl) Template angesehen und musste feststellen das die genannten Methoden gar nicht mehr verwendet werden… kurzer Auszug aus dem Template weiter unten

Für mich sieht das so aus als wenn jetzt nur noch oxprice-Objekte statt der oxpayment-Objekte verwendet werden.
Mein oxprice-Objekt zieht wie folgt aus


object(oxPrice)[486]
  protected '_dBrutto' => float 0
  protected '_dNetto' => float -53.2
  protected '_dVat' => float 0
  protected '_aDiscounts' => null
  protected '_blNetPriceMode' => boolean true

Wie bekomme ich es aber nun hin, dass auch “dBrutto” und “dVat” gefüllt werden bzw. welche oxprice-Methode muss, mit dem Inhalt von eurer oxpayment->getPaymentPrice(), überschreiben werden.

Ich hoffe ich hab mein Problem verständlich beschrieben und ihr könnt mir weiterhelfen.

Vielen Dank schonmal im voraus.

Stelle in der basketcontent.tpl:


[{block name="checkout_basketcontents_paymentcosts"}]
                        [{assign var="paymentCost" value=$oxcmp_basket->getPaymentCost()}]
                        [{if $paymentCost && $paymentCost->getPrice() }]
                            [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge') }]
                                <tr>
                                    <th>[{if $paymentCost->getPrice() >= 0}][{ oxmultilang ident="SURCHARGE" }][{else}][{ oxmultilang ident="DEDUCTION" }][{/if}] [{ oxmultilang ident="PAYMENT_METHOD" }]</th>
                                    <td id="basketPaymentNetto">[{oxprice price=$paymentCost->getNettoPrice() currency=$currency }]</td>
                                </tr>
                                [{if $paymentCost->getVatValue()}]
                                    <tr>
                                        [{if $oxcmp_basket->isProportionalCalculationOn() }]
                                            <th>[{ oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT" suffix="COLON" }]</th>
                                        [{else}]
                                            <th>[{ oxmultilang ident="SURCHARGE_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$paymentCost->getVat() }]</th>
                                        [{/if}]
                                        <td id="basketPaymentVat">[{oxprice price=$paymentCost->getVatValue() currency=$currency }]</td>
                                    </tr>
                                [{/if}]
                            [{else}]
                                <tr>
                                    <th>[{if $paymentCost->getPrice() >= 0}][{ oxmultilang ident="SURCHARGE" }][{else}][{ oxmultilang ident="DEDUCTION" }][{/if}] [{ oxmultilang ident="PAYMENT_METHOD" }]</th>
                                    <td id="basketPaymentGross">[{oxprice price=$paymentCost->getBruttoPrice() currency=$currency }]</td>
                                </tr>
                            [{/if}]
                        [{/if}]
                    [{/block}]

Hallo,
bei uns mit Oxid EE 5.2.9 besteht das Problem auch noch. Hat das jemand in dieser Oxid Version auch schon gelöst?