
A4, A3, 50×70: dat zijn SKU’s. 47,3 × 81,2 cm is dat niet. Zodra je posters, canvas of fotoafdrukken op elke centimeter wilt verkopen, botst print-on-demand met hoe Shopify producten modelleert. Print on demand eigen formaat Shopify is precies die kloof: de klant typt breedte en hoogte, stuurt een bestand mee, en de prijs moet meebewegen — zonder dat jij voor elk formaat een variant aanmaakt.
In de Shopify Community is dat geen nichevraag. In Custom product dimensions, price per square meter and cropping of graphics wil een shop posters op maat, prijs per m², een minimum en een bestand van de klant of uit de catalogus. In Search app for different variants and pricing based on dimensions typt iemand 20×20 cm en verwacht dat het bedrag in de prijs meeloopt. Dat is geen extra Size-option; dat is een formule plus een upload.
Dit artikel laat zien waarom een variantmatrix voor POD-formaten vastloopt, hoe je met Options Price Calculator cm-velden, materiaal en file upload op één productpagina zet, en wat je wél als native variant laat staan.
Volgens Adding variants mag een product maximaal drie options hebben en maximaal 2048 variants. De oude grens van 100 is in oktober 2025 verhoogd (Shopify-changelog). Voor een posterlijn met A4 / A3 / 50×70 en twee papiersoorten is dat ruim voldoende. Elke combinatie is een echte SKU: ander vel, andere inkoop, soms andere voorraad.
Vrije centimeters zijn een ander product. Elke millimeter als variant aanmaken is onmogelijk én onwenselijk. Tien breedtes × tien hoogtes × drie materialen × twee afwerkingen is 600 SKU’s — en je drie options zijn al op. Een vierde keuze (hangsysteem, mat/glans, witrand) past native niet. Continue maten horen niet in een dropdown van 400 rijen.
Shopify prijst de gekozen variant. Er is geen veld “breedte in cm” dat de prijs herberekent. Wat je in Liquid als `properties[Breedte]` wegschrijft, komt op de orderregel — de prijs verandert niet. We legden dat eerder uit bij Shopify line item properties en prijs. Voor print is dat dodelijk: 30×40 cm en 90×120 cm zouden dezelfde SKU betalen.
Werkt tot je catalogus een prijstabel wordt. Klanten die “net iets groter dan 50×70” willen, mailen. Jij maakt een draft order. Dat is geen self-serve checkout.
Canvas, posterpapier, forex: elk een eigen product, zodat je options overhoudt voor formaat. Dubbele content, rommelige related products, en de vrije cm blijft onopgelost.
Klant stuurt een PDF, jij rekent m² × tarief in een spreadsheet. Dat schaalt niet, en het is precies het patroon dat we bij offertes vervangen door een Shopify-prijscalculator beschreven. POD verdient dezelfde self-serve flow als een standaardproduct.
Houd native variants voor voorraadbare keuzes: posterpapier versus canvas, of een collectie met eigen inkoop. Alles wat geen eigen voorraadregel nodig heeft — vrije breedte, vrije hoogte, upload, toeslag voor extra bestand — hoort in productopties.
Options Price Calculator is daarvoor gebouwd: onbeperkte velden (number inputs, dropdowns, swatches, file upload) en een formula builder die de prijs live bijwerkt, zonder extra variant per centimeter. De app is Built for Shopify en hangt als theme app extension op de productpagina.
Een vlakke oppervlakteprijs staat in de Pricing / Formula Examples:
``` product_price + (width * height) ```
Als `width` en `height` in meters staan, is dat m². Werk je in centimeters, reken om in de formule — bijvoorbeeld `(width * height / 10000)` als tarief per m² — en rond aan het eind af. De formula builder ondersteunt `+ − × ÷ ( )` en helpers als `Math.round`.
Materiaal als multiplier (poster 1, canvas 1,4, forex 1,8) volgt het dropdown-voorbeeld:
``` product_price + (width * height * material_type) ```
Een vaste setupkost voor printen, plus oppervlakte, is example 5 in dezelfde docs:
``` product_price + 25 + (width * height) ```
File upload mag de prijs beïnvloeden. In de File Upload-docs krijgt het veld een numeric value; die telt mee per geüpload bestand. Example 9:
``` product_price + file_upload ```
Combineer dat met oppervlakte. Unchecked of geen bestand: bijdrage `0`. Twee bestanden bij value `15` telt als `30`. Maximaal 1–5 files, types (JPG, PNG, PDF, …) en een max upload size stel je in het veld in. Verplicht de upload als je zonder bestand niet kunt printen.
Live preview van tekst op een product is Premium (Product Personalizer). Dat is géén volledige crop-tool voor verhoudingen zoals sommige customizers. Wees daar helder over: OPC dekt de prijs en de bestanden; een aparte designer-app blijft nodig als je interactief wilt bijsnijden. Conditional logic — minimumprijs onder 100, of een hoger tarief boven 200 cm — is eveneens Premium ($14.99/maand op de listing). Starter ($9.99) heeft de formula builder, onbeperkte opties, AI-generatie van velden en meertalige labels.
Stel: je verkoopt foto-canvas. De klant kiest:
Breedte (number, cm, min. 20 / max. 200)
Hoogte (number, cm, zelfde range)
Afwerking (dropdown: 2 cm spieraam / 4 cm, numeric value als toeslag of multiplier)
Bestand (file upload, verplicht, PDF/JPG/PNG, max. 50 MB)
Native Shopify geeft je drie options. Dit zijn twee continue maten plus een keuze plus een bestand. In OPC blijven spieraam-dieptes desnoods een echte variant (andere inkoop). Breedte, hoogte en upload zijn calculatorvelden.
Formule, meters in de velden of omgerekend:
``` product_price + (width * height * material_type) + file_upload ```
Test drie cases voordat je live gaat: 30×40, 70×100, 120×180. Check of afronding klopt en of de cart hetzelfde bedrag toont als de productpagina. Server-side price validation (app-wide setting) herberekent de prijs buiten de browser; vertrouw niet alleen op storefront-JavaScript.
Op de order komen de ingevulde cm en het bestand mee. Optioneel stuur je die data in de orderbevestiging, zodat fulfillment dezelfde maten ziet als checkout. We schreven eerder over bestand uploaden op de Shopify-productpagina; dit stuk koppelt die upload aan oppervlakteprijs in plaats van een vaste toeslag. Voor print op groot formaat (spandoek, mesh) is het zusje spandoeken prijs berekenen op Shopify — zelfde som, ander materiaal.
Zelfde patroon als in What app do I need to be able to do this sequence?: klant vult breedte en lengte in, de prijs volgt, zonder een variant per cel. Dat thread gaat over tapijt en signage; posters en canvas zijn dezelfde wiskunde.
Installeer Options Price Calculator via de listing. Free plan: 20 uses (op een develop-store altijd gratis). Starter voor onbeperkte opties; Premium als je minimumprijs of live preview nodig hebt. Zie How to install the app.
Zet het app block op je producttemplate, bij voorkeur onder de prijs en boven Add to cart — How to Add the Extension to the Product Page.
Maak number inputs voor breedte en hoogte (één eenheid, duidelijk gelabeld: cm of m). Dropdown of swatch voor materiaal/afwerking. File upload met toegestane types en optionele handling fee.
Schrijf de formule, test previewwaarden, koppel de calculator aan het product of per variant (papier vs. canvas als SKU).
Draai de selector picker als je thema de prijs of de knop niet oppikt. Check cart, checkout en de orderregel.
Houd A4/A3 als variant als je die op voorraad legt. Laat “eigen formaat” de calculator zijn, niet nog een Size-value “custom” zonder prijs.
Print on demand eigen formaat Shopify lost je niet op met méér variants. 2048 SKU’s helpen als elk formaat een doos in het magazijn is. Vrije centimeters, een upload en een m²-tarief horen in velden plus een formule.
Zet die flow live met Options Price Calculator: klant kiest het formaat, stuurt het bestand, ziet de prijs, en jij print wat er op de order staat.
Diensten
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins