Get in touch
  • WordPress
  • Sales and conversion
  • v1.0.0

Size Price Calculator for WooCommerce — price by size: metre, m², m³

The customer enters a length, width × height or width × height × depth and sees the price for exactly that size. The product price becomes the price per metre, m² or m³ (or foot, yard), units are converted automatically. Minimum, maximum, step or a list of sizes, minimum billed area and rounding, sizes in the cart, checkout, order and e-mails. The base version is free; Pro adds a price formula, a width × height price table, a size → existing SKU matrix, volume discounts, a setup fee and stock in m².

Download Free
Pro · one-year licence The more sites, the less each one costs
Compatibility
WordPress 6.2+ · WooCommerce 7.0+ (tested on WordPress 7.1 and WooCommerce 11.1) · PHP 7.4+ (live runs on PHP 7.4 and 8.3) · HPOS · classic and block cart and checkout · Storefront and Twenty Twenty-Five themes
Licence
one site, annual
Trial
7 days, no card, one per site
Updated
September 2026
Or all 144 Pro modules with All Access — 4 990 ₴ / year

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Three modes: length, area (width × height), volume (width × height × depth) ✔ ✔
The customer enters mm, cm, m, inches, feet or yards; the price is per m, m², m³, foot, ft², yard… converted automatically ✔ ✔
Product price (the sale price when on sale) = price per unit; for variable products, the chosen variation’s price ✔ ✔
Per dimension: your own label, minimum, maximum and step, or a list of allowed values (drop-down) ✔ ✔
Minimum billed measure per piece (0.4 m² is charged as 1 m²) and rounding up to a step ✔ ✔
Live price on the product page — calculated by the server with the same function as the cart ✔ ✔
Sizes, area and "billed as" in the cart, mini-cart, checkout, order, e-mails and admin ✔ ✔
The same product in different sizes = separate cart lines; "Order again" keeps the sizes ✔ ✔
Catalogue: price "€25 / m²" and a "Choose size" button instead of "Add to cart" ✔ ✔
Classic and block cart and checkout, HPOS ✔ ✔
Currency switchers that convert product prices (tested with our Multi Currency), coupons and taxes ✔ ✔
Admin and storefront in English, Ukrainian, Russian, Spanish ✔ ✔
Price formula: width, height, area, perimeter, price, quantity, min/max/round/if — ✔
Width × height price table, pasted from Excel — ✔
"Size → existing SKU" matrix (product or variation) with its own price and stock — ✔
Volume discounts by the line’s total measure — ✔
Setup fee per line and minimum price per piece — ✔
Stock in m² (m, m³): "measure × pieces" taken on order, returned on cancellation — ✔

What it looks like

Size fields and live price on a WooCommerce product page — desktop and phone
Product page in Twenty Twenty-Five (left) and Storefront on a 390 px phone (right): width and height in centimetres with the range hint, then area and price. 0.96 m² is billed as 1 m² because the product has a 1 m² minimum.
WooCommerce block cart with sizes, a volume discount and a setup fee
Block cart: width, height and area under every product, a −5 % volume discount on the glass line, panel M added through the matrix, the door with the colour the customer chose on the configurator. The setup fee is a separate line.
"Size pricing" tab in the WooCommerce product editor
The tab in Product data: mode, units, dimension limits, minimum measure and rounding, then the Pro settings (pricing method, SKU matrix, volume discounts, setup fee, stock in m²).

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — one site

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. If our server is unreachable, Pro keeps working for 14 more days. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • WordPress 6.2+ and WooCommerce 7.0+. Live run on WordPress 7.1 and WooCommerce 11.1 with HPOS, on the classic and block cart and checkout.
  • PHP 7.4+. Live runs on PHP 7.4 and PHP 8.3.
  • Themes. The size fields are shown in WooCommerce’s standard add-to-cart form; tested with Storefront and Twenty Twenty-Five. Themes and page builders that replace the product form with their own were not tested.
  • Currency switchers that convert product prices through WooCommerce filters work; tested with our Multi Currency.
  • Other price and option plugins (Product Add-Ons, YITH) and page caching were not tested together with the module.

Version history

v1.0.0 Current September 2026

First public release: selling by length, area and volume, units mm/cm/m/in/ft/yd, limits and size lists, minimum measure and rounding, live price, sizes in the cart, checkout, order and…

Frequently bought with Size Price Calculator for WooCommerce

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Size Price Calculator Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 144 modules in All Access for 4 990 ₴.
3 590 ₴ / year instead of 5 960 UAH bought separately
Buy the bundle →

Full module description

Size Price Calculator for WooCommerce sells products cut to size: blinds and roller shades, glass and mirrors, fabric, flooring, countertops, rods and cable, banners. The customer enters the size on the product page, sees the price for exactly that size right away, and the size travels with the order — to the cart, checkout, e-mail and admin.

The product price becomes the price per unit: enter 25 and “per m²” — a 120 × 80 cm blind costs 0.96 m² × 25. The customer types centimetres, millimetres, inches or feet, the price is per metre, m², m³, foot or yard, and the plugin converts between them. Variable products work the same way: each variation’s price is its price per unit.

What the customer sees

  • Size fields above “Add to cart”. The name and unit of each dimension, a hint like “30–300 cm, step 1 cm” or a drop-down of allowed sizes.
  • Live price. Area, “billed as 1 m²”, price per piece and for the whole quantity. Errors right away: “Width must be at most 300 cm”.
  • Catalogue. Price with the unit, “€25 / m²”; the “Choose size” button leads to the product page — nothing reaches the cart without a size.

