Skip to content
Building a Shopify app or a SaaS product?Chat on WhatsApp
Shopify Development

Kortingen bouwen met Shopify Functions (Scripts zijn gestopt)

Shopify Scripts zijn uitgefaseerd en Shopify Functions zijn de vervanger. Wat dat betekent voor staffelkorting, BOGO, B2B-prijzen en gratis verzending, en wanneer u wel en niet een ontwikkelaar nodig heeft.

AK
Aashish Kaushik · 9 min read · updated 25 september 2026
A coder intensely typing at a workstation in a contemporary office setup.
On this page

Key takeaways

  • Shopify Scripts zijn uitgefaseerd; alle maatwerkkortingen draaien nu als Shopify Functions, ook zonder Plus.
  • De meeste kortingen, staffels, BOGO en kortingscodes, maakt u zonder code in de Shopify-admin; een Function is voor regels die daar niet in passen.
  • Een Function draait in de checkout zelf en werkt daardoor ook met Shop Pay, Apple Pay en Google Pay, waar cart-manipulatie faalt.
  • Schrijf de kortingsregels eerst in gewone taal uit; dat is het duurste deel van het werk en het deel dat het vaakst wordt overgeslagen.

Kortingen op Shopify bouwt u sinds het einde van Scripts op twee manieren: met de standaardkortingen in de admin voor alles wat daarin past, en met Shopify Functions voor de regels die daar niet in passen. Shopify Scripts zijn uitgefaseerd; Plus-merchants moesten vóór 2025 migreren. Functions zijn de vervanger, ze werken op alle plannen en ze draaien in de checkout zelf, waardoor ze ook gelden in Shop Pay, Apple Pay en Google Pay.

Deze gids legt uit wat u zonder code kunt, wanneer u een Function nodig heeft, hoe die werkt en wat de bekende beperkingen zijn. De voorbeelden zijn de kortingen die merchants in Nederland en België het meest vragen: staffels, twee halen één betalen, gratis verzending boven een drempel en aparte prijzen voor zakelijke klanten. Wie de Engelse achtergrond zoekt, leest Shopify Scripts to Functions.

Eerst de regels, dan de code

Het duurste deel van een kortingsproject is niet het bouwen, maar het opschrijven van de regels. Wat gebeurt er bij een retour, bij een combinatie met een kortingscode, bij een product dat op is, bij een klant die in twee groepen zit. Schrijf dat in gewone taal uit voordat iemand een regel code typt.

Wat er veranderde toen Scripts stopten

Shopify Scripts waren Ruby-scripts die alleen op Shopify Plus draaiden en de winkelwagen, verzendopties en betaalmethoden aanpasten. Ze zijn uitgefaseerd en vervangen door Shopify Functions, die op alle plannen werken en op een andere plek in de flow draaien.

Het verschil zit in waar de logica wordt uitgevoerd. Scripts draaiden op de winkelwagen en de checkout van het oude model, samen met checkout.liquid. Toen Checkout Extensibility checkout.liquid verving, verdween ook de plek waar Scripts leefden. Functions draaien in de nieuwe checkout, als onderdeel van Shopify's eigen berekening van kortingen, bezorgopties en betaalmethoden. Daardoor gelden ze overal waar de checkout wordt gebruikt, inclusief de versnelde checkouts die vroeger langs de winkelwagen heen gingen.

Voor merchants heeft dat drie gevolgen. Kortingslogica die vroeger Plus vereiste, is nu op elk plan te bouwen. Logica die vroeger in een script stond, moet opnieuw worden gebouwd als Function; een automatische vertaling bestaat niet. En apps die kortingen nabootsen door de winkelwagen te manipuleren, werken niet in versnelde checkouts, wat u pas merkt als klanten via Shop Pay afrekenen zonder korting.

Wat u zonder code kunt maken

De meeste kortingen die een webshop nodig heeft, zitten in de Shopify-admin onder Kortingen. Begin daar, en bouw pas een Function als de admin het echt niet kan.

Kortingscodes en automatische kortingen met een percentage, een vast bedrag of gratis verzending, met minimumbedragen, minimale aantallen en beperking tot bepaalde producten, collecties of klantgroepen.

Koop X, krijg Y als automatische korting of code, waarmee u twee halen één betalen, een gratis product bij aankoop of korting op een tweede artikel maakt. De Engelse gids How to set up BOGO on Shopify loopt de instellingen door.

