solidus icon indicating copy to clipboard operation
solidus copied to clipboard

Bring Zip Code Zones Extension into core to support shipping surcharges for remote areas

Open fthobe opened this issue 10 months ago • 4 comments

Related to #6155

Desired Behavior Plenty of shipping companies use zip codes to apply surcharges for very remote areas. BigCommerce, Shopify support zip code zones. ZIP Code based remote areas cost more to ship, we should therefor maybe consider to bring solidus_zip_zones into core and as it can be useful to build logic around charging customers more for remote areas as they cost up to 4 times to ship. Given that solidus_zip_zones is intergrated into old backend, we would need to retouch it anyway and given that it's right now updated and >200 lines of relevant code, migrating it to core seems an obvious option.

Some notable examples are:

  • DHL
  • FedEx
  • GLS
  • UPS
  • everybody else

Given that the logic of shipping companies is usually all zip codes but, we should consider doing the same and allowing a setting to exclude zipcodes from a zone.

Examples of Remote Area Surcharge lists:

  • DHL 25€ Surcharge List: https://mydhl.express.dhl/content/dam/downloads/global/en/remote-areas/dhl_express_remote_areas_en.pdf.coredownload.pdf
  • UPS 20$ Surcharge: Extended Area Listing
  • FedEx: https://www.fedex.com/content/dam/fedex/us-united-states/services/ODA_OPA_ZIP_changes.pdf

Current Behavior Zones are based solely on states or countries.

fthobe avatar Mar 08 '25 19:03 fthobe

I'm open to this, though I do wonder if there's a more general solution. We've seen use cases for other specialized zones (like for the city of Livigno 😡). We've worked around it in other ways, but I do wonder if there's something we could do.

Does anyone else on @solidusio/core-team have thoughts about this?

jarednorman avatar Mar 10 '25 23:03 jarednorman

Well, actually the combination of Zip Codes and countries is pretty much as general as it can get. I don't know the exact issues around city / state / federal taxes in the US. But livigno for example could have been covered here. There are some ideas I have around Zip codes, the issue is that the list of special treatment zip codes for example for FedEx and DHL is quiet hefty (~17000 zip codes for FedEx remote areas).

It's not as much of a frontend problem as an admin problem (try saving 5000 zip codes in text area).

The reality is there are some ways around it shipping wise:

  • easypost gets real time rates, we could use them for tiered shipping pricing: if shipping less than x make it free, >X ask for a fee.
  • we could also simply create a zip code ressource and offer csv import

fthobe avatar Mar 10 '25 23:03 fthobe

It's also worth noting that taxes are also relevant here. Particularly in the US, zips aren't accurate enough to determine the correct taxes 100% of the time. This is partly why services like Avatax are so popular.

jarednorman avatar Mar 10 '25 23:03 jarednorman

I think that's a very US centric problem. Does stock location come into play as well or only merchant and customer location?

fthobe avatar Mar 10 '25 23:03 fthobe