In the cart, mini-cart, checkout, order and e-mails, under the product: width, height, area and “billed as”. The same product in two sizes is two lines. The store always calculates the cart price: sizes from the browser are checked and recalculated on the server.

What the admin gets

  • “Size pricing” tab in Product data: “Sell by size”, mode (length, area, volume), input and price units.
  • Dimension limits: your own label (“Fabric width”), minimum, maximum, step or a list of values.
  • Minimum billed measure and rounding — for pieces not worth cutting smaller.
  • WooCommerce → Size Price Calculator: the list of products sold by size (marked when a product cannot be ordered right now), decimals, catalogue button text, “/ m²” after the price, data removal.

Pro: formula, table, SKU matrix, discounts and stock in m²

  • Price formula. Variables width, height, depth, length, measure, perimeter, price, qty and functions min, max, ceil, floor, round, abs, sqrt, if — e.g. measure * price + perimeter * 4. Its own formula parser, no eval; a broken formula gets a hint on save.
  • Width × height price table, like blind and roller-shutter price lists: paste the grid from Excel or CSV — the customer pays the nearest larger cell. A size outside the table cannot be ordered.
  • Volume discounts by the line’s total measure: “from 10 m² −5 %, from 50 m² −12 %”.
  • Setup fee (cutting, preparation) as a separate cart line, and a minimum price per piece.
  • Stock in m²: the product’s stock is metres or m², an order takes “measure × pieces”, a cancellation returns it. WooCommerce does not limit such products by pieces.

“Size → existing SKU” matrix. One line per rule: a range for each dimension, then the SKU — 0-100; 0-100; PANEL-S. The customer enters the size on the configurator, and your existing product or variation goes into the cart — with its price, stock and SKU in the order. If the SKU is a variation with “Any colour”, the colour comes from what the customer picked on the configurator.

How it works — step by step

  1. You tick “Sell by size” on the product, choose the mode and units, and enter the product price as the price per unit.
  2. The customer enters a size — the page asks the store for the price, and the server calculates it with the same function as the cart.
  3. “Add to cart” — the size is checked again (limits, step, list; in Pro also table, matrix, stock) and saved on the cart line.
  4. Every time the cart is recalculated, the line price is calculated again from the size — a changed product price or rule shows in the cart at once, and an impossible size is removed from the cart with an explanation.
  5. At checkout the size is written to the order line: readable rows for e-mails and admin and a hidden record for “Order again”.

Under the hood

  • The price is calculated on the server. One function for the live price, add to cart and cart recalculation; only the size numbers come from the browser.
  • Data. Rules in the product meta _catcode_spc, the size on the order line (visible rows + hidden _catcode_spc), settings in one option catcode_spc_settings. No custom tables.
  • For developers. The catcode_spc_quote filter has the last word on price, fee and measure.
  • Uninstall. Settings are always removed, product rules when “Delete data on uninstall” is ticked, sizes in orders stay as part of the history.

Installation

  1. Download the free version catcode-size-price-calculator-for-woocommerce-1.0.0.zip with the button at the top of the page (or the Pro zip from your account after payment) and install it: Plugins → Add New → Upload Plugin.
  2. Open a product and enter its price as the price per unit — e.g. 25 per m².
  3. Product data → “Size pricing”: tick “Sell by size”, choose length, area or volume, the units and limits, save.
  4. Open the product page — the size fields and the live price are above “Add to cart”.
  5. For Pro: paste the licence key under WooCommerce → Size Price Calculator or click “Try Pro for 7 days”.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Which price is the price per unit?

The product’s current price — the sale price while a sale is on. For variable products, the price of the chosen variation. Enter 25 and "per m²" — a 120 × 80 cm blind costs 0.96 m² × 25.

Can the customer pick only fixed sizes?

Yes. Enter the allowed values in "Only these values" (e.g. 2; 4; 6; 8) — the field becomes a drop-down.

How do the minimum and rounding work?

Per piece: the real area first, then raised to the minimum, then rounded up to the step. The cart shows both — "0.96 m² (billed as 1 m²)".

Can the price be changed in the browser?

No. The cart gets the price the store calculated: sizes are checked and recalculated on the server every time the cart is.

A second currency, taxes, coupons?

Tested: the Multi Currency switcher (price, table, formula, setup fee and matrix are converted into the customer’s currency exactly once), prices with and without tax, percent, product and cart coupons.

What is the "size → SKU" matrix?

Pro. If you already sell panels S, M, L as separate products or variations, the configurator puts the matching SKU into the cart for the entered size — with its price and stock. A size with no matching SKU, or out of stock, cannot be ordered.

A variation with an "Any" attribute in the matrix?

A size cannot tell the colour or material, so the value comes from the configurator product with the same attribute (the customer picks it on the page). If there is nowhere to take it from, the size is not sold, and the admin sees a hint when saving the product.

How does stock in m² work?

Pro. The product’s stock is metres or m²; an order takes "billed measure × pieces", rounded up, and a cancellation returns it. WooCommerce does not limit the number of pieces for such products — 20 pieces of 0.04 m² with 10 m² in stock can be bought, 12 m² cannot.

What happens to the sizes if I delete the plugin?

Sizes in orders always stay. The plugin’s settings are removed; the size rules of products only if "Delete data on uninstall" is ticked.

I have the free copy from wordpress.org and installed Pro.

Upload the Pro zip under Plugins → Add New and agree to replace the current version — settings and products are kept. If the two copies ended up in different folders, there is no fatal error: Pro runs and the free copy pauses with a hint to remove it.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module