Tag Archives: xshippingpro

How to sum the cost up of the two methods?

To sum up the cost of several methods, you can use the Grouping Option. Here are the steps to be followed:

  1. Go to X-Shippingpro -> Global setting -> Grouping, Now select a group e.g. Group1 to SUM

2. Now we have a group1 and we have to assign group method/member for this group.

3. To assign a method into a group, go to the general tab of a method, select the Group to Group1.

4. When X-Shippingpro finds several methods belongs to the same group during checkout,  X-Shippingpro takes the appropriate action and shows one method instead of showing them all.

For example, you have a `Method-1` and `Method-2` methods.  If customer want to purchase only from the `Method-2` or `Method-2`, group mode will not come into action. 

But when a customer wants to purchase from both `Method-1` and `Method-2`, it meets the group criteria and grouping will come into action. So shipping cost will be summed up and it displays the summed cost instead of showing separately.

How does Cumulative Price work in XShippingpro?

If you set final cost to Cumulative,  xshippingpro will sup up cost of all unit rows and even applicable Additional Price. Let look into following setting:

Before continue into further lets discuss two things.

How doesXshippingpro calculate Per Unit Cost?
If you noticed, I have entered Per Unit Block is 1 for the second unit row.  Since cost is defined $2 to that row. So each block cost would be $2. Lets calculate how may blocks out there.
Start: 10.1
End: 20
So Total blocks:  (End – Start) / Per Unit Block = (20 -10.1) / 1 = 9.9 i.e Round value: 10
( One thing is worth to inform that Xshippingpro would not round if you would have set Allow Partial is Yes )
Therefore, Total Cost: 10  x $2 = $20
How does Xshippingpro calculate Additional Price?
If xshippingpro find a match among the unit ranges, it will not move forward to Additional Price. But if there no proper matching is found, xshippingpro will move ahead to Additional Price rule and try to calculate shipping cost depending on its value.
By default, xshippingpro calculate additional cost per 1 Unit e.g 1 KG in this case (or whatever Rate Type you defined. If you define Rate type is Quantity, then Per 1 Item) basis unless you define Per Unit Block in the last unit row.
For example, there is no Per Unit Block  defined to the last unit range row. So additional price will be calculated for per 1 KG since Rate type is Weight. Lets say Additional Price is $10, that means cost for every KG is $10
If there was Per Unit block defined to the last unit range row, it would calculate additional price per Per Unit block basis. For example, if it was defined 2, additional price would calculate per 2 KG.  Lets say Additional Price is $10, that means cost for every 2KG is $10

Let’s proceed to main discussion. Lets say we have cart weight 60KG so what would the final shipping cost according to above setting?

1.  First row:  $5
2.  Second row:  $20      (No of blocks: 10 and Cost per block: $2 ,Therefore, 10 x $2 = $20 )
3.  Third row:  $20
Yes, we have still some weight 10KG pending to be calculated  even after all unit rows are done. Because our last row’s upper limit is 50KG but our cart weight is 60KG
4. Additional Shipping Cost: $50   ( Additional Price $5 and we have 10KG to be calculated per 1 KG basis)
Since Final Price cumulative so lets sum up item 1 to 4: ( $5 +$20 + $20 + $50) = $95
Therefore, Final shipping cost for 50KG weight would be $95

Video tutorials on Xshippingpro

I don’t know Lee Ashby personally but I would like to give a big thanks for making few wonderful videos on X-shippingpro in his youtube channel. Lee Ashby, I owe you a cup of coffee! Thank you buddy!

Here are the video links:

X-shipping Pro Opencart Shipping Tutorial – Basic Flat Rate

X-shipping Pro Opencart Shipping Tutorial – Free Shipping

X-shipping Pro Opencart Shipping Tutorial – Groups & Geo Location

X-Shipping Pro Opencart Shipping Tutorial – Heavy Item Surcharge





First level grouping vs Second level grouping in xshippingpro

In xshippingpro, there are two levels of grouping:

  1. Group in methods – First level grouping is based on Group Field  and
  2. Group in groups – second level grouping is based on Sort Order field.

Xshippingpro first calculate grouping based on Group field and finally it calculate grouping again based on Sort Order Fields.

Second level grouping need very seldom. Most of the cases, first/top level grouping is enough to achieve the scenario. However, it might be needed second level grouping in few cases.
Why do you need grouping basically? Sometimes we came across in a situation when we have to take decision what to do to a special case. For example, You want to charge shipping cost $5 if any item is chosen from category A and shipping cost $10 when any item is chosen from Category B. But what would happen when someone want to purchase from both category A and B? Well, you may want sum the shipping cost up Or want to move on with highest Shipping cost.

