Closing re-opened Ticket after Refunding or Gifting of ALL items on Ticket

After Implementing Refund Item button It seems like when Ticket Total ( or Balance ) is 0.00 on a re-opened ticket via refunding or gifting of ALL order items then the ticket does not close. Can you help @QMcKay @emre ?

Try settling the Ticket… Click: Settle, All, Close.

This may be a little off topic and I apologize but I am currently writing a tutorial on a full blow reverse sale system like what is in my Database. It just involves a lot of steps so I have been putting it off. I think it would solve a lot of errors like this if more people used a true reverse sale method. However, this setup is great for a quick refund implementation.

I just wanted to let you know that the tutorial for a full reverse transaction setup will be completed in next few days.

If you want to look at how it works you can mess with it in working condition with my Database in the link I am going to post below.
Just know that it is implemented in a custom form for my quick service. The tutorial will show you how to set it up for a more generic use.

Just backup your information before you try mine.


@QMcKay Ticket remains Open ( After i Click Settle, there are no items in the payment screen )

See screen below of what happen when i click ALL. After I press Close it just bring me back to Ticket explorer, showing the ticket as still being open.

The Ticket is Closed.

Change the view from All Tickets to Open Tickets Only, and Refresh Ticket Explorer - the Ticket isn’t listed, because it’s closed. At least that’s the case with my setup.

That method really is not designed for TOTAL ticket refunds. In essence what you are doing is … not refunding the item… you are just changing its price to 0.00 The item is technically still there.

If refreshing ticket still shows it as open something else is causing it not to close. Did you enable Zero Priced orders for ticket type?

I did enable Zero Price orders for ticket type as advised by the Tutorial… how can enabling this cause that problem?

It may not I am trying to help you troubleshoot it. And you did refresh the ticket explorer and its still under Open Tickets?

I did. It is. Its probably due to some other closing conditional i set for Aborting Tickets. Ill review my Ticket aborting components.

Ticket aborting can cause lots of havoc if not handled correctly. @emre introduced a way to cancel entire ticket through an action to avoid most of this. IF you still cannot figure it out… maybe share some of your Abort setup and we can help you troubleshoot it.

@kendash Ok thanks. I can just imagine. I’ve noticed that some Tutorials do not make provisions for all use case scenarios. However, i suppose this not uncommon for a product whose documentation is in its early stage of development . Ill update you after my review.

You must understand that this is also not a typical POS system. Usually you would NEVER have the flexibility to introduce your own custom system like this. So the Documentation for this POS system will be different because a lot of it is user developed solutions given the tools provided.

If it were to have just straight documentation like a typical POS it would show you how to use the tools and that would be the end of it.

Also it would either have the feature you want or it Wouldnt… And if it did have it you would be restricted to using it the way THEY want you to, not the way you want it to work.

So to have typical documentation explaining everything will probably never come to life with this system. The documentation for this system will be MUCH MUCH Better because its community driven.

Sorry for the long post. To sum all of this up I don’t think there will be a All Use Case Scenerio because not everyone will use it the same. The best approach with Samba is to use tutorials and documentation to learn how to build your version.

indeed @kendash . Thanks for that. Ive resolved the issue ( It was due to an invalid custom constraint in a Before Ticket Closing Event based rule that i was experimenting with for my abort and refunds functionality. Only problem now ( which is the problem i was trying to solve in the first place) : TOTAL Refund or Gifting causes re-opened orders to gets resent to kitchen printer on Before Ticket Closing event.

I had the Order State Name: set to Status and Order State: set to Abort however i could not get Aborted orders/tickets to print to kitchen printer until i cleared those two parameters.

But now, ALL Tickets with Total Amount equal to 0get sent to kitchen printer on execution of the Before Ticket Closing event based rule above ( including reopened tickets with TOTAL refunded/gifted items)

What can i do to this rule or action to allow only Tickets\orders that have been submitted but subsequently aborted to get sent to kitchen printer ?

You would change how it prints… Change it to print on ticket closed and make it look for a specific state. When you abort a ticket you make it change state to something… then it looks for that state when closed to print… when you open ticket you can set it to reset the Autoprint state. Give me a few minutes and I will show you.

I am still curious how you are aborting tickets… can you share this process so I can help you further/.

You understand why ALL tickets would get sent to kitchen printer right? It is because you told it that on Ticket Closing to Print that template. Before Ticket Closing = all tickets that are part of that rules mapping. How are you designating a ticket Aborted?

Yes @kendash I understand that part. See below for abort config screens:

So you are not really aborting you are voiding already submitted order. You just have it configured to void the entire ticket.

add this custom constraint to your Before Ticket Closing rule

{TICKET STATE:Status} Equals Aborted

Take out the Total Amount Equals 0 custom constraint

PS I recommend rethinking this for aborting orders. I know you are wanting to track orders that are aborted… so you might take a look at my pre-built database I have a system that is a TRUE abort and it has its own accounting built around it and does not affect other rules.

If you ever reopen a ticket that you used this method of abort on… it will rerun everything when you close it again. resulting in another ticket sent to kitchen. You could simply make it so you cannot reopen an aborted ticket however.

1 Like

Thanks for the info and your suggestion, i will certainly consider using your solution. What are the accounting or data integrity implications of the above quote ?

Your data integrity and accounting will not be affected just your printing to kitchen will. You will also end up with a bunch of zero amount tickets. Also it could cause crashes if you try to do some functions on tickets with 0 amounts and all items voided.

1 Like

Over the next few days I will be releasing some of my systems from my DB as tutorials. They are VERY complex and require configuring everything from Departments, to Ticket Types, to Accounting, Accounts, Account transactions so it has taken me a while to do tutorials on it. But I am nearing completion.

I have even limited functionality based on departments, States, etc. I wanted to explain all of this in the tutorials so as you can imagine it has taken me a while to build tutorials on it.

I am about to upload my latest DB to the same post in a few minutes… It contains some fixes, streamlining and a few other cosmetic things.