Magento 2.3.3 , Customize order management flow

Job ID: 32179568

Budget: $750 – $1,500 USD

CURRENT MAGENTO BEHAVIOR:

1. New order is received.

2. If order is paid online (by credit card / paypal, and captured) then:
a. Invoice the order (issue invoice automatically)
b. Change status to “Pending approval” and order is invoiced, meaning status can be changed to processing or completed
c. The order content / products can’t be edited anymore


3. If order is not paid online (but offline method, like bank transfer or cash on delivery)
a. The order is stuck in “Pending” status. And can not be changed until order is invoiced. Invoice needs to be submitted manually.
b. Order can be edited -- but creates new order instead of edit same one

-------------------

EXPECTED / DESIRED BEHAVIOR

1. DO NOT ISSUE an invoice automatically even when paid online. We want the invoice to be issued when order is completed (shipped). As long as order not shipped there’s chance to be changed and don’t want invoice to be issued yet.
It would be great if invoice didn’t have any restrictions on order flow, and if it’s something that we can issue only for the orders we want, when we want.

2. We want the option to change the status of the order from Pending, to Processing, or even Completed, even when the order is not invoiced.

3. The order content (products) can be changed at any time before it’s shipped / “completed”.
Even when order is in “processing” it can be edited / re-configured, with these limitations in mind:
a. If order is PAID (online payment method): We can change the content of the order, only if the new total = old total. If total is changed, can not save changes. And new order needs to be created while cancelling the previous one.

b. If order is not paid or is offline payment.
Order can be changed, even if order total is different.

4. Editing an order means editing the same order and saving it. Right now Magento allows only creating new order when editing.
Related categories: PHP Web Development Magento 2