Een prijsformule Shopify op de productpagina: breedte × hoogte, setupkosten en afronding — zonder een variant per combinatie. Zo bouw je hem.
2026-08-23

Prijsformule Shopify: live rekenen op de productpagina

Je prijslogica staat al ergens: in een spreadsheet, op een offertesticker, in het hoofd van de werkplaats. Breedte maal hoogte, plus setup, keer een materiaalfactor, afronden op twee decimalen. Een prijsformule Shopify hoort op de productpagina: de klant ziet het totaal terwijl hij maten invult en betaalt dezelfde som in checkout. Dat is iets anders dan nog een variant aanmaken.

Native Shopify prijst SKU’s, geen uitdrukkingen. Elke variant heeft één vast bedrag. Een continue maat of `basis + (breedte × hoogte)` past daar niet in. In Custom product calculator en How do I calculate product price based on dimensions toont een thema-veld een bedrag, maar de cart blijft de variantprijs rekenen tot je een app of Cart Transform ernaast zet.

Hieronder: waarom die som geen extra variantmatrix is, hoe de formula builder van Options Price Calculator velden omzet in een live totaal, en hoe je afronding, metafields en (op Premium) drempels inricht.

Shopify rekent geen formules, alleen SKU’s

Volgens Adding variants mag een product maximaal drie options hebben en maximaal 2048 variants. Die variantcap ging in oktober 2025 van 100 naar 2048 (changelog). Handig als je écht 40 kleuren × 20 maten op voorraad legt. Nutteloos als de klant 137 cm × 89 cm invult.

Drie options zijn snel op. Kleur, stof, zoom — klaar. Een vierde keuze of een vrij getal die de prijs stuurt, past niet. Zelfs binnen 2048 SKU’s blijf je cellen in een tabel beheren, geen continue functie. Elke millimeter als variant is geen formule; het is een spreadsheet die je in de admin moet bijhouden.

Shopify zelf wijst merchants met meer keuzes naar gesplitste producten of apps. De limiet is dus niet “te weinig varianten”, het is het model: prijs = gekozen variant. Geen `width * height * tarief`.

Wat shops nu proberen — en waar de som stukloopt

1. Elke cel in de prijstabel als variant

Breedtes in de ene dropdown, hoogtes in de andere. Werkt tot je range groeit. Tien breedtes × twaalf hoogtes × drie materialen = 360 SKU’s, en je hebt je drie options opgebruikt. Een klant die tussen twee stappen in zit, bestaat niet. Voorraad per cel is meestal betekenisloos: je zaagt of print op bestelling.

2. Een rekenmachine alleen in de browser

Embeds en Custom Liquid die `breedte * hoogte * 0,12` tonen. In de community-thread over een tafelkleed-calculator is het kernpunt helder: een bedrag op het scherm is niet de checkout-prijs. Shopify rekent de variant plus quantity. Zonder cart-aanpassing (app of Shopify Function) betaalt de klant het verkeerde bedrag.

3. Line item properties zonder formule

`<input name="properties[Breedte]">` bewaart tekst op de orderregel. Fulfillment ziet de maat. De prijs blijft de SKU-prijs. We schreven dat uit in line item properties wijzigen de prijs niet. Zonder calculator plus server-side check is het notitie, geen som.

4. Handmatige offertes

Mail in, spreadsheet erbij, draft order terug. Precies, maar traag — shops willen hun volledige formule in de winkel, niet alleen “plus 10% bij deze optie”.

Hoe de formula builder de som wél in checkout krijgt

Options Price Calculator is een Built for Shopify-app: onbeperkte velden op de productpagina, een formule die live herrekent, en geen extra variant per invoer. De formula builder is stap 2 van de calculator: velden uit stap 1 worden variabelen; de uitkomst moet een getal zijn.

Operatoren die je mag gebruiken: `+ − × ÷` en haakjes. Haakjes zijn geen opsmuk — ze bepalen de volgorde. Uit de docs:

``` (product_price + width * height) * material_multiplier ```

`product_price` is altijd de prijs van de actieve variant. Wisselt de klant van SKU (hout versus metaal), dan verandert die basis vanzelf. Elk veld krijgt een key; die key is de variabelenaam. Typen kan, maar de field selector voorkomt tikfouten.

Gedrag per veldtype, volgens Variables and Field Values:

  • Number input → het getal dat de klant intypt.

  • Dropdown, radio, swatch → de numerieke waarde van de gekozen optie (multiplier of toeslag).

  • Checkbox → de ingestelde waarde, of `0` als hij uit staat.

  • File upload → ingestelde waarde × aantal bestanden.

  • Tekst → een optionele float als er tekst staat, anders `0`. Voor prijs per teken bestaat `{key}_chars`.

