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
In 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.
It 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:
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.
In 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.
In some circumstances you may wish to add a surcharge if a particular item from a shipping group. For example, say you sell yacht equipment but if someone adds FLARES into the cart you need to add a $19.99 surcharge (when using highest price totalling).
Please see the attached CSV file for a working example.
On row 2 setup the plants:
Productmatrix supports filtering on PO Boxes, this means you can restrict shipping, add surcharges or charge a flat rate if a PO Box is entered.
The example here shows how you can filter specific shipping methods if you enter a PO Box in the shipping address field.
If you have a expedited shipping method you will probably want to only offer this if all the products in that order are currently in stock. ProductMatrix can check this for you using the instock=true or instock=false algorithm.
The attached example CSV file will offer Standard shipping on all orders at $10, Express on order where every product is in stock at $25 and a delayed delivery service at $2.99 if there are products not in stock.
With Productmatrix you can charge shipping based on a percentage of some/all of the cart cost. For instance you can say shipping is 10% of cart total, so if cart total is $100 then shipping is $10.
Here is a simple example showing how to charge 5% of cart cost to USA, 10% to Canada, 6% to Alaska. On the Alaska rate the shipping price field also states the minimum shipping cost is $10.
You can charge based on a percentage of shipping group cost. Here are some example requirements:
1. BOOKS are charged 6% of their total cost
2. CDs are charged 8% of their total cost
3. Next Day Delivery is Ground delivery + $20
A shortened csv file to implement these requirements is shown in the table below. Note that the shipping price is set to 0, this is because it is all calculated from the algorithm field.
If you so desired you could set minimum prices. So let's say the minimum ship price for BOOKS is $2.99. To implement this put 2.99 in the shipping price column.
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.
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.
With Product Matrix you can use the shipping price -1 to quickly exclude countries from a shipping rate.
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:
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:
If you have some products which can not be shipped to certain countries. You are using custom defined rates.
The steps are:
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.
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:
The steps are:
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.
This example is for when you have a product that has to be shipped separately. It uses “per package totalling”, so in general for products that are not marked with a package_id of Special they would match the * package id in the file, and be filtered on other criteria such as weight, price, destination.
If I had 3 items in cart, 1 of which was special and a weight of the other 2 under 20kg then the price would be:
Standard Shipping $5+$10=$15
Express Shipping $8+$12=$20
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
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.
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.
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:
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:
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.
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.
Given you want to setup shipping rules based on quantities and number of boxes to ship the order, i.e Shipping 1 item in a box costs $100 and it costs $20 for each additional item but a box can only fit 5 items and when threshold has been reached you charge an additional $100 for the 2nd box.
According to the scenario given, you would want the shipping rates to be calculated as follows: $100 for quantity 1, $120 for quantity 2, $140 for quantity 3, $160 for quantity 4, $180 for quantity 5, $180+ $100 for quantity 6 (2 cartons, one full with 5 items and the other with 1 item) and so on.
The attached example csv file illustrates how this can be accomplished:
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.
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.
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
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
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
This example shows how to set up a csv for UK postcode filtering.
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.
Be sure to enable "Custom Sorting" in the options box in the admin settings for ProductMatrix
Display a tooltip at the cart estimator 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:
Then navigate to the Product Matrix configuration page and select Options --> Show tooltips.
Your tooltips will now be displayed at checkout:
If you would like to change the tooltip image then you need to remove tooltip.jpg from skin/frontend/default/default/images/webshopapps/productmatrix and replace it with a new image with the same name.
One Page Checkout
If you would also like you have a tooltip displayed on One Page Checkout, we have an overlay directory which extends the tooltip functionality to work on One Page Checkout.
The disadvantage of this is that we have to modify available.phtml and this can cause conflicts with other extensions that modify the checkout, which is why we have not merged this feature into the main version of Product Matrix.
The One Page Checkout tooltip overlay is available on request to anyone who has with a Product Matrix license, just email email@example.com.