Hoeveelheidskortingen op basis van aantal per product of per bestelling, via de standaardkorting met minimale hoeveelheid. Het artikel Shopify volume discount without app laat zien hoe ver u daarmee komt.

Kortingscombinaties, waarmee u per korting bepaalt of die samen met product-, order- en verzendkortingen mag gelden. Dat is de plek waar u bepaalt of een kortingscode boven op een automatische staffel komt.

Marktprijzen via Shopify Markets, waarmee u per land een andere prijs of afronding hanteert. Dat is geen korting, maar het lost een deel van de vragen op die vroeger met een script werden opgelost.

Wat de admin niet kan, is logica die afhangt van combinaties, van berekende totalen over meerdere producten, van klantgegevens buiten de standaardgroepen of van externe regels zoals een maximale korting per klant per maand. Daar begint een Function.

Wanneer u een Function nodig heeft

Een Function is nodig zodra de kortingsregel voorwaarden combineert die de standaardkorting niet kent, of zodra u wilt bepalen wat een klant in de checkout ziet aan bezorgopties en betaalmethoden.

Standaardkorting of Shopify Function

KortingsregelStandaard in adminShopify Function
Tien procent met een codeJaNiet nodig
Twee halen, één betalen op een collectieJa, via Koop X krijg YNiet nodig
Staffel: vijf procent vanaf drie stuks, tien vanaf zesJa, met meerdere kortingen en combinatiesAls de staffel over verschillende producten heen telt
Gratis verzending vanaf vijftig euroJaAls de drempel per klantgroep of regio verschilt
Korting voor zakelijke klanten met btw-nummerDeels, via klantgroepenAls prijs afhangt van bedrijf, volume en contract
Bundelprijs voor een zelf samengestelde setNeeJa, via een cart transform Function
Korting bij een bepaalde betaalmethodeNeeJa, met een betaalmethode-Function en een kortingsregel
Maximale korting per klant per periodeNeeJa, met een Function en opslag in metafields
Bezorgopties verbergen bij bepaalde productenNeeJa, via een delivery customization Function

De rechterkolom is bewust kort, want elke Function is ontwikkelwerk dat onderhouden moet worden. Wie twijfelt, vraagt een bureau eerst of de admin het kan. Een bureau dat meteen een Function voorstelt zonder de standaardkorting te proberen, verkoopt scope.

Hoe een kortings-Function werkt

Een Function is een klein programma dat in een Shopify-app leeft, door Shopify wordt aangeroepen tijdens de berekening van de checkout, en een lijst met kortingen teruggeeft op basis van de winkelwagen die het binnenkrijgt.

De opbouw is steeds dezelfde. De Function vraagt met een query de gegevens op die het nodig heeft: de regels in de winkelwagen, de klant, eventueel metafields op producten of op de klant. Het programma, geschreven in JavaScript of Rust en gecompileerd naar WebAssembly, past de regels toe en geeft terug welke korting op welke regel geldt. Shopify voert het uit, snel en zonder dat er een externe server aan te pas komt.

De instellingen van de Function, zoals percentages, drempels en welke collecties meedoen, staan meestal in metafields die de merchant via een beheerscherm in de app aanpast. Dat beheerscherm is het verschil tussen een Function die u zelf kunt bijstellen en een Function waarvoor u elke keer de ontwikkelaar belt. Vraag bij elke offerte expliciet of er een beheerscherm bij zit; de Engelse gids Shopify Functions discounts laat zien hoe zo'n opzet eruitziet.

Een Function wordt geïnstalleerd als een korting in de admin, met een naam, een looptijd en combinatie-instellingen zoals elke andere korting. Voor uw team ziet het er dus vertrouwd uit; het verschil zit in wat de korting kan berekenen.

Vier kortingen die merchants het meest vragen

De vragen die wij van webshops in Nederland en België horen, komen steeds op dezelfde vier kortingen neer. Dit is hoe ze in de praktijk worden gebouwd.

Staffelkorting over producten heen. Vijf procent vanaf drie stuks, tien vanaf zes, tellend over alle producten in een collectie in plaats van per product. De standaardkorting telt per product; een Function telt de totale hoeveelheid in de collectie en past de korting toe op elke regel. Het artikel Shopify tiered discounts beschrijft de varianten.

