I currently have two warehouses (one on the east coast and west coast of USA). The problem I am trying to solve is finding the optimal method of shipping based on the user's shipping address and our two warehouses. It is unwise for us to ship a product from the west coast all the way over to a consumer on the east coast and vice versa.
We currently run WooCommerce and have the Table Rate Shipping plugin installed. I've created two zones (one for west and one for east) to divide our two shipping areas and I understand you can create a shipping class for each WooCommerce product but you are unable to create more than one under a product. If this was possible, I was thinking of creating two shipping classes under each product and finding an optimal shipping method that way.
I believe there is TradeGecko but it is a costly service that provides much more functionality than what I technically need. Does anyone here know of an ideal solution to optimally ship our products from two warehouses? Help or insight would be appreciated.
What you can do is for US try using a flat shipping rate (Not sure if its possible for you, but I dont think there should be much price difference within US ). You can use this plugin "Flat Rate per State/Country/Region for WooCommerce", it allows you to set different regions and states and then set prices for those regions. So for instance if someone from east cost orders a product you can send it for flat $5, similar can be done for West cost. I dont know how your workflow is but the relevant warehouse should be automatically notified when the product is booked. while for the rest of the world the pricing should remain standard.
Related
It's been a week since I'm trying to resolve this, and I'm just stuck. Please help :)
Here is the problem: I have a website with catering services, that are delivered every day to the clients. It's done using wordpress, gravity forms + addons (woocommerce and perk plugins with calendar and conditional pricing) with complicated conditional logic as the meals have different calories and so on. It's only one product, but it's coming from Gravity Forms itself. The form is calculating the number of days as a hidden field and I want to calculate the delivery cost by multiplying the number of days, that the Client placed the order for by the flat rate cost of a particular delivery zone in woocommerce (3 zones with different delivery costs in total). Let's say the cost of the delivery to one City is $5 and the order is placed for 10 meals, meaning 10 deliveries with fresh meal every day - so I want the delivery cost to be $5*10 = $50 for that order. I tried to achieve this with Gravity Perks- not possible, with Woocommerce Addon for Gravity Forms- it's possible to override the number of items ordered, but not the delivery cost itself... and I'm out of ideas :(
Does anybody have any clue how to achieve this?
Huge Thanks and a big beer in advance :)
I'm trying to hide shipping method based on shipping distance or based on radius around shipping origin.
I've tried using the plugin WooCommerce Distance Rate Shipping, but it cannot achieve this since it's adding a shipping method to the shipping zone...
I'm trying to have these conditions:
If shipping distance is 50 km and lower, then hide shipping method A
If shipping distance is 51 km and higher, then hide shipping method B
Could someone point me in the right direction?
Thanks!
1st you need algorithm to calculate distance between user entered address and your shop store.
Search for APIs which can help you in that, most of them use coordinate to addresses to do that. google API is also available. Go through these, it might help -
https://developers.google.com/maps/documentation/javascript/geometry/
https://developers.google.com/maps/documentation/javascript/reference#spherical
If you are supporting multi-vendor AKA multiple(total dynamic) warehouses then this will become necessary.
But if your store address is fixed one, easiest way is make a zone of addresses which falls under such radius and use existing zone system.
You can achieve it without plugins by defining shipping zones and limit each zone by zip codes. You need to manually calculate each zones radius though.
Example:
Step 1: Country Sweden, Zone: Solna, Zip code range: 16900...17331
(WooCommerce understand 3 dots ... as any zip codes from 16900 to 17331
in this case the distance is less than 50 km so I would define shipping rate A for this area.)
Step 2: go to calcmaps.com/map-radius/ and draw a circle around areas you want to add so you can define zip code ranges based on distance
Step 3: define shipping alternatives like Flat rate etc. for each area.
When customer enter a zip code Woocommerce provide available shipping method based on that zip code.
it's one way and requires some works but achievable.
I'm using some different flat rate shipping classes in WooCommerce. For example I'm adjusting the shipping cost with
1*[qty]
2*[qty]
I need to add a roof price. If for example a customer buys 10 of one product I want the shipping cost to be for example 5 euro.
I think it would be good enough to use a global max-shipping cost.
I'm sure I have seen it somewhere but I cannot find it now.
I am picking tools to use for an international store. Company sells training and products in North America, Europe and a few other places. The existing store in the United States (Drupal/Ubercart/Authorize.net) works great and serves all their needs.
Displaying product prices in different currencies are relatively easy to set up, and you can display the correct currency symbols and values depending on where services are rendered, where people want to ship to, etc (useful modules include uc_multiple_currency, uc_multiprice, uc_cck_currency).
Are there viable Ubercart solutions to sell to other international markets using the same storefront? It is possible for any user to buy services/products through the US store, but paying in USD for a service offered in e.g. the Netherlands, when dealing with people based in the Netherlands is not acceptable.
The only payment gateway I could find that would accept payment in multiple currencies is Paypal. However, I am looking for a solution that would accept credit cards from international users and charge them in the correct currency. Authorize.net works great - will accept cards from anywhere and process them, but all transactions is in USD. It would be extremely problematic to charge someone €250 on the site and their final charge (after currency conversion) being e.g. €250.65 or something like it because of a delayed conversion.
Numerous people have asked this question, with very few useful insights and solutions (see for example here, here, and here, which presents a workaround-ish way of doing things).
To be clear: Displaying prices in different currencies is easy. How can I bill credit cards internationally using the correct currency through a gateway that supports it, without having to do conversions?
I have been through the same thing recently, but ended up making my own module to do the price handling. If it's done right, the prices will be displayed correct, even for order total etc. (See the hook_uc_price_handler)
This means that you will need to do two things to handle your problem.
Make sure the order only contain 1 currency, so you don't have one item costing €100 and another costing $100 (what would the total of that order be?) You could handle this by doing currency conversion if you wanted to, I believe that is how one of the modules you listed works.
When the payment is processed you need to send the correct currency to the payment provider. This already needs to be done in most cases as payment providers usually are able to collect in various currencies. Since most do the payment process via a hidden form that redirects or a inline form with hidden fields, you should be able to use hook_form_alter to set the currency to what you want. Depending on the payment module, this may be hard or easy.
I usually create conditional rules with shipping to assign different costs for:
national shipping (a specific country is selected)
and international shipping (the same country is selected but a NOT is added to the condition)
I have now to assign different shipping costs according to Europe / Not Europe. A solution would be to select all countries in Europe, but I was wondering if there is a faster way
thanks
For the sanity of your users just do it the way everybody else does!
Have a country pull down with a list of all supported countries in it. Defaulting to you "home" nation.
If you are sending stuff there are a lot more considerations than just shipping costs, you may need to fill in specific tax forms for some countries and depending on what your site is selling you may need special processing for some countries (try sending coffee to Thailand -- you need to obtain permission from thier ministry of agriculture!).
Create the different shipping methods at admin/store/settings/quotes (one for Europe, one for non-Europe).
Add a Rule by editing the new shipping method and adding a condition
or go to the Rules config at admin/workflow/rules
Use a text comparison condition with a order:delivery-address:country data selector
In the value field place the regular expression to match any of the desired country names, for example the list of EU member states below.
Maybe it could be done with postal codes too, but I do not know how they are structured. Everyone keeps their sanity.
(\W|^)(Austria|Belgium|Bulgaria|Croatia|Cyprus|Czech|Republic|Denmark|Estonia|Finland|France|Germany|Greece|Hungary|Ireland|Italy|Latvia|Lithuania|Luxembourg|Malta|Netherlands|Poland|Portugal|Romania|Slovakia|Slovenia|Spain|Sweden|United\sKingdom)(\W|$)