The CSV file can seem confusing at first, but spend 5 minutes with it and you will understand how it works, and see the flexibility it offers. A CSV file is best opened with a spreadsheet application – I prefer OpenOffice as it will save in correct format.
With Shipping Extensions there is a need for our customers to translate business requirements into a configuration file and settings. This isnt like a standard plug and play extension, you are going to have to do some work to configure as you need.
WebShopApps can assist with configuration in many ways. For those of you looking at a cheaper solution checkout the examples, screencasts and documentation. For those in a hurry then take a look at our support packages, in terms of time saved they are definitely worth their money!
Before you setup a CSV file you need to understand the requirements. Some of the questions you should be asking yourself/your client are:
Once you have all this information you can then start building the csv file. We recommend you firstly tackle a simple scenario, and then expand the csv file to meet the more complex needs. Test as you go along, there is no point constructing a large CSV file without testing progressively, I can almost guarantee it just wont work.
All paid extensions support the following filtering:
Additionally many of the extensions support the additional filters:
All CSV files have a delivery type column, where you specify either the delivery type to show or the delivery type to manipulate (e.g. UPS Ground).
Some extensions may also give extra columns to handle special scenarios. This is done via the Algorithm and Rules columns.
For a full guide please see here:
The first 5 columns in the CSV file are used to define the destination filtering. Using this it's possible to set different rates for Hawaii and Utah, London and the Shetlands, Perth or Sydney, to name just a few.
Destination filtering can include a combination of one or more of country, state, city, or zip code.
Please note: Matrix Rate, our free table rates extension, does not support UK postcodes and only supports range-based filtering in the 'from' and 'to' fields – there is no support for ',' separations in between different ranges.
With all the paid WebShopApps exensions you can put any combination of multiple countries, states, or postcodes on one line. This feature is not supported in the free Matrixrates extension.
Examples where this is useful:
An example of multiple countries on one line is shown in the example here
The country codes in Magento should conform to ISO3166 (aka ISO3) standards - see the list here
There are some anomolies, in particular Romania is ROU according to ISO3 but ROM in Magento pre-1.4. Magento have fixed this for 1.4 onwards (and Enterprise), so be careful if upgrading. There are a handful of codes like ROU
If you look in phpmyadmin at the table directory_country you will get the full list of ISO3 codes used.
Please see here for a list of google country codes
If you look in directory_country_region you will get the full list of region/state codes used. If you want to say remove some of the military states then you can do by modifying this table.
This field can be left with a
Firstly check you have regions - these can be seen in the drop down on the cart shipping estimator. If you don't then try downloading your countries locale extension. Otherwise you may need to define yourself (if you wish to use).
If you have region codes you need to use the short code in the CSV. This correlates to the 'code' field in the database table directory_country_region.
For example in the USA valid codes are AK, CA, NY, etc.
The values in the region/ state field (from csv) are converted into numeric values before they get save into the database by directory_country_region table. For example:
In some circumstances it may be necessary to filter rates based on the postcode or zipcode a customer is in. Our extensions support 3 different methods for filtering based on zipcode. The method you choose depends on your country location and postcode format in place:
Note: UK based filtering is not supported in the free Matrix Rates extension. It is supported in all paid extensions, and we strongly recommend customers upgrade to the Premium Matrix Rate extension if they need to filter based on postcodes; otherwise, their CSV file will be large and difficult to maintain.
The shipping extension looks for possible matches in the table in order to display the applicable shipping rates. You can set weight ranges on which to match.
Let's take an example:
Let's assume the unit of measurement is lbs.
Here if the cart is between 0 and 30lbs then the shipping rate is $10. If the cart is higher than 30lb then the rate is $25.
With Matrix Rate and Premium Matrix Rate the weight from is weight >=, all other extensions it is weight >. So in the above example on Matrix Rate and Premium Matrix Rate the weight to should be 29.99, otherwise a weight of 30 will match on both rows.
In Matrix Rate the weight to/from must always have a value - '*' cannot be used for the default.
This is very similar to weight based filtering, but based on price. You can obviously combine, so for example you can say a cart <30lbs and less $500 cost x, over $500 costs y.
In Matrix Rate the price to/from must always have a value - '*' cannot be used for the default.
Also known as item based filtering. Here you are filtering on the number of items in the cart. So, for example. you can say upto 10 items in the cart charge x, over charge y.
In Matrixrate the qty/item to/from must always have a value - '*' cannot be used for the default.
Unless you have a requirement to control rates for different customer groups (e.g. retail, general), then you will not need this feature. Set to the default “*” in csv file.
Shipping rates can be specified based on the customer group they apply to. For example:
This can be done by having 2 lines in the csv with the customer group set to Wholesale, Retail respectively.
The customer group names are taken directly from the Customer Groups defined in Magento, and are case sensitive.
Customer group * means all customer groups.
Multiple customer groups can be specified on one csv row, e.g. "Retailer,NOT LOGGED IN,General"
Product Matrix, Shipping Override and Handling Fees Matrix create a magento attribute called Shipping Group (attribute id = package_id, special_shipping_group and handling_id respectively).
Shipping groups are used to group together products that have the same shipping price rules.
When the extension is installed there should be a Shipping tab in your product listing, and the Shipping Group should be available. If it is not then please see the Attribute configuration section to resolve.
For example, if you have mainly standard items and a few bulky items you would create a shipping group called BULKY, and then assign these to all your bulky products. With the standard shipping group you have the option to either create a shipping group called standard, or because this is used for most of your products you can choose to not assign items to the standard group, but use the * value in the shipping group column in the csv configuration to say '*' = all items that are not in the bulky group.
Shipping Groups need to be added to the drop down values for the group attribute, as you do for other drop-down attributes in Magento. The Attribute configuration section contains further info on how to assign these values.
Shipping Groups are case sensitive, and must match exactly with the vales in the shipping group column in the csv file.
The use of a * in shipping group within the table can provide different results, depending on how you want to use it.
The two options for the meaning of "*" are:
You can change how shipping group '*' is handled in the extension configuration in admin. There is a switch '* includes all items in the cart', which can be set to yes or no.
As a general rule, if most of your products use the same shipping rules, with just a few that are using special pricing then the advice is to say that the * shipping group applies to all items that are not defined by a shipping group. This means you don't need to worry about assigned most of your products to a shipping group.
If on the other hand you have a shipping rate such as pickup only which applies to all products regardless of shipping group then it's advisable to say the * shipping group applies to all products in the cart.