Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Drupal Commerce Kickstart 2, Shipping und Tax

Eingetragen von minmalist (10)
am 15.02.2013 - 14:49 Uhr in
  • Module
  • Drupal 7.x

Hallo,

ich habe Kickstart2 installiert und bin nun dabei die Bestellabwicklung zu konfigurieren.
Es ein B2B Shop werden, das heißt, dass im Katalog Nettopreise angezeigt werden. In der im Cart und in der Bestellabwicklung werden dann aber in Gesamtbetrag (Order Total) die MwSt. separat ausgewiesen:

Subtotal
+ Mwst.
=Order Total

Wenn nun aber Versandkosten dazukommen, werden die Steuern für diese leider nicht ausgewiesen.

Ich habe dafür auch schon eine Lösung gefunden:
1. admin/commerce/config/shipping/calculation-rules/
2. Event: Calculating a Shippingrate
3. Bei Aktionen "loop" hinzufügen: Parameter: Liste: [commerce-line-item: order…
4. List item: line item (line_item)
5. Innerhalb des Schleife "Aktion" hinzufügen: Commerce Tax > calculate Taxes for a line item > Parameter: Position: [commerce_line_item], Tax type: Sales tax

Damit wird die MwSt. der Versandkosten ebenfalls berücksichtigt und den MWst. für die Produkte hinzugerechnet.

Subtotal
+ Mwst. für Inhalt Cart und Versand
+ Versandkosten
=Order Total

Das ist aber fü den Kunden nicht sehr transparent. Zum einen sind MwSt. für die Produkte und die Versandkosten nicht separat angeführt und zum anderen ist die Reihenfolge der Componenten nicht logisch: Die MwSt. sollte unter den Versandkosten stehen.

Zunächst mal habe ich überlegt, wie ich die Mehrwertsteuer für Produkte und Versand getrennt anzeigen kann.
- Neuen Steuertyp "Sales Tax Shipping", Wert 0.19
- Neue Steuerrate für Shipping angelegt, Wert 0.19. Diesen neuen Steuertyp in der der obigen Calculation Rule ausgewählt
- Die Rules Calculate taxes: Sales tax" erhält eine Condition: Datenvergleich: [commerce-line-item:type], Datenwert: Product
- Die Rules Calculate taxes: Sales tax shipping " erhält eine Condition: Datenvergleich: [commerce-line-item:type], Datenwert: Versand
Nun werden die Stuern für Produkte und Versand getrennt ausgewiesen:

Subtotal
+ Mwst. für Inhalt Cart
+ Mwst. für Versand
+ Versandkosten
=Order Total

Aber leider ist die Reihenfolge noch immer falsch. Die Steuer für den Versand sollten unterhalb der Versandkosten stehen.
Ich habe versucht, die Reihenfolge bei "Order Total" über hook_commerce_price_formatted_components_alter(&$components, $price, $entity), zu ändern. Das hat aber nicht geklappt. Evtl. mache ich hier einen Fehler.

Es gibt sicher intelligentere Lösungen für mein Problem. Im Moment ist das Modul "Commerce price by components" in Entwicklung, das mir den Aufwand bestimmt ersparen wird.

Bis dahin muss ich mir eine Lösung basteln.
Hat jemand eine Idee?

Gruß
minimalist

‹ Location Field entfernen Registrieren des Service Containers als CTools-Plugin ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

bei den Versandkosten

Eingetragen von ronald (3829)
am 15.02.2013 - 17:59 Uhr

die Auswahl - "diese Steuer anwenden" setzen.
Das wars.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,Kickstart 2 !!!Hast

Eingetragen von drruebe (271)
am 15.02.2013 - 18:10 Uhr

Hallo,
Kickstart 2 !!!

Hast Du die Demo installiert?
Kannst Du mal ein Screenshot von der Startseite posten?

Das würde mich sehr interessieren.

Danke im Voraus!

Gruß Frank

Die Ruhe sei den Menschen heilig, nur bekloppte haben's eilig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb die Auswahl -

Eingetragen von minmalist (10)
am 15.02.2013 - 21:05 Uhr
ronald schrieb

die Auswahl - "diese Steuer anwenden" setzen.
Das wars.

Sorry Ronald,

das habe ich nicht verstanden - wo finde ich diese Option?

Gruß
minimalist

  • Anmelden oder Registrieren um Kommentare zu schreiben

Screenshot, demo

Eingetragen von minmalist (10)
am 15.02.2013 - 21:10 Uhr

Hallo Frank,

tut mir leid, meine Testshop ist local installiert. Es gibt auch noch nichts zu sehen. Keine Inhalte, kein Layout, kein gar nichts.
Ich wollte erst die Bestellabwicklung stehen haben, bevor ich mit den anderen Sachen anfange. Das scheint mir das Kniffeligste.

Grüße
minimalist

  • Anmelden oder Registrieren um Kommentare zu schreiben

dringende Empfehlung

Eingetragen von ronald (3829)
am 16.02.2013 - 09:03 Uhr

installiere zwei Instanzen.

1. die, in der due Konfigurierst und arbeitest.
2. den Demoshop mit Inhalten.

Im Demoshop mit Inhalten kannst du immer wieder nachsehen, wie die Programmierer die Strukturen eingesetzt haben.
Die Inhalte sind nämlich nicht nur Artikel, sondern auch Konfigurationen und Strukturen.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb installiere

Eingetragen von minmalist (10)
am 16.02.2013 - 17:24 Uhr
ronald schrieb

installiere zwei Instanzen.

Danke für den Hinweis. Das habe ich schon gemacht, aber beide Instanzen local. Außerdem dokumentiere ich alle Konfigurationen ausführlich.

Aber noch mal zu meiner Frage zurück: was meintest Du mit "diese Steuer anwenden"?

Grüße
minimalist

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn du versandkosten anlegst

Eingetragen von ronald (3829)
am 16.02.2013 - 17:33 Uhr

Also eine flatrate einrichtest, ist, sofern du eine VAT, also Mehrwertsteuer eingerichtet hast, siehst du rechts neben dem Preis eine Auswahl für die Mehrwertsteuer.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es ist aber Sales Tax bei meinem Shop eingestellt.(B2B)

Eingetragen von minmalist (10)
am 17.02.2013 - 21:50 Uhr

da gibt es ein solches Feld nicht.

Trotzdem vielen Dank für den Hinweis. Kann ich vielleicht mal gebrauchen.

Grüße
minimalist

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Minimalist

Eingetragen von drruebe (271)
am 12.11.2015 - 15:44 Uhr

Vielen Dank für deine Anleitung,
jetzt stehe ich vor dem selben Problem. Siehe Bild 1
Aufgabenstellung:
Shop mit Privat-/Gewerbekundenbereich.
-Privat inkl Steuer und Versand für Lieferzone 1 (deutsches Festland)
-Gewerbe mit Zugangsdaten exkl. Steuer und Versand.

Mit der SuFu habe ich folgenden Artikel gefunden: http://drupalme.de/content/drupal-commerce-checkout-warenkorb
Nur wirklich helfen tut der mir nicht, da ich nicht weis, wo ich das einbinden soll.
Die dafür infrage kommende Datei könnte, sollte diese sein: root/profiles/commerce_kickstart/modules/contrib/commerce/modules/price/commerce_price.module
Bei mir ab Zeile 436 (codeschnippsel unten): könnte mir da BITTE jemand den Weg durchs Dickicht zeigen. "rauch, qualm, koch, zisch, pfeift der Kopf > boaaaa".

/**
* Implements hook_field_formatter_view().
*/
function commerce_price_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $translated_instance = commerce_i18n_object('field_instance', $instance);

  $element = array();

  // Loop through each price value in this field.
  foreach ($items as $delta => $item) {
    // Do not render a price if the amount is NULL (i.e. non-zero empty value).
    if (is_null($item['amount'])) {
      // TODO: Consider if we should render as N/A or something indicating a
      // price was not available as opposed to just leaving a blank.
      continue;
    }

    // Theme the display of the price based on the display type.
    switch ($display['type']) {
      case 'commerce_price_raw_amount':
        $element[$delta] = array(
          '#markup' => check_plain($item['amount']),
        );
        break;

      case 'commerce_price_formatted_amount':
        $element[$delta] = array(
          '#markup' => commerce_currency_format($item['amount'], $item['currency_code'], $entity),
        );
        break;

      case 'commerce_price_formatted_components':
        // Build an array of component display titles and their prices.
        $components = array();
        $weight = 0;

        foreach ($item['data']['components'] as $key => $component) {
          $component_type = commerce_price_component_type_load($component['name']);

          if (empty($components[$component['name']])) {
            $components[$component['name']] = array(
              'title' => check_plain($component_type['display_title']),
              'price' => commerce_price_component_total($item, $component['name']),
              'weight' => $component_type['weight'],
            );

            $weight = max($weight, $component_type['weight']);
          }
        }

        // If there is only a single component and its price equals the field's,
        // then remove it and just show the actual price amount.
        if (count($components) == 1 && in_array('base_price', array_keys($components))) {
          $components = array();
        }

        // Add the actual field value to the array.
        $components['commerce_price_formatted_amount'] = array(
          'title' => check_plain($translated_instance['label']),
          'price' => $item,
          'weight' => $weight + 1,

AnhangGröße
Bild 1.jpg 90.89 KB

Die Ruhe sei den Menschen heilig, nur bekloppte haben's eilig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Content Ex-/Import
  • Wer ist online Block
  • Doppelte Anzeige von Node im View
  • URL-Alias von bestehendem Link wird gelöscht und auf -0 gesetzt 404 Fehler entsteht
  • Ausblenden von Taxonomy wenn diese keinen Inhalt haben
  • Image als Anhang
  • [gelöst] Benutzer erstellen ohne Berechtigung zum ändern von E-Mail oder Passwort
  • HTTP ERROR 500, wenn der Node eines bestimmten Typs gespeichert wird oder ein neuer Inhalt dieses Typs erzeugt werden soll
  • Module modifizieren zb Statuses
  • Exposed Filter einer View in seperatem Block darstellen, wie kann ich die exposed Filter der zug. View deaktivieren
  • Website ohne öffentlichen Zugriff
  • »Geschwister« Nodes anzeigen
Weiter

Neue Kommentare

  • Ohne Fehlermeldungen zu
    vor 14 Stunden 57 Minuten
  • dinmikkith schrieb Ja du hast
    vor 3 Tagen 5 Stunden
  • SaarlandToday schrieb Es gibt
    vor 3 Tagen 13 Stunden
  • ich hab das Problem gefunden!
    vor 3 Tagen 14 Stunden
  • Sorry, das mit dem Theme war
    vor 3 Tagen 14 Stunden
  • Zitat: Es gibt in den
    vor 3 Tagen 15 Stunden
  • Es gibt in dem Template das
    vor 4 Tagen 1 Stunde
  • Zitat: da es dort eine
    vor 4 Tagen 2 Stunden
  • Sorry, dachte das ich das
    vor 4 Tagen 4 Stunden
  • Ich habe den Fehler gemacht
    vor 4 Tagen 5 Stunden

Statistik

Beiträge im Forum: 245940
Registrierte User: 18824

Neue User:

  • Damian1802
  • MrWebMV
  • kiba

» Alle User anzeigen

User nach Punkten sortiert:
wla9007
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 4 Gäste online.

Benutzer online

  • wla

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association