PS PrestaShop Beginner

Automatische Standaard Btw-regel bij Productcreatie: volledige gids

Installatie en configuratie van het automatisch toepassen van de btw-groep bij het aanmaken van elk PrestaShop-product.

Bijgewerkt Moduleversie 1.1.0

Waar deze module voor dient

Sinds PrestaShop 1.7 heeft een nieuw aangemaakt product geen btw-regel: het veld Btw-regel op het tabblad Prijs blijft op “Geen belasting” staan zolang u het niet handmatig wijzigt. In een actieve catalogus is de vergissing snel gemaakt — en een product dat zonder btw wordt gepubliceerd, vervalst zowel de weergegeven prijs inclusief btw als uw boekhouding.

Deze module past automatisch de btw-groep van uw keuze toe op elk aangemaakt product, zonder enige tussenkomst. Een modus “alleen invullen als leeg” zorgt ervoor dat een reeds gekozen regel nooit wordt overschreven.

Vereisten

  • PrestaShop 8.0 tot 9.x
  • PHP 7.4 tot 8.3
  • Minstens één actieve btw-groep geconfigureerd in Internationaal > Belastingen > Btw-regels

De module maakt geen enkele btw-regel aan. Ze past uitsluitend een regel toe die al in uw winkel bestaat. Als uw lijst met btw-regels leeg is, maak er dan eerst een aan voordat u de module installeert.

Installatie

  1. Download het ZIP-archief vanuit uw DataFirefly-klantaccount.
  2. Ga in de PrestaShop back-office naar Modules > Modulebeheer.
  3. Klik rechtsboven op Een module installeren en sleep het ZIP-bestand erin.
  4. Klik na de installatie op Configureren.

Belangrijk: zolang u geen btw-groep in de configuratie hebt gekozen, blijft de module bewust inactief. Dit is een beveiliging om te voorkomen dat er direct na de installatie een ongewenste regel wordt toegepast.

Configuratie

De configuratiepagina bevat twee instellingen.

Toe te passen btw-groep

Een keuzelijst toont alle actieve btw-groepen van uw winkel (bijvoorbeeld “NL BTW 21%”). Kies de groep die standaard op nieuwe producten moet worden toegepast.

Het eerste item in de lijst is “Niets doen (uitgeschakeld)”. Selecteer dit als u de module tijdelijk wilt pauzeren zonder haar te deïnstalleren.

Bestaande waarde overschrijven

Deze schakelaar bepaalt het gedrag van de module wanneer een product bij het aanmaken al een btw-regel heeft.

  • Ja (standaard): de geconfigureerde groep wordt altijd toegepast, ongeacht de bestaande waarde.
  • Nee: de groep wordt alleen toegepast als het product geen enkele btw-regel heeft. Een reeds ingevulde waarde wordt nooit gewijzigd.

Zet deze optie op Nee als u regelmatig al correct geconfigureerde producten dupliceert: de kopieën behouden dan de btw-regel van het bronproduct.

Klik op Opslaan om te bevestigen. De module is direct actief.

Hoe het werkt

De module haakt in op de hook actionObjectProductAddAfter, die PrestaShop activeert direct na het invoegen van een nieuw product in de database. Ze schrijft dan het veld id_tax_rules_group in de tabellen product en product_shop.

Compatibiliteit met productpagina v2

De nieuwe productpagina van PrestaShop 8 werkt anders dan de oude: zodra u op Nieuw product klikt, maakt PrestaShop onmiddellijk een tijdelijk product aan (soms “spookproduct” genoemd), nog voordat u iets hebt ingevoerd. Dit product verschijnt pas in de catalogus na de eerste keer opslaan.

Precies op dat moment grijpt de module in. De btw-regel staat dus al in de database voordat het formulier wordt getoond, en het tabblad Prijs toont direct de juiste groep.

