On my site, prices are shown with the VAT added, and all works well for people in the EU.

But I want to charge people outside the EU the full price shown, not the price without VAT added. I've tried to do this with conditional actions, but can't see a way to do it.

Comments

maxilein’s picture

Category: support » feature
Priority: Normal » Major

That would be a power feature. Especially from a marketing perspective, where you have these 9.99 prices. Which look ugly in cases with or without VAT applied (depending of your configuration).

Thank you!

longwave’s picture

Priority: Major » Normal

I would argue this shouldn't technically be a feature of uc_vat, but should be part of a discount or fees module instead. What you are effectively doing is giving a discount equal to the rate of VAT for customers who pay VAT, or alternatively adding a fee equal to the rate of VAT for customers who don't pay VAT. I would also say this feature could be seen as somewhat unethical, as you are charging more to customers who don't pay VAT due to their location, but the extra is just profit for your business instead of paying it as tax.

I do not have time to add this feature myself but may be willing to accept it as a patch if it were entirely optional.

maxilein’s picture

Thanks for the quick reply.
Maybe this could be realized by a conditional action?
"Ignore all tax rates, charge price as entered"
And it would have to inform the user that no tax was charged.

maxilein’s picture

Version: 6.x-1.x-dev » 6.x-1.2

@longwave:

I followed your suggestion on using uc_multiprice ( http://drupal.org/node/1109400 ).
Unfortunately this does not work. uc_multiprice does not work with uc_vat. I posted in case here: http://drupal.org/node/1122558.
If these modules would work together it could be a solution.
Although an option directly inside uc_vat would be preferrable, because then one could avoid configuring all countries outside of the EU.

Edward Andrews’s picture

I agree that it could be unethical - in our particular case we charge a flat rate postage worldwide and the difference (when not charging VAT) goes towards the postage.

Mainly I would like the price that appears to be the price that is charged to avoid confusion. I'll look into uc_multiprice too. And thanks for your quick response.

john_the_noob’s picture

This wouldn´t be unethical at all. Many Euro Countrys have laws that say that you always have to show price incl. VAT.
E.g: Germany 19%, Austria 20%. You will have to charge ~1% + add a lot of disclaimers/info for all austrian customers if you use a .de domain.

(I could easily write another 10 pages on this topic)

Having one price regardless of the VAT would be very nice - is an integration with multiprice hard to achieve ?

maxilein’s picture

I don't see that as unethical either.
Ever since companies penetrated different markets (in regional terms) they charged different prices.

maxilein’s picture

UPDATE: sorry, this off topic!

I found a patch which "almost" does this. And it refers to the uc_vat module.
http://drupal.org/files/issues/ubercart-uc_vat-working-country-ca-and-ip...

It comes from this blog: http://blog.klavsen.info/content/eu-vat-and-drupalubercart-2

I may quote the author:

* My patch adds the following - that I hope anyone else creating a shop with Drupal/ubercart can use:
showing prices without VAT for countries outside of EU, and with VAT for people inside EU

* Setting a default country based on the visitors IP (if ip2cc is installed) and thus showing prices as they most likely apply to the visitor (ie. without VAT to visitors from outside EU and and with VAT to people within EU) - changeable currently, only in checkout.
There's one small snag to sort out - currently the items are put in the cart with VAT applied, if that's the "setting" while you add to cart - so the cart will show the wrong price - the checkout/order lines will be correct though. I'm hoping to fix this, with help from longwave if he agrees with me :)

* i18n improvements, so the user-entered name for the VAT (moms, GST, VAT, MwST - etc.) is now translatable - even though it ment I had to pass the user-entered variable to t() which is bad - I have not found any information as to how user-entered data is supposed to be made translatable - read more in this bug report: http://drupal.org/node/684222 - it seems i18nstrings is the "right" solution for d6 - even though the current solution "works for me" currently :)

* I added a uc_vat.ca.inc - which adds a condition for the conditional actions called "shipping country inside EU" - so you can simply test on that for conditional actions instead of having to manually mark the countries with the existing "country" check. It checks on ISO country codes - even those countries that you haven't imported into ubercat is thus supported if you add them one day.

* This same condition can be used for shipping rules, to decide what the price is - makes my life a lot easier :)

jimiobrien’s picture

Has anybody made any ground on this. Found any solutions/alternatives? I too have a client who wants to indicate VAT charged to UK customers but charge the same price as listed (incl VAT) to customers outside the UK. I can see how this can be perceived as unethical but at the same time I think it is quite common in online sales. Particularly in Europe.

scO_Oby’s picture

Hi Edward,

I have a problem like yours: I need to charge people outside EU for the full price shown.

Have you found a solution?

Thank you,
Andrea

Edward Andrews’s picture

No sorry I gave up!