magento / community-features

Magento Features Development is an Initiative to Allows Community Memebers Join to Development of Magento Features
46 stars 18 forks source link

Magento 2.1.7 : Impossible to get UK friendly retail prices #210

Open DominicWatts opened 7 years ago

DominicWatts commented 7 years ago

Preconditions

Magento 2.1.7. Impossible to get friendly retail prices in UK. This was an issue for many of our stores in Magento 1 and we had to update core code to work around this issue. Please I would like to know thoughts on the following issue.

Steps to reproduce

  1. Create Tax Rule - VAT, Retail Customer, Taxable Goods, VAT, 0, 0, 0
  2. Create Tax Zone - VAT, United Kingdom, , , 20
  3. Configure TAX - Stores > Configuration, Sales > Tax:
    • Default Country : United Kingdom
    • Display Product Prices in Catalog : Including Tax
  4. Edit Random Product - price 3.325 ex VAT (3.99 in VAT)
  5. Save
  6. Product is rounded to 3.33
  7. Product displays on frontend as 4.00 and not 3.99
  8. Other prices are affected: try to get 6.99 for example

Expected result

  1. Not round price. Allow 4 decimal points

Actual result

  1. Price is rounded to 2 decimal points
orlangur commented 7 years ago

Looks like up for grabs from the past: https://github.com/magento/magento2/issues/1240#issuecomment-99625177

choukalos commented 7 years ago

You should be able to manage VAT prices displayed to the customer out of the box if configured appropriately.

Can you clarify your tax configuration:

If you'd like Magento to have the ability to manage price digits and digit at which it's rounded then @orlangur is spot on that's an up for grabs feature.

DominicWatts commented 7 years ago

Hi @choukalos ,

Catalog Prices are configured as excluding tax because that's how the prices are stored in the back office system. But okay supposing we go through and update the product prices in Magento to be stored inc VAT (and convince the client this is the way forward). We update the Catalog Prices config to be 'including tax'.

Origin as UK (It was UK in my configuration)

This problem is resolved.

The reason I didn't entertain that is because previously this has caused us issues with discounts when sending to non-VATable countries.

So I went a few steps further. If you then want to create a promotional rule with a fixed discount (£2) and send to the US (so account with US destination address) for example:

UK £1.99 Regular Price £3.99 [great] US £1.66 Regular Price £3.33 [great]

Looking good. But now thinking about it what if you sell non-VATable items. So updated tax class on the product.

UK £1.99 Regular Price £3.99 [great] US £1.99 Regular Price £3.33 [great]

So now I do the same with percentage discount (20%)

tax-able UK £3.19 Regular Price £3.99 [great] US £2.66 Regular Price £3.33 [great]

non-taxable UK £3.19 Regular Price £3.99 [great] US £3.19 Regular Price £3.99 [great]

So actually in M2 this is a good solution.

But I'm considering putting together a PR for clients who don't want to make this change

DominicWatts commented 7 years ago

FYI just spotted this: https://github.com/magento/magento2/issues/5283

Or more to the top https://github.com/meanbee/magento2-tax-rounding. Potentially a solution. Although I wonder whether working to 3 dp will cause problems with PayPal.

Perhaps Magento just needs to allow for a configurable override and the risk is taken by the store owner?

blistered commented 5 years ago

Is there any movement on this ticket at all? Even if its just a commit with the fix (owing to it being ready for QA) that can be tried? It's a major issue!!

DominicWatts commented 5 years ago

It's up for grabs which means that magento team are not going to provide an update and that someone in the community is going to have to provide a code update. I can understand though. Magento is international. The rules for one currency is different to another. The only crtisicim I do have is that unfortunately rounding of 2 DP has been too tightly coupled to the core of the framework. This is the closest I've seen but it's not without it's problems https://github.com/lillik/magento2-price-decimal

Zyles commented 4 years ago

M2 should provide proper custom currency support where you can define amount of decimals, separator etc.

It is dumb that this does not exist in core. Because it causes stupid issues for us.

Prices such as 100,00 ... we don't need leading zeroes everywhere.

JelleGe commented 2 years ago

Is there any update on this issue? We face the same issue in The Netherlands with 21% VAT