Wrong display of prices with VAT by zone

  • Posts: 29
  • Thank you received: 1
7 years 10 months ago #241528

-- HikaShop version -- : Business: 2.6.3

Hi,

Situation:

Israel customers need to pay VAT. Tax is set with zone "Israel".
Price is set up to be displayed both (i.e. before and after tax).

Non-registered or Israel based customers see real price before VAT and price with VAT included.



Registered customers outside Israel see the price without VAT twice, with the pre and after text for VAT prices.



That doesn't make sense! These customers should only see ONE price, without VAT.
Not only is this confusing, it is actually wrong!

Any way this can be controlled?

Thanks so much in advance.

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
7 years 10 months ago #241564

Hi,

Well, it doesn't make sense because you changed the text around the prices ;)
By default it's like that:
$169.23 ($198.00 with VAT)
and:
$169.23 ($169.23 with VAT)
So the customers outside Isreal would understand that they don't pay VAT.

In your case, you'll have to modify the file "listing_price" of the view "product" via the menu Display>Views and remove the display of the first price if the first price is the same as the second.
You would have to change that piece of code:

if($this->params->get('price_with_tax')){
				echo $this->currencyHelper->format(@$price->price_value_with_tax,$price->price_currency_id);
			}
			if($this->params->get('price_with_tax')==2){
				echo JText::_('PRICE_BEFORE_TAX');
			}
			if($this->params->get('price_with_tax')==2||!$this->params->get('price_with_tax')){
				echo $this->currencyHelper->format(@$price->price_value,$price->price_currency_id);
			}
			if($this->params->get('price_with_tax')==2){
				echo JText::_('PRICE_AFTER_TAX');
			}

The following user(s) said Thank You: bshomer

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 1
7 years 10 months ago #241617

Thank you for the reply and help with the coding.

I'm aware of the effect of the change of text around the prices, but even without the change in text, it is confusing if the price appears twice with VAT (even if it is the same number). People become very sensitive when it comes to their money... ;)

Thanks for the explanations regarding listing_price (I already modified it anyway as you could see in the images).

I sincerely believe that the "one price policy" when there is no tax should be the default for Hikashop.

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
7 years 10 months ago #241637

Hi,

I believe that it is the case by default. Prices are displayed only with tax and the price without taxes doesn't appear.
But in the USA, it's the opposite you want: prices without tax displayed only.
Anyway, we have options to cope the best with the different cases, and if you want something more adapted, you can always customize the view like you did.

The following user(s) said Thank You: bshomer

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 1
7 years 10 months ago #241729

Hi Nicolas,

Can you be so kind and instruct me how can I obtain from within view_product_listing_price the registered user country (in either the billing or shipping address, whatever exists)?
I need to modify the product listing price display according to the country of the user (if there is a registered user).
Preferably the country name rather than numeric code, but either one is alright.

I already obtained the user information:

$user = hikashop_loadUser(true); // Hikashop user.
 if (!empty($user)){
	$cms_id   = $user -> user_cms_id;
	$cms_user = JFactory::getUser($cms_id);

etc.

However, the address is not in the user information.

Thanks very much in advance.
:flower:
:-)

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
7 years 10 months ago #241755

Hi,

You can do like that:

$app = JFactory::getApplication();
$address_id = $app->getUserState('com_hikashop.shipping_address');
$addressClass = hikashop_get('class.address');
$address = $addressClass->get($address_id);
echo $address->address_country;

The following user(s) said Thank You: bshomer

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 1
7 years 10 months ago #241845

Thanks!

You guys are amazing!

Please Log in or Create an account to join the conversation.

Time to create page: 0.065 seconds
Powered by Kunena Forum