Shipping rates calculating incorrectly when discount applied

I’ve come across a strange issue where shopify is doubling the shipping rate after a discount is applied.

Scenario

use has 2x of the same items in the cart and applies a BOGOF discount code (this reduces the price of 1x item to $0)

the store calculates rates via an app using carrier service API

Problem

Shopify requests rates for both items via carrier service and the app returns rates (i.e. Standard - $10)

When the customer enters the discount code, shopify re-requests rates for both items and the app returns rates (i.e Standard $10)

Shopify renders the shipping options as $20 ($10+$10)

Desired result

Shopify should show the rates from the final carrier service API call only as it’s requested rates for the entire cart again, i.e. $10

Please PM for an example with a real store.

1 Like

Also, if i change the address, shopify will re-request the shipping rate again with the new address, and show the rate as double what the app has returned.

Hey @Min_Liu,

That does seem strange that rates are doubling after applying a discount or changing the address.

One place I see this could happen is if the store has multiple fulfillment locations stocking the same product. If Location A has 1 unit and Location B has 1 unit, it may end up as a combined shipping rate.

To narrow this down, is this happening on a single merchant’s store, or can you replicate it on a test/development store? If it’s isolated to one merchant, I’d recommend having them reach out through our help center so we can look at that store’s specific configuration.

If you can replicate it outside of that store, I would like to test that here as well. If you can share the exact steps, including the order routing rules, shipping profile setup, number of locations, and whether the doubling happens without the discount code applied (plain 2x items, no BOGO) and any other details to replicate the behaviour.

Hmm i couldn’t replicate this on my dev store, but i’ve noticed that the discount options on my dev store are slightly different to the merchant’s store so perhaps they are on a different version of Shopify (I have an option to restrict the discount to once-off or subscriptions, the merchant does not).

Multiple locations/profiles doesn’t seem to be in play here, normally when there is a multi origin scenario shopify will send multiple payloads to the app with the origin address different, there is only a single carrier service API request here.

I’ve asked the merchant to raise this directly.