What is the difference between Paid and IsClosed?

Hi everybody,

When I display a closed ticket, I can see Paid as the status of the ticket.
I was expected IsClosed.


Actually it is part of a more general question, I’d like to be able to make 2 small actions on a closed ticket, actions that do not affect nor the inventory/sales, nor the payment.

The action are related to a re-print of a ticket with corrected information, in my case:

  • “consumo” which is a ticket Tag. (it prints “food and dink” instead of detailled orders on the ticket)
  • “Sunat” which is an entity containing the customer’s company information. (used to justify company cost for tax purpouse)

Both might have been entered incorretly by the waiter (quite often actually).
So a re-print of the ticket (a copy) with the corrected information would do and so avoiding the whole process of annulation+new ticket which creates troubles, mainly work period dependant.

Now, nor Ticket Tag, nor entity can be changed when ticket is Paid/Isclosed.

Re-open Ticket is dangerous (especially in an old work period) because it gives the waitress too many ticket change options.

Is there an easy way to do it?

The difference is paid is a status but IsClosed as I understand is what ‘reopening’ the ticket is reversing.
You consumo print could have been achived if you had gone with a seperate template as you would have just printed the template and not needed to add the tag.
both tag and change entity are actions which i beleive will not work on a isclosed ticket.

The cconsumo flow could include a reopen ticket action without too much rish as could be fully automated as in reopen ticket --> add tag --> print --> close ticket (re closing it)

The changing/selecting entity might be more trickier though…

1 Like

@JTRTech is correct. Paid is a value for a Ticket State named “Status”, while IsClosed is a special flag in the Database that prevents changes to the Ticket.

It just so happens that when a Ticket is fully Paid, both the Ticket “Status” State is set to Paid and the Ticket is Marked as Closed, so it might seem at first that they are the same thing, but in fact they are completely different. In general, it makes sense to Mark the Ticket as Closed when it is fully Paid, so that is why this is a Default Rule that is installed with a fresh Database.

It is important to note that the Close Ticket Action is not the same as the Mark Ticket As Closed Action.

The Close Ticket Action simply removes the Ticket from the POS Screen and changes some Order States (Status=Submitted), Entity States (Status=New Orders), and Ticket State (Status=Unpaid).

The Mark Ticket As Closed Action sets a flag in the Database which prevents altering of the Ticket in any way, and as JTRTech mentions, this flag is reversed via the Reopen Closed Ticket Action. It has nothing to do with States or anything like that. It is somewhat like the Lock Ticket Action, except it is supposed to serve a more special purpose.

In fact, in my Setups, where we would normally Lock the Ticket by default, I removed that Action because I didn’t like it, which is why the IsLocked column is always 0 in my DB…

1 Like


I’ll go for:

  • “reopen and refund” button to correct things (CC<->Cash; SUNAT; Consumo, etc …) IF current working period
  • Manual and paper IF previous working period.

Therefor I want to tag my tickets in the before closing ticket rule with {working period id} OR {Start} but I have a syntax probllem:
I try these TAG Values in Update Ticket TAG action but without success:


I also try with {Start} but no luck

Thanks !


{WORKPERIOD ID} should work for you.

Show the Rule containing the Update Ticket Tag Action, and the Action definition itself.

I am stupid, it works … I had 2 popup windows on on the other … sorry for having you wasting your time,

Ticket Tag:

WP (not mapped - don’t need a button)

(btw if I put in WP Tag - for instance {SETTING:CURRENTUSER}, it works)