Shoperize Price Calculator is live on the Shopify App Store.Install it NEW
Install Price Calculator
← All guidesNovember 3, 2026 · 11 MIN READ

Shopify Charge by Square Meter Calculator: Sell Whole Packs

Stacked tile boxes next to a measuring tape and a floor plan sketch

Short answer: how to charge by square meter on Shopify

To charge by square meter on Shopify while selling whole packs, calculate packs = (area in m² × (1 + waste %)) ÷ m² per pack, rounded up. The total is packs × pack price, because Shopify charges the catalog price times a whole-number quantity. Show the m² price for comparison, but make the pack the thing that goes in the cart.

The formula in 3 lines

  1. Packs needed = m² needed × (1 + waste) ÷ m² per pack, rounded up to a whole number.
  2. Total price = packs × pack price.
  3. Coverage you receive = packs × m² per pack (always equal to or above what the shopper needs).

Why Shopify can't do this natively

Out of the box, Shopify multiplies one variant's price by an integer quantity. There is no concept of "this product is sold in 1.43 m² units, but the shopper thinks in m²." So a tile or flooring store ends up with a gap between how the industry quotes prices (per m²) and what the cart can sell (whole boxes).

A tile merchant described exactly this on the Shopify Community: one box covers 1.43 m², supplier and competitor prices are shown per m², and customers can only buy full boxes. Shopify's theme doesn't bridge that, so the store owner has to build the bridge with variants, theme code, an app or manual quotes. The rest of this guide shows how to do it with correct numbers.

How to calculate cost per square meter (and price per sq metre)

Both questions use the same division: take the pack price and divide by the area the pack covers.

What you know Formula Example
Pack price and coverage Pack price ÷ m² per pack = price per m² €42.90 ÷ 1.43 = €30.00/m²
Price per m² and coverage Price per m² × m² per pack = pack price €30.00 × 1.43 = €42.90
Pack price and sq ft per pack Pack price ÷ sq ft per pack = price per sq ft €42.90 ÷ 15.39 = €2.79/sq ft

The catalog price in Shopify should be the pack price (€42.90). The €30.00/m² figure is a display value derived from it. Keep it that way and the price you charge always matches what the cart multiplies.

Cost per m² is not selling price per m²

"Cost per m²" from your own side is what you pay the supplier. If a box costs you €28.00, your cost per m² is €28.00 ÷ 1.43 = €19.58. Margin is (price - cost) ÷ price, so (42.90 - 28.00) ÷ 42.90 = 34.7%. Shopify's product page has a cost per item field that shows profit and margin, so you don't need a separate margin calculator for this.

Shopify transaction fees are a different topic: they depend on your plan and payment gateway, and you'll find them on Shopify's pricing page. They don't change the square meter math.

For sq ft readers

One m² is about 10.764 sq ft, so a 1.43 m² box covers about 15.39 sq ft. If you sell in both units, see our guide on how to sell by square foot on Shopify. The logic is identical, only the unit changes.

Worked example: a 4.2 m × 3.5 m room with 10% waste and 1.43 m² boxes

A shopper tiling a 4.2 m × 3.5 m room. Box price €42.90, coverage 1.43 m² per box, waste allowance 10%.

Step Calculation Result
1. Room area 4.2 × 3.5 14.70 m²
2. Add 10% waste 14.70 × 1.10 16.17 m²
3. Boxes needed 16.17 ÷ 1.43 = 11.31 12 boxes (rounded up)
4. Total 12 × €42.90 €514.80
5. Coverage received 12 × 1.43 17.16 m²

If you want to test this against a ready-made setup, our Shopify tile calculator page covers the tile case.

The effective price per m²

The displayed price was €30.00/m², but the shopper paid €514.80 for a 14.70 m² room. That is €514.80 ÷ 14.70 = €35.02 per measured m². Per purchased m² it is still €514.80 ÷ 17.16 = €30.00.

Neither number is wrong. The gap exists because boxes are indivisible and the shopper added waste. It's worth being upfront about it, because a shopper who expects "14.7 × €30 = €441" will be surprised at checkout if nothing explains the difference.

Show the surplus

