HOW TO: Manually create shipping table rates

Last modified by C Borg on Fri, June 25, 2010 09:43
Source|Old Revisions  

This is an old revision of the document!


HOW TO: Manually create shipping table rates

Table rates are calculated based on match type system gathered from either a order record or a quote record. Let’s start with an example, and then I’ll explain a little bit more in depth.

You can create records in the database using this code.

INSERT INTO 
'shipping_tablerate' (
    'website_id', 
    'dest_country_id', 
    'dest_region_id', 
    'dest_zip', 
    'condition_name', 
    'condition_value', 
    'price', 
    'cost'
    ) 
VALUES (
    1, 
    'CA', 
    0, 
    '', 
    'package_qty', 
    '1.0000', 
    '4.0000', 
    '1.0000'
    )

What each of the columns represent

  • website_id: website with ID 1,
  • dest_country_id: the destination country IDs,
  • dest_region_id: The region Ids - corrspond to the regions found in the database table directory_country_region. A value of 0 means match all.
  • dest_zip: This is can be an arbitrary number. This field performs the final match against the order. It corresponds to the postcode field in the order/quote. A value of 0 means match all.
  • condition_name: This can be either ‘package_weight’,’package_value’, or ‘package_qty’. This field determines whether or not the table rate will match the quote/order.
  • condition_value: This is can be an arbitrary number. It is used in conjuction with condition_name to determine a match.
  • price: This is can be an arbitrary number. This will be the displayed cost to the enduser (customer).
  • cost: This is can be an arbitrary number. This will be the displayed cost to the admin (accountant).

As previously mentioned, table rates are calculated based from an order/quote record. If all of the conditions are met, then the table rate will be displayed. In the example code provided above, if an order can through the system, the example database record would match it IF, and only IF, it was placed on the website with ID 1 (website_id), that is being shipping to Canada (dest_country_id), in any province in Canada (dest_region_id), to any postal code (dest_zip), that has at least one item in the quote. A price of $4.00 is displayed to the customer, and a price of $1.00 is displayed to the accountant.

Destination country IDs

All of the destination country IDs can be found on this page: http://www.iso.org/iso/english_country_names_and_code_elements




 

Magento 2 GitHub Repository

Magento Job Board - Some sort of tag line goes here

Latest Posts| View all Jobs