You can then let xshippingpro know your decision through grouping mode. For doing so, you will have to navigate to group mode option, then Choose Group1 is Sum or whatever you want. Now, You will have to assign this group to each of the applicable shipping method in the General tab. Under general tab of the method, you will find an option “Group”. This is field where you need to be assigned it. If you don’t need any group, you can just keep it as “None”.

This way, you can make up to 10 groupings amongst the shipping methods. One method can belong to only one group at a time.

Now let discuss Group of groups or second level grouping. For example, you have 5 top level groups like I discussed above. Now you have come up in a situation where you may need to sum up the cost of  the groups. This is very rare case but it may be needed. Thats why Group of Group is only one. To make grouping within groups, you first choose Group mode i.e either it is sum or highest etc.

Then you will have to choose shipping methods for this group. Unfortunately, there is no selection field for this kind of grouping like first level grouping. Xshippingpro consider value of the Sort Order field that is located under general tab to find out or calculate such grouping. Method having same Sort order value will be considered as a group. For example,  if you have chosen “Group of groups” is Sum. Now method-A and method-B has sort order value is 1. Now xshippignpro, will consider these two method as a group. So whenever both methods shall become activate simultaneously, xshippignpro will show one method instead of both depending on Group mode (sum, average etc).

Note group in groups will not work unless you have at least one first/Top level grouping.

Shipping Cost per 100gm with additional $10

how to set following situation?

initial charge(Rate per parcel) $10
Plus rate per 100g or part thereof $1

So if customer buy an item of 300g
Total charge is $13 (1 x $10 + 3 x $1)

Thanks for your query. Please do following:

1. Under Price setting tab, Select Rate type is Weight.

I am assuming that your default weight unit is gram. If it is KG, then you will have to enter it accordingly. For example, 100 will be replaced with 0.1

Now enter following Unit Ranges:

Start . —- End . —- Cost —- per unit block —- Allow partial 
0 —- 999999 — 1 —– 100 – – — – – NO

a. First define a big ranges 0 – 999999 so that it covers all weight
b. Per unit block ensure that it will charge $1 per 100 gram
c. Allow partial ensure that it will not charge partial block. SO it will charge $3 for 250 grams instead of $2.5

2. Under Price adjustment section, enter +10 into the field “Modifier” [+10 means it will add $10 with final cost]

Postal Rules in xshippingpro

Xshippingpro supports following postal rules.

Rule 1:  Numeric Postal Range

The range should be defined by a single hyphen (-). For example, 100-200 denotes postal codes 100 to 200. If you need multiple ranges, just separated them by comma(,). For example, 100-200,300-400.

Rule 2:  Prefix-Range  (Prefix hyphen range)

The prefix can be anything. The range should be like Rule 1 which means numerical postal range. Example: KW-10-15 represents KW10,  KW11, KW12, KW13, KW14, and KW15

 Rule 3:  Prefix-Range-Suffix  (Prefix hyphen Range hyphen suffix)

Prefix and suffix can be anything. The range should be like Rule 1 which means numerical postal range. Example: KW-10-15-EE denotes KW10EE,  KW11EE, KW12EE, KW13EE, KW14EE, and KW15EE

Rule 4: Postal codes separated by a comma(,).  For example, 1000, AE1111 etc.

Rule 5: Any valid regular expression encapsulated by forward slash i.e.  / For example: /AB[0-9]{2}/

Finally, you can use any wild cards in the prefix, suffix and single postal code.

For example, PA2* denotes any postal code starting by PA2.

KW-1-5-* denotes KW122, KW2XX, KW5XY and so on.

Several rules can be mixed together separated by a comma. For example: 1200, AE-1-5-*,PA2*

Grouping in x-shipping Pro

In Xshippingpro, you can divide all shipping methods up to ten group. Why do you need grouping?  It can be used following cases:

  1. You can hide/filter out unwanted shipping method at certain scenario. For example, You have two shipping methods a. Free Shipping when order total is greater than $100 and b. Flat Shipping $20. So whenever a customer purchase products worth more than $100, it will show two shipping methods during checkout which are Free Shipping and Flat Shipping. Since it is bit awkward having free shipping and flat shipping at a same time. So you can hide Flat shipping whenever Free shipping activates. we can hide it using group feature.
  2. Merge or combine shipping cost of several shipping methods into one. For example, You want to charge $5 per product for category A and $7 per product for category B. So you have created two shipping methods. One for category A and another for Category B. Whenever customer purchase products from category A and Category B together, you want to sum up the cost. Group option can do that.

It support following group type or mode:

  1. Lowest   –  It will show the method which have lowest cost among the group methods
  2. Highest  –   It will show the method which have highest cost among the group methods
  3. Average –   It will average the cost of the group methods.
  4. Sum –   It will sum up the cost of the group methods.

For defining several method as a group, first you will have to navigate in Xshippingpro -> Global setting -> Group Option