Coverage of 17.16 m² against a need of 16.17 m² leaves 0.99 m² extra. A line such as "You need 16.17 m² including 10% waste. 12 boxes cover 17.16 m²" tells the shopper why the number is 12 and not 11.

Why not round down to 11? Eleven boxes cover 15.73 m². That is under the 16.17 m² needed with waste, and only 1.03 m² above the bare room area. One awkward corner or a damaged tile and the shopper is short, orders a second batch, and risks a different dye lot. Rounding down is a return and support ticket generator.

What if the shopper already knows their m²?

Some shoppers have a plan or a contractor's quote that says "20 m²." Forcing them to enter width and length is friction. Offer a direct m² entry alongside the dimensions option.

Step Calculation Result
Entered area 20 m² 20.00 m²
Add 10% waste 20 × 1.10 22.00 m²
Boxes 22.00 ÷ 1.43 = 15.38 16 boxes
Total 16 × €42.90 €686.40
Coverage 16 × 1.43 22.88 m²

Variations

  • 2.4 m² pack: the same 16.17 m² need gives 16.17 ÷ 2.4 = 6.74, so 7 packs covering 16.80 m².
  • Wallpaper roll 10.05 m × 0.53 m: one roll is 5.33 m² (5.3265 before rounding). A wall area of 28 m² plus 10% is 30.8 m², divided by 5.33 gives 5.78, so 6 rolls. Patterned wallpaper also needs pattern repeat allowance, so waste may be higher than for plain tile.

Why the usual workarounds break

Every workaround below can work in a narrow case. Here is where each one fails in practice. For the cart side of this problem, our guide to boxes, waste and cart behaviour goes deeper.

Variants per size or pack count

You could create a variant for each box count: 1 box, 2 boxes, 3 boxes and so on. Shopify's standard limit is 100 variants per product (check your admin if you have a higher limit enabled), and you will hit it quickly if you combine box counts with colors or finishes. Every price change then means editing dozens of variants, and stale prices are almost guaranteed. It also makes shoppers choose a box count before they know how many they need.

Showing m² price in theme code while the cart sells "pieces"

A theme edit that displays "€30.00/m²" next to a product priced at €42.90 per unit is simple and cheap. The failure is the quantity box. Shoppers type 14.7 or 15 into a field that means boxes, and then wonder why the cart shows €643.50 for 15 boxes.

To be fair, this approach is enough when your customers already think in boxes, for example trade buyers reordering a known SKU. It breaks when buyers are homeowners starting from a room measurement.

Quote forms and email

A "request a quote" form lets you do the math correctly by hand. It also adds a delay, a manual step for you, and an abandoned cart for the shopper who wanted to pay tonight. Each quote has a chance of being miscalculated, and you answer the same "how many boxes?" email repeatedly.

Selling 1 m² as the unit

Setting the price at €30.00 and treating quantity as m² looks neat. But you can't ship 14.7 boxes. Quantity is an integer in Shopify, so the shopper can't buy 14.7 anyway, and you'd have to round up manually at fulfillment, absorbing the cost or contacting the customer. If your pack is 1.43 m², the price per unit no longer matches what you ship.

What works instead

The reliable pattern is: let the shopper enter an area or dimensions, convert to packs with waste and rounding, put whole packs in the cart at the catalog pack price, and keep the measurements with the line item so the order is traceable.

Setting it up with pack rounding and cart enforcement

You can do this with custom theme code and metafields if you have a developer. If you'd rather configure it, Shoperize Price Calculator is one option built for this case. Either way, the steps are the same.

1. Gather the product data

Field Example
m² per pack 1.43
Pack price (Shopify catalog price) €42.90
Waste % 10%
Minimum order 1 box, or a set minimum area
Rounding rule Round up to whole boxes

2. Configure unit conversion, waste and package coverage

In Price Calculator you set the unit conversion (for example m² and sq ft if you serve both markets), the waste allowance, the package coverage, rounding and limits. Rules can be created manually, from templates or as editable AI drafts, subject to plan limits.

3. Assign to products and test on three SKUs

Assign the rule to your products. The Free plan supports one published area calculator on up to three products, which is enough to test on three SKUs before you roll out more. Advanced capabilities depend on the plan.

4. Check what the cart keeps

