Reputation: 3215
when customer chooses store pick up, instead of having products shipped, we would need taxes calculated based on the store address and not billing or shipping address. How to do it? is it even possible to do in admin side or needs to look under the hood?
thanks, Margots
Upvotes: 2
Views: 2229
Reputation: 111
I've got a similar need at our company. I hijacked the Free Shipping method to be our Store Pickup option. But we need to charge local taxes. I did some googling and found this blog post by Jamersan eCommerce Consulting that gives you at least part of the solution.
https://jamersan.com/magento-setting-order-quotes-tax-rate-based-on-shipping/
Basically, you need to briefly change the customer's Tax Class during checkout if they choose your Store Pickup option. Then once they've completed checkout, you switch them back to whatever Tax Class they were in originally. At our company, we have Retail and Wholesale customers. So I would only change a Retail customer to a "Store Pickup" tax class temporarily, then switch them back to "Retail Customer" once checkout is completed (or if they change to another shipping method). Wholesale customers wouldn't change regardless of shipping method, since as a reseller they aren't charged tax anyway.
I've posted a comment on the blog requesting access to his code via github or something similar. In the meantime, I'll try to hack something together myself. But I'm a novice Magento developer (at best). If I do manage to put something together, I'll update this answer with a link to the code.
Upvotes: 0
Reputation: 2790
I know this is old, but I am in a similar situation with a client. They need store pick-up, but they also need to charge their locale's tax on those orders.
The best way I have thought to approach this would be to set a new radio button in checkout on the 'shipping address' page for 'store pickup' which then populates that section of the form with the store's address.
Working on a module to do just this, but it's probably going to be a bit of time.
Upvotes: 0
Reputation: 21
I set Magento to charge tax everybody. But for buyers outside of my state (PA) I did shopping car rule that gives discount in the amount of tax charge for those who chose regular shipping.
It solves just money problem. However there is supposed to be the right way of doing it.
Upvotes: 2
Reputation: 2520
I wish I had a better answer for you but my bet is that you will have to dig in and do some code modifications yourself. Magento does allow you to choose how to calculate taxes - you can choose Shipping Address, Billing Address, or Shipping Origin, but I don't think that (out of the box) it will allow you to do two of these options at the same time based on shipping method. Go to Admin -> System -> Configuration -> Tax -> Calculation to see the options that are available.
You might want to start poking around app/code/core/Mage/Tax/Model/Calculation.php. The getRate() and getRateRequest() methods look like a good place to start.
Upvotes: 0