Hallo dobra,
meine stdcart.ipl sieht so aus:
<!--spmacro:module(Callback)
$rabattsumme = 0;
sub invoice_addpos {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g; # dadurch ist es egal, ob ein Kommabetrag mit "," oder "." eingetragen wird
if (length($userrabatt)) { # Feld USERRABATT ist nicht leer
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
my $myrabatt = ssp::get_cart_myrabatt();
if ($zahlart == 1 && $myrabatt == 0) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
} else { # kein spezieller Kundenrabatt eingetragen -> also 4% Rabatt für alle anderen
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
if ($zahlart == 1) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * 4) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
}
}
-->
<!--spmacro:module(rabatt)
sub rsumme {
if ($Callback::rabattsumme >0) {
main::mprint("-" . main::fp($Callback::rabattsumme));
return 0;
}
}
-->
An welcher Stelle muss ich denn den Code für die Nicht-Berechnung der MwSt eintragen? Die 1. Zeile scheint ja identisch zu sein.
Was muss ich eingeben, wenn ich mehrere Lieferzonen habe, für die die MwSt nicht berechnet werden soll?
Liebe Grüße - parimo