WooCommerce rechtskonform programmieren

WooCommerce ist eine moderne und schöne E-Commmerce Lösung für WordPress. Wie so oft bei Produkten aus USA oder wie in diesem Fall Südafrika, genügen die Standard Einstellungen nicht, um einen rechtskonformen deutschen Online Shop zu erstellen. Daher habe ich ein paar kleine Hooks erstellt, um WooCommerce rechtssicher für Deutschland zu machen.

1. Steuer und Versandkosten auf der Produktseite ausweisen

Standardmässig wird nur der Bruttopreis angezeigt. Unter dem Preis sollte die Steuer und ein Hinweis auf Versandkosten ausgewiesen werden.

Dies habe ich mit folgendem Hook gelöst:

[sourcecode language="plain"]add_action( ‘woocommerce_single_product_summary’, ‘woocommerce_template_single_pp’, 10, 2);

if (!function_exists(‘woocommerce_template_single_pp’)) {
function woocommerce_template_single_pp( $post, $_product ) {

$_tax = &new woocommerce_tax();
$rate = $_tax->get_rate( $_product->get_tax_class() );

?>
<p>(inkl <?php echo round($rate); ?>% Mwst. und zzgl. <a href="<?php bloginfo(‘url’); ?>/versandkosten">Versandkosten</a>)</p><?php

}
}[/sourcecode]

2. Ein Hinweis auf die AGB beim endgültigen Bestellen

Damit die Bestellung auch reechtssicher ist, empfiehlt es sich, dass der User die AGB´s per Checkbox akzeptieren muss.

Dies habe ich mit folgendem Hook gelöst:

[sourcecode language="plain"]

add_filter(‘woocommerce_billing_fields’, ‘custom_woocommerce_billing_fields’);

function custom_woocommerce_billing_fields( $fields_array ) {
$fields_array['agb'] = array(
‘name’            =>’agb’,
‘type’             => ‘checkbox’,
‘label’         => __(‘Mit Abgabe einer Bestellung bestätigen Sie, unsere AGB gelesen, verstanden und akzeptiert zu haben.’, ‘woothemes’),
‘placeholder’     => __(‘AGB’, ‘woothemes’),
‘required’         => true,
‘class’         => array(‘notes’)
);
return $fields_array;
}

[/sourcecode]

Wer Hilfe bei der Integration benötigt, kann sich gerne melden.

 

Edit: 23.05.2012

Der genannte Code funktionierte für die ersten Versionen von Woocommerce. Es gibt aber bereits eine Überarbeitung, die funktioniert und die mehrfach im Einsatz ist. Den Hook zum Anzeigen der Versandkosten gibt’s hier.

http://www.passau-webdesign.com/woocommerce-1-4-mit-deutschen-steuerinformationen/

 

 

About

