How to resolve "printing of the empty kitchen/bar ticket" problem

Hi all!

Most of us use two separate printers: the first for the bar/restaurant, and the second for the kitchen. The last one is used for printing “service tickets” for staff.
In my case (small coffee shop) we make and sell most of our products at the bar, and very rare we cook some courses at the kitchen. So when a new ticket was created, both of my printers (at the bar and at the kitchen) printed out “service tickets”. Even if there were not any orders for kitchen, my kitchen printer printed out empty service ticket: only the header (time, table and so on) without any orders within.
It made my staff to be confused every time it happened.
I searched very carefully through this forum, but could find only an advice from the guru how to do it. There was not the ready solution “from the box”. So here is my small tutorial how to resolve this issue.
It’s my first time :slight_smile:


First of all we need to explain to SambaPOS which product belongs to which area (bar or kitchen). We can use Product Tag for this purpose (there is a lot of information at this forum about how to use Product Tags).


Second step is to create new “States” for ticket: does it need to print out this ticket at the kitchen printer or doesn’t. So we go to Settings -> States. Let’s create two new “States”


Now we need to create a rule which will check

  • does this ticket have any new orders?
  • does this ticket must be printed out at the kitchen printer?
    If both of the answers are “yes” - it starts Print Job.


Next step is to create an Action which changes the State of the ticket (does it need to print or doesn’t). Let’s go to Automation -> Actions -> Add action:


And now we need to create the new rule which will check every time: does a new order (added to the ticket) contain the product from kitchen menu? If “yes” then this rule will change the ticket “NeedToKitchenPrint” State to “True”.


And finally we need to do the very important thing: let’s go to Automation -> Rules -> Sort Rules

We need to put “Print Ticket for Kitchen” rule (and “Print Ticket for Bar” Rule as well if need) ABOVE “Ticket Closing Rule”. As a result SambaPOS will process these our new rules before it closes the ticket (and changes all other Ticket States).

It seems to be all. Let’s try it :smile:

2 Likes

You could use product/item tag and used a report ticket order qty with a expression for those tags.
You could use that as a constraint on each of the print actions.
Was discussed recently and emre confirmed the expression for item tag.
Something like;
[=TN(’{TICKET ORDER COUNT EXP:(MT.KitchenBar=Kitcheb)}’)] > 0

1 Like

Thank you for your response!
Your solution is more elegant and technologically correct. But…
Did anyone know before that it’s possible to use the same sintax for constraint as for reports templates (or ticket templates)? No. :smile:
So, did I have any chance before to invent that solution? No. :smile:

I realy like SambaPOS - it’s a very powerful and flexible tool. And I respect the team that supports this system. Guys, you are doing very useful thing and you are really working hardly.
But there are some problems as well. And the most important is that there is no well-done documentation (or description, or user manual) for SambaPOS. :smile:
It’s very difficult to find the necessary information about some nuances like this solution you suggested above. It’s really pity that I didn’t know before about the ability of using the report’s tags syntax into the rule’s constraint.

Yes, quite a few and shown in many examples recently :stuck_out_tongue:

Your always welcome to ask for advice - ‘Whats the best way to do this?’ :slight_smile:

There is no official A-Z documentation no, however such documentation is incredabully hard to construct given the flexability of samba.
While the sugested solution would be simpler yours undoubtibly works for you. THere are many ways to do even the most simple things and Emre is not one to tell people that it should be done this way - more if you have issues why you do and how best to get arround/solve.
The key part is that there is no fixed hard coded way to do things however this does make documentation dificult.
You will see in the release notes for virsions new features added and another reason why there is no hard manual as it is still a fast changing app with new features added daily. (in beta at least)
I know Q does his best to also documents changes discussed in beta.
Virtually everything you need is on the forum you just have to search - although understand you need to have the right terms to search for.

3 Likes