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.
Product Matrix creates an attribute assigned to a `shipping` tab attribute called `package_id`.
Shipping tab and package_id
For more general information about attribute setup please see the guide here
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.
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.
Decide on the requirements you want to set for your custom rates.
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.
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.
Note: 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.
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.
Free Delivery Past Certain Threshold
Provide Free Delivery for any items over $100 and under 50 pounds weight.
Only Show Free Delivery / Exclude Delivery Type
Now the quote is: Free Delivery $0.00
Now we want to offer International Delivery for $30 to any other country:
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.
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
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.
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.