View Issue Details

IDProjectCategoryView StatusLast Update
0006494OXID eShop (all versions)1.02. Price calculations (discounts, coupons, additional costs etc.)public2024-03-27 15:10
Reporterjuergen_busch Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Version4.10.1 / 5.3.1 
Summary0006494: Coupons with assigned categories doesn't work correct
DescriptionCoupons with assigned categories and the option "Calculate only once (valid only for product or category vouchers)" doesn't work correct in basket. It's hard to explain, but it seems that the coupon is always calculated for the Grand total of the basket.
Steps To Reproduce* Create a voucher series.
* Assign kites and kiteboards as categories.
* Use the absolute and the percentage discount the other time.
* Put 1 kite and 1 kiteboard into the basket.
* Use a coupon code.
* Activate/deactivate the option "Calculate only once (valid only for product or category vouchers)" and update the basket.
* Try to interpret the calculation in the basket!
TagsNo tags attached.
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Relationships

related to 0005889 confirmedHR Discount is applied to a scaled price product although price does not match 
related to 0006689 closedSvenBrunk Product coupon's value calculated from first article's price in basket instead of whole coupon related basket price 

Activities

SvenBrunk

2024-03-27 10:00

administrator   ~0016492

From my tests I would say that this works as designed. The description for the option is very unclear though. It should only matter on a decimal place if the calculation is done for each product in the cart vs. the whole cart position.

What happens here is that the calculation is done once per all applicable products. This seems fair based on the fact that you are not able to say which product should be the one that gets the discount.
In my tests for example I mixed products >300€ vs. 48€ ... if the higher-priced product is used as the basis, the discount would be a lot higher than if the 48€ are taken as the product that becomes discounted.
Instead all applicable products are getting the discount. Ones that are not in the categories selected, do not get the discount, so the assumption that the calculation is done on the whole basket sum, is wrong.