PS PrestaShop Gemiddeld

Prijs per land, winkel en valuta: volledige gids

Installeren, regels aanmaken, de prijsberekening begrijpen, massaal herberekenen en automatiseren via cron.

Bijgewerkt Moduleversie 1.0.0

Prijs per Land, Winkel en Valuta past per markt een margecoëfficiënt en een psychologische afronding toe, en zet het resultaat om in native specifieke prijzen van PrestaShop. Deze gids behandelt de installatie, het aanmaken van regels, de werking van de berekening, de massale herberekening en de automatisering via cron.

Installatie

De module is compatibel met PrestaShop 8.0 tot 9.x, in single-shop en multistore.

  1. Ga in de back-office naar Modules > Modulebeheer, klik op Een module uploaden en selecteer het ZIP-bestand.
  2. Bij de installatie maakt de module haar twee tabellen aan, plus een tabblad DF Multi Price onder Catalogus, en genereert ze automatisch een crontoken.
  3. Open de configuratie van de module om de automatische toepassing en de batchgrootte in te stellen en de cron-URL op te halen.

Een prijsregel aanmaken

Ga naar Catalogus > DF Multi Price en klik op Een regel toevoegen. Een regel richt zich op een combinatie van dimensies en beschrijft hoe de eindprijs wordt opgebouwd.

Targeting

  • Winkel: een specifieke winkel of “Alle”. Met “Alle” worden de basisprijzen gelezen vanuit de standaardwinkel.
  • Land: het land waarvan de btw dient voor de berekening van de afronding incl. btw.
  • Valuta: de valuta waarin de psychologische afronding wordt toegepast.
  • Categorie: beperkt de regel tot een categorie en haar subcategorieën, of “Hele catalogus”.

Berekening

  • Prijsbasis: verkoopprijs excl. btw of inkoopprijs (producten zonder inkoopprijs worden in die modus genegeerd).
  • Margecoëfficiënt: vermenigvuldiger toegepast op de basis. Bijvoorbeeld 1,20 voor +20 %. Gebruik 1,00 om alleen de afronding toe te passen.
  • Afrondingsmodus: naar dichtstbijzijnde, altijd naar boven, altijd naar beneden, of geen.
  • Psychologische eindiging: x,90, x,95, x,99, x,50 of x,00.
  • Afronding op de prijs incl. btw: aanbevolen, want de klant ziet de prijs incl. btw. De btw van het land van de regel wordt gebruikt.
  • Bodemprijs: minimumprijs incl. btw in de valuta van de regel. 0 betekent geen minimum.
  • Prioriteit: de laagste waarden worden bij een globale herberekening eerst verwerkt.

Hoe de eindprijs wordt berekend

De psychologische afronding heeft alleen zin op het bedrag dat de klant ziet, dus de prijs incl. btw. De motor volgt daarom deze volgorde:

  1. Basisprijs excl. btw vermenigvuldigd met de margecoëfficiënt.
  2. Omrekening naar de valuta van de regel volgens haar wisselkoers.
  3. Omzetting naar incl. btw door de btw van het land van de regel toe te voegen.
  4. Afronding op de gekozen eindiging volgens de gekozen modus.
  5. Toepassing van de eventuele bodemprijs.
  6. Terug naar de prijs excl. btw en dan naar de standaardvaluta voor de opslag.

Voorbeeld: een basisprijs van 69,99 € excl. btw, een coëfficiënt 1,20, een btw van 19 % en een eindiging x,99 geven een getoonde prijs van 99,99 € incl. btw. De prijs wordt excl. btw in de standaardvaluta opgeslagen, maar de winkelweergave respecteert de gewenste eindiging.

De gegenereerde prijzen worden weggeschreven als native specifieke prijzen van PrestaShop. Ze worden door de core gelezen als elke andere specifieke prijs: geen dynamische berekening op het moment van weergave, dus geen enkele impact op de frontprestaties.

Massale herberekening

Pas een regel na het aanmaken of wijzigen toe op de hele catalogus.

  • Vanuit de regellijst verwerkt de actie Herberekenen één specifieke regel.
  • De knop Alle actieve regels herberekenen in de werkbalk voert alle regels na elkaar uit, in volgorde van prioriteit.

De verwerking gebeurt in AJAX-batches met een voortgangsbalk. Elke doorgang toont het aantal aangemaakte, bijgewerkte en genegeerde prijzen. De batchgrootte (10 tot 500 producten) wordt ingesteld in de moduleconfiguratie.

Verhoog bij een zeer grote catalogus de batchgrootte om het aantal heen-en-weer-verzoeken te beperken, of verlaag ze als uw server de uitvoeringstijd per verzoek begrenst.

Automatiseren met de cron

Een croncontroller speelt automatisch alle actieve regels opnieuw af. De URL, beschermd door een token, staat in de moduleconfiguratie en ziet er zo uit:

https://uwwinkel.com/index.php?fc=module&module=dfmultiprice&controller=cron&token=UW_TOKEN

Plan deze URL met de crontaak van uw hoster, bijvoorbeeld één keer per nacht. De controller geeft een JSON-samenvatting per regel terug (totaal, aangemaakt, bijgewerkt, genegeerd). Lekt het token, regenereer het dan vanuit de configuratie: de oude URL werkt daarna niet meer.

Automatische toepassing

Is de optie actief, dan activeert elke aanmaak of wijziging van een product de toepassing van de bijbehorende actieve regels op dat product. Nuttig om de prijzen actueel te houden zonder globale herberekening, met name bij regelmatige imports.

Verwijdering en deïnstallatie

De module houdt elke specifieke prijs bij die ze genereert. Daardoor:

  • Verwijdert het wissen van een regel automatisch alle specifieke prijzen die ze had aangemaakt.
  • Ruimt het verwijderen van de module alle door haar gegenereerde prijzen op, zonder residu.

De module overschrijft nooit een handmatige specifieke prijs met andere dimensies. Bestaat er echter al een specifieke prijs met identieke dimensies (zelfde winkel, land, valuta, zonder korting of datumbereik), dan neemt ze die over om dubbels te vermijden.

Probleemoplossing

Een product wordt niet bijgewerkt

Controleer of het actief is in de winkel van de regel, of het wel tot de beoogde categorie behoort, en (in de basis “inkoopprijs”) of er een inkoopprijs is ingevuld.

De getoonde prijs heeft niet de juiste eindiging

Controleer of de optie “Afronding op de prijs incl. btw” actief is en of het land van de regel overeenkomt met de verwachte btw. De eindiging wordt toegepast op het bedrag incl. btw, niet op het bedrag excl. btw.

De cron geeft “Invalid token” terug

Het token in de URL komt niet meer overeen met het geregistreerde token. Haal de actuele URL op uit de configuratie, of regenereer het token.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support