
Shipping Matrix for Magento 2 — Advanced Table-Rate Shipping
Shipping Matrix gives Magento 2 the table-rate shipping the core can't. Set rates by weight, order subtotal or item count, matched to country, region, city or postcode (exact or numeric range), and return several named shipping methods from one table. Track your cost against the price you charge,…
Shipping that's too cheap eats your margin; too dear loses the sale
Getting delivery pricing right is one of the highest-leverage things a store can do — and Magento's built-in table rates barely help. They can't price by city, they return only a single method, and they give you no way to see whether a rate is actually covering your carrier cost. Shipping Matrix replaces them with a proper rate engine: price by weight, order value or item count, match all the way down to the postcode, offer several delivery options at once, and keep your real cost next to the price you charge.
What you'll use it for
- Charge accurately by region — price the Highlands or an offshore postcode differently from a city centre, automatically.
- Stop under-charging on heavy orders — weight bands make sure a pallet doesn't ship for the price of an envelope.
- Give customers options — present Standard and Express side by side so they choose, instead of bouncing on one fixed price.
- Roll out fast — build the whole rate book in a spreadsheet and import it, then export to back it up or edit in bulk.
How a rate is chosen
Precision the core table rate can't match
Two things make this more than a clone of Magento's table rates. First, it matches on city as well as country, region and postcode — and supports numeric postcode ranges — so you can price an exact delivery zone, not just a country. Second, because each row carries its own named method, a single rate table can return Standard, Express and Next Day together, giving customers a genuine choice at checkout. Add the stored cost column and you always know the margin on every rate you quote — and rates are scoped per website, with a city- and postcode-aware GraphQL query so a headless checkout gets the same answer.
Specifications
| Conditions | Weight vs destination, order subtotal vs destination, or item count vs destination |
|---|---|
| Destination match | Country, region/state, city, postcode (exact) and numeric postcode ranges |
| Methods | Multiple named shipping methods returned from one rate table |
| Margin | Cost stored alongside the charged price per rate |
| Fees | Fixed or percentage handling fee; option to include virtual products |
| Rates management | CSV import and export of the full rate book |
| Scope & restriction | Per-website rates; ship-to-specific-countries; custom not-applicable message |
| Headless | GraphQL rate query honouring city and postcode |
| Delivery & licence | Composer install, per-domain licence key, updates via Composer |
Works with
Part of the AgenticEcom suite for Sales, Customers & Marketing:
Rates feed the orders you run in Order Manager and the quotes in B2B Suite. Included in the Growth and Enterprise bundles.
Frequently asked questions
How is this different from Magento's built-in table rates?
It matches all the way down to the city and supports numeric postcode ranges, and each rate row carries its own named method — so one table can return Standard, Express and Next Day together. It also stores your carrier cost next to the charged price so you can see the margin, none of which the core table rate does.
Can I charge by weight and by order value?
You choose the condition per carrier: weight versus destination, order subtotal versus destination, or number of items versus destination. Each is matched against your rate table.
Can I offer more than one delivery option?
Yes. Because each rate row has its own method name, a single matrix can present several methods — for example Standard, Express and Next Day — for the customer to choose between at checkout.
How do I load lots of rates?
Build them in a spreadsheet and use the CSV import; you can also export the current rate book to back it up or edit it in bulk.
Which Magento and PHP versions are supported?
Magento Open Source 2.4.9 and later 2.4.x, verified on PHP 8.4 and 8.5.

