Table Rate Shipping

Table Rate Shipping

by Kahanit


Magento Platform
Open Source (CE)
2.0, 2.1

Tech Specifications

Current Version:
Stable Build
04 July, 2017
Extensions, Shipping & Fulfillment, Order Management (OMS)


Table Rate Shipping is used to setup shipping by country, region/state, city, zip/post code, weight, price, quantity & volume.


Back to top

Table Rate Shipping is a completely Ajax based single interface extension that sets up shipping charges. This extension calculates the shipping charge based on the shipping address of customer and shipping rules defined by the merchant. Shipping rules can be defined based on country, state/region, city, zip/post code, weight, price (taxed & pre-taxed), quantity and volume. Zip/post codes can be fixed, range or pattern. Weight, price, quantity and volume can be fixed or range.

Use Cases

⇒ Setup shipping based on country, state/region and city.
⇒ Setup shipping based on numeric and alphanumeric fixed, range or pattern of zip/post codes.
⇒ Setup shipping based on fixed or range of weight, price, quantity and volume.
⇒ Setup shipping based on dimensional weight or volumetric weight.
⇒ Setup shipping based on increase in weight, price, quantity and volume.


Unlimited shipping carriers/methods

Extension allows creating as many carriers/methods as you want and setup shipping charges for each separately.

Organize shipping rules by zones

There is facility to create zones and organize rules by zones.

Shipping by country, region/state, city and zip/post code

'*' is wildcard character, it means any value.

⇒ Countries can be any country or '*'.
⇒ Region/State of country can be any state or '*'.
⇒ City can be any valid city name or '*'.
⇒ Zip/Post code can be any numeric, alpha numeric, range or pattern value.

If there are multiple values you can enter as comma separated or one per line.

In pattern you can use '*', '%' and '_' where '*' and '%' works the same.

Below shows examples:
AB%23 => Means starts with 'AB', ends with '23' and '%' indicated it can be anything in middle.
AB_123 => Means '_' can be any single character and everything else should be as it is.

Shipping by weight, price (taxed & pre-taxed), quantity and volume

These can be any fixed value, range (2-7 means any value between or equal to 2 and 7) or '*'.

Price formula

Price can be any fixed value or formula. Using formula you can setup shipping price per increase in weight, price, quantity and volume.

In formula you can use below variables:
'tw' ⇒ total weight
'tp' ⇒ total price (taxed) without discounts
'tptp' ⇒ total price (pre-taxed) without discounts
'tq' ⇒ total quantity
'tv' ⇒ total volume
'ctwf' ⇒ condition total weight from
'ctwt' ⇒ condition total weight to
'ctwi' ⇒ condition total weight increase
'ctpf' ⇒ condition total price (taxed) from
'ctpt' ⇒ condition total price (taxed) to
'ctpi' ⇒ condition total price (taxed) increase
'ctptpf' ⇒ condition total price (pre-taxed) from
'ctptpt' ⇒ condition total price (pre-taxed) to
'ctptpi' ⇒ condition total price (pre-taxed) increase
'ctqf' ⇒ condition total quantity from
'ctqt' ⇒ condition total quantity to
'ctqi' ⇒ condition total quantity increase
'ctvf' ⇒ condition total volume from
'ctvt' ⇒ condition total volume to
'ctvi' ⇒ condition total volume increase
'skip' ⇒ skip current rule
'stop' ⇒ stop checking further rules and discard carrier

You can use below PHP function:
ceil() ⇒ Round fractions up
floor() ⇒ Round fractions down
abs() ⇒ Absolute value 

You can also use logical and ternary operators.

Drag drop zones, rule groups and rules

Rules are check from first to last and when matching rule is found it stops looking further and this first matched rule is considered. 

You can drag drop sort zones, rule groups (top level rules which are group by country, region/state, city and zip/post code) and rules (sub rules which are group by weight, price, quantity, volume and price) to prioritize one from other.

Carrier for products

When you select product, it makes sure only current carrier is allowed and no other carrier. If cart have 2 different products with different carriers, combined row with 2 different carriers is shown and price is calculated as total of both carriers.

Bulk import from CSV 

When there are thousands of rules you can just prepare a properly formatted CSV file and import it. To check the format of CSV just create couple of rules and export CSV. 

In a row if there are multiple zip/post codes you can enter as comma separated or one per line.

Bulk export to CSV

It exports all the rule of carrier to CSV.

Frontend checkout process

Checkout process remains the same. Carriers/Methods with matching rules are shown.

Demo Store 

Backend: (Login: demo / demo1234)

Please refer "User Guides" for information with screenshots and "Installation Guides" for module setup.

Release Notes

Back to top


  • Compatible with Open Source (CE) : 2.0 2.1
  • Stability: Stable Build
  • Description:

    #Fixed# - grouping rules bug fixed


Back to top
The best place to start if you need help with a specific extension is to contact the developer. All Magento developers have both a contact email and a support email listed.

Q & A

Back to top


Back to top