It is possible to create a refund item button in ticket so you can change previously sold items with new items.
First of all we’ll start by creating a new automation command.
We’ll map this automation command to ticket lines.
This button should be visible for only new added lines and it will be enabled if item not gifted or voided.
After Saving it we’ll create a new action.
Price should be negative so we’ll use [=0-Order.Price] expression. Also We should set Increase Inventory setting to True.
And we need a Rule to execute this command.
We’ll update Order’s gift state to Refund to prevent it from accidentally gifted or voided.
Also we need to map this rule.
We don’t need a cancel Refund button since we’ll only use it for new orders and we can use “Cancel” button to Cancel that line.
Let’s say customer bought two Cookies and paid it. After a short while she wanted to change one cookie with one muffin.
We’ll create a new ticket, add Cookies and click Refund button while Cookies highlighted. We’ll also add Muffins on same ticket.
As you can see ticket balance displays ,25. So she needs to pay ,25 more.