Now select Group type from available ten groups.  You can also enter a group name. This group name would appear instead of Method name if that group become activated during checkout. This group name can be combined with original method name and its price as well. For placing list of method names, please put @ and for list of prices # is needed to be placed.

Now you will have to assign your group number to the methods that you need to be linked together under general setting of each method.

Group creation is done!

Finally, it is also possible to make group from the Groups! This is called Group in groups. This group will determine based on Sort Order value defined on general tab of the each method. Shipping method having same sort order value will be placed into same group. Group of groups also can be Lowest, Highest, Average and Sum.

To know more details about top level grouping (Group of methods) and Second level grouping (Group of Groups), please check this

How to install xshippingpro in OC 2.x/3.x?

Although I am giving screenshots of xshippingpro, these steps apply to any module. So any module can be installed by following these steps.

  1. First, unzip the downloaded zip file e.g. xshippingpro.zip. Once you extracted, you will find several folders for different OC versions.

2. Now collect the installable file from the respective directory for your OC version. For example, if your OC version is 3.x, get the installable file from OC_3_x. The installable file name is xshippingpro.ocmod.zip

3. Now, please Go to Admin -> Extensions -> Extension Installer. Then select “xshippingpro.ocmod.zip” to install it.

4. Now please navigate to Admin -> Extensions -> Shipping. Now click the Install button of the X-shipping pro.

5. Finally, go to Admin -> Extensions -> Modifications and now click the “Refresh” button

Free Shipping for a certain category and weight based shipping

I want to set up free shipping for all shoes delivered within the US. If an order contains shoes and something else, the entire order should ship free.
Otherwise, it should use shipping by weight or free shipping in us if the order is over $75.


Thanks for contacting and purchasing xshippingpro.

After summarizing your requirements, I understood followings:

1. Shipping is free within US if order contains shoes and any other items.
2. If order total is less than $75, Shipping cost will be weight based
3. If order is total is greater than $75, Shipping is free

You did not tell about shipping outside of US. Anyway, for achieving above scenarios you need three shipping methods to be created.

Also since both item1 and item3 might be appeared at a time and both are free shipping methods, so it would not be good thing if two free shipping methods appears together. For fixing this issue, we will use group mode option. So please navigate to Xshippingpro -> Global Setting -> Group Option. Then Select Group1 is Highest.

Now lets create shipping methods

Shipping methods with shoes category:
1. Create a new method and provide a name
2. In General Setting tab, Select Group is Group1
3. In Product/Category tab, Select Category rule is “Any of the selected categories with others”. Then choose your Shoes categories.
4. In Price setting tab, Select the Shipping By to Flat. Now enter Price 0

Weight Based Shipping
1. Create another method and provide a name
2. In General Setting tab, Select Group is Group1
3. In Price setting tab, Select the Shipping By to Weight. Now enter Weight ranges (Unit Ranges) as your required. For example:

Start      End        Cost           Per Unit Block         Allow Partial
0               10           5                        0                                NO
10             20          10                      0                                NO

4. In Other tab, Enter Order Total Range 0 to 74

Total Based Shipping
1. Create another method and provide a name
2. In General Setting tab, Select Group is Group1
3. In Price setting tab, Select the Shipping By to Total. Now enter following unit ranges

Start           End           Cost Per Unit          Block Allow        Partial
75              9999999            0                               0                         NO

Per Item based shipping cost

Let’s say I have product a called blue car.  On this one product and only this product.  I want the per item shipping to be $10.  So if let’s say you want to buy 5 blue cars, the shipping would be 5 x 10 = $50

Then all the other products.  I want it to be $2 per item. How do I do this?
Thanks for your question. We need to create two shipping methods, one for the product blue car and another for all other products. Since customer might purchase product from blue car and other products together, we have to sum up the costs of the both shipping methods in such case. For accomplishing that, we can use group mode option.
So navigate to Xshippingpro -> Global Setting -> Group Option. Now select Group1 is Sum
Okay, Lets create first shipping method:
Shipping Method for the product Blue Car
  1. Create a new method and give it a name
  2.  In General Setting tab, Select Group is Group1
  3. In Product/Category tab, Select Product Rule is Any of the selected Product with others. Then choose the product Blue Car.
  4. In Price setting tab, Select Shipping By to Quantity – Method Specific . Then add following unit ranges

Start                End            Cost              Per Unit Block            Allow Partial
0                        999            10                          1                                NO

Shipping Method for all other Products

  1. Create another method and give it a name
  2.  In General Setting tab, Select Group is Group1
  3. In Product/Category tab, Select Product Rule is Except the products with others. Then choose the product Blue Car.
  4. In Price setting tab, Select Shipping By to Quantity – Method Specific . Then add following unit ranges

Start                End            Cost              Per Unit Block            Allow Partial
0                        999             2                          1                                NO