#11496·bagisto

Reopening an RMA incorrectly resets the associated order status to Pending

Author: ngarahmadyCreated Sep 26, 2026Updated Sep 26, 2026
LabelsBug

Terms

  • Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected

2.4.x

Issue Description

When a declined RMA request is reopened, the associated order’s status is reset to pending, even if the order was already completed or delivered. This happens in both the admin and customer reopening flows. Steps to reproduce

  1. Create an RMA request for a completed order.
  2. Decline the request from the admin panel.
  3. Reopen the RMA request.
  4. Check the associated order’s status. Actual behavior Both the RMA request and the associated order are reset to Pending. Expected behavior Only the RMA request should return to Pending. Reopening an RMA should preserve the associated order’s existing status. Cause Both reOpenRequest() methods explicitly execute: $order->update(['status' => Order::STATUS_PENDING]); Affected files:
  • packages/Webkul/Admin/src/Http/Controllers/Sales/RMA/RequestController.php
  • packages/Webkul/Shop/src/Http/Controllers/Customer/Account/RMAController.php Suggested fix Remove the order status update and its unnecessary order lookup from both methods, while preserving the RMA status update and existing reopening behavior. Environment: Bagisto 2.4.x

Preconditions

Bagisto version: 2.4.x Operating system: Windows Local development environment: XAMPP Database: MySQL Affected functionality: Reopening RMA requests through the admin panel and customer account

Steps to reproduce

  1. Enable RMA and configure it to allow reopening declined requests.
  2. Create an order and complete its invoicing and shipping so its status becomes completed.
  3. Submit an RMA request for an eligible item in that order.
  4. Open the request in the admin panel and change its status to Declined.
  5. Reopen the declined RMA request.
  6. Open the associated order and check its status.
  7. Repeat through the customer account reopening flow; the same issue occurs. Both affected reOpenRequest() methods explicitly update the associated order: $order->update(['status' => Order::STATUS_PENDING]); packages/Webkul/Admin/src/Http/Controllers/Sales/RMA/RequestController.php packages/Webkul/Shop/src/Http/Controllers/Customer/Account/RMAController.php

Expected Result

The RMA request should return to Pending, while the associated order retains its existing status, such as completed. Reopening a return request should not reset the order’s fulfillment status.

Actual Result

Both the RMA request and the associated order are reset to Pending. An already completed order therefore appears as pending, even though its invoicing and shipping have already been completed.

Screenshots

No response

Additional context

No response