Winkelwagenkortingen
WCPOS biedt een kassamedewerker verschillende manieren om onderweg korting op een bestelling toe te passen: snelle procentuele knoppen, directe prijswijzigingen per regel en kortingskosten op bestelniveau. Zie Coupons (Pro) voor vooraf geconfigureerde promoties met gebruiksregels.
Een prijs die aan de kassa wordt verlaagd, wordt geregistreerd als de aanbiedingsprijs van het artikel, niet als een WooCommerce-korting — het ingebouwde Korting-totaal is gereserveerd voor coupons. Waarom prijswijzigingen en coupons anders worden bijgehouden legt het model uit; als uw totalen zijn veranderd na het bijwerken naar v1.9.0, zie Wat is gewijzigd in v1.9.0.
Snelle kortingen
Met knoppen voor snelle kortingen kunt u met één tik een procentuele korting op de hele bestelling toepassen.
Open de Weergave-instellingen van de winkelwagen om ze te configureren en voer in het veld Snelle kortingen een door komma's gescheiden lijst met percentages in. Met 5,10,15,20 worden bijvoorbeeld vier sneltoetsknoppen gemaakt.
Wanneer u op een knop voor snelle korting tikt, wordt het percentage toegepast op alle regels in de winkelwagen.
Kortingen per regel
U kunt de prijs van elk afzonderlijk regelitem rechtstreeks in de winkelwagen wijzigen:
- Klik op het veld Prijs van het regelitem
- Voer de nieuwe prijs in
- Druk op Enter om te bevestigen
Dit is handig voor prijsafstemming, personeelskortingen of eenmalige aanpassingen. Het totaal van het regelitem wordt automatisch bijgewerkt op basis van hoeveelheid × nieuwe prijs.
Zie Regelitems voor meer informatie over het bewerken van winkelwagenitems.
Als een klant verschillende kortingen wil op delen van hetzelfde product (bijv. 3 voor de volledige prijs en 2 met korting), schakel dan de optie Splitsen in bij de Weergave-instellingen van de winkelwagen om een regelitem in afzonderlijke regels op te splitsen.
Kortingen op bestelniveau
Voeg een negatieve kostenpost toe om een vaste korting op de volledige bestelling toe te passen (in plaats van op afzonderlijke items):
- Klik onder de winkelwagenitems op Kosten toevoegen
- Voer een naam in (bijv. "Personeelskorting")
- Voer het kortingsbedrag in als een negatief getal (bijv.
-5.00)
De kostenpost verschijnt als een afzonderlijk regelitem en verlaagt het ordertotaal. Indien nodig kunt u de belastingstatus en belastingklasse van de kostenpost bewerken via het menu met de drie puntjes.
Hoe belasting wordt berekend op een kortingskostenpost
WCPOS belast een negatieve kostenpost vanuit de eigen belastinginstellingen van de kostenpost: stel de belastingstatus in op Geen en er wordt geen belasting op toegepast; laat deze op Belastbaar en er wordt belast tegen de eigen belastingklasse. Het bedrag dat u typt is het bedrag dat wordt afgetrokken — voer -10.00 in en de klant betaalt 10 minder.
WooCommerce core doet dit anders. Op zichzelf behandelt WooCommerce een negatieve kostenpost als een korting op het hele mandje en spreidt de belasting ervan over de belastingklassen van elk ander item in de bestelling, waarbij de belastingstatus die u op de kostenpost instelt wordt genegeerd. Het houdt ook geen rekening met prijzen inclusief belasting, dus in een winkel waar Prijzen inclusief belasting ingevoerd op Ja staat, zou een kostenpost van -10.00 er bij een tarief van 20% 12.00 afhalen. WCPOS overschrijft dat zodat de kassa er precies afhaalt wat de kassamedewerker heeft ingevoerd.
Deze behandeling hoort bij de bestelling, niet bij de app die u toevallig gebruikt — een POS-bestelling opnieuw berekenen vanuit WP Admin → Orders verandert dit niet. Niet-POS-bestellingen behouden het standaardgedrag van WooCommerce.
Als uw prijzen belasting bevatten, geeft een kortingskostenpost de klant het juiste totaal maar laat de op de bestelling geregistreerde belasting ongewijzigd — zodat het belastingbedrag iets hoger is dan het verlaagde bedrag strikt genomen rechtvaardigt. Het valt uit in het voordeel van de belastingdienst, nooit andersom. Als de geregistreerde belasting belangrijk is voor uw boekhouding, gebruik dan in plaats daarvan een coupon voor de korting: coupons verlagen het belastbare bedrag en berekenen de belasting daarover correct. We verplaatsen kortingen op bestelniveau in de POS in een toekomstige release naar coupons, om precies deze reden.
POS-kortingen versus WooCommerce-coupons
De kortingen op deze pagina zijn ad-hocaanpassingen die kassamedewerkers bij de kassa toepassen; WooCommerce-coupons zijn vooraf geconfigureerde promoties met regels en registratie. Hieronder ziet u in één oogopslag het verschil:
| POS-kortingen | WooCommerce-coupons (Pro) | |
|---|---|---|
| Hoe toegepast | Snelle korting, prijs van een regel aanpassen of negatieve kostenpost | Voer een couponcode in de winkelwagen in |
| Waar ingesteld | Ter plekke door de kassamedewerker | Vooraf geconfigureerd in WP Admin → Marketing → Coupons |
| Registratie | Vastgelegd als de regelprijs, net als een aanbiedingsprijs (zie waarom) | Bijgehouden als couponkorting in WooCommerce-rapporten |
| Beperkingen | Geen — de kassamedewerker stelt elke gewenste prijs in | Gebruikslimieten, product-/categoriebeperkingen, minimumbesteding, vervaldatum, e-mailregels |
| Geschikt voor | Ad-hocaanpassingen, prijsafstemming | Gestructureerde promoties, traceerbare kortingen |
Voor eenmalige prijsaanpassingen zijn de kortingen op deze pagina eenvoudiger. Als u het gebruik van kortingen wilt bijhouden in WooCommerce-rapporten of regels zoals gebruikslimieten wilt afdwingen, gebruik dan Coupons.
Waarom prijswijzigingen en coupons anders worden bijgehouden
WooCommerce kent precies één ingebouwd begrip van een korting: de coupon. Een coupon hoort bij de bestelling — deze wordt in een eigen veld geregistreerd, geteld in de kolom Korting van rapporten, en draagt eigen regels zoals gebruikslimieten en vervaldata.
Een aanbiedingsprijs is voor WooCommerce geen korting. Het is simpelweg de huidige prijs van het product: wanneer een artikel in de aanbieding wordt verkocht, registreert de bestelling de betaalde prijs en niets anders. De normale prijs verschijnt nooit op de bestelling, en rapporten tellen de verkoop als gewone omzet — WooCommerce zelf houdt geen enkele registratie bij dat de klant iets heeft bespaard.
Snelle kortingen en prijswijzigingen per regel volgen het aanbiedingsprijsmodel: het artikel wordt "in de aanbieding" verkocht tegen de prijs die de kassamedewerker instelt. Die ene regel verklaart de rest van deze pagina — het WooCommerce-Korting-totaal blijft op nul, coupons rekenen tegen de verlaagde prijs, en coupons met "artikelen in de aanbieding uitsluiten" slaan artikelen over waarvan de prijs aan de kassa is verlaagd. (Een negatieve kostenpost op bestelniveau is weer iets anders: die wordt geregistreerd als een kostenregel, niet als een prijswijziging.)
Bonnen zijn de ene plek waar klanten verwachten te zien wat ze hebben bespaard, dus WCPOS registreert de normale prijs naast de nieuwe prijs op elke regel. Daardoor kan een bon aanbiedingsbesparingen en couponkortingen als afzonderlijke cijfers tonen zonder ze dubbel te tellen — en zonder de ordertotalen of rapporten van WooCommerce te wijzigen.
Hoe POS-prijswijzigingen met coupons samenwerken
Wanneer een kassamedewerker een aangepaste prijs instelt voor een regelitem (bijvoorbeeld door $18 te verlagen naar $16) en vervolgens een coupon wordt toegepast, wordt de coupon berekend op basis van de met POS-korting verlaagde prijs ($16), niet op basis van de oorspronkelijke prijs ($18). Dit voorkomt dat klanten te veel korting krijgen door een kassakorting en een coupon te stapelen op basis van de oorspronkelijke prijs.
- Artikelen met POS-korting worden door WooCommerce behandeld als "in de aanbieding". Als voor een coupon Artikelen in de aanbieding uitsluiten is ingeschakeld, worden artikelen met POS-korting overgeslagen — net zoals gewone aanbiedingsartikelen. Ontwikkelaars kunnen dit overschrijven met het filter
woocommerce_pos_item_is_on_sale. - Als een coupon wordt verwijderd, behoudt de regel de prijs met POS-korting.
Zie de referentie voor POS-kortingen voor technische details over hoe POS-prijsoverschrijvingen worden opgeslagen en de beschikbare filters.
Wat is gewijzigd in v1.9.0
Als u vanaf v1.8 hebt geüpgraded en het Korting-totaal op bonnen en in rapporten nu 0 toont, is dit waarom: eerdere versies registreerden een prijswijziging aan de kassa als een WooCommerce-korting, wat de couponberekening brak — een coupon die erbovenop werd toegepast, rekende tegen de oorspronkelijke prijs, waardoor de bestelling te veel korting kreeg en de klant te weinig betaalde. Vanaf v1.9.0 is de prijs die aan de kassa wordt ingesteld de regelprijs, precies zoals WooCommerce een product in de aanbieding registreert, en tellen alleen coupons als kortingen. Zie Waarom prijswijzigingen en coupons anders worden bijgehouden hierboven.
Wat dit voor u betekent
- Bonnen kunnen de geregistreerde normale prijs, de besparing van normale prijs naar verkoopprijs en een gecombineerde waarde Totaal bespaard voor die besparingen plus coupons tonen. Prijsbesparingen blijven gescheiden van het WooCommerce-veld Korting.
- Rapporten tonen
discount_total = 0wanneer alleen prijswijzigingen van POS-regelitems zijn gebruikt. Alleen couponkortingen worden meegeteld. - Coupons worden nu correct berekend wanneer ze worden gecombineerd met artikelen met POS-korting.
- De geregistreerde normale en verkoopprijzen worden opgeslagen in de metadata van POS-regelitems (
_woocommerce_pos_data), zodat de bon de besparing kan afleiden zonder de kortingstotalen van WooCommerce te wijzigen.
De oorspronkelijke prijs en besparingen op bonnen weergeven
De huidige meegeleverde sjablonen met prijzen tonen de geregistreerde normale prijs en besparing wanneer een product in de aanbieding is of de prijs bij de kassa wordt gewijzigd. Ze tonen ook Totaal bespaard wanneer WCPOS een volledig bedrag op bestellingsniveau kan berekenen. Dit totaal combineert besparingen op de normale prijs met couponkortingen zonder beide dubbel te tellen.
Sjablonen die uit de galerij zijn gekopieerd, zijn bewerkbare momentopnamen en worden niet overschreven door WCPOS-updates. Als u uw bon vóór deze wijziging hebt gemaakt, kunt u:
- op Sjabloon gebruiken klikken op een nieuwe kopie van het meegeleverde sjabloon; of
- uw bestaande sjabloon bijwerken met de velden in de Referentie voor bongegevens.
De belangrijkste bonvelden zijn:
| Veld | Betekenis |
|---|---|
lines[].regular_price_display | Geregistreerde normale prijs per eenheid |
lines[].selling_price_display | Verkoopprijs per eenheid vóór coupons |
lines[].unit_savings_display | Besparing per artikel |
lines[].line_regular_total_display | Totaal tegen de normale prijs voor de regel |
lines[].line_savings_display | Totale besparing voor de regel |
totals.sale_savings_total_display | Totale besparing van normale naar verkoopprijs door catalogusaanbiedingen en prijswijzigingen aan de kassa |
totals.discount_total_display | WooCommerce-kortingstotaal; doorgaans coupons op huidige bestellingen |
totals.total_saved_display | Gecombineerde besparingen op de normale prijs en WooCommerce-kortingen |
totals.total_saved_complete | Of het gecombineerde totaal volledig is en veilig kan worden weergegeven |
Aangepaste sjablonen moeten de rij Totaal bespaard afschermen zodat deze verdwijnt wanneer historische prijsgegevens onvolledig zijn of er niets is bespaard — zie de Referentie voor bongegevens voor het exacte patroon.
WooCommerce-rapporten blijven ongewijzigd: ingebouwde kortingstotalen bevatten nog steeds coupons in plaats van huidige besparingen op aanbiedingsprijzen of kassaprijzen. Gebruik totals.total_saved voor bonnen en blijf Coupons gebruiken wanneer besparingen ook als WooCommerce-kortingen in rapporten moeten worden bijgehouden.
Bekende beperkingen
- Geen automatische kortingsregels — de POS ondersteunt geen automatische kortingen in de stijl van "koop 2, krijg 1 gratis". Gebruik WooCommerce-coupons voor gestructureerde promoties.
- Snelle kortingen zijn alleen procentueel — er is geen ingebouwde snelle knop voor kortingen met een vast bedrag. Gebruik in plaats daarvan een negatieve kostenpost of bewerk afzonderlijke prijzen.
- Kortingskosten en prijzen inclusief belasting — een kortingskostenpost op bestelniveau rekent het juiste totaal maar verlaagt de op de bestelling geregistreerde belasting niet. Zie Hoe belasting wordt berekend op een kortingskostenpost.