# Günstigster Preis der letzten 30 Tage (PAngV-Aktualisierung)

**URL:** <https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883>\
**Category:** Shopware 5\
**Created:** [11. April 2022 um 09:11 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883 "2022-04-11T09:11:25Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [11. April 2022 um 09:11 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/1 "2022-04-11T09:11:25Z")

</div>

Hallo zusammen,

Ende Mai steht ja die Aktualisierung der PAngV an, u.a. mit der Vorgabe, dass bei Preisermäßigungen der günstigste vorher geltende Preis der letzten 30 Tage angezeigt werden muss.

Für Shopware 6 gibt es in der neuesten Version ja eine entsprechende Anpassung. Einige Kunden steigen aus diversen Gründen noch nicht auf SW 6 um, müssen die Vorgabe aber natürlich auch erfüllen.

Wird es da irgendwas für SW 5 geben (Update, Plugin, …)? Wie werdet ihr das in euren Projekten handhaben?

Viele Grüße,  
Malte

---

<div class="post-metadata">

**Author:** ![SmartStylez](https://avatars.discourse-cdn.com/v4/letter/s/a88e4f/32.png) [@SmartStylez](https://forum.shopware.com/u/SmartStylez)\
**Post date:** [11. April 2022 um 09:13 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/2 "2022-04-11T09:13:39Z")

</div>

Shopware hat bereits angekündigt, für Shopware 5, bis dahin eine Lösung zur Verfügung zu stellen.

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [11. April 2022 um 09:16 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/3 "2022-04-11T09:16:37Z")

</div>

Hallo Malte,

die Anpassung wurde bereits umgesetzt und wird Teil der 5.7.8 sein. Dieses Update wird sehr bald veröffentlicht.

Viele Grüße aus Schöppingen  
Michael Telgmann

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [11. April 2022 um 09:33 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/4 "2022-04-11T09:33:44Z")

</div>

Super, danke für die schnelle Rückmeldung! 🙂

---

<div class="post-metadata">

**Author:** ![SmartStylez](https://avatars.discourse-cdn.com/v4/letter/s/a88e4f/32.png) [@SmartStylez](https://forum.shopware.com/u/SmartStylez)\
**Post date:** [12. April 2022 um 12:16 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/5 "2022-04-12T12:16:39Z")

</div>

Mittlerweile ist das Update verfügbar!

---

<div class="post-metadata">

**Author:** ![PingPong](https://avatars.discourse-cdn.com/v4/letter/p/4bbf92/32.png) [@PingPong](https://forum.shopware.com/u/PingPong)\
**Post date:** [14. April 2022 um 08:22 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/6 "2022-04-14T08:22:16Z")

</div>

Ich habe heute das Update eingespielt - es werden jetzt keine Produkte mehr gelistet!

\Core\ListProductService::isProductValid liefert bei allen FALSE, weil $product-\>getPrices() bei jedem Produkt ein leeres Array zurück liefert.

Das Upadet habe ich via console gemacht … muss noch was anderes gemacht werden??

[Nachtrag]

Das Problem tritt dann auf, wenn der Testnutzer von der Kundengruppe „EK“ zur Kundengruppe „H“ - zu der keine Preise explizit hinterlegt sind - wechselt.

War das schon immer so??

[Nachtrag 2]

Gehe ich recht in der Annahme, dass der 30-Tage-Preis NICHT automatisch gesetzt wird??

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [14. April 2022 um 09:41 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/7 "2022-04-14T09:41:47Z")

</div>

Hallo @PingPong

dazu hatten wir bereits ein Ticket [Shopware Issuetracker](https://issues.shopware.com/issues/SW-26648)  
Wir konnten das aber leider nicht in unseren Umgebungen nachstellen.  
Hast du eventuell nähere Infos zu Einstellungen und Klickwegen?

Richtig, der 30-Tage-Preis wird nicht automatisch ermittelt, sondern muss manuell bei Bedarf vom Händler gepflegt werden.

Viele Grüße aus Schöppingen  
Michael Telgmann

---

<div class="post-metadata">

**Author:** ![PingPong](https://avatars.discourse-cdn.com/v4/letter/p/4bbf92/32.png) [@PingPong](https://forum.shopware.com/u/PingPong)\
**Post date:** [14. April 2022 um 09:49 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/8 "2022-04-14T09:49:43Z")

</div>

Einstellungen:

Preise werden via API zur Kundengruppe „EK“ hochgeladen … ausdrücklich keine Preise zu „H“

keine Pseudopreise oder sonstiges

Der Testkunden gehört der Gruppe EK an → alles wie immer

Ändert man die Gruppenzugehörigjkeit zu „H“, tritt das Problem auf, dass keine Preise berechnet/gesetzt werden und o.g. Fehler aufläuft (isProductValid liefert immer FALSE —\> damit ist sArticles in Folge ein leeres Array)

Interessant nebenbei: der eigentliche ProductCount funktioniert - im Listing werden die korrekten Seitenzahlen im Paginator angezeigt … nur das Listing ist eben leer

Der Reiter „Händler netto“ im Backend wird aber korrekt angezeigt

[Nachtrag]

Preis im „Händler netto“ im Backend mal von Hand geändert → Artikel wird angezeigt

[Nachtrag 2]

Ich hab mir das Ticket gerade mal angesehen: man braucht die Preise in der DB gar nicht löschen. Der Fehler reproduziert sich auch ohne diesen Eingriff.

[Nachtrag 3]

ListProductService::getList → $graduatedPrices hat falsche Indizes [0, 1, … anstatt der productNumber] … in Folge ist

if (isset($graduatedPrices[$number])) {  
$product-\>setPriceRules($graduatedPrices[$number]);  
}

immer FALSE ----\> $this-\>priceCalculationService-\>calculateProduct($product, $context); setzt die preise dann nicht

Zumindest soweit, wie ich das jetzt nachvollziehen konnte 🙂

---

<div class="post-metadata">

**Author:** ![hello](https://avatars.discourse-cdn.com/v4/letter/h/7993a0/32.png) [@hello](https://forum.shopware.com/u/hello)\
**Post date:** [17. April 2022 um 01:30 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/9 "2022-04-17T01:30:30Z")

</div>

Bei uns tritt der selbe Fehler auf: alle Preise in s\_articles\_prices stehen nur für die Gruppe EK in der DB. Das hat unter 5.7.7 auch bisher wunderbar funktioniert. Unter 5.7.8 führt das dann z.B. bei buildPrices() im CheapesPriceService.php zu einem leeren prices Array.

Da wir international versenden verwenden wir 4 Kundengruppen, die damit natürlich nicht mehr zu benutzen sind.

Gibt es hierzu eine mögliche Lösung?

---

<div class="post-metadata">

**Author:** ![kapehaa](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@kapehaa](https://forum.shopware.com/u/kapehaa)\
**Post date:** [17. April 2022 um 14:32 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/10 "2022-04-17T14:32:27Z")

</div>

Ja, es gibt eine Lösung.  
Die unnötige Änderung in der folgenden Datei rückgängig machen:  
engine/Shopware/Bundle/StoreFrontBundle/Service/Core/GraduatedPricesService.php

$prices = array\_merge($prices, $fallbackPrices);  
ändern in  
$prices = $prices + $fallbackPrices;

Der Hintergrund ist der, dass $fallbackPrices numerische Indizes haben kann, wenn die Produktnummer nur aus Zahlen besteht. Der Plus-Operator und array\_merge sind eben nicht genau gleich und sollten nicht einfach ausgetauscht werden. Array\_merge numeriert die Array-Elemente neu und somit wird dann der Preis des Produkts nicht mehr gefunden.

Gleiches gilt für die Datei CheapestPriceService.php.

---

<div class="post-metadata">

**Author:** ![hello](https://avatars.discourse-cdn.com/v4/letter/h/7993a0/32.png) [@hello](https://forum.shopware.com/u/hello)\
**Post date:** [18. April 2022 um 00:23 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/11 "2022-04-18T00:23:12Z")

</div>

Vielen Dank!

Die Änderung funktioniert endlich, diese Stelle hatte ich bei der Fehlersuche am Ende nicht mehr beachtet.

---

<div class="post-metadata">

**Author:** ![P.Thesing](https://avatars.discourse-cdn.com/v4/letter/p/9de053/32.png) [@P.Thesing](https://forum.shopware.com/u/P.Thesing)\
**Post date:** [19. April 2022 um 05:42 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/12 "2022-04-19T05:42:41Z")

</div>

@kapehaa Vielen Dank für das Finden des Fehlers.  
Wir werden die Änderung schnellstmöglich rückgängig machen und in einem Patch Release fixen.

---

<div class="post-metadata">

**Author:** ![PingPong](https://avatars.discourse-cdn.com/v4/letter/p/4bbf92/32.png) [@PingPong](https://forum.shopware.com/u/PingPong)\
**Post date:** [19. April 2022 um 06:05 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/13 "2022-04-19T06:05:50Z")

</div>

Wie setzt man den 30-Tage-Presis per API?

---

<div class="post-metadata">

**Author:** ![P.Thesing](https://avatars.discourse-cdn.com/v4/letter/p/9de053/32.png) [@P.Thesing](https://forum.shopware.com/u/P.Thesing)\
**Post date:** [19. April 2022 um 06:14 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/14 "2022-04-19T06:14:41Z")

</div>

@PingPong du kannst den regulationPrice mit dem Preis schreiben.

Hier ist es in unserer Dokumentation zu finden: [REST API - Models](https://developers.shopware.com/developers-guide/rest-api/models/#price)

Dieser Test veranschaulicht das Schreiben per API: [shopware/ArticleTest.php at 5.7 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/5.7/tests/Functional/Api/ArticleTest.php#L122)

---

<div class="post-metadata">

**Author:** ![ProWebs](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@ProWebs](https://forum.shopware.com/u/ProWebs)\
**Post date:** [19. Juli 2022 um 05:32 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/15 "2022-07-19T05:32:41Z")

</div>

Gibt es kein Plugin oder eine Erweiterung der Funktion, welche den 30 Tage Preis automatisch setzt? Es ist für viele Shops garnicht möglich diese Preise ständig manuell nachzuhalten … dazu bedarf es zwingend eines Automatismus.

---

<div class="post-metadata">

**Author:** ![SmartStylez](https://avatars.discourse-cdn.com/v4/letter/s/a88e4f/32.png) [@SmartStylez](https://forum.shopware.com/u/SmartStylez)\
**Post date:** [19. Juli 2022 um 05:36 UTC](https://forum.shopware.com/t/guenstigster-preis-der-letzten-30-tage-pangv-aktualisierung/93883/16 "2022-07-19T05:36:48Z")

</div>

Dieses Plugin sollte dies z.B. automatisch können:

> **[Automatisierter Günstigster Preis](https://store.shopware.com/ott9357549275186/automatisierter-guenstigster-preis.html)**
>
> Das Plugin stellt einen Cronjob zur Verfügung, welcher automatisch den Wert für das Feld "Günstigster Preis" (Preisangabenrichtlinie (Directive…
