<p>I ended up using a custom adjuster anyways. I found out that registering custom adjusters hasn't been deprecated, but using custom types has.</p>
<p><a href="https://craftcms.com/docs/commerce/3.x/adjusters.html" rel="nofollow noreferrer">https://craftcms.com/docs/commerce/3.x/adjusters.html</a></p>

CC BY-SA 4.0
2020-09-11T11:16:14.133Z
2020-09-11T11:16:14.133Z
Tim van Dijkhuizen
<blockquote>
<p>products that don't require shipping costs are (obviously) included in the order total which means the shipping costs are higher than they should be.</p>
</blockquote>
<p>It sounds like you're only using one shipping class? Commerce can provide multiple ways to ship (methods) but also how to handle different categories of products (shipping categories).</p>
<p>What I'd do is create 2 shipping classes: one that includes shipping, another without.</p>
<p>Then set the products that have the shipping costs built-in to only use the Shipping Included in Price category (whatever you've named it).  That takes care of excluding costs for the products that already include shipping.</p>
<p><a href="https://i.sstatic.net/N3ihh.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/N3ihh.png" alt="enter image description here" /></a></p>
<p>You mention the cost for the other products is based on the total of the order. One way to handle this would be to set a percentage per item since those items will end app as the total (ignoring the other products that already have shipping cots.)</p>
<p>You can set this up in the shipping Costs panel. So in the General category in the example below, I set the shipping cost to be 10% of the item (0.1) but you could also do weight or a flat per item. You can also set a minimum or max shipping costs depending on what you're trying to do.</p>
<p><a href="https://i.sstatic.net/k7F9P.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/k7F9P.png" alt="enter image description here" /></a></p>
<p><em>Custom</em> adjustment types are deprecated but the doesn't affect shipping, discount, and tax adjusters—basically items that Commerce knows about.</p>

CC BY-SA 4.0
2020-09-07T15:51:59.280Z
2020-09-07T15:51:59.280Z
RitterKnight
<p>What is the best way to implement advanced shipping cost calculations? Custom adjusters were deprecated right? I need to add shipping costs based on the total price of all products from a specific type.</p>
<p>My client sells products that don't require shipping costs and products that do. The shipping costs are based on the total price of the order. However, products that don't require shipping costs are (obviously) included in the order total which means the shipping costs are higher than they should be.</p>
<p>Is there any way to make this work? Thanks in advance!</p>

<plugin-craftcommerce3><shipping>
Commerce - Advanced shipping cost calculations
# Commerce - Advanced shipping cost calculations

(Asked by: username_0 on 2020-09-07)

What is the best way to implement advanced shipping cost calculations? Custom adjusters were deprecated right? I need to add shipping costs based on the total price of all products from a specific type.

My client sells products that don't require shipping costs and products that do. The shipping costs are based on the total price of the order. However, products that don't require shipping costs are (obviously) included in the order total which means the shipping costs are higher than they should be.

Is there any way to make this work? Thanks in advance!

**Tags:** plugin-craftcommerce3, shipping

---

## 2 answers

### Answer by username_0 on 2020-09-11. Score: 1 | Accepted answer

I ended up using a custom adjuster anyways. I found out that registering custom adjusters hasn't been deprecated, but using custom types has.

<https://craftcms.com/docs/commerce/3.x/adjusters.html>


---

### Answer by username_1 on 2020-09-07. Score: 1

> products that don't require shipping costs are (obviously) included in the order total which means the shipping costs are higher than they should be.

It sounds like you're only using one shipping class? Commerce can provide multiple ways to ship (methods) but also how to handle different categories of products (shipping categories).

What I'd do is create 2 shipping classes: one that includes shipping, another without.

Then set the products that have the shipping costs built-in to only use the Shipping Included in Price category (whatever you've named it). That takes care of excluding costs for the products that already include shipping.

[![enter image description here](https://i.sstatic.net/N3ihh.png)](https://i.sstatic.net/N3ihh.png)

You mention the cost for the other products is based on the total of the order. One way to handle this would be to set a percentage per item since those items will end app as the total (ignoring the other products that already have shipping cots.)

You can set this up in the shipping Costs panel. So in the General category in the example below, I set the shipping cost to be 10% of the item (0.1) but you could also do weight or a flat per item. You can also set a minimum or max shipping costs depending on what you're trying to do.

[![enter image description here](https://i.sstatic.net/k7F9P.png)](https://i.sstatic.net/k7F9P.png)

*Custom* adjustment types are deprecated but the doesn't affect shipping, discount, and tax adjusters—basically items that Commerce knows about.


---

