
Made-to-measure verkopen Shopify klinkt als een thema-instelling. Dat is het niet. Je wilt dat de klant zelf breedte en hoogte intypt — 187,4 cm is een normale bestelling — en dat de prijs op de productpagina meeloopt. Native variants zijn gemaakt voor discrete keuzes: S/M/L, antraciet/wit, links/rechts. Elke millimeter als SKU aanmaken is onmogelijk, en onwenselijk. Voorraad per cel bestaat niet: je snijdt pas na de order.
Dit stuk is voor shops die horren, werkbladen, raamfolie, rolluiken of andere stukken op bestelling maken. Je leest waarom de huidige variantlimiet dat continuüm niet oplost, waarom een maatveld in Liquid de checkout-prijs niet wijzigt, en hoe je met Options Price Calculator number inputs plus een formule op de productpagina zet.
We schreven eerder over maatwerk producten verkopen op Shopify: personalisatie, toeslagen, extra keuzes. Dit artikel zoomt in op één ding: continue maten.
Shopify Help Adding variants is de bron:
elk product mag maximaal drie options hebben;
elk product mag maximaal 2048 variants bevatten.
Die cap ging in oktober 2025 van 100 naar 2048 (Shopify-changelog). Voor een T-shirt met veertig maten × vijftig kleuren helpt dat. Voor made-to-measure niet: van 40 tot 240 cm in millimeters zit je al aan tweeduizend breedtes, vóór hoogte en frametype. De drie option-slots zijn op voordat iemand een raam meet.
Community-threads vragen keer op keer om precies dat continuüm. In How to Create Customized Size in product variant wil een merchant dat de klant eigen centimeters intypt, vergelijkbaar met een video van een configurator. In Want Custom size form in products details page moet een kledingshop bij “Custom” een formulier tonen voor schouder, borst, taille. In CUSTOM SIZE OPTION is hetzelfde patroon: S/M/L plus een “Custom”-waarde die extra velden opent. Het advies in die threads splitst zich in twee kampen: Liquid met `properties[...]`, of een app. Alleen het tweede kamp kan de prijs laten meebewegen.
Je exporteert de Excel (breedte × hoogte) naar Shopify. Bij tien stappen per as red je het nog. Bij echte millimeters explodeert het. Voorraad per cel is betekenisloos. De klant krijgt een dropdown met honderden rijen in plaats van twee getalvelden. Feeds en kortingen worden onleesbaar.
`<input name="properties[Breedte]">` is snel. Shopify bewaart de string op de orderregel; fulfillment kan hem lezen. De prijs verandert niet. Een hor van 80 × 80 cm en een van 240 × 180 cm kosten hetzelfde varianttarief, tot je ergens anders een calculator of Shopify Function naast zet. Dat is de valkuil die in bijna elke “custom size zonder app”-draad terugkomt.
De klant mailt maten, jij rekent in een spreadsheet, je stuurt een draft order. Werkt voor eenmalige B2B-klussen. Het doodt self-serve checkout: geen Shop Pay, geen abandoned checkout, geen Markets-prijs die de klant zelf ziet. Voor herhaalbare regels (oppervlakte × tarief, min/max, setupkost) is dat te langzaam.
Drie native options blijven schoon, de echte maat verdwijnt achter een formulier. Wie 187 cm nodig heeft, koopt geen “Large” in de hoop dat het past.
De splitsing die schaalbaar is:
Native variants voor wat je wél als SKU wilt: frametype, doekkleur, een collectie met eigen inkoopprijs.
Number inputs voor breedte, hoogte, diepte — met min/max zodat onmogelijke maten de cart niet in komen.
Een formule die die getallen omzet in een prijs, live op de productpagina.
Options Price Calculator is daarvoor gebouwd. De app is Built for Shopify (listing: 5.0 uit 22 reviews) en voegt onbeperkte velden toe zonder extra varianten. Voor made-to-measure gebruik je vooral het Number Input-veld: label zoals `Breedte (cm)`, key `width`, verplicht, geen negatieve waarden, minimum en maximum gezet. Dezelfde velden worden variabelen in de formula builder.
Uit de formulevoorbeelden:
``` product_price + (width * height) ```
Basis: productprijs plus oppervlakte. Als `width` en `height` in meters staan en je tarief in de productprijs of een metafield zit, is dit al een werkende m²-calculator. Voor een puur oppervlaktetarief zonder extra keuzes zie Shopify prijs per m2.
``` product_price + 25 + (width * height) ```
Vaste setupkost (inmeten, inpakken, zaagkosten) plus oppervlakte.
Een dropdown “materiaal” met numeric values `1`, `1.2`, `1.5` als multiplier:
``` product_price + (width * height * material_type) ```
Premium is voor drempels, niet voor de basisformule. Conditional pricing: als `width > 200` een hoger tarief, of als de som onder de €100 duikt een minimumprijs. Live preview van personalisatie en een price breakdown zijn eveneens Premium. AI-generatie van velden en formules zit op Starter en hoger. Wat in de listing onder Premium staat, hoort zo in je plan.
De app valideert de berekende prijs server-side; het is geen display-only truc in de browser. Ingevulde maten gaan mee op de orderregel, zodat de werkplaats dezelfde centimeters ziet als checkout.
Stel: je verkoopt horren. De klant meet het kozijn. Jij hebt nodig:
Breedte in mm (number, verplicht, min 300, max 2400)
Hoogte in mm (number, verplicht, min 300, max 2200)
Framekleur (swatch, 6 kleuren — geen voorraad per millimeter, wél per RAL als je profiel op voorraad legt)
Montage: in de sponning / op het kozijn (radio, eventueel toeslag)
Punten 1 en 2 zijn continu. Native Shopify kan dat niet als variant. Punt 3 mag een echte variant blijven als je per kleur inkoopt; anders is het een swatch-veld met een numeric value van `0` of een kleine upcharge. Punt 4 is een keuze, geen SKU.
Formule, met breedte en hoogte omgerekend naar meters in de formule of via een computed property:
``` product_price + ((width / 1000) * (height / 1000) * 85) + montage ```
`85` is het m²-tarief in dit voorbeeld; `montage` is `0` of `12` afhankelijk van de radio. Test met previewwaarden: 800 × 800 mm moet een ander totaal geven dan 1800 × 1400 mm, zichtbaar vóór add to cart.
Zet min/max strak. De Number Input-docs zijn daar expliciet over: een waarde onder het minimum is ongeldig, de klant kan niet bestellen. Dat voorkomt een hor van 2 mm of een bestelling groter dan je pers.
Hetzelfde patroon geldt voor een werkblad (lengte × diepte + houtsoort als variant), raamfolie, of een paneel op lengte. De catalogus blijft één product (of een handvol echte SKU’s). De klant typt de maat.
Installeer Options Price Calculator. Free plan: 20 uses, op een Develop-store altijd gratis. Starter ($9.99/mo) voor onbeperkte opties en de formula builder. Premium ($14.99/mo) als je drempels of live preview nodig hebt.
Voeg het app block toe op het producttemplate — How to Add the Extension to the Product Page. Plaats het onder de prijs, boven Add to cart.
Maak twee number fields (breedte, hoogte) met units in het label, keys `width` en `height`, required, min/max, default op een gangbare maat.
Houd frametype of doek als Shopify-variant als je daar voorraad op wilt. Link per variant een calculator als het tarief verschilt — zie Linking Products & Variants.
Schrijf de formule, test met previewwaarden, sla op. Controleer op de storefront dat de prijs meeloopt als je de getallen wijzigt.
Optioneel: productdata in de orderbevestiging, zodat klantenservice de maten niet uit een notitie hoeft te vissen. Selector picker als je thema de prijs of de knop op een ongebruikelijke plek rendert.
Made-to-measure verkopen Shopify is geen extra option value. Het is een continu bereik dat niet in 3 options / 2048 variants past. Line item properties bewaren de centimeters; ze rekenen niet. Offertes rekenen wel, maar stoppen de checkout.
Zet number inputs en een formule op de productpagina met Options Price Calculator. De klant vult de maat in, ziet het totaal, en bestelt — zonder dat jij een SKU per millimeter bijhoudt.
Diensten
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins