Extensions‎ > ‎Product Matrix‎ > ‎



  • Follow the general installation steps here
  • Installation check-list
    • Backed up the server files and database before installation (recommended)
    • Disabled cache in Cache Management to allow the extension to execute for the first time and when adjusting
    • Uploaded the app directory of the related Magento version of the extension to the root Magento installation
    • Re-index all data in Index Management
    • Updated the serial key in Shipping Settings extension Configuration and has been enabled - see here
After installation, you will see `Product Matrix Rates` within

System > Configuration and go to Shipping Methods on the side panel


Enable Product Matrix and enter your serial key (instructions here); once entered, Save Config.

Creating Shipping Groups

Attributes Setup

Product Matrix creates an attribute assigned to a `shipping` tab attribute called `package_id`.


  • Go to Catalog > Attributes > Manage Attributes.
  • Check for the existence of the `package_id` attribute
  • If this attribute is not present, please refer to installation troubleshooting
Default Attribute Set

  • Go to Catalog > Attributes > Manage Attribute Sets.
  • If you have multiple attribute sets other than `Default`, manually create the `Shipping` tab and insert:
    • `package_id`
  • Refer to the diagram below for an example of how it should appear in the `Default` attribute set

Shipping tab and package_id

For more general information about attribute setup please see the guide here

Shipping Groups Associations

Once you have setup the attributes you can proceed assign the attributes you wish to use for your shipping groups. An example of such a group could be `FREIGHT` for products selected for custom freight rates.

  • Go to the `package_id` attribute in Catalog > Attributes > Manage Attributes
  • Go to Manage Label / Options and `Add Option` for your group in the `Admin` column.
    • For any additional shipping groups please follow this process
    • Note: do not enter any value in the `Default store view` or `position`
  • `Save Attribute` to store the associations which are referenced in the `Package_id` column of your CSV table
  • Note: these attributes are case sensitive, it is recommended to use generic styles to name them
  • Refresh the indexes in Configuration > Index Management
Refresh the Product Flat Catalog.

Product Associations

The next step to setting up your custom rules is to map each product in the product listing to the shipping groups you have defined.
  • Go to Catalog > Manage Products
  • Search for the products you wish to assign to the `shipping group` and edit the listing
  • Under the `Shipping` tab you should now see the options for the associations you have created. Select and `Save`
    • If you do not see the shipping tab you have skipped one of the steps in this tutorial under `attribute setup`

Configuring the CSV

Decide on the requirements you want to set for your custom rates.


You need to use a template to work your rates into - download the template. We recommend using a spreadsheet programme to manipulate the rules. Note: A CSV should be delimited by commas, strings enclosed by quotes. Maintain the CSV format when you save.

  • Do not change the order of the columns
  • Any value left empty should be an asterisk '*' which can mean anything.
    E.g. Price from * to 10 means from anything to 10. Country * means anything.
  • Country codes are in ISO-3166 format- click here for reference
  • Region/State codes for USA for example NY for New York - click here for reference

Write your rules in pseudo code and try to break them down to the simplest form.
We will go through a running example demonstrating different features of Product Matrix and how to implement different scenarios.

: any columns omitted are either empty or unimportant to the example shown, you will still need to have all columns present in your CSV file.


Additional Cost Per Weight Threshold

Provide Freight Delivery for any bulky product shipping to the USA costing $20 and $5 for every additional pound in weight.

Country Package Id Shipping Price Algorithm Delivery Type
USA bulky 20 WC=1@5 Freight Delivery

Addtional Cost Per Item Threshold & Stacking Algorithms

Provide Standard Delivery for all other items in the USA costing $5 for items up to a weight of 50 pounds.
For items from a weight above 50 pounds costs $10 with $2 for every additional item including $1.50 for every additional pound in weight.

Country Package Id Weight From Weight To Shipping Price Algorithm Delivery Type
USA * * 50 5 * Standard Delivery
USA * 50 * 10 I=2&WC=1@1.50 Standard Delivery

Free Delivery Past Certain Threshold

Provide Free Delivery for any items over $100 and under 50 pounds weight.

Country Weight To Price From Shipping Price Delivery Type
USA 50 100 0 Free Delivery

Only Show Free Delivery / Exclude Delivery Type

The only problem with the above row is that it also includes Standard Delivery in the quote:

Free Delivery $0.00 
Standard Delivery $5.00 
We want it to exclude Standard Delivery so we will copy the row and -1 to exclude Standard Delivery.

Country Weight To Price From Shipping Price Delivery Type
USA 50 100 0 Free Delivery
USA 50 100 -1 Standard Delivery

Now the quote is: Free Delivery $0.00

Asterisks as Wildcards & International Shipping

Now we want to offer International Delivery for $30 to any other country:

Country Shipping Price Delivery Type
* 30 International Delivery

Filtering based on Product Type

Now we also want to include an In Store Pickup for any product which can only be picked up from the store.

Country Package Id Shipping Price Delivery Type
USA only_pickup 0 In Store Pickup

This works for products assigned as only_pickup, but not rate will be capable if a product from any other group is in the cart.

Merging Rates Together using Priorities

For this we need to merge the rates together using priorities so that the delivery types match.

We must take a copy of each row that it could match against for another product and duplicate, renaming the delivery type and inserting a lesser priority into the algorithm, whilst at the same time assigning a high priority '0' to the original rows.

For this example I will just show creating the priority against Standard Delivery

Shipping Price Algorithm Delivery Type
5 P=0 Standard Delivery
In Store Pickup
5 P=1 In Store Pickup

This shows that when a product which matches on Standard Delivery is in the cart with a product from pickup_only, it will be allowed to fetch a rate because the priority will link it to a delivery type which is the same as the In Store Pickup delivery type.

The Result

To see the final CSV used in this tutorial - download the example and see below

Use our examples for many more real examples using Product Matrix.


Change the Configuration Scope to Main Website in Shipping Methods of System > Configuration

Choose File > Browse to your CSV and Save Config to upload.

  • If your CSV did not upload see here

Shipping Method Configuration

To really understand the extension configuration you need to read the Configuration. Click here for reference.


Try to get a rate when you put in a zip code into the cart quote.

  • If you are not getting any rates see here

Unknown user,
Dec 17, 2010, 4:41 AM
Unknown user,
Dec 17, 2010, 4:41 AM