Refund issue when using customer discount

Hi All,

I have a refund button setup which needs to work with the generic discount function.

At the moment when there is a 10% on the ticket and you refund all items you are giving the customer the full amount back and not the discounted amount.

how do I resolve this?

Order tags could would however this will affect another configuration for my parts picking which cant show the discount information.

any help would be great.

thank you

I have done further testing and configured ordertags for a discount. Unfortunately the same issue occurs.

Is there anyway I can refund a ticket and not per item. Some Ideas I have had but dont know how to configure it is:

Negative Payment type for refunding. But this messes up the total taking for their reports.

Another option is a refund button for the ticket and not per item, wouldnt know where to start with this one. unfortunately.

Can anyone advise on the correct solution for refunding items which were discounted

thank you

Have you looked at this tutorial?

I have and implemented it into my system. The applied discount gets removed when refund is pressed.

I have worked around by refunding the item first and then applying the discount to the negative figures, but it is a few more steps which I want the customer to avoid doing.

any way we can create a refund ticket so it gives the calculation total as the refund and not the item orginal cost?


I’m not sure this will work by try this. In the action Refund Item Action, change the price field to:

You may have to remove the action from the rule, save the rule then re-add the action back into the rule.

:frowning: Nope this didnt work. I tried both the ticket discount and the item discount then pressed refund and it still does the full value of the item and not the discounted rate.

Sorry, I’m out of any quick ideas.

Thank you for all your help on this.

I am hopefully one of the other Samba Wizards will be able to provide a alternative config for this requirement.

Thanks again :slight_smile:

im almost there but get complicated as you need to remove the discount and re-add to correct the refund balance

Ive basically created a refund ticket button that:

  • Clones the original ticket as a new ticket
  • selects all the items on the ticket and changes their price to negative
  • removes the original ticket discount

Now i just need to create a new discount calculation to re-add to correct the ticket balance, not sure how long itll take me though


Maybe a loop value might work??? This would catch multiple ticket discounts if present. You would have to capture the original ticket id…maybe use a local setting.

Something like this:

Looping Values: {REPORT CALCULATION DETAILS:C.Name:T.Id={LOCAL SETTING:OriginalTicketId}::,}

Then use the looping values to add ticket calculation(s)

amount: {REPORT CALCULATION DETAILS:C.Amount:T.Id={LOCAL SETTING:OriginalTicketId} && C.Name="[:LoopValue]"}

You will also need a display ticket action after the calculation, I forgot to add that in the screen shot.

seems to be an issue with the update orders action when updating multiple prices at the same time using [=0-Order.Prices] this works fine if only 1 item on the ticket but if trying to make more than 1 negative it doesnt work

Setting an actual number does work and changes all items so seems to be an issue with the expression to make prices negative @Jesse any ideas? ive tested and seems like the action doesnt work to update multiple order prices when using [=0-Order.Prices] in the price field

Working fine when you specify a price to change all products to, action below to set all to specific value (5.36)

Result on ticket all products correctly update to a price of 5.36

But when tryig to update all orders to negative for a whole ticket refund, when using [=0-Order.Price] it doesnt work

Try formatting the price. [=F(0-TN('{PRICE}'),'0.00')]

Nope thats doesnt have any affect at all, thanks for the sugestion though

Hey guys. I do remember solving a similar case for one of our resellers back last summer. I will have to dig that database up and look.

1 Like

Thanks Jesse, Ive tried everything I can think of and every setting in the action, adding ticket refreshes, removing ticket refreshes but this ones got me!

Thanks for you help :slight_smile:

The underlying issue is the fact that the discount is on the Ticket and the refunds are on Orders. For it to work you must spread the ticket based discount across all items evenly. I would recommend doing a transaction document for the refund based on the Ticket amount and not each order, Mark the orders as refunded using a state. Adjust your reports to subtract the refund account from your Gross Sales to get a true Net Sales.

But before you do any of that first why do you want to refund items if your really wanting to do a full ticket refund? Also am I mistaken about how you are doing a refund?