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.
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
- Download het ZIP-archief vanuit uw DataFirefly-klantaccount.
- Ga in de PrestaShop back-office naar Modules > Modulebeheer.
- Klik rechtsboven op Een module installeren en sleep het ZIP-bestand erin.
- 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:
- 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.
- 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.
- Is de cache geleegd? Ga naar Geavanceerde instellingen > Prestaties en leeg de cache.
- 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
actionObjectProductAddAfterom 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