Openbravo Issue Tracking System - Retail Modules
View Issue Details
0043694Retail ModulesDiscounts and Promotionspublic2020-04-07 12:342020-04-29 12:22
samuel_nicuesa 
Retail 
normalmajoralways
closedinvalid 
5
pi 
 
marvintm
No
0043694: The discount and promotion Buy X and pay Y (3X2) is not working fine using ungrouped product product.
The total amount paid is not being distributed between all lines.
In this case, the client can return the fist and second lines recovering all the amount paid so they obtain the third product for free.
[BO]
1)Configure the promotion Buy X and Pay Y (3x2)

2)Configure one product as an ungrouped product and include it in the product tab for this discount

[POS]

1) Create a ticket and include 3 lines using the previous product (ungrouped
   product)

2) You will have 3 lines and the third line will be a free product.

3) Pay the ticket

4) Do a verified return of the previous ticket.

5) Choose the fist and second line

6) You will obtain all the amount paid in the (sales order) so you will
   obtain the third product for free.
It is necessary to distribute the paid amount between all lines doing a sales order instead of having 0 amount for the free line.
No tags attached.
related to design defect 0043900 new Retail It should not be possible to partially return products which share discounts with other products on the same ticket 
png Discount3x2.png (56,126) 2020-04-07 12:36
https://issues.openbravo.com/file_download.php?file_id=14282&type=bug
png
Issue History
2020-04-07 12:34samuel_nicuesaNew Issue
2020-04-07 12:34samuel_nicuesaAssigned To => Retail
2020-04-07 12:34samuel_nicuesaResolution time => 1588024800
2020-04-07 12:34samuel_nicuesaTriggers an Emergency Pack => No
2020-04-07 12:35samuel_nicuesaNote Added: 0119049
2020-04-07 12:36samuel_nicuesaFile Added: Discount3x2.png
2020-04-22 12:22marvintmReview Assigned To => marvintm
2020-04-22 12:22marvintmNote Added: 0119330
2020-04-22 12:22marvintmStatusnew => closed
2020-04-22 12:22marvintmResolutionopen => invalid
2020-04-29 12:22ngarciaRelationship addedrelated to 0043900

Notes
(0119049)
samuel_nicuesa   
2020-04-07 12:35   
Added video
https://drive.google.com/file/d/1sshjqzf4JuxvKLoSHMDn_2AtFqCbtL-l/view?usp=sharing [^]
(0119330)
marvintm   
2020-04-22 12:22   
There are several things to consider here:
- First, some discount rules which apply to multiple lines allow to distribute the discount over the lines, and some don't. This is related to the implementation of each rule. Implementing this feature in any of the rules which currently doesn't have it would be a separate feature request.
- Second, distributing the discount over the lines doesn't necessarily mean that functionally, the ability to return one line which has a discount which also applies to other lines would be correct.

This is quite easy to see with an example: if we had a pack of Table+Chair (individual prices of 100 and 100, pack price of 150), by purchasing both, the customer would pay 150. The discount would be applied proportionally, so each line would be 75.

If later on the customer returns a line, it means that even though the discount is applied proportionally, the customer still would pay 75 for just a Table, and most probably this is not what the Store wants, as the customer has effectively purchased only a Table, and should have paid 100 instead.

So this is a more general issue, due to how discounts are applied on the lines, and how verified returns work.

A possible solution would be to prevent the customer from selecting only one line that was affected by a discount if this discount also affected other lines. So, in the previous example, the customer would not be able to return the table or chair individually, but would have to return both.

This would be a different feature request, that could be implemented, but would also need to be optional most probably as some customers might want this to behave differently.

In the end, there is no perfect solution. Depending on the customer needs, we would need to report the appropriate feature request and implement it.