Jump to content

Tax to whole cart based on Carrier


Recommended Posts

Our main location is in WA state. We have tax rules set up and applying if the customer's shipping state is WA. We want to add In-Store pickup as a form of delivery. In this situtation any shipping State or Country (i.e. Canada) should be able to select In Store Pickup and the shipping cost is free. However,whenever In Store Pickup is selected, we need to apply taxes to all of the items in their cart because of WA Tax laws. Any suggestions on how to set Taxes based on the Carrier (and have it tax all products in the cart)?

Link to comment
Share on other sites

  • 1 month later...

I am looking for the same thing. I have in-state taxes (Texas) if the item is picked up at the store, though shipping cost is $0.

 

I have been able to write a custom Carrier module for my other shipping fees (since I needed a hybrid of by-price tiers with a percentage when the total exceeded $100) so I could write another custom module for pickup (no shipping, but apply state/local taxes). however, I'd prefer to find out if Prestashop can already handle this.

 

-fbas

 

ps. if anyone wants my other module, let me know. I'm not interested in charging for it, though it was frustrating to figure out how to get it done. I wish there were more tutorials and especially wish the existing modules were better documented.

Link to comment
Share on other sites

Hello? anyone? can anyone tell me how to force "in store pickup" sales to charge a tax?

 

It seems the tax tables/rules apply tax based on billing or shipping address, but in this case want the store location to be used for the tax rule. Documentation says: "

Note that the default rate applied to your product will be based on your store's default country."

but where do I set my default country?

 

And which tax rule will it use, because different tax rules might have no taxes set for my country (I only charge taxes to addresses within my state, the rest of the country does not get taxed)?

Link to comment
Share on other sites

overrided the Cart class, changing getTaxesAverageUsed() and getOrderTotal() to pass NULL address into Product::getPriceStatic() and Tax::getProductEcotaxRate() and Tax::getProductTaxRate() (basically anywhere that $this->{Configuration::get('PS_TAX_ADDRESS_TYPE')} had been used) if the carrier name matches my "in-store pickup" carrier.

 

also altered Tax getProductTaxRate() to set a default $id_state that matches my tax rule.

 

I hope this works and there isn't error or omission on my part. seems to work ok so far.

  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • 6 months later...

overrided the Cart class, changing getTaxesAverageUsed() and getOrderTotal() to pass NULL address into Product::getPriceStatic() and Tax::getProductEcotaxRate() and Tax::getProductTaxRate() (basically anywhere that $this->{Configuration::get('PS_TAX_ADDRESS_TYPE')} had been used) if the carrier name matches my "in-store pickup" carrier.

 

also altered Tax getProductTaxRate() to set a default $id_state that matches my tax rule.

 

I hope this works and there isn't error or omission on my part. seems to work ok so far.

I have the same problem and I am pretty new to prestashop. Can you help me and be more specific how to do this? 

 

Thank you,

nprosen

Link to comment
Share on other sites

×
×
  • Create New...