Magento’s qty field does not match how people buy flooring, fabric, or made-to-measure panels. They know a size, not a pack count. Area Price Calculator takes an area, or height × width, then returns units and an estimated price before Add to Cart. The same PHP math runs again on the cart, so the line they pay matches what they saw.
Pick how the SKU is actually sold
Store defaults live under Stores → Configuration → Emmo Extensions → Area Price Calculator. Each product can override the mode in the Emmo Price Calculator attribute group.
Same calculator on the product page and in the cart
The storefront estimate is live. Add to cart and a cart update recalculate on the server. Area, units, and related details can sit on the quote and the order line for fulfillment.
Coverage
units = ceil(area / coverage)
Area x Quantity
total area = (height x width) x qty
line total = total area x price
Measure once. The labels are yours.
Shoppers type one area, or height and width. An optional helper adds several rectangles into that area. Waste percentages are yours, and every label is a store-view setting.
Enable Area Calculator is Yes, No, or Use config. Set coverage, the coverage unit, a minimum area, and the calculation, pricing, and qty modes — or inherit the store.
Round up to whole sellable units. Packs, rolls, and sheets: one unit covers a known area. Waste is applied, then units = ceil(area ÷ coverage).
Coverage per unit is required on the product, or on the selected simple.
Cart qty can be those units, or qty 1 with a custom line price.
Catalog price can be per area or per sellable unit.
Area × Quantity
Pieces × size × price per area. Shoppers buy a count of items. Each has height × width, or a typed area. Magento qty stays the piece count, so tier prices by qty still apply.
Total area = (height × width) × qty.
Line total = total area × price per area.
The coverage attribute is not required.
What is recalculated
Live estimateThe product page shows units and an estimated price before Add to Cart.
Server-side cartAdd to cart and a later cart update run the same PHP math again, so the paid line matches the estimate.
Quote and orderArea, units, and related details can sit on the quote item and the order line for fulfillment.
What the shopper fills in
Single areaThey already know the m², ft², or cm². One field.
Height × widthArea is computed. Linear units follow the area unit: m² uses m, ft² uses ft.
Multi-area helperOptional popup. Several length × width rectangles are summed into the area field.
Waste allowanceConfigurable percentages, for example 0, 5, 10, and 15, applied before coverage rounds up.
Configurable productDropdown or swatches. Child price, coverage, and modes resolve as they pick an option.
Every labelHeading, height, width, units, waste, price, coverage, helper button, and custom note. Each is a store-view setting.
How you price and count it
EnableYes, No, or Use config. Optional category IDs. Require the product to be enabled when you want a strict allow-list.
Price per areaCatalog price is per m², ft², or cm².
Price per unitCatalog price is one pack, roll, or sheet.
Units as cart qtyMagento qty equals the calculated units. Friendly to inventory.
Qty 1 and a custom priceQty stays 1. Line price = unit price × units. Used mainly with coverage-based products.
Use it when
Size decides the qty or the price.
Flooring, tiles, wallpaper, fabric, film, and sheet goods.
Made-to-measure panels, signs, and print.
Coverage packs that must round up.
Variants with different coverage or price on the simples.
Do not expect
It does not replace Magento catalog price rules.
No coats, liters, or buckets. That is Paint Calculator Pro.
No 3D room planner.
No custom-option title matching, and no global priceBox override.
Tier prices apply in Area × Quantity. They are not a coverage discount engine.
Five steps. Test add to cart, not only the product page.
1Enable Emmo_PriceCalculatorArea and run setup:upgrade. Unzip the package as app/code/Emmo/PriceCalculatorArea.
2Stores → Configuration → Emmo Extensions → Area Price Calculator. Set the mode, units, waste, and labels.
3On the product, set coverage when the mode is coverage-based, plus modes and a minimum area. Parent and simple can both override a configurable.
4Enter a size. Confirm units and the estimated price. Switch a swatch if you use configurables.
5Add to cart, change qty, and place a test order. Check the line details.
Order line
Area On the line
Units On the line
Paid total Matches the estimate
No paint-coats engine. No Hyvä Checkout package. One generic calculator: modes and labels, not a per-industry workflow hardcoded in PHP. Magento 2.4.x Open Source and Adobe Commerce. PHP 8.1–8.5. Configurable products and swatches. Quote through to the order line. The user guide covers modes, attributes, cart behavior, and labels. Support: [email protected]
More Information
More Information
Follow Meta Tag
Please Select
Reviews
Edward Martin
Overall Rating
100%
Best extension
I would say this is the best extension for those products which prices depend on various factor can be calculated using formula.
Grace Turner
Overall Rating
100%
highly flexible module
Great module, with great support, highly flexible, I believe it to be the best "price calculation module" for M2 on the market.
Madison Taylor
Overall Rating
100%
amazing extension
Buying this extension was a delight! It effortlessly calculates all product prices. Kudos to Emmo for making it happen
Emily
Overall Rating
100%
A great extension
I've tried numerous pricing extensions before, and this one is fantastic. Great experience!
Mohd.
Overall Rating
100%
Runs as expected
This extension is love! Super easy to set up, and though we hit a small bug, the support team fixed it in no time. Now, everything runs smoothly.
Oliver
Overall Rating
100%
this extension is perfect!
After a brief learning curve, this extension proved to be a awesome! It's a one-stop pricing solution for your store, offering plenty of options. Easy and effective
Henry Cooper
Overall Rating
100%
This extension is fantastic
This extension is fantastic! It runs seamlessly, packed with tons of options. The installation was smooth, and the after-sales support is top-notch. They guided me through the usage and fine-tuned it to perfection for our shop. Couldn't be happier with the results
Esha
Overall Rating
100%
We love this extension
It's exactly what our online flooring store needed. The customization from this company was spot-on, and everything works like a charm!