Jump to content

MwSt.-Berechnung bei den Versandkosten


Recommended Posts

Hallo,

ich habe ein Problem mit der MwSt-Berechnung der Versandkosten. Ich habe Artikel für 7% und 19%. Die Versandkosten sind netto eingetragen und die MwSt. wird dann dazugerechnet. Wenn ich jetzt aber einen Artikel mit 7% MwSt habe, komme ich natürlich nicht auf den Versandpreis, den ich grundsätzlich für die Versandkosten angegeben habe.

Ich habe gelesen, dass man die Versandkosten so einstellen kann, dass die %e jeweils abgerechnet werden. Ich weiß allerdings nicht wie und wo. Ich habe schon alles durchgesucht.

Vielen Dank im Voraus.

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

nein, diese Einstellung, die für den deutschen Raum benötigt würde, gibt es derzeit leider noch nicht. Das liegt aber aber an einem Denkfehler in der PrestaShop-Berechnung. Besser wäre es, wenn man statt des Nettobetrages den Bruttobetrag eingeben könnte.

 

Grundsätzlich ist es aber möglich, diesen kleinen Fauxpas innerhalb der Rechnung zu korrigieren. Dazu muss man allerdings zunächst einmal ermitteln, welcher MwSt-Satz in der Bestellung überwiegt, da davon die MwSt-Berechnung auf die Versandkosten abhängt. Weil aber die Beträge für die PDF-Ausgabe zur Laufzeit zusammengetragen werden, kommt man m.E. nicht umhin, die Summen in einem ersten Schritt selbst zu bilden. Ich habe das Problem für mich wie folgt gelöst:

 

Step 1:

Der Stückpreis wird bei mir in der Sektion PRODUCTS der invoice.tpl nur brutto angezeigt, gefolgt von der Angabe des MwSt-Satzes. Hier läuft zugleich eine Summenbildung mit.

 

<!-- Bruttobeträge nach MwSt-Satz getrennt aufsummieren -->
 {if ((($order_detail.unit_price_tax_incl - $order_detail.unit_price_tax_excl) / $order_detail.unit_price_tax_excl) * 100) > 10}
  {l s='19%' pdf='true'}
  {$total_price_tax_incl_19 = ($total_price_tax_incl_19 + ($order_detail.unit_price_tax_incl * $order_detail.product_quantity))}
 {else}
  {l s='7%' pdf='true'}
  {$total_price_tax_incl_7 = ($total_price_tax_incl_7 + ($order_detail.unit_price_tax_incl * $order_detail.product_quantity))}
 {/if}

 

Diese beiden Summen sind auch für die Bereinigung der Rundungsfehler in PrestaShop erforderlich, die z. Z. noch immer dann auftauchen, wenn von einem Produkt mehrere Exemplare geordert werden.

 

Step 2:

Mit diesen beiden neuen Variablen kann ich nicht nur die korrekte MwSt nach Steuersätzen berechnen, sondern ich kann sie auch für eine Abfrage nutzen, welche MwSt bei den Versandkosten anzusetzen ist. Wenn du also, was ich nach deiner Angabe vermute, den Nettobetrag der Versandkosten als Brutto ./. 19% MwSt errechnet hast, dann ergäbe sich folgende Erweiterung der Rechnung.

 

<!-- MwSt-Beträge vom Gesamtbrutto berechnen -->
	{assign var="total_tax_19" value=($total_price_tax_incl_19 / 119 * 19)}
	{assign var="total_tax_7" value=($total_price_tax_incl_7 / 107 * 7)}

<!-- Hier korrekte Nettoversandkosten u. MwSt auf Versandkosten berechnen -->
	{if ($total_tax_19 > $total_tax_7)}
		{assign var="shipping_tax_new_amount" value=($order_invoice->total_shipping_tax_incl / 119 * 19)}
		{assign var="total_shipping_tax_excl_new" value=$order_invoice->total_shipping_tax_excl}
	{else}
		{assign var="total_shipping_tax_excl_new" value=($order_invoice->total_shipping_tax_excl * 119 / 107)}
		{assign var="shipping_tax_new_amount" value=($total_shipping_tax_excl_new / 100 * 7)}
	{/if}

 

Damit das Ganze auch funktioniert, müssten natürlich diese neuen Variablen in der Steuerzusammenstellung stehen, die in der invoice.tax-tab.tpl vorgenommen wird. Da sind sie aber nicht bekannt.

Der Einfachheit halber kann man aber anstelle von der eingeblendeten Datei zwischen dem Ende von PRODUCTS TAB und der Anweisung {if isset($HOOK_DISPLAY_PDF)} den Inhalt der invoice.tax-tab.tpl in die invoice.tpl kopieren.

 

Damit kommen wir zu

 

Step 3

Jetzt müssen die neuen Werte auch Netto-Versandkosten und MwSt darauf für jeden Fall richtig anzeigen:

 

{if isset($shipping_tax_breakdown)}
  {foreach $shipping_tax_breakdown as $shipping_tax_infos}
<tr style="line-height:6px;background-color:{cycle values='#FFF,#EEE'};">
 <td style="width: 40%">{l s='Shipping' pdf='true'}</td>
 <td style="width: 20%; text-align: right;">{$shipping_tax_infos.rate|round:"0"} %</td>
 {if !$use_one_after_another_method}
  <td style="width: 20%; text-align: right;">{if isset($is_order_slip) && $is_order_slip}- {/if}
  <!-- Hier korrekte Netto-Versandkosten anzeigen -->
  {displayPrice currency=$order->id_currency price=$total_shipping_tax_excl_new}
  </td>
  <td style="width: 20%; text-align: right;">
  <!-- Hier korrekte MwSt auf Versandkosten anzeigen -->
  {displayPrice currency=$order->id_currency price=$shipping_tax_new_amount}
  </td>
 {/if}
</tr>
  {/foreach}
 {/if}

 

Step 4

 

Ud damit PrestaShop bei 7 % Versandkosten nicht auf Idee kommt, meine Versandkostenpauschale zu reduzieren, bediene ich mich eines kleinen Tricks:

 

{if $order_invoice->total_shipping_tax_incl > 0}
<tr style="line-height:5px;">
 <td style="text-align: right; font-weight: bold">{l s='Shipping Cost' pdf='true'}</td>
 <td style="width: 15%; text-align: right;">
  {if $tax_excluded_display}
 {displayPrice currency=$order->id_currency price=$order_invoice->total_shipping_tax_excl}
   {else}
 <!-- Hier mit einem kleinen Trick die Versandkostenpauschale erzwingen -->
 {displayPrice currency=$order->id_currency price=($order_invoice->total_shipping_tax_excl * 119 / 100)}
  {/if}
 </td>
</tr>
{/if}

 

Das alles funktioniert natürlich so nur für den innerdeutschen Handel.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...