magento / community-features

Magento Features Development is an Initiative to Allows Community Memebers Join to Development of Magento Features
46 stars 18 forks source link

Ability to TRULY EDIT ORDER - change products, qty, recalculate everything #108

Open tomekjordan opened 5 years ago

tomekjordan commented 5 years ago

The VERY IMPORTANT THING.

Magento by default cannot edit orders (for admins and for customers if possible) In major ecommerce its a must. Its not just change address data

But Magento should have option to edit order fully - change payment method, shipping method, edit products price & quantity WITHOUT creating new orders

I think it will be the most important change for orders in Magento

orlangur commented 5 years ago

WITHOUT creating new orders

What's the problem with creating new orders?

nkarthickannan commented 5 years ago

@orlangur

None of our clients (merchants) are using this default Edit order feature. Everyone is asking us to customise the default Edit order and convert it to make the necessary edits in the same order. Most of the merchants prefer to keep the order ID while editing. After all, literally edit an order doesn't mean to cancel and create a new order.

Merchants prefer to keep the order ID because that is what customers are expecting from the merchants. From a merchant's point of view, it will be tedious to explain that the previous order is cancelled and a new order is created with the necessary changes to every customer.

orlangur commented 5 years ago

@karthickannan I see, thanks for the input. I saw some shops where External Order ID is used instead of Magento's Order ID/Order Increment ID. In such case there is no problem with Magento recreating a new order entity.

My main concern here is the amount of bugs which could be produced by such change. So, if there is acceptable workaround possible, I would stick to such approach.

nkarthickannan commented 5 years ago

@orlangur

Do we need to consider the scenarios where some merchants are using external Order IDs instead of Magento increment ID? I think it is enough to consider if this is not going to break anything else in Magento's core features.

I'm not sure what are all the bugs that could arise by this change. Could you please name a few?

orlangur commented 5 years ago

@karthickannan no, I'm not saying about customizations. There are a lot of such legacy code which assumes order is invariant after creation which will not be triggered with such true edit.

tbaden commented 5 years ago

How about a draft/quotation modus, configurable in settings. if the draft/quotation modus is active all new orders have to be confirmed before shipping and invoicing. it's like an additional and/or optional step before the current magento default behaviour. in draft/quotation modus you can freely edit the order, but the moment you confirm the order it's all locked and behave like magento default.

tomekjordan commented 5 years ago

@orlangur I dont get that point. I saw many Saas ecommerce where edititing orders after finished checkout is normal behavior. Customer can make a mistake. there are many other cases where support stuff should have option to edit things in the order - exchanging products (a lot of mistakes - customer wants PRODUCT A, but by accided chose PRODUCT Aa (variation), small price corrections, other things, adding fee. I think developers - almost never uses products on real environment, and thats the case. Testing software is not using it day by day and managing store with real customers and real orders

orlangur commented 5 years ago

@tomekjordan current code, both in core and third-party, heavily relies on a fact that order entity is immutable after it is placed. So, to implement such editing safely it should be placed in some new entities.