Here are a couple of example CSV files (notes and algorithm are excluded for simplicity): Here if you had 1 item of 2kg from A& 1 item of 4kg from B in your basket with per package totalling the rates shown would be:
1st Class £22 Five items from A of 2kg would be: 1st Class £20
Next Day £22 Highest Price Totalling with Additional Item PriceIn this example If you have different types of products which have different shipping rates. When multiple items are in the cart you want to take the highest shipping price and then add an additional price on for every other item in the cart. See the attached CSV for an example of implementing this. You need the totalling algorithm "highest price". If I had 1* PLANTS item and 2 * SEEDS items it would charge $18+$10+$3 If I had 1 * A item and 2 * SEEDS items it would charge $26+$5+$5 The "i=" specifies the additional item price. Totalling Algorithm: Per Item Surcharge Totalling ExampleIt is assumed the switch "package id * includes all items" is set to Yes for this totalling algorithm to work. The Per Item Surcharge totalling algorithm works as follows:
Look at the example CSV. Here is the resulting prices for various cart options:
Algorithm Column FunctionalityWeight Algorithms (WC & W)This example shows you a customer who wanted to charge an extra $1.50 for every extra 1kg in cart. So let's say the product weighed 0.3kg.
Because we want every whole kilo we use the algorithm switch "wc=" rather than "w=". "wc=" will use the ceiling value, the whole number, rather than the total difference including fractional part. So in the case of 8 items in cart this will equate to 2.4 kilos - and with wc= being used this will mean 3*1.50 + $5 base price = $9.50. If we were to use w= then the price for 8 items would be 2.4*1.50 + $5 = $8.60. Note: This only applies to Product Matrix - in Premium Rate only w= is supported, and this uses ceiling weight.
Additional Cost Per ItemIn some circumstances you may wish to add an additional cost to a base shipping price based on how many items are added. This can be achieved in Product Matrix by utilising the "Algorithm" field in your CSV file. Hence adding "I=5" into the algorithm field would mean for every additional item in the cart, $5 would be added. Please see the attached CSV file for a working example.
|
|
Shipping Group |
Shipping Price |
Algorithm |
Delivery Type |
|
BOOKS |
0 |
%=6 |
Ground |
|
CDS |
0 |
%=8 |
Ground |
|
BOOKS |
0 |
%=6+20 |
Next Day |
|
CDS |
0 |
%=8+20 |
Next Day |
Percentage Surcharging
A customer asks: How would I go about adding a percentage surcharge such as the below example:
| Order Value | Standard Charge | Surcharge Option One | Surcharge Option Two |
| up to £50 | 5.49 | Add £39.49 to your standard delivery charge |
5% of order value with a minimum charge of £129.49 |
| £50.01 to £100 |
7.49 | Add £39.49 to your standard delivery charge | 5% of order value with a minimum charge of £129.49 |
Please see the attached CSV file for an example of how to implement these rules. You should put all products in the shipping group "Standard" in this example. The configuration settings you will need are attached.
Restricting Shipping
Force In Store Pickup For Certain Items
In this scenario the client wants to offer standard shipping on most of their products, but when extra large items are purchased that can only be collected in store then wants to force an in-store pickup of all items.
The attached CSV file shows how to do this with Product Matrix. Note the use of priorities (p=). These are required so that if an item marked as PICKUP_ONLY is in the cart with other standard products then the In Store Pickup is correctly calculated. Without them no rates would be shown for a mixed cart. For more info on priorities see here
This is using per package totalling with "set package id * to all items in cart" to NO.
No Air Shipping For Hazardous Products
If you sell aerosols, but these aren't the only products you deal with. When a customer buys aerosols you want to restrict shipping such that no air based delivery options are shown. You want to specify all your rates yourself using a custom table based approach.
The CSV file attached shows how to do this with the Product Matrix extension. I'd have the shipping method configuration set up as per package totalling, and package id * applies to all shipping groups. The -1 basically says if a product is marked as HAZARDOUS dont show the shipping option.
Allow Delivery Type On All Destinations Except One
With Product Matrix you can use the shipping price -1 to quickly exclude countries from a shipping rate.
Exclude a large item from shipping and display error message
So you offer 2 delivery methods, ground and express and sell a variety of products but have very large items that you cant ship and want to show an error message to customer advising the customer to contact for a shipping price then this could be achieved as follows:
- Create a shipping group e.g "VERYLARGE" and specify rules to restrict the shipping methods available on your site for that shipping group with -1 in the shipping price column.
- Assign your very large items to their shipping groups in the product listings
- In the extension's configuration panel, set Show method if Not Applicable to Yes
- In the the extension's configuration panel, customise the shown error message in the Displayed Error message field.
Exclude An Item From Certain Shipping Rate
If you sell Bikes and you want to not allow these to be sent 1st class post. But you sell loads of bike accessories that can go 1st class. You currently use Matrixrate for multiple table rates and want to keep it really simple. Here are the steps to move to Product Matrix, which supports this functionality with ease:
- Set totalling algorithm to Per Package
- Set "package id * applys to all items" to Yes
- Add a new shipping group BIKES
- Assign BIKES to all your bike products (you can do this in bulk via import or also via bulk change attribute in product grid view)
- Transfer your matrixrate CSV to Product Matrix format using * for shipping group on these existing rates
- Add a new row set to shipping group BIKES and with a price of -1 (exclude)
Exclude Some Products To Certain Countries
If you have some products which can not be shipped to certain countries. You are using custom defined rates.
The steps are:
- Define a shipping group for your custom products, e.g. EXCLUDE-CAN
- Assign the shipping group to all the relevant products
- Use a CSV like attached to set shipping price to -1 on the shipping rates you wish to exclude
You can further refine this to exclude when over a certain weight, to a specific state, only for certain methods (e.g. only allow ground), etc.
Exclude Some products from International shipping
Using U.S.A as an example and given a scenario where you have a large number of products and only want to allow a handful of the products to be shipped internationally and have the shipping extension behave as follows:
- When an item that ships domestic is in cart then display domestic rates for that item and show error message when desitination entered is abroad
- When an item that can be shipped domestic and international is in the cart then show domestic rates if destination entered is domestic or show international rates if destination entered is abroad.
- When an item that can be shipped DOMESTIC ONLY is in cart with an item that can be shipped domestic and international then show error message to the user
- Create a shipping group for domestic items, i.e DOMESTICONLY
- Assign the shipping group to all the relevant products
- Define rates to USA for all products that can be shipped domestic and international with "*" in the shipping group column
- Define rates for international shipping rates for all products not assigned to DOMESTICONLY group.
- In the extension's configuration panel, set "Show method if not applicable" to "Yes"
Exclude shipping when free criteria met
In this example the client wanted to show free shipping when either there was a product marked as having free shipping in the cart, or when the cart value was > 75 Euro.
This is done using the CSV attached - make sure package id * is set to all shipping groups.
Common Examples
Standard Shipping $5+$10=$15
Express Shipping $8+$12=$20
Ship By Courier On Total Cart Weight When Courier Items In Cart
A customer had two groups of products, standard items and items that had to be shipped via courier (courier items).
*when only standard items are in the cart, standard postal service is used and courier rates are not displayed.
*when a courier item is in the cart, the entire cart ships via courier and the rate is calculated on the total cart weight.
To do this, the admin setup is as follows:
*Apply package id * to all items in the cart = No
*Totalling algorithm = Highest Price Totalling (this assumes the courier rates will always be more than standard postage). If this is not the case then please contact us for further assistance)
*Filter on subtotal price/weight = Yes
In the CSV we use priorities to ensure only the standard rates are displayed for standard items and we prevent the standard rates being shown for courier items by using -1 in the shipping price column.
Please see the example CSV for this configuration
Free Shipping On Selected Products
You have some products where you wish to ship these free to the local country only, along with zone based shipping on the rest.
The attached CSV file gives an example configuration for this. In the example you would assign all "free" shipping products to the shipping group FREE. Then if the customer selected these items and is in the US they will get free ground shipping. If they also had non-free items then they would pay the Ground shipping charge, or if they were in Canada.
Free Shiping for Orders over certain Value regardless of Shipping group
If you are using different shipping groups e.g BOOK and CHAIR and want to offer free shipping on items over $50 regardless of their shipping group but based on the subtotal of the cart, this can be achieved by setting the extension to filter on subtotal price and weight and implemented in the csv file as illustrated in the example below:
When you have 4 chairs in the cart at $10 each and 2 books at $10 each which makes a total of $60, the rate returned will be free shipping.
When you have 2 chairs in the cart at the same cost each and 1 book at the same cost each with a total cart value of $30 and the extension configured to use per package totalling, the rate returned will be $50 standard shipping.
Define Different Flat Shipping Rates Based On Category
If you have 3 categories - Beds, Sofas, and Kitchens. You want to charge $50 shipping for beds, $40 for Sofas, and $100 for Kitchens. How do you do this?
You would do the following:
- Create 3 shipping groups - named the same as the categories
- Assign the products in each category to the relevant shipping group (make use of product grid view to update multiple products at once will speed the job up to 3 simple edits)
- Define the rates in the CSV file (see attached) and upload
- Set your totalling algorithm to define how rates work when products from different shipping groups are in the cart (Highest Price/Per package are most popular)
This CSV file is a very simple setup. Using Product Matrix you have a lot of flexibility over what you can do, basically future-proofing you from changes coming from the client. For example the following scenarios are also possible:
- Multiple shipping rates (e.g. Ground, 2nd Day Air)
- Different rates depending on destination e.g. Hawaii is charged more
- Ability to cap rates, e.g. order 3 beds and pay no shipping
- and much more...
Adding A Surcharge To Your Standard Rate For Specfic Products
In some cases you may have standard shipping rates which are fine for all of your products except a few particularly large items which need a surcharge on top of the standard rate. This is do-able in Product Matrix.
You need to set the back-end setting "Apply package id * to all items" to "yes" which is saying apply the * rates in your CSV file to every item regardless of the items package id. Then for each shipping group you want to apply a surcharge to, create a rule in the CSV file with a matching package id and enter the surcharge to apply.
I have attached an example CSV file to illustrate this, all products will be charged the * rate regardless of their package id, the products assigned to the package id "Parts" will have an additional $50 added to shipping and the products assigned to "Exhausts" will have an additional $100 added to their shipping.
Define Different Shipping Rates Based On Customer Group
Say you have 4 customer groups: "NOT LOGGED IN", "General", "Wholesale" and "Retailer". You may want to offer different shipping prices and structures for each group. This is entirely possible using ProductMatrix.
You can enter the customer group as it is displayed Customers->Manage Groups into the Customer Group column of the CSV file and then specify rates based on destination vs weight, price and quantity. The customer will only see shipping rates for the group they are assigned to.
N.B - When using customer groups for shipping and creating manual orders (via the admin panel) the customer must exist before creating the new order for ProductMatrix to see what group the customer is in.
This means you must first create the customer in admin via "Customers -> Manage Customers" and then you can create the new order.
Rates based on item quantity and boxes
USA Examples
Free Shipping To USA On All Products, Per Product Charge Internationally
In this scenario the client wanted to show Free Shipping on all products to the USA. But when shipping outside the US and to Alaska, Hawaii they wanted to charge based on the product in the cart.
See CSV attached. For the USA Free Shipping will show. But we stop the International from showing for USA clients by using -1 on the shipping groups.
Different Rates For USA, Can, ROW, Alaska, Hawaii
This customer wanted to use shipping groups to split up his shipping rates, plus charge different rates for USA, CAN, ROW. Additionally he wants the rates for CAN to be the same for AK and HI.
Attached is an example CSV for this. I'd suggest either Highest Price or Per package totalling.
This only shows one rate Ground, but you can have multiple rates in the CSV e.g. Ground, 2nd Day Air, etc.
Shipping To Certain States In The US
Question: I would like to limit shipping to include only the continental US. Is there a way to do this? Please advise.
Answer: To do this with you will need to specify the states you do not wish to ship to and put -1 in the shipping price. All other states will use the default * shipping price.
A list of state codes may be found here
UK Examples
Offer Royal Mail Delivery On Certain Products
This customer wanted to offer Royal Mail as a delivery option only when certain products were in the cart. If any other non-royal mail products were added the default rates would be shown.
This scenario is great if you ship say mainly courier but have a few small items which you can send via Royal Mail. It saves you having to worry about entering weights for all your items, you just mark those small items with the Shipping Group "ROYAL MAIL", use Product Matrix and you are there.
In this scenario the configuration was:
Totalling Algorithm - Per Package
Package id * represents all items in cart - YES
Surcharge To Scotland And Exclude Some Products From Priority Shipping
In this example we want to add a 6GBP surcharge when sending to Scottish Highlands. And also on certain products we do not wish to ship via Priority Mail.
See attached CSV for example.
The -1 shipping price is used to stop Priority shipping showing on all products that have been marked as being in the shipping group "EXCLUDE_PRIORITY".
Note the use of Shipping Group "*" which can be used for either all products other than those in a shipping group - or all products. See here for more info on how to switch meaning
UK Postcodes Example
This example shows how to set up a csv for UK postcode filtering.
Custom Sorting
By default Magento sorts the shipping by the price of the shipping method, the cheapest showing first, most expensive last. The extension can override this by using the 'Notes' column as a "Sort Order" column instead so you can assign a numerical order to each method, 1 being the highest priority.
Extras
Display a tooltip next to your delivery methods giving your customers more information. To set up the tooltip, enter your message into the notes column of your CSV file:




























