View Issue Details

IDProjectCategoryView StatusLast Update
0002231OXID eShop (all versions)1.01. Products (product, categories, manufacturer, promotions etc.)public2012-12-07 14:28
Reporterspurvis Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.4.3 revision 30016 
Fixed in Version4.5.1 revision 38045 
Summary0002231: Admin settings for "apply VAT in cart" and "net product pricing" don't work for Variants
DescriptionThe following two admin options are problematic:

blEnterNetPrice: "Product and Gift Wrapping prices entered/displayed in Admin are Net Prices"
bl_perfCalcVatOnlyForBasketOrder: "Core Settings>Perform.>Calculate specific VAT for countries only in Shopping Cart and Checkout"

When blEnterNetPrice=false AND bl_perfCalcVatOnlyForBasketOrder=false, shop appears to function as desired. This is also true for blEnterNetPrice=true AND bl_perfCalcVatOnlyForBasketOrder=false

However, when blEnterNetPrice=true AND bl_perfCalcVatOnlyForBasketOrder=true, variants are not handled correctly. That is, variants show correct net pricing in the details view, but elsewhere in the shop (such as in category listing) they still use gross prices.
Steps To ReproduceCan use the demo install and view page 1 of the Gifts category. For the case blEnterNetPrice=true AND bl_perfCalcVatOnlyForBasketOrder=true, you can see that VAT is incorrectly applied to article 1127, but not the other non-variant articles (screen1.png). Yet if you view the details for article 1127, the prices shown are correct.
Additional InformationThe setting blEnterNetPrice=true AND bl_perfCalcVatOnlyForBasketOrder=true can be used as a basis for creating modules that allow for North American style sales taxation. That is, a module can be built to apply different taxes for different states/provinces during checkout. But w/o this basic functionality, that extension option is not viable for shops that make use of the variants feature.

imo. The handling of oxprice seems somewhat convoluted. For example, When bl_perfCalcVatOnlyForBasketOrder=true is set, the correct price is often retrieved by setting VAT=0 and, consequently, gross = net. This allows the code to almost exclusively use getBruttoPrice, regardless of admin settings. Setting VAT to zero seems like a hack. I would expect getNettoPrice to be used when applicable. From what I've seen, the issue reported here is related to this where non-variant products are given zero VAT, but variant product inherit the default global VAT and are hence giving different results since getBrutto is always used.
TagsProducts
Attached Files
screen1.png (169,451 bytes)   
screen1.png (169,451 bytes)   
ThemeBoth
BrowserAll
PHP Version5.3
Database Version5.1

Relationships

related to 0003512 resolvedmindaugas.rimgaila Shop ist displaying net prices for articles with variants 

Activities

dainius.bigelis

2011-06-23 15:11

reporter   ~0004764

Reminder sent to: spurvis

Thanks for your report and the notes about use cases. Though we don't agree with one case for current implementation in the eShop.
1. The case with the Variants (net in the details and Gross in the lists) that is an issue and will be fixed.
2. but regarding "when blEnterNetPrice=false AND bl_perfCalcVatOnlyForBasketOrder=true, prices are always shown as gross. The admin would expect to see gross prices only in the basket." - this part works as expected.
The idea of the option "bl_perfCalcVatOnlyForBasketOrder" is "show the prices in eShop as inserted (no matter if it's Net or Brutto prices), and do VAT calculations only in the Basket". So in your described case, the inserted prices are Brutto and these are displayed as Brutto. And the calculations of Net prices are done in the basket only.

But we agree, that:
 - the title of the option is confusing and will be fixed (will be inserted as separate bug entry);
 - the handling of oxprice with VAT=0 is wrong implementation;
 - the reasons for having such calculations for North America are convincing.
Currently we are considering about the new concept how to do base calculations of prices, to solve these problems and do more-less universal solution for all the cases. So this will be solved in some future versions.
For now the description is changed to fix only the issue with Variants.