Be able to create and edit orders in the back office #260
Replies: 2 comments 2 replies
-
Thanks for suggesting this @MichaelNielsenDK I've moved this to a discussion for now as I think there is a lot of thought that would need to go behind this. TC did have a level of editing orders, but we didn't port that over as I felt it was a half hearted attempt. We can't currently allow editing of an order that has been processed as it would potentially affect prices that have already been calculated and paid for, but I don't think this is what you are asking for anyway. The difficulty of allowing the creation of an order directly in the back office is that Vendr really doesn't know what nodes in your system are product nodes and so the question is, how do we allow the store owner to pick the product to add to the order? Do we just show a content picker and allow them to pick any node and then we attempt to add it and extract product info? What should we do if they try to pick a node that isn't a product? Maybe we need some kind of configuration some place else to say "these doc types are products"? There is also the fact that this is currently entirely Umbraco specific which we do allow a product adapter to replace how product data is extracted so it may not be based on umbraco content nodes at all. So then what? Do we need a new API for picking product nodes in a flexible way so that if you aren't using Umbraco nodes it can all still work? Lastly, we also need to consider how people have implemented Vendr. When adding products to an order, it's possibly the implementers do other work, such as extracting properties or setting up defaults. By creating orders in the back office, this would potentially bypass your AddToCartController and thus not setup any of those elements. I'm sure much of this can be worked out, but as I say, I think it's a much more involved discussion that just "make orders editable". Happy to hear your thoughts on the subject |
Beta Was this translation helpful? Give feedback.
-
Depends on what you mean by 'processed', whether it's 'finalized' or whether the products are shipped and payment has been captured. The use cases that we see are the following:
I know there's some payment issues, as gateways don't allow you to capture more than the initial value, but that is up to the client to handle, by either sending an invoice, or by manually creating a payment in the gateway and sending a link to the customer.
Maybe a custom content picker, that has a flat lists of all products, and maybe SKU or Price property can be used to identify which nodes are product nodes.
I haven't used a product adapter, so I'm not entirely sure how it works with converting external data to something that's readable for Vendr, so I can't really comment on it.
I don't really see this as an issue. If I extract all kinds of data, and sets those on orders or orderlines, I would not expect it to do so when creating orders in the backoffice, as that is custom code I've written, and I know the back office option will be standard.
Perhaps clients can decide whether the order is finalized or not, depending on whether they want the customer to visit the site or not. If they do, then they could send the customer to the payment by sending them a link e.g.: Of course you have to have logic on /payment page that fetches the order, and set it as current, before redirecting to the payment method set on the order. If the customer can't be bothered to visit the site, the client can just create orders as already finalized, and then just send invoices or payment links created in the gateway. I know there is a lot to consider, especially regarding creating orders, adding products to it and so on. So perhaps the first step, could be to make it possible to edit/delete orderlines, as this does not require Vendr to know anything about products, it's only editing data that's already there? |
Beta Was this translation helpful? Give feedback.
-
I had this request from a client the other day, and was actually surprised to find this was not possible, I just took it for granted that it was. 🤷♂️😅
We have many clients using ither ecommerce platforms, that uses this feature frequently, changing prices, quantities, adding/removing products, and even creating orders.
So in my opinion, this should definitely be added to Vendr.
Beta Was this translation helpful? Give feedback.
All reactions