One of the shipping options which Catfish offers is weight based shipping. This allows you to set weight tiers for each country on your storefront, meaning that if a customer is ordering a particularly heavy order line, you could restrict them to only have certain methods available, and charge them different costs for different weight tiers.
How to enable
In order to enable this delivery computation method, navigate to Configuration -> Delivery -> Delivery Computation and click the "Edit" button for the Shipping by Weight method.
When you are editing this line, you will be able to check the box under the "Is active" column, then click "Update" which will save your changes and enable the computation method. Once enable, it will appear in the checkout steps, provided that the customer meets the requirements for any of the weight tiers.
To configure the method, navigate to Configuration -> Delivery -> Delivery Computation and click the "Configure" button for the Shipping by Weight method.
The configuration page for this method is as shown in the screenshot below:
The very first part of this configuration page is the table of Shipping by Weight records, and this is because this is the most relevant part of the configuration as Shipping by Weight is controlled entirely by records in this table.
To add a record, you will need to use the form shown below the table, and fill out the fields, which are explained below:
This is the country the record will apply to, allowing you to set completely different tiers for different countries. If you would like to make a tier that will affect all countries, however, then simply select the "*" option from this dropdown menu (selected by default).
The delivery option(s) are what the user will see during the checkout process if they meet the requirements for the record. For example, if you created a record which used the "First Class" delivery option, then if a user met the requirements for that record, they would see the "First Class" delivery option in checkout.
The list of delivery options loaded is populated from the Delivery Methods menu found under Configuration -> Delivery -> Delivery Methods.
Order weight from & Order weight to
These fields are used to set the weight boundaries for this tier's requirement. If the user's order's total weight falls within the boundaries set with these settings, then they will qualify for this record/weight tier and be able to choose it during the checkout process. Please note that the user will only need to qualify (and should only qualify) for one of the weight tiers configured for the delivery option in order for it to appear.
All weights are calculated in kilograms (kg).
If this setting is enabled, then the cost for selecting this delivery method will be a percentage of the order subtotal instead of a flat rate.
Charge percentage (of subtotal)
If the "Use Percentage" setting is enabled, then this setting will be the percentage of the subtotal charged for delivery.
If the "Use Percentage" setting is not enabled, then this setting will be used to set the fixed rate which will be applied when the user selects this option.
Limit delivery options to configured ones
If this setting is enabled then the only delivery methods that will load during the checkout process will be the ones configured within weight based shipping.
For the purposes of this article, I will be making three weight tiers:
|Shipping Method||Weight Requirement||Charge|
|First Class||Order Weight < 10kg||£8|
|Second Class - Light||10kg =< Order Weight <20kg||£5|
|Second Class - Heavy||20kg =< Order Weight||15% of subtotal|
To keep it simple, I will be setting these tiers up for all countries.
Below are the configurations I entered for each tier:
Second Class - Light
Second Class - Heavy
Points to note
In the example configuration above, I have set the order weights to be ranged from 0 -> 9.9999, 10 -> 19.9999, and 20 -> 10,000,000,000. My reasoning for these numbers is that the ranges should never overlap (i.e. one tier ends at 10 and the other starts at 10. They will always have to have at least a 0.0001 difference).
We also recommend ensuring that there is no way a user could fall outside of all tiers as they would not receive and shipping options. This is why I have set the first tier to start at 0kg and the last to end at 10,000,000,000kg. This is because it is not possible for someone to order less than 0kg, nor is it likely that they will order more than 10,000,000,000kg of products in the same order.