Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Phoca Cart - complex e-commerce extension
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Das Preisangabengesetz, gültig ab dem 28.05.22, verlangt, in meinem Fall, die Angabe eines "Meterpreises". Wie kann ich das realisieren? Theoretisch muss nur der Preis durch Länge des Produktes geteilt werden, so erhalte ich die Kosten je Meter.
Beispiel: Mein Artikel hat eine Länge von z. B. 500m, die Länge des Produktes ist variabel, und kostet 9,50€, daraus ergeben sich 0,019€/m (9,50€/500m).
Egal was ich in den Größenoptionen des Produktes eingebe, das Ergebnis ist immer falsch.
In welchem File wird die Berechnung des "Stückpreises" vorgenommen, vielleicht hilft mir ja ein Override dieses Files.

Grüße Reiner

Tags:
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Produktlink: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Hier habe ich ein en entsprechenden Produktlink:
https://www.alloula.de/index.php/shop/2 ... ein-silber

Grüße Reiner
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 47810
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Jan »

Hallo, dies sollte man per Preis pro Einheit lösen :idea:

Image

Jan
If you find Phoca extensions useful, please support the project
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Hallo Jan und danke für die Antwort.

Leider löst es das Problem nicht. Wie man am verlinkten Produkt erkennen kann, ist der Bruttopreis (price_brutto), und die Länge des Produktes variabel.
Da ich aber nur einen Wert für [Unit Amount] in den Größenoptionen festlegen kann, ist die Berechnung des Grundpreises auch nur bei diesem "Unit Amount-Wert" richtig.
Meine betroffenen Produkte haben eine Länge von 500m bis 2000m, entsprechend ändern sich die Preise, und damit auch der Grundpreis, in meinem Fall pro 100m.

Um alles zu verdeutlichen folgt eine Tabelle:
Grundlage: Produktpreis (brutto) = 9,50€; Standardlänge: 500m; Zusatzinfo: 3-fädig (spielt aber keine sonderliche Rolle)

Image

Die ersten 4 (5) Einträge (grün/rot) zeigen das fehlerhafte Verhalten, da ich nur einen Wert im Feld [Unit Amount] plazieren kann, nämlich 5. Lediglich das erste Produkt ist ok, da die Werte rechnerisch die Realität abbilden.
Die folgenden 5 Einträge (grün) sind alle ok, allerdings muss ich hier das Feld [Unit Amount] immer an die tatsächliche Länge anpassen.
Also [UA]=5 für 500m, [UA]=6 für 600m, [UA]=7 für 700m und [UA]=20 für 2000m.
Die Berechnung des Grundpreises sollte entweder eine einfache Division des Bruttopreises durch die Länge sein oder auf Basis von im Moment nicht vorhandener Angaben in den "Attributen" erfolgen.
Dort gibt es z.B. die Möglichkeit ein Gewicht einzutragen, so wäre es für mich vorstellbar die Länge anzugeben und diese Angabe zur Berechnung des Grundpreises zu machen.

Genug geschrieben, viele Grüße
Reiner
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Guten Morgen,
kann jemand zu diesem Thema etwas sagen?
Von dieser Gesetzesänderung sind alle betroffen, die Waren mit Längenangaben, Volumen, Gewicht, ... anbieten.
Das Gesetz tritt am 28.05.2022, in Deutschland, in Kraft und ich gehe davon aus, dass "Abmahner" schon in den Startlöchern stehen.
Alle Anbieter, deren Preise von optionalen Attributen abhängig sind, werden im bestehenden System nicht bedacht und laufen somit Gefahr abgemahnt zu werden.
Mein Vorschlag ist, die Attribute um die Eingaben Länge und Volumen zu erweitern (Gewicht ist vorhanden) und diese Eingaben zur Grundlage der Berechnung des Grundpreises zu machen. Gibt es keine Attribute, werden die Daten der Größenoptionen genommen.

Grüße Reiner
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 47810
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Jan »

Hallo, danke für Info. Die Länge und Volumen für die Atttributenvarianten zu machen ist nicht so einfach, weil da können sich Attributten mischen, und dann wird die korrekte Kombination nicht gemacht.

So momentan gibt es nicht so eine Option, so man muss es entweder manuell in Beschreibung angeben, oder man benutzt nicht Attributten, sondern macht man für alle Varianten einzelne Produkte :idea:

Jan
If you find Phoca extensions useful, please support the project
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Hallo,
ich habe die letzten Tage einige Zeit damit verbracht Phoca Cart, für deutsche User, Rechtskonform bezüglich der "neuen" Preisangaben-Verordnung (gesetzlich relevant seit 28.05.2022) zu machen.

Für meine Bedürfnisse habe ich eine Lösung geschaffen.

Ich habe im Verzeichnis "administrator/components/com_phocacart/libraries/phocacart/price" das File "price.php" angepasst.