Technische opmerking. De hook actionProductAdd wordt, ondanks zijn naam, niet geactiveerd bij een normale productcreatie: de PrestaShop-core roept hem alleen aan bij een duplicatie. Daarom gebruikt deze module de generieke hook actionObjectProductAddAfter, die wel alle creatiescenario’s dekt.

Gerichte databaseschrijfactie

De module werkt uitsluitend de kolom id_tax_rules_group bij, via een directe SQL-query. Ze roept Product::update() niet aan, wat voorkomt dat de update-hooks onnodig worden geactiveerd op een nog leeg product. Er wordt geen enkel ander productveld aangeraakt, en er wordt geen core-override toegevoegd.

Gedekte gebruiksscenario’s

Creatiemethode Regel toegepast
Handmatige creatie in de back-office (productpagina v2) Ja
Duplicatie van een bestaand product Ja (uitschakelbaar via de overschrijfoptie)
CSV-import Ja
Creatie via de Webservice / API Ja
Producten die al vóór de installatie bestonden Nee — de module werkt alleen bij het aanmaken

De module corrigeert de producten die al in uw catalogus staan niet met terugwerkende kracht. Gebruik daarvoor de native bulkbewerking van PrestaShop of een module voor batchupdates.

Multistore

Het veld id_tax_rules_group is per winkel apart. De module schrijft de waarde daarom in de tabel product én in product_shop, binnen het winkelbereik dat overeenkomt met de creatiecontext van het product.

De in de configuratie gekozen btw-groep geldt daarentegen voor de hele installatie. Als uw winkels verschillende btw-regels nodig hebben, pas dan de meest voorkomende regel toe en corrigeer de uitzonderingen handmatig.

Probleemoplossing

De btw-regel wordt niet toegepast op nieuwe producten

Controleer in deze volgorde:

  1. Is er een groep geselecteerd? Open de moduleconfiguratie: als de lijst “Niets doen (uitgeschakeld)” toont, is de module bewust inactief. Kies een groep en sla op.
  2. Is de hook geregistreerd? Als u de module vanaf versie 1.0.0 hebt bijgewerkt, is de gebruikte hook gewijzigd. Alleen bestanden kopiëren volstaat niet: deïnstalleer en herinstalleer de module via het Modulebeheer zodat PrestaShop de nieuwe hook registreert.
  3. Is de cache geleegd? Ga naar Geavanceerde instellingen > Prestaties en leeg de cache.
  4. Bestaat de btw-groep nog? Als de geselecteerde groep inmiddels is verwijderd, doet de module uit veiligheid niets. Selecteer een andere groep.

Een gedupliceerd product verliest zijn oorspronkelijke btw-regel

Dat is het verwachte gedrag wanneer de optie Bestaande waarde overschrijven actief is: de standaardgroep wordt opnieuw op de kopie toegepast. Zet de optie op Nee zodat duplicaties de regel van het bronproduct behouden.

De prijs inclusief btw wordt niet bijgewerkt in het formulier

De prijs inclusief btw wordt in de browser berekend op basis van de geselecteerde btw-regel. Herlaad de productpagina: aangezien de regel correct in de database staat, toont het tabblad Prijs de juiste groep en wordt de prijs inclusief btw opnieuw berekend.

Deïnstallatie

Klik in het Modulebeheer op Deïnstalleren. De module verwijdert haar twee configuratiesleutels en trekt zich terug uit de hooks. Deze module maakt geen enkele tabel aan, en de btw-regels die al op uw producten zijn toegepast blijven ongewijzigd behouden.

Versiegeschiedenis

1.1.0

  • Overstap op de hook actionObjectProductAddAfter om de creatie via productpagina v2 (tijdelijk product) te dekken
  • Compatibiliteit bevestigd voor PrestaShop 8 en 9

1.0.0

  • Eerste versie: automatisch toepassen van de btw-groep bij het aanmaken
  • Configuratie van de standaardgroep en de overschrijfmodus
Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support