Extensions‎ > ‎Nearest Matrix‎ > ‎



Nearest Matix Rate is controlled by a combination of the shipping method configuration panel under 'configuration > shipping methods' and a CSV file (table).

In order to set up the table it is necessary to understand the various options you have control over. Many of these may be irrelevant to you, if so use the defaults suggested.

Firstly you need to decide what condition you need to base your shipping on. This is set within the shipping method configuration. For 95% of extension users this will be "Standard vs Destination". You only need to set to "Volume vs Destination" if you need to filter based on volume weight in some way.

The use of Volume Weight & Destination allows you to use a custom decimal attribute attached to the product, and filter based on the total for all items in the cart. The configuration for this is explained in a separate section below.

The shipping extension works on a "Best Match" basis. This means it will look for the closest match first, then work backwards if none can be found, until one is found or all options have been searched.


  • Generic extension installation instructions can be found here

  • Within 'Configuration > Shipping Methods' you should have a shipping method available called "Nearest Matrix Rate"

This extension does not overwrite any core files directly. It does change the functionality of Callback.php inside Google Checkout, so if you do upgrade and Magento make changes in this area you may not pick these up. Please contact me when upgrading if experiencing difficulties with Google Checkout.

Distance Explanation

Distance is calculated based on filtering by zip code ranges measured in KM.

To convert KM into miles you need to edit  app\code\local\Webshopapps\Nearestmatrix\Model\Mysql4\Carrier\Nearestmatrix.php > calc_distance function > $radius from KM to Miles.

In the codebase the algorithm will calculate the distance between the two points for your store and the customer's location.

The lookup table for zip codes is in the database under au_postcode_loc .

Shipping Method Configuration

  1. Open Magento Admin

  2. Within ' Configuration > Shipping Methods ' you should have a shipping method available called "Nearest Matrix Rate"

  3. Enable Nearest Matrix Rate

  4. Set values as appropriate – ensure you have "condition" set correctly. Unless you require volume related checks then use “standard vs destination”

  5. Save Config

  6. Change ‘Current Configuration Scope’ to be the Main Website

  7. You will also notice inside each website

    • Store latitude - please put in store location latitude
    • Store longitude - please put in store location longitude

  8. You should now see an import button box appear with a browse box in Nearest Matrix Rates.

  9. Browse to a CSV file. Details of CSV file configuration can be found below ave the config to upload the CSV. Any errors in the CSV will be reported here

  10. You should then see the appropriate shipping rates appear on the front end upon checkout 

Table Configuration

Table columns available in Nearest Matrix Rate :

Field Name



Website Store ID number the rate applies to - this means you can also use multiple website stores and manage with one CSV.

Distance From

Using Zip code.

Distance To

Using Zip code.

Weight from

Starting weight at which this shipping rate applies. Default is '*' for all

Weight to

Ending weight at which this shipping rate applies. Default is '*' for all

Price from

Starting price at which this shipping rate applies. Default is '*' for all

Price to

Ending price at which this shipping rate applies. Default is '*' for all

Item from

Starting #items at which this shipping rate applies. Default is '*' for all

Item to

Ending #items at which this shipping rate applies. Default is '*' for all

Shipping Price

The price that the customer will be charged assuming all

criteria in row is met


Used to perform special function.

Delivery Type

This is the label that will tell the end user the shipping

option. When totalling the cost the delivery type is used (e.g. all 1st class delivery types for all packages are summed)

Sort order

Defines order of rate output , from lowest to highest

  • Unlike standard MatrixRate the From/To fields are working on basis of >= From and =< To e.g. from 0 to 5 would mean anything greater or equal to 0 and less than or equal to 5.
  • When used with sort order field you can change ordering of output from default of Lowest->Highest price to whatever you want. 

Algorithm Field

  • Weight based price increase: achieved using syntax

    W=Weight Threshold @ Price

    For example, to add $1.50 per pound use: W=1@1.5

  • Item based price increase: achieved using syntax

    I=Price Increase

    For example, to add $5 for every item added use: I=5

  • Volume based price increase : achieved using syntax

    V=Volume @ Price

    For example, to add $5 for every 500 units of volume use: V=500@5.

Additional Configuration Options

The following additional configuration are possible:

  • Ability to calculate shipping based on tax inclusive cart price

  • Ability to allow custom sorting on shipping rate (default is lowest to highest price)

  • Global Free Shipping Minimum order amount (also able to configure this on a per country/state/etc basis using a long format csv file)

  • Option to change error message output when no rates found (or not display any at all)

  • Option to add a handling fee

  • Ability to filter based on higher of volume or weight

  • Remove virtual/downloadable products from the cart subtotal used on calculation

  • Exclude certain regions/conditions by setting shipping price to -1 – This is particularly useful if you want to include most rates but exclude just a few

  • Ability to set the lowest valid priced shipping method to free

This is all managed within the shipping method configuration.

Volume Weight Configuration

Note: Google Checkout will not support the use of Volume Weight vs Destination Condition.

Some clients have a requirement to use a volumetric weight for calculating the shipping price, or use the greater of volumetric and standard weight. This extension supports this capability.

  • You can determine if the attribute "volume_weight" exists after you install the extension. Add this as required to your attribute sets.

  • Before you can use the "Volume Weight" attribute you need to add it to your attribute sets. "volume_weight".

  • In the product listing you will then see the "Volume Weight" attribute is present. You need to set this as required.

  • To compare the total volume weight with standard weight and use the greater of the two then set "Use Higher of Volume/Weight" to Yes in the shipping method configuration. Otherwise in the table use the Item From and Item To fields – these will represent Volume From and Volume To – see the csv "volume weight.csv" for an example configuration.