Twee halen, één betalen met een goedkoopste-gratis-regel. De standaardkorting kan dit voor vaste combinaties. Zodra de klant zelf uit een grote collectie kiest en de goedkoopste gratis moet zijn, ook bij vier of zes stuks, is een Function betrouwbaarder.

Gratis verzending boven een drempel die per land verschilt. Vijftig euro voor Nederland, vijfenzeventig voor België, omdat PostNL en bpost verschillend kosten. Dat kan deels met verzendprofielen per zone; een Function wordt nodig als de drempel ook afhangt van klantgroep of productcategorie.

Zakelijke prijzen. Een aparte prijs voor klanten met een geverifieerd btw-nummer, oplopend met het volume. Op Shopify Plus lost B2B met catalogi en prijslijsten dit op. Op de reguliere plannen kan een Function korting geven op basis van een klanttag, mits de btw-verwerking in de checkout apart is geregeld.

Beperkingen die u vooraf moet kennen

Functions zijn snel en betrouwbaar omdat ze beperkt zijn. Die beperkingen bepalen wat u wel en niet kunt bouwen, en een bureau hoort ze vóór de offerte te noemen.

Een Function kan geen externe systemen raadplegen tijdens de berekening. Wat het nodig heeft, moet in de winkelwagen, de klant of metafields staan. Een korting die afhangt van uw voorraadsysteem of uw CRM vraagt dus om een koppeling die die gegevens vooraf naar metafields schrijft.

Er zijn limieten aan de rekentijd en de grootte van de invoer; bij zeer grote winkelwagens of zeer veel regels loopt een slordig gebouwde Function daar tegenaan. Kortingen volgen bovendien de combinatieregels van Shopify: product-, order- en verzendkorting zijn drie klassen, en een Function zit in één ervan. Wat u ziet als "één korting" is soms twee Functions.

En ten slotte: een Function verandert de berekening, niet de weergave. Wilt u de staffel op de productpagina tonen, dan is dat werk in het thema. Wilt u in de checkout een melding tonen, dan is dat een checkout-UI-extensie. Het artikel Shopify Functions limitations somt de grenzen volledig op.

Test in alle checkouts, niet alleen in de gewone

Plaats een testbestelling via de reguliere checkout, via Shop Pay en via Apple Pay of Google Pay op een telefoon. Een korting die in één van de drie ontbreekt, is het bekendste symptoom van een app die de winkelwagen manipuleert in plaats van een Function te gebruiken.

Migreren vanaf Scripts of vanaf een oude app

Wie nog een Script in zijn admin heeft staan, of een kortingsapp die is gebouwd op cart-manipulatie, migreert in vier stappen. De volgorde is belangrijk, want de eerste stap wordt het vaakst overgeslagen.

Van Scripts of cart-apps naar Functions

  • Documenteer elke bestaande kortingsregel in gewone taal, inclusief uitzonderingen en wat er bij een retour gebeurt
  • Bepaal per regel of de standaardkorting in de admin het kan; schrap wat niet meer gebruikt wordt
  • Laat de overgebleven regels als Function bouwen, met een beheerscherm voor drempels en percentages
  • Test elke regel in de reguliere checkout, in Shop Pay en in Apple Pay of Google Pay, met en zonder kortingscode
  • Zet de nieuwe korting aan in een rustig uur, met de oude app nog geïnstalleerd, en verwijder de oude pas na een week
  • Controleer na verwijdering of er restanten van de oude app in het thema zijn achtergebleven

Wat de migratie kost, hangt af van het aantal regels dat overblijft na stap twee. Een enkele Function of checkout-extensie bouwt ByteInfy vanaf $1.500, met de bandbreedte van 1.500 tot 3.000 dollar per Function. Meerdere regels samen worden als één programma geoffreerd. Een bureau dat u zonder deze stappen een prijs geeft, heeft de regels niet gelezen, en de Engelse gids Hiring a Shopify development agency laat zien welke vragen daar nog meer bij horen.

App uit de App Store of eigen Function

Een bestaande kortingsapp is goedkoper en sneller dan een eigen Function, mits de app Functions gebruikt en uw regel erin past. Een eigen Function wint zodra de regel specifiek is voor uw bedrijf of zodra u geen maandelijks abonnement wilt voor één regel.

