You can edit orders in the backend with the latest versions.
But you cannot add extra items to a customer order.
Because it is now prohibited by some payment processors, certainly PayPal and I believe also Authorize.net and possibly more.
The reason is that the customer has already contracted to pay a certain amount and you cannot charge them more in the existing order contract.
There must be a new order created
We won't have a problem with that in the UK using PayPal.
But this may be different in the US where for example, to use Authorize.net certain conditions must be adhered to or you cannot use them.
And it is important that payment processors are kept onside as partners with VirtueMart.
Stupid thing is for these processors you are apparently permitted to reduce an order and give a rebate to the customer, but not increase it and ask for additional payment.
So that is solved by creating a new order.
Then we also have the different regulations within the various EU member states.
In the next version, you can increase (or decrease) the number of each item within an order and increase the invoice charge accordingly.
But I don't know what will happen when our Authorize users try this for their customers.
Here is the way I got around this...
For example sometimes I run out of stock, so the product isn't "available" however a customer wants to preorder and pay.
- I setup a payment alternative for them to pay.
- On the back end I make a shopper group called "Admins only" and assign my admin user to it.
- I then make the out of stock product only available to the "admins only" shopper group and increase the stock level to desired amount.
- I log in the front end, so that product is only available to me and not anyone else, and place the order on behalf of the customer, using their details as the billing details in the address.
- I simply cancel the payment when it gets to Paypal, then go into the backend and mark it as shipped once I know the customer has paid.
- I then make the product back to the original shopper group for future.
It takes about 2 minutes to do this, I'm happy and my customer is happy.
If a customer wants to change their order I go about it in a similar way, just with a new order for a new amount / extra products - I place the order on their behalf, and setup a different payment method for them to pay the new amount.
If the new amount is LESS
Then the original order (i.e. removing a product)
- I either give them a coupon,
- or refund the difference to them minus the bank charges,
- or cancel the entire order and place a new one on their behalf using this method.