The shopper's measurements stay in the cart, and coverage updates if they change the pack quantity. That matters: if someone edits 12 boxes to 14 in the cart, the displayed coverage should change with it.

What it does and doesn't do

Charges come from the Shopify catalog price multiplied by the pack quantity. The app does not replace the line price with an arbitrary custom value. This keeps checkout predictable and matches how Shopify works, but it also means your catalog price has to be the pack price. If you need discounts, fees or bundles, check separately whether they're supported before you promise them to shoppers.

Display choices: price per m² vs price per pack

Show both

A line such as €30.00/m² · €42.90 per box of 1.43 m² lets shoppers compare with competitors who quote per m², while making clear what they're buying. The pack price is the charged amount.

Rounding rules

Decide per product type:

  • Tile and flooring: whole boxes, rounded up.
  • Wallpaper: whole rolls, often with a higher waste figure.
  • Bulk materials: whole pallets or bags, with a minimum order.
  • Minimum order: set a floor so a shopper can't buy a quantity you don't want to ship.

Different packs per variant

If one variant has 1.43 m² boxes and another has 2.16 m² boxes, store the coverage per variant, not per product. A 16.17 m² need becomes 12 boxes of the first and 8 boxes of the second (16.17 ÷ 2.16 = 7.49). With hundreds of SKUs, typing these by hand is slow. Our guide to importing supplier pack sizes into variant metafields shows how to update existing variant metafields from a supplier CSV. It matches by SKU and doesn't create products or edit prices.

Mixed items sold by piece

Trim, grout, adhesive and samples are sold by piece. Give them a separate rule or leave them without a calculator, so they don't inherit area logic.

Test checklist before you publish

Run these on mobile and desktop with a 1.43 m² box and the rounding rule set to round up.

  • Exact multiple: 14.30 m² with 0% waste should give exactly 10 boxes.
  • Just over a multiple: 14.31 m² should give 11 boxes, not 10.
  • Tiny order: a very small area should respect your minimum order.
  • Edit quantity in cart: change the box count and confirm coverage updates.
  • Metric/imperial toggle: the same room should give the same box count in both units.
  • Direct m² entry: 20 m² with 10% waste should give 16 boxes.
  • Order notes: measurements and pack quantity appear on the order for fulfillment.

For a longer version, use our 7-point flooring calculator test checklist.

Ready to try it

If you want to show a price per m² and still sell whole packs, install Shoperize Price Calculator from the Shopify App Store and test it on up to three products on the Free plan. Details are at calculator.shoperize.com, and setup help is at help.shoperize.com.

Frequently Asked Questions

How do you calculate cost per square meter?

Divide the pack price by the m² the pack covers. A €42.90 box covering 1.43 m² costs €30.00 per m². For your own cost per m², use what you pay the supplier: a €28.00 box gives €19.58 per m². Selling price per m² and cost per m² are different numbers, and the gap between them is your margin.

How do I work out price per sq metre?

Use the same formula: pack price ÷ square metres per pack. If a roll costs €18.00 and covers 5.33 m², the price is about €3.38 per sq metre. For rolls, multiply length by width first (10.05 m × 0.53 m = 5.33 m²), then divide.

How do you calculate cost per sq ft?

Divide the price per box by the square feet per box. A €42.90 box covering 15.39 sq ft costs about €2.79 per sq ft. If you only know m², multiply by 10.764 to get square feet first, so 1.43 m² is about 15.39 sq ft.

How much does Shopify take from a $10 sale?

It depends on your plan and payment gateway. On an online card rate of 2.9% + $0.30, a $10 sale costs about $0.59, but check Shopify's pricing page for current rates on your plan. This is unrelated to a square meter calculator, which only changes how the quantity is worked out.

Can customers enter m² and still buy whole boxes?

Yes, if the calculator converts the entered area into packs. A shopper types 20 m², the rule adds waste (22.00 m² at 10%), divides by 1.43 m² per box and rounds up to 16 boxes. The cart then holds 16 whole boxes at the catalog pack price.

A GOOD PLACE TO START

Your store.
A little more personal.

Tell us where you sell. Let’s explore what a shopping companion could do for your customers.

Free to join. No payment details. We’ll use these details for early-access updates.Read our privacy notice