Autor Thema: EP: Versandzonen und unterschiedliche MWSt  (Gelesen 7472 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline hop

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 705
  • Lob: 5
EP: Versandzonen und unterschiedliche MWSt
« am: September 22, 2005, 17:27:27 »
Frage: Wie kann ich erreichen, dass z.b. für die Schweiz im Warenkorb und der Bestellung keine MWSt ausgewiesen wird, damit die Kunden direkt den richtigen Endbetrag sehen.

Antwort:
Man braucht zunächst mal die möglichen Lieferländer als Versandzone. Diese sind dann im WK auswählbar (Identifier __zonen__). Jede Zone hate eine ZonenID, diese Zahl wird benötigt, um die Zonen zu unterscheiden.

Für die Änderung des Verhaltens im WK und Bestellformular, benötigt man eine zusätzliche Datei "stdcart.ipl". Diese Datei ist mit einem Texteditor (notepad.exe) zu erzeugen und im Projektverzeichnis abzulegen. Damit die Datei auch auf den Webserver übertragen wird muss man sie noch unter Projekt | zusätzliche Dateien angeben.

Hier ein Beispiel für den Inhalt dieser Datei:
<!--spmacro:module(Callback)

sub invoice_addpos_final {
  my $ref_gesamt = $_[0];
  my $ref_gesamt_steuer = $_[2];
  my $ust = $_[3]/100;
  my $netto = $_[4];

  my ($wert,$text) =  ssp::get_cart_zone();

  # Wenn ein Land ohne Mwst. Berechnung ist
  # 4 Schweiz
  # 9 Lichtenstein
  if (
     ($wert == 4) ||
     ($wert == 9)
)
{
  $$ref_gesamt -= $$ref_gesamt_steuer;
  $$ref_gesamt_steuer = 0;
     }
  return 0;
}
-->

<!--spmacro:module(zone)

# mit __zone::land__  kann das gewählte Land im Bestellformular ausgegeben werden
sub land {

  my ($wert,$text) =  ssp::get_cart_zone();
  main::mprint($text);

}
-->

Diesen Inhalt können Sie so in eine leere Datei kopieren und als stdcart.ipl im Projektverzeichnis abspeichern.
Die einzige Anpassung wird evtl. bei den ZonenIDs notwendig (hier 4 und 9), wenn Sie evtl andere ZonenIDs vergeben haben.

Hier ist zusätzlich noch eine andere nützliche Funktion für das Bestellformular enthalten. Und zwar wird mit der Funktion zone::land der ausgewählte Wert der Versandzone in das Bestellformular eingetragen.

Sie können mit <input type=hidden name="LKZ" value="__zone::land__"> den Wert vorbelegen.
Natürlich die normale LKZ Auswahl dann rausnehmen.
Zusätzliche können Sie den Wert auch anzeigen, indem Sie einfach __zone::land__ an die entsprechende Stelle im Formular schreiben.

hop








Linkback: https://www.shoppilot.net/pf/index.php?topic=508.0
« Letzte Änderung: März 28, 2006, 23:40:48 von admin »
Sch?ne Gr??e hop

Offline hop

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 705
  • Lob: 5
.
« Antwort #1 am: September 23, 2005, 11:36:02 »
Das dargestellte Beispiel ist für B2B Shops gedacht, bei denen die Preisangaben Netto sind. Bei Endkundenshops (Bruttopreise) ist die Berechnung zwar auch richtig. Aber für den Kunden aus z.B. der Schweiz nicht direkt nachvollziehbar.
Um die Berechnung zu erklären, ist ein zusätzlicher Hinweis sinnvoll.

Endbetrag ist wegen steuerfreier Lieferung um 47,34 EUR Mehrwertsteuer reduziert
bzw.

Endbetrag enthält 47,34 EUR Mehrwertsteuer

Dieser Hinweis wird mit dem SSP-Identifier __Callback::steuertext__ eingefügt.

Hier der erweiterte Code:
<!--spmacro:module(Callback)

sub invoice_addpos_final {
  my $ref_gesamt = $_[0];
  my $ref_gesamt_steuer = $_[2];
  my $ust = $_[3]/100;
  my $netto = $_[4];

  my ($wert,$text) =  ssp::get_cart_zone();

  $Callback::steuerwert = main::fp($$ref_gesamt_steuer);

  # Wenn ein Land ohne Mwst. Berechnung ist
  # 4 Schweiz
  # 9 Lichtenstein
  if (
     ($wert == 4) ||
     ($wert == 9)
     )
     {
  $$ref_gesamt -= $$ref_gesamt_steuer;
  $$ref_gesamt_steuer = 0;
     }
  return 0;
}

$steuerwert = 0;

sub steuertext {
  my ($wert,$text) =  ssp::get_cart_zone();

  # Wenn ein Land ohne Mwst. Berechnung ist
  # 4 Schweiz
  # 9 Lichtenstein
  if (
     ($wert == 4) ||
     ($wert == 9)
     )
  {
     main::mprint("Endbetrag ist wegen steuerfreier Lieferung um <b>$steuerwert</b> Mehrwertsteuer reduziert");
  }
  else
  {
     main::mprint("Endbetrag enthält $steuerwert Mehrwertsteuer");
  }
 
}
-->

<!--spmacro:module(zone)

# mit __zone::land__  kann das gewählte Land im Bestellformular ausgegeben werden
sub land {

  my ($wert,$text) =  ssp::get_cart_zone();
  main::mprint($text);

}
-->


hop
« Letzte Änderung: Dezember 21, 2006, 12:59:25 von ahe »


xx
unterschiedliche Suchergebnisseiten

Begonnen von dobra

0 Antworten
3957 Aufrufe
Letzter Beitrag Juli 09, 2008, 07:50:34
von dobra
xx
Mwst ab 1.1.2007 auf 19% setzen

Begonnen von Gunnar2100

3 Antworten
5475 Aufrufe
Letzter Beitrag Januar 02, 2007, 11:11:55
von hop
xx
EP: Ausgabe des Mwst Betrags

Begonnen von hop

0 Antworten
6557 Aufrufe
Letzter Beitrag März 14, 2006, 13:16:26
von hop
xx
Bestätigungs-Mails ohne MwSt.

Begonnen von Lars Gollub

6 Antworten
8261 Aufrufe
Letzter Beitrag Oktober 12, 2003, 22:36:48
von Lars Gollub