If you’ve searched for a way to price WooCommerce products by formula — area, volume, length, or per unit — rather than a fixed price per item, you’ve likely found that most of WooCommerce’s native pricing tools weren’t built for it. Standard pricing is per-product or per-variation; it has no concept of “this price depends on a calculation the customer’s measurements produce.”
This guide covers what formula-based pricing actually means in WooCommerce, the different calculation types it can cover, and how to set it up without custom development.
What “formula pricing” actually means
At its core, formula pricing means the final price is calculated from customer input, using a defined formula, rather than being a single fixed number per product or variation. The three formula shapes that cover almost every real-world use case are:
Area-based (price per square metre):
Price = (Length × Width) × (1 + wastage %) × price per m²
Used for anything sold by surface coverage — flooring, tile, fabric, artificial grass, wallpaper, decking, roofing.
Volume-based (price per cubic metre):
Price = (Length × Width × Depth) × (1 + wastage %) × price per m³
Used for anything sold by a filled volume — concrete, topsoil, gravel, screed.
Length-based (price per metre):
Price = Length × (1 + wastage %) × price per metre
Used for anything sold by a running length — timber, structural steel, ribbon and trim.
There’s also perimeter-based pricing (2 × (length + width)) for boundary-style products like fencing, and simple quantity pricing for products that don’t need a formula at all.
Why a wastage percentage matters in the formula
Almost every real material sold by measurement needs some allowance built into the price — cutting waste, pattern matching, settling, or handling loss. This is the part a plain “enter a quantity” field can’t do: it needs to be applied automatically as part of the calculation, not left for the customer to add on themselves, since most won’t.
The right wastage figure varies significantly by material — a plain area calculation might use 10% for flooring but 20% for pattern-matched fabric, or close to 0% for something manufactured precisely like a heating mat. This is why a genuine formula pricing tool needs wastage to be adjustable per product, not a single fixed setting across everything you sell.
Setting this up in WooCommerce
The usual approaches:
1. Custom development. Works, but means paying for and maintaining bespoke code for something that’s a well-understood, common requirement across many trades.
2. Generic “custom fields” or “quantity” plugins. These let a customer enter numbers, but almost none apply a formula or a wastage allowance automatically — the maths is left entirely to the customer.
3. A purpose-built formula pricing calculator, with area, volume, length, and perimeter calculation types built in, and wastage set per product.
This is exactly what Woo State Calculator is built for — genuine formula-based pricing across all four calculation types, with one-click presets for common materials (each with an appropriate default wastage percentage) and full manual control to configure your own. The price updates live as the customer enters their measurements, and is recalculated server-side at checkout so the displayed price can’t be manipulated in the browser. It’s built on State.js, so there’s no jQuery dependency and no layout shift while it updates.
Formula pricing by material
If you’re looking for the specific formula and setup for your material, these cover the most common categories in detail:
- Area-based: Flooring, Tile, Fabric, Artificial Grass, Astroturf/Pet Turf, Wallpaper, Decking, Roofing, Underfloor Heating, Cladding/Weatherboard
- Volume-based: Concrete, Topsoil/Mulch, Gravel/Aggregate, Screed
- Length-based: Timber/Lumber, Structural Steel, Ribbon/Trimming
- Perimeter-based: Fencing
What to check before you buy any formula pricing plugin
- Does it support your specific calculation shape — area, volume, length, or perimeter — rather than only one?
- Can wastage be set per product, not just globally across your whole store?
- Does the price update live as measurements are entered?
- Is the price recalculated server-side at checkout, so it can’t be tampered with in the browser?
FAQ
Can I price by more than one formula type on the same site? Yes — each product can independently use whichever calculation type fits it (area for one product, volume for another), rather than being locked to a single formula across your whole catalogue.
Does formula pricing work with WooCommerce’s standard checkout and cart? Yes — a well-built formula pricing tool should integrate with WooCommerce’s native cart and checkout flow rather than requiring a separate purchase path, with the calculated price recalculated server-side to prevent tampering.
What if my product needs a formula that doesn’t fit area, volume, length, or perimeter? Most measurement-based pricing needs fall into one of these four shapes; for anything genuinely different, conditional pricing rules (discounts or surcharges based on the calculated value or quantity) can often be layered on top to handle more specific business logic.
Looking to price products by area, volume, length, or a custom formula in WooCommerce? Woo State Calculator handles all four calculation types with per-product wastage control.


Leave a Reply