Applies to Cmsmart Product Designer (NBDesigner) 2.17.0 · Updated October 2026. Menu names and field labels below are from the current admin screens on the Cmsmart demo store; example prices are yours to set.

In short

  • The outcome: a buyer sees the right price the moment they pick a size and a quantity, orders without waiting for an email, and your margin stays exactly where you set it.
  • How it works: a WooCommerce price matrix in Cmsmart Printing Options turns two option fields into a price grid, with quantity breaks and price formulas doing the rest; Cmsmart builds a custom pricing engine once your rules outgrow a grid.
  • What it takes: one Printing Options group, two fields with a data type of Multiple options, the Price Matrix display type, and your price list.

A buyer wants 250 flyers, then asks what 500 would cost, then whether a heavier stock changes the price. On most print sites that is three emails and a spreadsheet lookup, and by the time your reply lands they have ordered from a competitor who showed the price on the page. A WooCommerce price matrix fixes that by putting the whole grid on the product page.

Print pricing is never one number; it moves with size, quantity, stock and finish. Pick a cell, see the price, add to cart. This guide covers the business case, the steps to build one with Cmsmart Product Designer (NBDesigner) Printing Options on WooCommerce, and when Cmsmart builds a custom pricing engine instead.

Printed sheets stacked on a pallet after a print run, priced online with a WooCommerce price matrix
Every size, quantity and stock combination on the production floor needs a price online, without a manual quote.

Why does manual print quoting cost you orders?

Manual quoting costs a print shop twice over: staff time answering the same questions, and buyers who leave before the answer arrives. A WooCommerce price matrix built in Cmsmart Printing Options shows every size-and-quantity price instantly, so buyers check out on the spot and your team only quotes the jobs that are genuinely custom.

  • Slow answers. A quote that takes hours is competing with a storefront that shows a price in seconds.
  • Inconsistent prices. Two staff members price the same job differently from two versions of the same spreadsheet.
  • Invisible volume discounts. Separate dropdowns for size and quantity hide the saving a buyer would take if they could see it.
  • Margin drift. A discount given by hand over email rarely gets logged anywhere, so your real margin quietly moves away from your cost base.
  • Office-hours-only sales. A request that lands at 10pm waits for someone to open the shop in the morning.

Put your own numbers against it: quote requests per month × minutes per quote × your hourly cost, plus requests that never convert × the margin on an average order. Baymard Institute's checkout research found that 40% of shoppers who abandon a cart do so because extra costs were too high, and a further 12% abandon because they could not see the total cost up front, exactly the gap a price matrix closes before checkout (Baymard Institute, 2025). The same self-service appetite shows up in B2B buying: a Gartner survey of 646 buyers found 67% would rather complete a purchase without a sales rep at all (Gartner data via Digital Commerce 360, 2026), and a print buyer emailing for a price is exactly that rep-dependent step.

What could instant, transparent print pricing look like for your buyers?

With instant pricing, a buyer opens the product page, sees sizes and quantities as a grid, clicks a cell, watches the price update, and moves straight into the designer. Cmsmart Product Designer renders that grid from a single Printing Options group, and the same group can price many products at once.

Example scenario

An office manager needs business cards for a new hire by Friday. A grid on your product page shows paper weight against stock options, and the saving per card at a heavier, pricier stock is obvious without asking anyone. They pick a finish, open the designer, approve their proof and pay, no email thread, no quote request, and your team finds a priced, designed order waiting on Monday morning.

On the Cmsmart demo store, a shopper reaches that price before any design work begins: here the Business Card - with print option product shows its total price the moment the custom dimension and orientation fields are set, with the matrix fields still below.

NBDesigner business-card-wpo demo product page showing a total price of $20.60 with custom dimension and orientation fields, above the price matrix
The buyer sees a price before they finish choosing options, the same product page a price matrix renders its grid on.

Want to model this against your own price list? Talk to an ecommerce expert.

How does Cmsmart turn a price list into a WooCommerce price matrix?

A price matrix is a two-dimensional price table: one option on the columns, a second on the rows, a price in every cell. In Cmsmart Product Designer it is a display type of a Printing Options group, sitting alongside quantity breaks and formula pricing; rules that go beyond a grid move to a custom pricing engine Cmsmart builds for you.

Price matrix vs. dropdowns: a dropdown asks the buyer to choose one value at a time and reveals the price only at the end; a matrix shows every combination at once, which is what makes a volume or material saving visible instead of buried.

Web-to-print workflow diagram: B2B storefront with price lists, online designer, customer approval, print-ready file, production queue, fulfilment
Pricing sits at the very start of the web-to-print workflow, before a single design is even opened.

On the live demo, the Business Card - with print option product carries exactly this grid: paper weight across the top, material down the side, and the combination the buyer picked highlighted with its price.

