Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Februar 08, 2012, 15:42:50

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5208 Beiträge in 1408 Themen von 330 Mitglieder
Neuestes Mitglied: spraytool
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  SSP Bibliothek
| | | |-+  Rechnungssumme auf 5 bzw. 0 Rappen runden (Rappenrundung für die Schweiz)
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Rechnungssumme auf 5 bzw. 0 Rappen runden (Rappenrundung für die Schweiz)  (Gelesen 5564 mal)
ahe
Global Moderator
Sr. Member
*****

Lob: 19
Offline Offline

Beiträge: 399


« am: Januar 11, 2008, 12:32:12 »

Rechnungsbeträge werden in der Schweiz auf 0 bzw. 5 Rappen gerundet.
Man nennt dies auch Rappenrundung.

Bezogen auf das Shop-System Shoppilot gilt dabei folgendes:
Sofern die Preise im Shop als Brutto-Preise angegeben sind treten hierbei keine Probleme auf,
da sämtliche Artikelpreise und Zuschläge schon gerundet in den Shop eingepflegt wurden.

Sind die Preise allerdings als Netto-Preise angegeben, so geschieht bei einer Bestellung folgendes:
Alle Preise, Zuschläge, etc. werden aufsummiert und ergeben die Netto-Gesamtsumme.
Auf Basis der Netto-Gesamtsumme und des Steuersatzes wird die Umsatzsteuersumme berechnet.
Die Brutto-Gesamtsumme ist wiederum die Summe aus Netto-Gesamtsumme und Umsatzsteuersumme.
Da bei der Berechnung der Umsatzsteuersumme ein "schweizerisch ungerades" Ergebnis berechnet wird,
ist folglich auch die Brutto-Gesamtsumme (also die Rechnungssumme) ungerade.

Zur Korrektur dieses Verhaltens kann die folgende Funktion Callback::invoice_addpos_final verwendet werden.
Nach der Berechnung aller relevanten Summen wie (Netto-/Brutto-Gesamtsumme, Umsatzsteuersumme, etc.)
rundet diese Funktion die benötigten Summen wie in der Schweiz üblich.

Tragen Sie den Code in die stdcart.ipl ein:

Code:
<!--spmacro::module(Callback)
sub invoice_addpos_final {
    my $cp_sumto = shift;           # Gesamt Brutto
    my $cp_sumto_netto = shift;     # Gesamt Netto
    my $cp_taxto = shift;           # Gesamt UST
    my $ust = shift; # noref        # UST-ID
    my $netto = shift; # noref      # Preis in netto (1=ja/0=nein)
    my $versandbetrag = shift;      # Versandkosten
    my $minderbetrag = shift;       # Mindermengenzuschlag
    my $zahlkosten = shift;         # Zahlartkosten
   
    ## Schweiz: Rappen runden auf 0 / 5
    ## Macht jedoch nur Sinn, wenn die Preise im Shop als Netto-Preise angegeben sind.
    ## In diesem Fall ist die Netto-Gesamtsumme schon "rund", die Brutto-Gesamtsumme
    ## jedoch wird automatisch berechnet, wodurch "unrunde" Summen entstehen.
    if ($netto) {
        $$cp_sumto = runden($$cp_sumto*20)/20;
        $$cp_taxto = runden($$cp_taxto*20)/20;
    }
}

## kaufm. runden
sub runden {
    my $val = shift || 0;

    my $r =  ( $val < 0 ) ? -1 : 1;
    $r *= 0.5;
   
    return int($val + $r);
}
-->
« Letzte Änderung: Januar 11, 2008, 13:23:38 von ahe » Gespeichert

MfG ahe
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS