I've been trying for the last week to find a way in Magento to have some conditions for shipping. What I mean:
whenever a certain product is shipped to a certain country I want Magento to use a specific courier but I don't want it to be shown on any other products.
The problem is that we don't have one storage place, we have many in different countries. Let's take England as an example. I have a bag that is made in UK. Worldwide delivery is set to a fixed amount using UPS. But I have another deal with a local courier. And I want these products (that are made in UK) to be shipped with this courier IF they are shipped in the UK.
I tried adding an attribute to these, but I don't find an action to show this method. Also, for other products or if the address is not in England this method should not be displayed.
It is possible do it with Magento shipping extension. You can try those free shipping extensions, or ask for trial of extensions that need pay.
I recommend use Owebia Shipping 2 which need a lit bit 'code' to program your shipments.
and you also need add new product attribute for define where this product made. Usually this attribute select type is a drop-down list.
Assume this product attribute code is made_from and attribute value is UK. here is the simple code for condition you mentioned:
Let's take England as an example. I have a bag that is made in UK. Worldwide delivery is set to a fixed amount using UPS. But I have another deal with a local courier. And I want these products (that are made in UK) to be shipped with this courier IF they are shipped in the UK.
here is the code for this example:
{
"outsideUK": {
"label": "UK local carrier",
"conditions": "{shipto.country_id} == 'GB'",
"fees": "1000"
}
}
Play with this extension if you interesting. I will update more detail if I got time.
Related
I want to add the following shipping methods:
A price for sending an item:
to the home country
to the home country (priority)
to the EU
to the EU (priority)
to every other country
to every other country (priority)
As far as I know that can't be done out of the box with magento 2.
I also tried looking for a free extension to do that, but couldn't find any. Because I don't want to pay for one, I'd love to add that functionality with code on my own, so my question is:
Which files do I have to tamper in Magento 2, to add the logic from above (in a future proof way)?
Thanks
ps: If there's a free extension I didn't find, please let me know
ps2: The shipping company prices I'll be using all depend on weight btw, so I may need to add a formula in my code as well
I am using magento 1.8.1
I am using zip code Check Delivery Details, like to check if delivery service is available at the client area or not and this is general.
this is working fine.
But now I want to do this product specific like some product are avaialble to some are with different delivery details for eg, xxx product is available to 111111 zip code in 6 days, to 222222 zip code in 2 days , 33333 delivery not available etc.
I want such product specific delivery detail checking.
Can anyone help me to know if such extension is available or not.
or any specific coding for this.
You need to create your own shipping module to inform whether the product is available for delivery or not.
Check How to create custom shipping module http://excellencemagentoblog.com/magento-create-custom-shipping-method
Then in function
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
//check your product shipping availability based on your conditions.
// set all the shipping parameter if product shipping is available.
// or set error message to display user
}
for any queries reply back.
Thank you
My integration with fedex is completed...auth key, meter # ect. Fedex had offered adiscount rate which is already programmed on their side and I can see in my account. However when i do a test, it shows me The LIST rate not the DISCOUNT rate which I want it offered to the clients as well. I need the total net FEDEX charge shown. Another problem is that it is not able to calculate the # of pcs purchased. Example if I bought1 stool the shipping rate is $100 and if i bought 4 stools the shipping cost is the same $100.
My developer seems to give up on this and says i hjust have to use the table> Please rea below what he is saying. I apolgize im not well versed at this. Please HELP ME.
Hi Susan,
After doing more research and talking with FedEx tech support executive and Magento support , I reached at this conclusion. I am describing the conclusion details below:
When I talked with tech support guy , he said me to contact with Magento team . I had also consult with them and scrutinize the code in programming label. I got that FedEx is giving only a API access to Magento. I am making it easy to understand you. FedEx is giving some access to us to get their shipping rates to show on our site. If we make a account specifies, I mean they are giving some discount only on your account or any specified account . FedEx has not developed this(customer specific shipping rates) type of API , which we’ll use it on micazza.net.
This account specific shipping rates can’t be applied on website.
It’ll be better if you’ll use table rates for shipping .You can modify it with respect to your requirements.
At last I want to tell you that this account specific FedEx shipping rates we can’t show on your site because FedEx shipping system has some limitations, As it is a third party site , we can’t access how much we need. So we can access those portions only, how much they’ll give access to us.
Kindly advise
There are several options for you. Unfortunately Magento isn't shipped with great support for dimensional or weight based shipping, you'll ideally want to customize the FedEx api request and read through the WSDL & FedEx API documentation. In the Mage_Usa Module's /etc folder you'll find WSDL definitions. The Out Of The Box WSDL uses a slightly older version of the FedEx api than is the most current available. It is possible to swap out the wsdl file and re-declare the version if more functionality is needed.
Webshop apps 'ShippingOverride2' module is highly effective for creating the shipping price rules you're seeking. Also I believe in your configuration you'll want to turn 'ship to residential' to false.
Additionally if you're shipping calculations require custom box sizes, you'll need to add protected variables and leverage them in the API call, such as in Mage_Usa_Model_Shipping_Carrier_Fedex or your extension of said class:
protected $_customizableContainerTypes = array('YOUR_PACKAGING');
protected $_customContainerSpecs = array(
"LARGE PARTS BOX" => array("length" => 8,
"width" => 14,
"height" => 10),
"XL PARTS BOX" => array("length" => 8,
"width" => 20,
"height" => 12),
"WHITE BAG SMALL" => array("length" => 1,
"width" => 12,
"height" => 9),
"WHITE BAG LARGE" => array("length" => 1,
"width" => 16,
"height" => 12)
);
How could we alert a magento site admin about each abandoned cart immediately after it is abandoned?
Is it a default feature in Magento EE?
No it is not a default feature in Magento EE.
You ask how a site admin could be alerted of an event that is somewhat of a grey area.
Assuming that an abandon cart is defined by the following criteria (which in fact is not the definition but may be applicable to you)
A registered user (ignore guest users for sake of sanity here) has products in cart.
This user does not complete the checkout and leaves the store-front
A period of time goes by (eg 1 day) with no adjustments on the cart items
Assuming this situation is your abandoned cart scenario i could suggest the following :
1.) I would use the Magento Quote Object (this is the object that is converted to an order after a successful checkout.)
looking at the quote object there already seems like there are enough fields to be able to monitor when the quote was created, when it was updated, when it was converted and whether it was converted or not. If the object does not contain the data fields you need there is no reason why you could not extend it. See a sample snapshot :
My (naive) suggestion would be to set up a scheduled job, to run at the same frequency at which you define your "abandoned cart" scenairio (or any frequency for that matter).
The job could do something like the following :
1.) Instantiate a collection of quotes.
2.) Filter out quote's that have been converted
3.) Filter out quote's that have been created recently (less than the critria above)
4.) Filter out quote's that have been modified within the same time-frame criteria
at this point you should have a list of all quote's that have been created, perhaps been updated but not converted for the last 24hours (depending on your criteria of course).
If you get to this point, well then the rest is straight forward.
Extract the information you need from the quotes (id's names, numbers, emails etc), compile your report and email to the administrator.
it the best idea i can think of for now! i have not done this in practice...
Ofcourse you can set-up funnels and goals with Google Analytic to give you extensive information on your customers, including abandoned carts, but that doesn't answer your question.
I'm a beginner in magento and I want the shipping method to be chosen according to the geo location(country), i want it to be automatically chosen if the customer chooses the country.
Anybody has any idea how to do that..
You should try using an extension like Owebia 2 (you can find documentation here)
This'll allow you to set up shipping rates and delivery methods depending on the country of the customer.
Edit:
You can use this for virtually any shipping like UPS or Fedex (I used it for UPS on the last website I worked on).
Here's some config example
# UPS National (France, Monaco, Andorre)
{
code: "expressupsnational",
label: "Service STANDARD France : Livraison 24/48h",
destination: "FR,MC,AD",
fees: "{table {cart.weight} in 2:8.5, 12:14.5}",
tracking_url: "http://wwwapps.ups.com/WebTracking/track",
}
This was for france and set so that fees are related to cart weight (8.5 gold if cart is under 2kg, 14.5 gold if less than 12kg). Note that the label part is the name of the method displayed in frontend, and destination is the list of ISO codes of destination countries.
Next part is for customers coming from Germany, Belgium...
# UPS Zone 5 (DE,BE,LU,AT)
{
code: "expressupseurope5",
label: "Service STANDARD Europe: Livraison 48/72h",
destination: "DE,BE,LU,AT",
fees: "{table {cart.weight} in 2:12.0, 12:24.0}",
tracking_url: "http://wwwapps.ups.com/WebTracking/track",
}
If you refer to the doc you'll see that you can add many conditions like attribute set, tax rates, number of products in cart etc... It's way more flexible than original Magento shipping methods.