Helpers in de formule (niet in de conditieregels): `Math.min`, `Math.max`, `Math.ceil`, `Math.floor`, `Math.round`. Afronden hoort aan het eind, niet midden in een keten van vermenigvuldigingen.

Numeric metafields mag je hergebruiken over veel SKU’s: `product_metafield__{namespace}__{key}` of `variant_metafield__{namespace}__{key}`. Eén calculator, per product een ander tarief in de admin. Geen honderd gekopieerde formules.

Wordt de som lang, splits hem. Computed properties zijn tussenstappen (`width * height` als “oppervlakte”) die je in de hoofdformule hergebruikt als `_cv_{slug}`.

If/then — groter dan 200 cm een hoger tarief, of een bodemprijs van 100 — is Premium (Conditional Pricing). Op Starter blijf je bij één formule plus veldwaarden. Live preview en de price breakdown zijn eveneens Premium; AI die velden en formules voorstelt zit in Starter.

Belangrijk voor vertrouwen: server-side price validation hoort bij de app. Het totaal is geen los JavaScript-label. De cart-regel krijgt de berekende prijs; de ingevulde opties gaan mee naar de order.

Voorbeeld: spandoek met setup en materiaalfactor

Stel: print op rol. De werkplaats rekent vierkante meters, plus €25 inschiet, en mesh is 1,2× duurder dan vinyl. Native zou je een matrix breedte × hoogte × materiaal bouwen. In OPC:

  1. `width` en `height` als number inputs (eenheid in het label: meters of centimeters — kies één en blijf consequent; reken om in de formule als de klant cm invult).

  2. `material_type` als dropdown: vinyl = `1`, mesh = `1.2`.

  3. Shopify-productprijs = 0 of een klein startbedrag, afhankelijk van hoe je feeds wilt vullen.

Formule, in lijn met de voorbeelden:

``` Math.round((product_price + 25 + (width * height * 12 * material_type)) * 100) / 100 ```

Of schoner: een computed property `area = width * height`, daarna `product_price + 25 + (_cv_area * 12 * material_type)`, en pas daarna afronden.

Een checkbox `rush` met waarde 40 telt vanzelf mee als `+ rush`. Een file upload voor het artwork met waarde 15 telt alleen als er een bestand is. Geen extra variant “spoed + bestand”.

Hetzelfde patroon zie je bij stof per meter, gravering of metaal op lengte. We zoomden eerder in op prijs per m²; dit artikel gaat over de uitdrukking zelf: operators, keys, afronding, metafields.

Houd native variants voor wat je op voorraad legt. De formule hangt daarnaast. Eén variant mag één calculator; linken per variant als hout en metaal een andere som hebben.

Aan de slag zonder je catalogus te verbouwen

  1. Installeer Options Price Calculator via de Shopify App Store. Free: 20 uses (op een Develop-store altijd gratis). Starter $9.99/maand: onbeperkte opties, formula builder, metafields, AI, styling, meertaligheid. Premium $14.99: conditional logic, font picker, live preview, price breakdown. De listing staat op 5.0 uit 22 reviews.

  2. Zet het app block op de productpagina: Online Store → Themes → Customize → Products → Default product → Add block → Apps. Aanbevolen: onder de prijs, boven Add to cart. Thema’s verschillen; de selector picker koppelt prijs en knop als je theme dat nodig heeft.

  3. Maak velden met korte, lowercase keys (`width`, `height`, `material_type`). Geef keuzes een float.

  4. Schrijf één formule. Test met previewwaarden in de builder én op de storefront: elke input moet het bedrag en de cart-regel meenemen.

  5. Link de calculator aan het product (of per variant). Herhaal het tarief niet in twintig formules als een numeric metafield volstaat.

Eerder beschreven we dynamische productopties als de UI-laag. De prijsformule is de som erachter. Begin op één SKU, niet op de hele catalogus.

Tot slot

Een prijsformule Shopify is geen grotere variantlijst. Het is je echte rekenregel — `product_price + (width * height)`, setup, multiplier, afronding — op de productpagina, met dezelfde uitkomst in checkout. Native Shopify stopt bij drie options en een bedrag per SKU. Zet de formule in Options Price Calculator en laat de klant de som zien voordat hij een mail stuurt.

online origins logo full

Dé Shopify select partner voor ambitieuze e-commerce bedrijven die willen groeien!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Bekijk op Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins