# Automatische Standaard Btw-regel bij Productcreatie: volledige gids

> 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…

- Pagina: <https://www.datafirefly.com/nl/documentation/taxe-defaut-creation-produit/>
- Taal: nl
- Bijgewerkt op: 2026-09-10
- Andere talen: [fr](https://www.datafirefly.com/documentation/taxe-defaut-creation-produit/index.md), [en](https://www.datafirefly.com/en/documentation/taxe-defaut-creation-produit/index.md), [es](https://www.datafirefly.com/es/documentation/taxe-defaut-creation-produit/index.md), [de](https://www.datafirefly.com/de/documentation/taxe-defaut-creation-produit/index.md), [it](https://www.datafirefly.com/it/documentation/taxe-defaut-creation-produit/index.md), [pl](https://www.datafirefly.com/pl/documentation/taxe-defaut-creation-produit/index.md), [pt](https://www.datafirefly.com/pt/documentation/taxe-defaut-creation-produit/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## 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