WooCommerce price matrix on the business-card-wpo demo product: Silk paper priced across 100gsm, 130gsm, 170gsm and 300gsm, with the 100gsm cell highlighted at $20.60
A real price matrix cell selected on the demo store: the highlighted price is the exact one that carries to the cart.
Pricing needIn the plugin today (2.17.0)Built as custom development
Size × quantity or material gridDisplay type Price Matrix on a Printing Options group, with Manual build price matrix for a price per cellMatrices imported straight from your price list or MIS
Rules per optionPrice type per field: Fixed amount, Percent of the original price, Percent of the original price + options, Current value × price, Price per char, or a Math formulaCost-plus pricing calculated from stock, ink and press time
Volume pricingQuantity breaks (fixed or percentage discount) under Printing options > Quantity, plus Bulk variation for apparelCustomer-group and contract price lists, minimum order quantities
Custom jobsGet a quote on a product, with a Quote Requests screen for repliesQuote approval, expiry and one-click quote-to-order conversion

Cmsmart insight: build the manual matrix for your best-selling products, where you want an exact price in every cell, and reach for a Math formula field on the long tail where cell-by-cell pricing would never finish. Leaving a cell empty in the manual matrix is also the simplest way to stop an order you never want printed, no extra setting needed.

Cmsmart Printing Options list with 15 option groups across business cards, T-shirts, photo frames and stickers, each applied to its own products
Business cards, T-shirts, photo frames and stickers each keep their own Printing Options group, 15 in total here, one system pricing a whole catalogue.

What happens to that price once the order lands is part of the same architecture:

  1. Order arrives. Cmsmart > Orders lists the order with its design and the price the matrix quoted.
  2. Artwork is approved. The Customer Design box shows the design; a shop manager ticks it and clicks Accept + GO, which triggers the approved-artwork lock (2.17): saving over a design whose order item is approved is now refused, whatever link or tab the save comes from.
  3. The print-ready PDF renders via Cmsmart Cloud; the order screen shows Ready, the render time and the renderer, with a one-click Regenerate.
Customer Design box on the WooCommerce order screen with the artwork checked and Accept + GO ready to approve it
Approving the artwork here is what triggers the approved-artwork lock on the priced order.
Order artwork screen showing Print-ready PDF: Ready, rendered by the cloud renderer, with a Regenerate print-ready PDF button
Print-ready PDF status on the order: rendered by Cmsmart Cloud, with a one-click Regenerate if the design changes.

What is the business value of pricing print products online?

Online print pricing pays back through fewer manual quotes, consistent margins, volume discounts that lift order size, and sales that close outside office hours. Cmsmart recommends tracking quote volume, quote turnaround time, conversion on priced products and average order value before and after you switch a product line to a matrix.

BenefitHow it shows up in your businessKPI to track
Fewer manual quotesStandard jobs are priced on the page, not in your inboxQuote requests per month
Consistent marginsEvery price comes from your rules, not whichever spreadsheet a staff member has openGross margin per order
Larger ordersVolume savings are visible in the grid instead of hidden behind a dropdownAverage order quantity and value
Faster buyingNo gap between "how much is this?" and checkoutProduct-page-to-checkout conversion
24/7 salesPriced orders can be placed at night and on weekendsOrders placed outside working hours

ROI worksheet. Monthly saving = quotes avoided × minutes per quote ÷ 60 × your hourly staff cost. Monthly upside = extra orders you expect from faster buying × your average order margin, using your own conversion assumption. Weigh both against the cost of setting up the matrix or commissioning a pricing engine.

The category itself is still growing: the global print-on-demand market reached an estimated $11.38 billion in 2025, forecast to grow at roughly a 20% CAGR through 2034 (IMARC Group, 2025), more storefronts launch every year, raising the cost of still answering with "let me get back to you on price."

How do you set up a price matrix with Printing Options?

To set up a price matrix, create a Printing Options group, add at least two fields with a data type of Multiple options, give each option a price type, then switch the group's Appearance to the Price Matrix display type and place one field on each axis. Every label below is from Cmsmart Product Designer.

  1. Create the group. Go to Cmsmart > Printing Options, click Add new, name it (for example "Business card matrix"), and under Apply for choose Products or Categories.
  2. Add the two axis fields. Under Printing fields, add two fields with the data type Multiple options, for example Size or Color/Material, and Quantity. A field joins the matrix once it is enabled, has at least one attribute, and carries no Field Conditional Logic.
    Printing Options editor showing the Printing fields picker: Size, Custom dimension, DPI and other field types available for a matrix axis
    Every field type a matrix axis can use lives in this one Printing fields picker.
  3. Set a price type and quantity breaks. Give each field a Price type (Fixed amount, Percent of the original price, Math formula, others), then set volume pricing under Printing options > Quantity.
  4. Switch Appearance to Price Matrix. In the group's Appearance tab, set Display type to Price Matrix, then drag your two fields into Horizontal fields and Vertical fields.
    Printing Options group editor showing Quantity breaks and the Appearance tab's Display type field, currently set to Default
    Quantity breaks live in the same group as the matrix; the Appearance tab's Display type field, shown here set to Default, is where you switch the group to Price Matrix.
  5. Build it manually where it matters (optional). Tick Manual build price matrix and type an exact price per cell. This disables empty cells for the buyer and replaces the product's base price with the cell price.
  6. Tidy up the cart. Under Cmsmart > Settings > Printing Options, use Hide option price in the cart or in the order if only the line total should show. On the demo store the matrix cell a buyer picked carries straight through: the cart line item keeps the exact price the grid quoted, with no renegotiation in between.
    WooCommerce cart line item for Business Card - with print option showing the price $20.60 carried through from the price matrix
    The price the buyer picked on the matrix is the price that reaches the cart, with no renegotiation in between.

