Create ticket and send kitchen order with zero price item

I have a problem that i can’t get through, I have zero priced items allowed, when I select the table to create ticket if that ticket has only zero priced items it disapears when i close and does not send to kitchen either.

The setup is that at the restaurant they have a special menu of three courses, they don’t want to use product modifiers or tags, they want to select the zero priced items create ticket send order to kitchen and then at the end of the bill they just calculate and add the Option the client chose , either 1 course, 2 course or 3 course.
The ticket will close saving the zero priced items only if there is a priced item there otherwise it disapears, doesnt send to kitchen and closes

You have orders on the ticket so is possible but you need to bypass some of the default rules which close down a ticket when paid etc.
The issue you facing is because the total is 0 Samba takes it as paid, like when you close a ticket of all voided orders for example.
You need to prevent the closing rules with a constraint based on say a custom ticket state.
However since you need to print you would possibly need to move the print action.
My before closing rule look like this so you may not need to move print bits after all;

You would need to set the KeepOpen state on say order added with say set to true if ticket total =0 and false if >0
Also a ‘catchall’ type rule to false the state if say all orders are voided;

Some bits in screenshot are irelevent to you and cant be sure of all aspects as you have have other querks in your setup.

Either way, be carefull as you dont want tickets left unclosed preventing wp end so be sure to test lots and make a backup…

1 Like

Thank you for the reply, I have tried the option, it does stay open which is good, but even when paid the ticket is open with a status Unpaid , the Keepon rull when void didnt work for some reason , but is there a rule i can apply for it to close ticket as paid at the end? maybe if we apply a rule to mark ticket as paid when CASH CREDIT CARD OR VOUCHER is clicked? i mean link the rule to those buttons so that if ticket is open with a zero item , once a priced order is added then can close it and pay it by clicking on the payment processor?

My idea was to select the 2 or 3 courses, add all the zero items then if the customer wants to add a course we jusr void the choice and add the new choice but the manager of the restaurant is stuck with his idea, I think because that is how his old system worked and he is used to it that way that he doesnt want to listen to any second options :slight_smile:

Did you do the order added rule I didn’t have a screenshot for? That’s what you missing - to change the state to false when an order is added with a value.

Thank you, I will try it tonight and let you know how it goes, thank you so much

Good morning,
The ticket is still open affter the order added rule, don’t know what to do ,
please see my screenshots attached12
In your screenshots the ticket state keepopen rule was set to NOT Equal True, i tried that but that just removes the zero priced order from the ticket when closing, when setting say to Equals True it does stay but can’t settle the tickets as it stays on the status still Unpaid, although after the added order rule the ticket Status stays as NEW

In you before ticket closing rule above change MATCHES to MATCHES ALL

I tried, still not working , the ticket just does not close, it’s like the KeepOpen Rule is not canceling, or after paying the ticket it stays open because technically it is a 0

Your Constraints in the first Rule are messed up.

can you pleaae advise on the right way to do this?
very appreciated

Put this rule back to how it was.

Make a new update ticket state action called ‘Update KeepOpen Ticket State’, set state name as KeepOpen and put [:New State] in the State field.

Make a new order added rule.
Add this new action twice (add once then right click o list and click show all)
Set first action to set state as true.
Add constraint ON THE ACTION of [=TN(’{TICKET TOTAL}’)] = 0

On the second one set the state as FALSE
Add actions constraint of [=TN(’{TICKET TOTAL}’)] > 0

Not sure why it would stay open, you havent shown a rule which actually sets the keep open state??? see above.

Also you have done this one wrong;


This one should have a constraint of keep open does not equal true.



No offence intended but please pay closer attention to screenshots, understand you may be new but you got almost every one wrong :stuck_out_tongue:

1 Like

Ouch :smile: i have been using sambapos for a while but i am new to V5, i do appreciated your instructions , will follow them and let u know thank you :wink:

hey sorry for the delayed answer the restaurant was busy this week so couldnt access till, i tried everything followimg ur instructions but the ticket does not close after settling , stays open with Unpaid status, is there anychance you would have a sample database with this? or import file? i really need it and would appreciate the help.

Dont have a sample database and export would be adding bits you dont need.
Show your updated rules.

Please find the screenshots below,

Also when i follow exact instructions the ticket disapears with a zero priced item and if i swap the ticket total =0 true with the >0 false it keeps open but when i settle it stays open as unpaid

Pretty sure your remove keepopen on before ticket close rule isn’t right, it should be keepopen state rather than status but wouldn’t be what’s keeping open.

So let’s run through, can you confirm when you add a 0 priced item the keepopen state is true?
Second 0 priced item? Still true?
Add a priced order? Change to false?