Guten Tag. Mein Name ist Torsten und ich bin Webdesigner und Online Marketer bei Passau Webdesign. Ich mag es neue Ideen und Projekte zu entwickeln. Das Internet hat Platz für jede Idee.
  • http://www.sevenit.de Fabian Silberer

    Wo muss ich das genau in WP einfügen?

    • Torsten Jerschabek

      Die Hooks musst du in die functions.php einfügen. Damit bist du updatesicher.

      • http://www.sevenit.de Fabian Silberer

        Traumhaft! Hat perfekt funktioniert.

      • owcv

        Inwiefern ist das updatesicher? Die functions.php wird doch bei jedem Update ebenfalls aktualisiert.

        • Torsten Jerschabek

          Das ist richtig. Entweder sicherst du die functions.php, bevor du ein Theme Upadte machst oder du erstellst einfach ein Child Theme.

  • Stefan

    Ich hab’s zwar noch nicht probiert, aber da ab Dez. zwei Projekte für deutschsprachige Shops anstehen, sage ich schon mal herzlichst danke :-)

    Hast Du eigentlich schon Erfahrungen im Hinblick auf WPML + Woo Commerce?

    • Torsten Jerschabek

      Ich habe es noch nicht getestet, aber es dürfte keine Probleme geben. Würde mich über deine Erfahrung diesbezüglich freuen.

  • maxisgoinghome

    servus.

    der hook “Steuer und Versandkosten auf der Produktseite ausweisen” ist natürlich sinnvoll aber es gibt weitere Preise (z.B. auf der Startseite bei den Thumbnails) bei denen eigentlich auf der deutsche Hinweis hingehört…. wie verhält es sich eigentlich mit einer widerrufsbelehrung auf der übersichtsseite der bestellung? oder was noch viel wichtiger ist: die preise bei der übersicht dürfen nicht “exkl. Mwst” angezeigt werden… rechtssicher ist hier leider noch ein wunschtraum – oder gibt es bereits lösungen?

    grüße
    max

    • Torsten Jerschabek

      Danke für den Kommentar. Der Hinweis inkl. Mwst. und zzgl. Versandkosten muss auf die Produktseite. Auf der Startseite ist das ok. Oder hast du z.B. mal bei Amazon den Steuerhinweis auf der Startseite gesehen?
      An der Kasse muss der Kunde auf jeden Fall per Checkbox in AGB und Lieferbedingung einwilligen.
      Auf der Rechnung muss die Steuer ausgewiesen sein und der Gesamtpreis, als mit Steuer muss hervogehoben sein. Von daher sehe ich bei den Einzelpreisen exkl. Mwst. kein Problem.

  • Torsten Jerschabek

    Mit dem Release der Version 1.3 kann man den Warenkorb und an der Kasse die Preise als Brutto mit ausgewiesener Steuer anzeigen lassen.

    • Maxisgoinghome

      Servus.

      Lange habe ich es geschafft mich vor woocommerce zu drücken aber jetzt versuche ich mich doch mit einer shopgeschichte auf wc basis.

      Generelle frage: gibt es eine seite am ende des bestellvorgangs wo nochmals alle eingegebenen daten aufgeführt werden?

      Gruss

      Max

  • http://mobil-surfen.eu Philipp

    Vielen Dank für diese kleinen aber nützlichen Hooks. Ich denke dann wird woocommerce mein bevorzugtes Shop-System. Habe eben schon ein bisschen damit herumgespielt und bin eigentlich auf den ersten Eindruck sehr zufrieden. Hat es jemand von euch schon länger im Einsatz und kann was über den produktiven Einsatz berichten, gibt es irgendwo Probleme?

  • Pingback: WooCommerce – Shopsystem für Wordpress – Freetagger.com

  • http://www.bengs-modellbau.de Bengs Modellbau

    Vielen vielen Dank für die passenden Hooks. Wir sind gerade dabei unsere absolut überalte Shoplösung komplett neu zu gestalten. Nach langem Kopfweh wg. Magento, haben wir uns nun entschieden WordPress & Woocommerce einzusetzen und haben dank Ihnen nun die Problematik der Rechtssicherheit lösen können. Im Januar geht der Shop in die Produktivumgebung und wird hoffentlich weiterhin genau so viel Spaß machen, wie bisher.

    Vielen Dank für die Snippets.

  • http://www.bclk.de Klaus

    Danke für Eure Beiträge. Mein Problem: wie bekomme ich die Preisanzeige auf deutsches Format. Angezeigt wird 10,100.25 € richtig wäre 10.100,25 €.
    Danke für Eure Hilfe

    • Torsten Jerschabek

      Hallo Klaus.
      Bei den Einstellungen kannst du unter Katalog die Einstellungen zu Trennzeichen, Dezimalstellen und Anzeige des Währungssymbols machen.

  • topsi

    hi.. hoffe das mir hier jemand helfen kann…
    Obwohl ich Kategorien angegeben habe werden wir diese in der sidebar nicht angezeigt:(

    • Torsten Jerschabek

      Hallo Topsi,

      Welches Theme benutzt du?

  • topsi

    war zu schnell mit dem posten..
    wie löse ich das mit dem Umsatzsteuerbereit ??

    • Torsten Jerschabek

      Du kannst verschiedene Steuerregeln in den Einstellungen anlegen.

  • topsi

    habe zur Zeit noch ein´s was drin ist.. im WOrdpress… weil kann mich nicht entscheiden welches ich kaufen soll…

  • http://foofii.de Freetagger

    Hallo habe heute ein Update auf die neue Woocommerce Version gemacht und erhalten folgenden Fehler mit deinem Hook.

    Warning: Missing argument 2 for woocommerce_template_single_pp() in /var/www/web16/html/handyreparatur123.de/wp-content/themes/coquette/functions.php on line 44

    Wäre nett wenn du mir helfen könntest. Danke :)

  • thomas

    Hi,

    danke für die Hools/Tipps macht so wirklich Sinn!
    Eine Frage hab ich. Nach dt. Recht muss man bspw. bei Weinflaschen (0,75L) nahe der Preisangabe auch den Literpreis anschreiben etwa EUR 14,- /L , soviel ich gesehen hab bietet da Woocommerce nichts an (wpShopGermany kann das hingegen schon); gibt’s ne Möglichkeit das bei Woo hinzukriegen?

  • http://www.newrules.de Dietmar

    Hallo Torsten,
    danke für deine Hooks! Ein Problem habe ich aber noch: ich teste den ersten Hook gerade mit einem Buch als Produkt und bekomme keine ermäßigte Mehrwertsteuer angezeigt. Diese ist zwar im Backend eingestellt, kann der Hook das aber auch?
    Beste Grüße und danke nochmal,
    Dietmar

  • Bastian

    Funktioniert leider nicht, zumindest mit meiner Version WooCommerce (1.5.1), WP (3.3.1)
    Wer kann helfen?! – Bitte hier feedback hinterlassen, Danke

    • Rene

      Also bei mir funktionieren beide Sachen perfekt. Habe den AGB Code von oben sowie den aktualisierten MwSt/VSk Hinweis Code zusammen in die functions.php des Themes eingefügt.

  • Rocco

    Hallo Torsten,

    wo genau muss der Hook eingebunden werden? Im Plugin von WooCommerce? Oder im Theme?
    Bin noch etwas neu auf dem Gebiet, wäre cool wenn Du mir da weiter helfen kannst.

    Gruß Rocco

  • Steven

    Kann es sein das die Hooks mit der neuen Version nicht laufen? Ich bekomme nur Fehler ausgegeben.

    WorpPress 3.3.2
    WooCommerce 1.5.4

    Fehler: Warning: Missing argument 2 for woocommerce_template_single_pp() in /var/www/…/wp-content/themes/…/functions.php on line 24

    Und: Fatal error: Call to undefined method woocommerce_tax::get_rate() in /var/www/…/wp-content/themes/…/functions.php on line 27

    Auf der Check-Out-Seite ist auch der neue Hinweis nicht zu sehen.

    Wäre über Hilfe sehr dankbar!

    • Torsten Jerschabek

      Wo hast du den Hook eingefügt?

    • Patrick

      Den Fehler kann ich bestätigen! Habe ebenfalls sowohl die neueste WordPress- als auch WooCommerce-Version im Einsatz.

      Den Hook habe ich in functions.php nach “You can add custom functions below” eingefügt. Vor einiger Zeit hat es noch funktioniert.

  • Larissa

    Hallo Torsten,
    ich habe auch eine Frage, allerdings eher zu den ausgewiesenen Preisen allgemein…
    Ich nutze WP 3.3.2, Woocommerce 1.5.5 sowie Wootique 1.3.1.
    Wenn ich Produkte mit ungeraden Beträgen anlege, z.B. 19,90 wird mir dieser Betrag auf der Seite nicht ausgewiesen sondern immer auf eine glatte SUmme gerundet. Ebenso verhält es sich mit den Versandkosten. Kennst Du das Problem, oder bin ich es? Ich habe schon alles durchgesucht, bin aber noch auf keine Lösung gekommen und brauche jetzt einen Retter ;)
    Weist Du einen Rat?
    Dank´ Dir schon mal im Vorwege!

    • Larissa

      :( zum Einfügen tauge ich a net… Da gibt er mir viele böse Fehlermeldungen raus…

    • http://www.shirtees.de Larissa

      uff, ich nochmal, dabei ruft das Bett… Die AGB´s haben gefunzt :), aber am Rest scheitere ich immer noch, ganz besonders an dieser Rundungsgeschichte… Gute Nacht, für heute!

  • v-mann

    Der AGB Hook hat leider noch seine Tücken, in der hier geposteten Version wird er nämlich auch in der Adressverwaltung des Kunden als Pflichtfeld angegeben und ist dann im Bestellablauf immer schon vorausgefüllt, was nur bedingt Sinn der Sache ist (auch wenn der Haken selbst nach geltendem Recht garnicht nötig ist, ein gut sichtbarer Link zu den AGBs reicht aus) hier wäre diese Alternative evt besser geeignet:

    /*————– AGB Hinweis beim Checkout ————–*/

    add_action(‘woocommerce_after_order_notes’, ‘agb_checkout_field’);
    function agb_checkout_field( $checkout ) {

    echo ”;

    woocommerce_form_field( ‘agb_checkout’, array(
    ‘type’ => ‘checkbox’,
    ‘class’ => array(‘notes’),
    ‘label’ => __(‘Mit Abgabe einer Bestellung bestätigen Sie, unsere AGB gelesen, verstanden und akzeptiert zu haben.’),
    ‘placeholder’ => __(‘AGB’, ‘woothemes’),
    ‘required’ => true,
    ), $checkout->get_value( ‘agb_checkout’ ));
    echo ”; }

  • v-mann

    ahhh sorry er hat den ganzen HTML Code in dem Kommentar natürlich interpretiert, so passt das natürlich nicht :-/

    Hier ist es nun richtig: http://pastebin.com/HeVZdEv7

  • flo

    Hi, vielen Dank für den Artikel!

    ich habe eine Frage. Da ich Wootique für eine deutschsprachige nutzen möchte: Wie kann ich auf der Stasrtseite aus den “Featured Products” “Beliebteste Produkte” o.ä. machen? Ich möchte dort gerne auf Deutsch die bereits vorhandenen Überschriften ändern. So auch statt “search for products” im Suchfenster “Suche”.

    Wäre super, wenn du mir helfen könntest! Danke

  • Zarah

    Hallo! ich würde gerne Ihren Hook in meinem Shop einfügen, allerdings steht er irgendwie an der falschen Stelle. Wie kann ich die Position ändern?

  • Hans Schachtner

    Hallo und vielen Dank für die tollen Hooks.
    Eine Frage bleibt da noch: Gibt es schon eine Lösung, wie man im Warenkorb eine zusätzliche Produktbeschreibung hinein bekommt? Diese sollte ja aus rechtliches Sicht dort sein.
    Für einen Lösungsvorschlag wäre ich sehr froh.
    Vielen Dank in voraus.

  • Onur

    Hallo vllt kannst du mir ja helfen, Obwohl ich die Produkt kategorie angegeben haben wird mir diese nicht angezeigt.
    Ich benutze das theme Artificer 1.2.5

    Ausserdem hab ich das problem mir wird folgendes angezeigt
    WooSEO and Sidebar Manager have been removed from version 5.5.0 of the WooFramework.

    finde schon seit tagen keine lösung dafür.

  • oli

    Danke für den Hook für „Steuer und Versandkosten auf der Produktseite ausweisen“. Ich versuche mich gerade an einem Shop mit Produkten, welche unterschiedliche Variationen mit unterschiedlichen Preisen haben. Die Folge ist, dass der finale Preis dann erst vor dem Bestellen-Button gezeigt wird und logischerweise hier der Hook besser angebracht wäre (oben – wo er jetzt steht – steht immer unverändert „ab XX €“).

    Weiß jemand eine Lösung, wie ich das Ganze nach unten zum endgültigen Preis bekomme?

  • Andre

    Wo genau und an welcher Stelle soll der Hook hin. Ich bekomme auch Fehlermeldungen. Soll er in functions.php von Woocommerce oder vom Theme eingesetzt werden.

    P.S: Super Blog. Danke

  • Max

    Hi! Der AGB-Code hat mir sehr geholfen! Schon einmal vielen Dank.

    Wer könnte mir mit dem (oben schon einmal angesprochenen) Problem helfen, dass man in Dt. immer die Angabe €/L in die Nähe des Preises schreiben muss?

    Könnte man nicht ein Attribut erstellen (z. B. Menge) und diesen Wert dann irgendie herausfischen und daraus den Preis pro Liter errechnen?

    Besten Dank

    Max

  • http://tricktresor.de Enno

    Coole Sache das mit dem AGB-Haken! Ich würde gerne den Link zur AGB integrieren… Wie mache ich das am besten?
    Danke und Gruß
    Enno

  • http://tricktresor.de Enno

    vergiss es… steht ja bereits in einem Kommentar…

  • http://www.torino-freising.de Benedikt

    Danke für diesen Beitrag!
    bekommt einen Linkback von mir :)