For apparel, the Bulk variation display type shows one quantity input per size instead of a matrix grid, useful when every size shares the same price. See the car wrap store guide for size-based products, the DPI guide for print quality, or the Printing Options setup walkthrough if you are starting from scratch.

Video thumbnail: how to create a price matrix table in NBDesigner
Video: How to Create a Price Matrix Table For Your Online Design (Cmsmart on YouTube)

When should you go further than the matrix with custom development?

A price matrix handles any pricing rule that depends only on the options a buyer picks. You need custom development once price also depends on something outside the matrix: real cost inputs, who the customer is, rush timing, or data that lives in another system. Cmsmart builds these as projects on top of WooCommerce: discovery, solution design, sprints, QA, launch and support.

  • Cost-plus pricing engine. Price calculated from stock, ink, press time and finishing, plus your markup, so margin tracks real costs as they move. See our pricing engine development service for how this gets scoped.
  • B2B price lists. Contract customers see their own negotiated prices, not your retail matrix: customer-group pricing, minimum order quantities and PO approval.
  • MIS/ERP price sync. Matrices and rules imported from your MIS or ERP, so price has one source of truth instead of two.
  • Quote-to-order workflow. Get a quote extended with approval, an expiry date and one-click conversion to a paid order.
  • Pricing analytics. A report on which cells actually sell, and which combinations buyers abandon.

Going further than a grid is also where going further than WooCommerce's defaults tends to pay off, see our web-to-print solutions for how pricing, the designer and fulfilment fit together across a store, and our project delivery model for how a custom pricing engine actually gets built.

Get a custom pricing engine quote

Why work with Cmsmart on your print pricing?

Cmsmart builds the Printing Options engine and the Price Matrix display type inside Cmsmart Product Designer itself, and has been building web-to-print stores since 2012 as a division of Netbase JSC, so your pricing is set up by the same team that wrote the code, not a reseller reading from a manual.

Our own project records count 6,300+ client projects and 500+ custom development projects across 80+ countries since 2012, and Cmsmart is rated 4.2 on Trustpilot from 404 reviews. A recent five-star review: "The designer works exceptionally well across all devices and allows us to create the exact customisations required to perfectly fit our products and our business model.", Web Developer, Trustpilot, September 2026. Related work: a web-to-print catalogue built for custom printing.

Frequently asked questions

Do I need Printing Options to build a price matrix?

Yes. The price matrix is a display type of a Printing Options group in Cmsmart Product Designer, there is no separate "price matrix" feature to install.

How many fields does a price matrix need?

At least two. The options on your horizontal field become the columns and the options on your vertical field become the rows.

What happens to a combination I don't want to sell?

Turn on Manual build price matrix and leave that cell empty. The combination shows as disabled on the storefront, so a buyer cannot select it.

Can I price by the size of the artwork instead of a fixed size list?

Yes. Use a Custom dimension field with Enable measure price base on design area, then choose Price per Unit or Area breaks.

Can different customers see different prices on the same matrix?

Not with the standard matrix, every visitor sees the same grid. Customer-group and contract price lists are built by Cmsmart as custom development.

Does my cart always show the exact matrix cell price my buyer picked?

Yes. The cart line item and the order carry the price of the exact cell the buyer selected on the matrix, not the Printing Options group's base price.

What is a price matrix?

A price matrix is a grid that gives a price for every combination of two options, such as size and quantity, so a buyer reads the exact price in one cell. Print shops use it to publish a price list online. In Cmsmart Printing Options you choose the fields for the columns and rows and let the plugin build the grid.

Can I load my existing print price list into a WooCommerce price matrix?

Yes. For a small list you type the price for each combination by hand in the matrix, or let the plugin build the grid from your option prices. For large price lists, Cmsmart's price matrix and bulk pricing import service loads your numbers and checks them against your source file. It is quoted per project.