Commerce: Don't calculate extra shipping for 1st item I have a flat rate of $2.50 for every order.
I have extra +$1 for every extra item added to cart.


So, if I order 1 item, total shipping is $2.50, but if I order 2 items total shipping is $3.50.

My problem is that in 2nd case, I get total shipping of $4.50 for 2 items instead of $3.50. It calculates the +$1 for both items.

I added the rule condition Total product quantity comparison to apply +$1 if quantity is &gt; 1. So if I add only item, it doesn't calculate the extra shipping, but as soon as I add more items, it calculates the extra shipping for initial item.

Here's my calculation rule:


I followed this guide: https://vimeo.com/32813567
From the screenprint of your calculation rule it's hard to tell what exactly the logic is that you implemented (an exported rule, created with the Rules UI, provides ALL the details).

Anyway, it seems that your Rules Loop is adding $1 for EACH line item, so also for the very first line item. While your requirement (in your question) states "+$1 for every extra item" ... If "extra" is to be translated to "but do not add $1 for the very first item", then clearly in your Rules Loop you should not have added $1 for the very first item.

The easiest way to correct this, is to subtract $1 after your Rules Loop is finished (consider it like a discount for the very first item). If you rather want to go for a slightly more complicated solution, then you could use the Conditional Rules module to add an extra test (Rules Condition!) within your Rules Loop to NOT perform that +$1 for the very first line item (I presume you know what such test should look like). My 2 cents: go for the easiest way via the extra correction after the Rules Loop is finished.