Why can't a custom size use the same price table as a catalogue product?
A catalogue product has a fixed set of sizes, so each one can carry its own stored price. A custom size is a width and a height the customer types, drawn from a continuous range rather than a short list. There is no row in a variant table for 743mm by 1189mm if the next customer orders 744mm by 1189mm. The price has to be computed from the dimensions themselves, every time, and the calculation has to agree with what production actually does with that sheet or that length of roll.
The thesis of this page is narrow on purpose: most "we can't price custom sizes online" problems are not a missing feature, they are a missing model. A text box that accepts any number is not a pricing engine; it is an unvalidated input waiting for a size the press cannot run, a quantity that is not economical, or a value that silently breaks the next step in the order. The fix is not a bigger input field. It is area or perimeter as a first-class calculation, sheet or roll yield read from the actual stock, a stated minimum and rounding rule, and validation limits that reject a size before it reaches a quote.
We can formalise a print pricing model into an engine the client owns, accepted against a regression suite of the client's own known-good quotes. This page covers the custom-size boundary specifically; the general pricing model, including quantity breaks, customer tiers and contract terms, is scoped under print pricing engine engineering.
Key takeaways
- A custom width and height cannot carry a stored price; the price has to be computed from area, perimeter or yield at the moment the customer types it.
- Sheet-fed and roll-fed stock use different yield mathematics, and the engine has to know which one applies to a given product before it can quote.
- Minimums and rounding are commercial decisions, not calculator behaviour, and they have to be written down before they are coded.
- Validation limits reject an impossible size before checkout, with a reason the customer can read, instead of letting a press-breaking order through.
- The same rule set has to run in the browser for the estimate shown and on the server for the amount actually charged, or the two numbers will eventually disagree.
How does an engine compute a price for a custom size?
The calculation runs in a fixed order, and each stage either produces a number the next stage needs or stops the order with a stated reason.
-
Dimensions
- Input
- Width and height as typed, plus the unit (mm, cm, in)
- What it produces
- A normalised size in one internal unit
-
Area and perimeter
- Input
- The normalised size
- What it produces
- Area for sheet or material cost, perimeter for cut, hem or trim operations priced by length
-
Validation
- Input
- Area, perimeter and the product's configured limits
- What it produces
- A pass, or a rejection naming which limit failed
-
Yield
- Input
- The validated size and the stock's sheet or roll dimensions
- What it produces
- How many pieces per press sheet, or how much roll length the job consumes
-
Rounding and minimum
- Input
- The computed amount and the business's rounding increment and minimum charge
- What it produces
- The amount actually shown and charged
Two products rarely share a rule set even when they look similar. A rigid board sign and a roll-fed banner both take a width and a height, but one is priced from sheet yield and waste, and the other from linear roll length plus a cut allowance. The engine has to know which model a product uses before it can price it; that is a product-configuration decision, not something the calculation can infer.
What does a worked example look like?
Real numbers make the mechanism concrete without publishing a price list, so the example below uses a symbolic pricing unit, written pu, rather than any currency.
A wide-format shop sells rigid board signs from a stock sheet of 1220mm by 2440mm, priced at 0.04 pu per square centimetre of board, plus 0.02 pu per linear centimetre of cut edge, with a 45 pu order minimum and rounding to the nearest 0.50 pu.
A customer orders one sign at 850mm by 620mm.
-
Area
85cm × 62cm = 5,270 cm². Board cost: 5,270 × 0.04 = 210.80 pu.
-
Perimeter
2 × (85 + 62) = 294cm of cut edge. Cutting cost: 294 × 0.02 = 5.88 pu.
-
Subtotal
210.80 + 5.88 = 216.68 pu.
-
Yield check
The stock sheet yields four signs of this size per press sheet with normal layout waste, which the engine records for production but does not change the unit price in this pricing model.
-
Minimum
216.68 pu is above the 45 pu order minimum, so the minimum does not apply.
-
Rounding
Rounded to the nearest 0.50 pu: 216.50 pu.
Order a single 300mm by 300mm sign instead: area 900 cm² and perimeter 120cm give a subtotal of 38.40 pu, below the 45 pu minimum, so the minimum charge of 45.00 pu applies and is the amount shown.
What limits does validation enforce before a quote is shown?
A production limit exists whether or not the storefront checks it, so the only choice is whether the customer finds out before or after paying. The engine validates a typed size using explicit minimum, maximum and step boundaries rather than trusting whatever value arrives, in the same spirit as the min, max and step attributes defined for numeric form fields in the HTML standard.
-
Minimum and maximum dimension
Below the smallest size the press or cutter can register, or above the largest sheet or roll width the equipment takes, the order is rejected with the limit named.
-
Aspect ratio and area ceilings
Some equipment limits total area or an extreme aspect ratio even when both dimensions are within range, such as a very long, very narrow banner.
-
Unit and precision
A size is normalised to one internal unit and rounded to the precision the equipment can act on, for example the nearest millimetre, using the same well-defined rounding a browser or server applies when formatting a computed number.
-
Standard size detection
A typed size matching a standard sheet size, such as an ISO 216 A-series size, can route to a simpler, pre-validated price instead of a full custom calculation.
Rejection has to explain itself. "Width must be between 100mm and 1500mm for this stock" lets the customer correct the order. A blank error or a silently clamped value does not, and it is the difference between a customer who adjusts an order and one who calls support.
Which businesses hit this hardest?
Wide-format and signage printers feel this first, because nearly every job is a custom size by default, and roll yield, tiling and waste all change the calculation. Commercial and trade printers hit it on cut sizes and folded formats where the exact trim size determines imposition. Packaging and label businesses add die-line constraints on top of area and perimeter, so validation often has to check a shape, not only a rectangle. The underlying mechanism, area or perimeter into yield into rounding and minimum, stays the same; only the inputs and limits change.
Our view
Position of the CEO, Netbase JSC, 30 September 2026: a custom-size field with no validation is worse than no custom-size field at all, because it collects an order the business cannot honour at the price shown. We would rather ship a narrower size range with every limit enforced and explained than a wide-open field that depends on someone catching the bad order by hand before it reaches production. Rounding and minimums are business decisions an estimator should sign off in writing, not a default a developer picks. When the same rule set runs in the browser and on the server, the number a customer sees is the number production and finance both agree on.
What evidence stands behind this page?
Netbase JSC, which operates Web2Print Solutions, has delivered 50+ web-to-print platforms. Web2Print Solutions is the web-to-print engineering service of Netbase JSC. Delivery records cited on this site belong to Netbase JSC; where no delivered example of a capability is published, the page says so rather than implying a record. No custom-size pricing engine delivered under the Web2Print Solutions name is published as a case on this site.
Check whether this applies to your catalogue
Send a project brief with one product that takes a custom width and height, the stock's sheet or roll dimensions, your current minimum and rounding rule if one exists, and one size your team has had to quote by hand because the storefront could not. That is enough to show whether the fix is a rule set on the existing platform or a larger model change, of the kind covered in too many variants for real print products.
Frequently asked questions
No, not as a purchasable SKU, because the space of possible sizes is continuous. A storefront can still offer a short list of "standard" sizes as convenience variants alongside a custom-size calculator; the two coexist when the product model keeps them separate.
That is a policy decision the business sets, commonly rounding up to the next increment so the calculated amount never undercuts the true cost. The rule is written down once and applied the same way to every quote.
The engine still prices the job, usually at a higher effective rate because more material is wasted per unit produced; it does not refuse the order unless a hard limit, such as maximum sheet width, is breached.
Yes, if the product record states which yield model applies. The area, perimeter, rounding and minimum stages are shared; only the yield calculation differs between a sheet count and a roll length.
References (3)
- WHATWG, HTML Living Standard: the number state of the input element, including min, max and step, accessed 2026-09-30.
- ISO, ISO 216:2007, Writing paper and certain classes of printed matter — Trimmed sizes — A and B series, accessed 2026-09-30.
- ECMA International, ECMA-262 (ECMAScript Language Specification), Number.prototype.toFixed, accessed 2026-09-30.