magento2 icon indicating copy to clipboard operation
magento2 copied to clipboard

Bundle Product with dynamic price - partial refund - incorrect quantity for the parent product

Open gorbunovav opened this issue 6 months ago • 4 comments

Preconditions and environment

  • Magento version: 2.4.7

Steps to reproduce

  1. Create Bundle Product, set price to "dynamic", add some optional bundle items
  2. Place an order with this bundle product and some bundle items selected, set quantity to 2
  3. Invoice it
  4. Try to create a credit memo - notice that it is not possible to specify the quantity to refund for the bundle product itself. Set qty = 1 to some bundle items, and 0 all others.
  5. Save credit memo.
  6. Check in the sales_order_item table that qty_refunded for the root order item representing the bundle product is set to2 now, which doesn't make sense.

Expected result

Credit Memo allows to specify the quantity of Bundle Products to refund. If Credit Memo refunds bundle items only without the parent product - it is still displayed correctly.

Actual result

Credit Memo doesn't allow to specify the quantity of Bundle Product to refund and automatically refunds full quantity (which can break some logic and reporting). If you manage to create a Credit Memo with Bundle Product quantity set to zero it will not display refunded bundle items (the list of refunded items will be empty).

Additional information

Ideally the quantity of child items (bundle items) in the order should represent the quantity per bundle, while the the quantity of the parent product - the number of bundles (like it is implemented for the cart).

With the current approach it is hard to tell what is the relation between the quantity of each bundle item refunded and the quantity of bundles to refund.

I think it is better to allow users to specify the quantity of Bundle Products to refund according to their own business logic requirements.

Release note

No response

Triage and priority

  • [ ] Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • [ ] Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • [X] Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • [ ] Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • [ ] Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

gorbunovav avatar Aug 17 '24 20:08 gorbunovav