Vraag een leverancier van een kortingsapp twee dingen: draait de korting als Shopify Function, en wat laat de app achter in het thema bij verwijdering. Het eerste bepaalt of de korting in Shop Pay werkt; het tweede bepaalt of u er ooit weer vanaf komt. Het artikel Shopify discount stacking laat zien hoe apps en standaardkortingen samen gedragen.

Een eigen Function past bij regels die u nergens in een app terugvindt, of bij webshops met genoeg volume om het verschil tussen een abonnement en een eenmalige bouw terug te verdienen. Zorg dan dat de code in een repository staat waar u toegang toe heeft en dat er een beheerscherm bij zit. Een Function zonder beheerscherm is een korting die u niet zelf kunt uitzetten, en dat wilt u op de avond vóór een campagne niet ontdekken.

Frequently asked questions

Wat zijn Shopify Functions?
Kleine programma's die in de checkout van Shopify draaien en de logica van kortingen, bezorgopties, betaalmethoden en cartvalidatie aanpassen. Ze worden gebouwd in een app, gecompileerd naar WebAssembly en door Shopify uitgevoerd.
Zijn Shopify Scripts echt gestopt?
Ja. Shopify heeft Scripts uitgefaseerd en Plus-merchants moesten vóór 2025 migreren naar Functions. Een webshop die nog op Scripts leunde, heeft die logica ergens onderweg verloren.
Heb ik Shopify Plus nodig voor Shopify Functions?
Voor kortingsfuncties niet. Functions voor kortingen, bezorging en cartvalidatie werken op alle plannen. Sommige aanpassingen van de betaalstap en de opmaak van de checkout vragen wel om Plus.
Kan ik een staffelkorting maken zonder Function?
Vaak wel. Shopify heeft standaard hoeveelheidsregels via automatische kortingen en kortingscodes, en op Plus via B2B-catalogi. Een Function is nodig zodra de staffel afhangt van combinaties, klantgroepen of totalen die de standaardkorting niet kent.
Werken kortingen van een app ook met Shop Pay en Apple Pay?
Alleen als de app Shopify Functions gebruikt. Apps die de winkelwagen aanpassen, bijvoorbeeld door een verborgen kortingsproduct toe te voegen, worden door versnelde checkouts overgeslagen.
Wat kost het om een kortingsregel als Function te laten bouwen?
Een enkele Function of checkout-extensie kost bij ByteInfy tussen 1.500 en 3.000 dollar, afhankelijk van de complexiteit van de regels en of er een beheerscherm bij hoort.
Kan ik meerdere kortingen tegelijk laten gelden?
Shopify bepaalt met kortingscombinaties welke soorten korting samen mogen: productkorting, orderkorting en verzendkorting. Een Function valt onder een van die klassen en volgt dezelfde combinatieregels.

Building a Shopify app or a SaaS product?

ByteInfy designs, builds and ships them. Tell us what you are making.

Chat on WhatsApp

Or reach us directly

About the author

Aashish Kaushik

Founder

Builds Shopify apps and SaaS products at ByteInfy.

More from Aashish

Get new articles by email

No more than one a week. Unsubscribe in one click.

Comments

Comments are reviewed before they appear.

Keep reading

Person coding on a laptop with HTML code on screen, showcasing development work.

Shopify in Nederland: iDEAL, Klarna, btw en verzending

Een Shopify-webshop voor de Nederlandse markt staat of valt met vier instellingen. iDEAL en Klarna via Shopify Payments, btw inclusief in de prijzen, verzendregels die kloppen en een checkout die Nederlands spreekt.

24 september 2026 · 9 min readRead
Close-up of a person coding on a laptop, showcasing web development and programming concepts.

Shopify SEO checklist 2027: 25 punten die tellen

Shopify regelt de technische basis van SEO zelf. Wat een webshop tegenhoudt zit in collecties, productpagina's, snelheid en content. Vijfentwintig punten, in volgorde van impact.

23 september 2026 · 7 min readRead
Barista interacting with a digital payment system in a cafe, highlighting modern technology in coffee shops.

Shopify bureau kosten 2027: wat een webshop echt kost

Een offerte van een Shopify bureau zegt weinig zonder context. Dit is wat de prijs bepaalt, wat er na de lancering bijkomt en hoe u twee offertes naast elkaar legt.

22 september 2026 · 9 min readRead
WhatsApp