Vorher, welche Voraussetzungen gibt es bei mir?
Der Großteil der Produkte wird in "Längen per 100m" vertrieben.
Jedes dieser Produkte wird in vier Varianten angeboten. Jede Variante, variable Längen von 500m bis 2000m.
Der Produktpreis steigt je Variante und 100m, deshalb sind die Einstellungen in den "Größenoptionen" des Produktes nicht brauchbar.

Meine Lösung:
Ich benutze das Feld "weight" aus der Attribut-Optionen Tabelle "xxx_phoccart_attributes_values", weil sonst kein geeignetes Feld da ist.

Datei: "price.php"
Funktion: "public function getPriceItemsChangedByAttributes(&$priceP, $attributes, $price, &$item, $ajax = 0)"
etwa Zeile 1023:
.
.
.
} else if ($v2->operator == '+') {
$priceP['netto'] += $priceA['netto'];
$priceP['brutto'] += $priceA['brutto'];
$priceP['tax'] += $priceA['tax'];
}
// *** hier beginnen meine Änderungen ***
neu -> if (isset($v2->weight) && $v2->weight > 0) {
neu -> $laenge = $v2->weight;
// *** Ende ***


Weiter ungefähr bei Zeile 1060

// Unit price
$priceP['base'] = '';
$priceP['baseformat'] = '';
if (isset($item->unit_amount) && $item->unit_amount > 0 && isset($item->unit_unit) && (int)$display_unit_price > 0) {
$priceP['base'] = $priceP['brutto'] / $item->unit_amount;
$priceP['baseformat'] = $price->getPriceFormat($priceP['base']) . '/' . $item->unit_unit;
}

// *** hier beginnen meine Änderungen ***
neu -> else if (isset($v2->weight) && (int)$display_unit_price > 0) {
neu -> $priceP['base'] = '';
neu -> $priceP['baseformat'] = '';
neu -> $mantraLaenge = 0.0;
neu -> $mantraLaenge = $laenge;
neu -> if ($mantraLaenge > 0) {
neu -> $priceP['base'] = $priceP['brutto'] / $mantraLaenge;
neu -> } else {
neu -> $priceP['base'] = $priceP['brutto'] / 5.0; // Weil die 1. Produktlänge = 500m ist.
neu -> }
neu -> $priceP['baseformat'] = $price->getPriceFormat($priceP['base']) . '/' . $item->unit_unit;
}
// *** Ende ***

Diese Anpassungen sind, wie gesagt, für meine Bedürfnisse gültig, können aber sicher von jedem an die eigenen Voraussetzungen angepasst werden.
Noch besser wäre natürlich eine generelle Lösung. Heißt, die Tabelle "xxx_phoccart_attributes_values" müsste erweitert werden und die Klasse "PhocacartPrice" der Datei "price.php" im Verzeichnis "administrator/components/com_phocacart/libraries/phocacart/price" ähnlich meiner Änderungen verändert werden.

Die Funktionalität kann auf "www.alloula.de/index.php/shop/13-bobbel ... ttelgrau-2" eingesehen werden (Nur dort, weil ich für die anderen Produkte die Daten noch nicht angepasst habe.)
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 47810
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Jan »

Hallo,

danke sehr für diese Lösung.

Die Frage ist, wenn man über möglicher zukunftigen Implementierung denkt. Reicht es dort die Länge einzugeben, oder soll man auch Höhe, Breite, usw. einzugeben?

Jan
If you find Phoca extensions useful, please support the project
Mantra
Phoca Member
Phoca Member
Posts: 44
Joined: 16 Jul 2018, 16:01

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Mantra »

Hallo Jan,
Danke für die Kategoriesierung "IMPROVMENT".
Leider ist es in Deutschland so, dass neben dem Stückpreis, nun auch der Grundpreis des Produktes dargestellt werden muss.

Nun aber zu deiner Frage.
Sollte deine Frage in die Richtung "Berechnung des Volumens" gehen, so meine ich, dass es bereits das Feld volume(Tabelle: ...attribute_values) gibt. Das Feld wird vermutlich über die Größenoptionen des Produkts befüllt.
Geht es um die eindimensionale Größe "Länge", "Höhe", und "Breite", meine ich, dass alle diese Parameter nichts anderes als Längen sind, und in diesem Fall genügt ein Parameter, aus meiner Sicht "Länge".

Der Post wurde mehr als 500 mal gelesen, deshalb würde mich interessieren, ob diese Leser betroffen sind, und wie sie zu deiner Frage stehen. Ich kann ja nur meinen Standpunkt darstellen.

Gruß Reiner
User avatar
Jan
Phoca Hero
Phoca Hero
Posts: 47810
Joined: 10 Nov 2007, 18:23
Location: Czech Republic
Contact:

Re: Berechnung des Grundpreises nach "Preisangabengesetz" ab 28.05.22

Post by Jan »

Hallo, danke sehr für diese Info.

Jan
If you find Phoca extensions useful, please support the project
Post Reply