I’ll be happy to hear details about how it happened -if possible - but I guess because of a reason if terminal 1 stops responding for a while operator goes in front of terminal 2 and adds same discount to the ticket again. When terminal 1 connection restored and changes submitted to database double discounts happens. Sounds like a rare issue but seems like pretty possible.
I’ve reproduced this case unnaturally on my development system and added an additional concurrency feature to ensure that won’t happen again for discounts. We’ll keep allow opening tickets from multiple terminals but if one terminal adds discounts before terminal 2 submits changes terminal 2’s changes won’t save.
Please let me know if that happens again after next V5 version.