Matrix & Dimension Pricing - CSV price tables
Description
Highlights
About the Extension
Sell products by size, priced from your own CSV table
Blinds, insect screens, tarpaulins, glass, worktops, banners, flooring, cut fabric: if your price depends on the size the customer orders, a normal variant or a fixed price will not carry it. 90 widths times 40 heights is 3,600 combinations. That is not a variant problem, that is a price table problem.
Upload the price table you already have as a CSV. Customers pick a size, the price appears instantly, and the size travels all the way to the delivery note your warehouse cuts from.
How it works
- Upload a CSV grid: first row is the widths, first column is the heights, the cells are the prices.
- Assign the table to a product.
- Customers choose a size on the product page and see the price immediately.
The parsed grid is shown in the administration before you save, with the detected size range, the number of cells, and a warning for anything that looks wrong, so you find a broken CSV at upload time and not from a customer complaint.
Three ways to ask for the size
- Free input field. The customer types any size inside your range. Sizes that are not in the table resolve by rounding up, rounding down, to the nearest size, or by interpolating between the surrounding grid points.
- Dropdown. Only the sizes present in your CSV are offered.
- Price cards. Every available size shown as a card with its price, the way a fixed-size catalogue works. A size that has no price in your table is not rendered at all, so an unavailable combination cannot be selected.
It respects the prices you already configured
The matrix price is added on top of the price Shopware has already resolved for that customer, which means tier prices, customer group prices and advanced pricing rules keep working. A customer buying ten units on a quantity discount gets the discounted base price plus the size surcharge, not the list price.
Many size pricing extensions replace the product price outright and quietly break advanced pricing. This one does not.
Built for real catalogues
- Reusable price tables. Upload a grid once and assign it to as many products as you like. When your supplier raises prices, you change one table, not 500 products.
- Different prices for different customers. Scope a price table to a Rule Builder rule or a customer group. Same product, B2B customers get their own grid, and a percentage or fixed markup per assignment lets you adjust without touching the CSV.
- Large grids. Tables with more than 14,000 cells are parsed once on save and cached, so the product page stays fast.
The size reaches everyone who needs it
The size the customer entered is stored with the order and shown in the cart, the checkout, the customer's order view, the administration order detail, and on the invoice, delivery note, credit note and cancellation document. Your warehouse can read the cut size straight off the delivery note.
Because the size is stored with the order rather than read back from the table, an old order keeps its original size and wording even if you later rename or replace the price table.
Nothing gets ordered without a size
If a product that is sold by size somehow reaches the cart without one, for example through a listing buy button or a direct API call, checkout is blocked with a clear message. You cannot accidentally sell a made-to-measure product at its base price.
For developers
- A Store API endpoint returns the price for a given size, for headless and PWA frontends.
- A diagnostic CLI command validates every CSV, reports gaps and unsorted axes, and replays the full price resolution for a single product when you need to know why a price is what it is.
Details
- Available: English, German
- Latest update: 16 October 2026
- Publication date: 20 October 2026
- Version: 1.0.0
- Category: Product Configuration
Resources
Reviews (0)
About the Extension Partner
VimirLab Solutions
Partner Status
-
Shopware
Extension Partner
Details
- Ø-Rating: 5
- Partner since: 2020
- Extensions: 13
Support
- Based in: India
- Speaks: German, English
- Response time: Very quickly