Shipping Suite for Magento 2 – Use Cases (Part 1)

Reading Time: 5 minutes

Our Shipping Suite for Magento 2 is quickly gaining popularity with the platform users. In this regard, we keep receiving questions about the extension’s functionality and possible ways to maximize it for some specific business needs.

That’s why we’ve decided to write a series of blog posts about the extensiodn. These articles will answer some frequently asked questions and describe interesting cases of the extension usage.

Let’s roll!

Table of Contents

1. Setting Shipping Costs

Question:

I need to set up shipping costs that depend on a product price range. For instance, for products:

from $0 – $3000, shipping cost is 11%
from $3000 – to $5000, shipping cost is 5 %

And when a product price is over $5000, shipping is FREE of charge.

How to set that with Magento 2 Shipping Suite?

Answer:

To configure shipping costs that depend on a product price range, you need to create corresponding shipping rules for 11%, 5% and 0% shipping.  

To do that, go to Stores – Shipping Rules & Restrictions – and add a new shipping rule there.

After you enter the basic rule info, jump to the Conditions section and set it as ‘Subtotal equals or less than ________ (the cart amount)’.

1

Next, go to the Actions tab and in the Modify Shipping Cost section, select Overwrite Amount (Percent) option. In the field below, define the shopping cost per qty of item in per cent.

2

Save and apply the rule. That’s basically it.

* Here is why you need to use the ‘Shipping Cost per Qty of Item %’ option and NOT the ‘Shipping Cost %’ one.

___________________________________________________________________

2. Shipping Prices for Zones / Countries  

Question:

Is it possible to set the shipping pricing at a zone level rather than a country level?

Answer:

At this moment, this exact feature is not available in the extension.

As a temporary workaround, you can set the shipping price for geo zones (for example, for Africa or the European Union).

First, go to Stores – Shipping Methods – select a method you’d like to edit – go to the Rates Settings – there, in the grid, select a rate to edit (or add a new one) – go to the Conditions tab and enter the required data.

Here is how to:

3

4

Countries can be edited under Stores – Configuration – MageWorx – Shipping Rules – Countries by Region Configuration:

5

___________________________________________________________________

3. Shipping Rules and Restrictions

Case:

There are 2 Shipping Rules:

1) Retail Customer Rule – Applying to retail and logged out customer groups. Plus, there’re some shipping methods setup for retail customers this shipping rule is applying to, and a couple of hidden shipping methods that are not available for trade customers.  

2) Trade Customer Rule – Applying to Trade customer groups. Plus, there’re two shipping methods setup for Trade customers which this shipping rule is applying to, and two hidden shipping methods that are not available for trade customers.

If somebody selects a different country from the current location, the extension shows all the shipping methods. It’s required to hide any shipping options if it’s not in the current location.

Shipping Methods

There’re 2 Shipping Methods for Retail Customers and 2 Shipping methods for Trade Customers. Within these shipping methods all of the rates settings apply to UK postcodes to add charges based on postcode.

The goal: Shipping Rules / Restrictions should take priority and shipping methods should display based off the actions set within the shipping rule. Otherwise, it would seem that you cannot conditionally show shipping rules based off customer group.

(see the attached screen-shot for more detail – right-click -> View Image ) 

Shipping 4

Solution:

There’re 2 aspects one should take into account:

1) Shipping zones can be currently used in condition rules. In the example above, you need to indicate that a shipping zone is the UK mainland. Note that this should be done for both rules.

2) By default, the rule with the highest priority (for example 20) is executed first, next go the rules with a lower importance (for example 10, then 5 etc.).

Ideally, you should have 2 groups of rules for each Customer Group in particular (those can be added in the main settings); and one rule to disable all the shipping methods available for the ‘UK Mainland‘ zone. Next, you need to run a simple check: if a zone is not the ‘UK Mainland‘, disable (hide) shipping methods for it.

Further to that, you simply add a group of users to the main settings, which will let you avoid unnecessary checks. Next, you need to set up a rule. For example,  zip code ranging from PA, PH, DD, AB, IV or KW and the Subtotal that is more than 1000 pounds. And if the rule passes through, you place the Overwrite Shipping Cost as 0 pounds (= free shipping).

The only drawback of this approach is the abundance of possible combinations. The good thing is, it can be simplified.

For example, in this condition:

Does the order contain 21 DAYS delivery item? (Product Attribute – Boolean) with the standard 25-pound price increment.

The condition can be separately run for both customer groups. To implement that, you simply indicate that the basic shipping method is equal to 25 pounds. Also, you need to create one high-priority rule that will check if there is such a product in the shopping cart, and if it is in there, it will add a 25 pounds increment to the shipping price.

What’s next?

If a product is found in a shopping cart, regardless of a customer group (trade or retailer), the shipping cost will get doubled and will amount to 50 pounds (25 + 25). However, when the free shipping rule gets triggered, it overwrite the shipping cost making the total price as it should be.

If such a product is not found in a shopping cart, and the free shipping rule does not work, a customer will be charged 25 pounds as a shipping price. This will eliminate the necessity of running excessive and lengthy checks.

So, now, you’ve got 2 rules:

– the 1st hides your shipping methods for those who do NOT come from the UK Mainland,
– the 2nd adds an additional 25-pound increment if a shopping cart has a product with a 21-DAY delivery term.

The only thing left to do is to add a couple of rules specific for your customer groups:

3 – for retail,
If is this a postcode exception?
PA, PH, DD, AB, IV or KW
you should change the shipping cost to 0 (Shipping Cost Overwrite Amount (Fixed) = 0) and terminate the service (Stop Further Processing = Yes).

4 – If is this a postcode exception?
PA, PH, DD, AB, IV or KW – TRUE and sabtotal more than 1000 pounds,
you need to change the shipping cost to 0 (Shipping Cost Overwrite Amount (Fixed) = 0) and terminate the service (Stop Further Processing = Yes)

5 – If is this a postcode exception?
PA, PH, DD, AB, IV or KW – FALSE and sabtotal more than 500 pounds
you need to change the shipping cost to 0 (Shipping Cost Overwrite Amount (Fixed) = 0) and terminate the service (Stop Further Processing = Yes)

Due to the fact that we set a base cost to 25 pounds and have a 25 pounds increment from the 2nd rule, everything will go as it should.

If you use some third-party shipping methods without the ability to set the base cost, you can create another rule of the highest priority (similar to 1 and 2, it should be done before 2nd and after 1st) and immediately overwrite the cost of this method’s shipping to 25 pounds.

That’s basically it.

To be continued….

P.S. If you’d like to share your experience of using the extension and describe how it helps you with your specific business needs, please drop us a line.

I am a huge coffee fan. If I’m not drinking it, I’m likely to be busy with getting MageWorx projects done. Fond of reading sci-fi books (especially those about dwarfs, ogres and the post-apocalyptical world). My biggest dream is to find a huge chest of gold and buy my own uninhabited island. Happy husband. Proud father. Ah... and also I'm a certified Magento developer. ;)

LEAVE A REPLY

Please enter your comment!
Please enter your name here