Advanced Split Payments - New Way to Split Payments for Customers at Ticket Screen instead of Settle Screen

:exclamation: Always remember to backup your database first before trying new tutorials

This tutorial will show an alternative method for splitting payments. This method lets you select orders from ticket screen and press settle it will automatically move those orders to a new ticket allow you to settle them and then return to previous ticket.


Optional Configuration Task

https://gist.githubusercontent.com/kendash/ea4bae48924e4281066c/raw/

:arrow_right_hook: Copy the URL and navigate to Settings > Local Settings > Online Services and paste that URL in the box then go to Settings > Configuration Tasks and press Update. The Advanced Split Payment task will show up and you can click it to install this entire tutorial without having to create the rules and actions manually the task will do it for you. If you run the task a second time it will give you the option to remove the configuration.

Video Demonstrating Configuration Task


Tutorial Quick Navigation

Actions
Automation Commands
Rules

:warning: Disclaimer: The order of actions inside the rules is very important you should follow it exact. Example if you see SP-Move Orders before Display Payment Screen then it must be setup in that exact order.

Sample Video of Work Flow

3 Likes

Actions

SP-Move Orders

Action Type: Execute Ticket Command
Ticket Command Name: Move Orders
Background: False



SP-Display Ticket

Action Type: Display Ticket
Ticket Id: [:Ticket Id]



SP-Store Ticket Id

Action Type: Update Program Setting
Setting Name: [:Setting Name]
Setting Value: [:Setting Value]
Update Type: [:Update Type]
Is Local: False



SP-Execute Display Ticket

Action Type: Execute Automation Command
Automation Command Name: Display Ticket
Command Value: [:CMD Value]
Background: True

Automation Commands

I am showing this Automation Command for sake of completeness however you do not need to create the following unless you changed your default Settle button.

Settle (This is the default Settle button you do not have to remake this button)

Settle Button Mapping (Again this the default button you should not need to change this)

Rules

Settle Rule (Default Settle rule you do not need to create this rule just update the default one)

Event Name: Automation Command Executed
Custom Constraint: Automation Command Name Equals Settle

Actions

SP-Update Program Setting
Constraint: '{SELECTED ORDERS}' != ''
Setting Name: Ticket Id
Setting Value: {TICKET ID}

SP-Move Orders
Constraint: '{SELECTED ORDERS}' != ''

Display Payment Screen
Constraint: '{SELECTED ORDERS}' != ''

Display Payment Screen



SP-Payment Processed Execute CMD

Event Name: Payment Processed
Custom Constraints: Remaining Amount Equals 0 | {SETTING:Ticket Id} Is Not Null

Actions

SP-Execute Display Ticket
Constraint: '{SETTING:Ticket Id}' != '{TICKET ID}'
CMD Value: {SETTING:Ticket Id}



SP-Display Ticket

Event Name: Automation Command Executed
Custom Constraint: Automation Command Name Equals Display Ticket

Actions

SP-Update Program Setting
Setting Name: Ticket Id
Update Type: Delete

SP-Display Ticket
Ticket Id: [:CommandValue]

5 Likes

This tutorial is ready now that 5.1.50 is published. Feel free to ask questions if you need.

PS: thanks for the like reminder @emre lol.

3 Likes

I just updated the tutorial to include the optional configuration task. You can scroll up to view the information about it.

2 Likes

This is awesome!! I did a little tweaking to the rule so that it better suites my work flow but I was wondering if there is a way to move the orders but still remain on the original ticket.

Select Orders >>> Press “SPLIT CHECK” Button >>> Orders are moved to a new ticket >>> Execute Bill Print Job with the moved orders >>> STAY ON THE ORIGINAL TICKET (this is where I’m stuck)

Now the HOT TEA and the HOT CHOCOLATE have been moved and the bill printed

I get a lot of senior luncheons and they often need 15 separate checks. This would make the process of splitting checks extremely quicker and easier for the servers

Yes you could automate that. When I get home tonight il demonstrate it.

1 Like

This is great! Way better for me than the “move” button but I agree with @Vasilios it would be perfect if it returned to the original ticket after you select “print bill”. Is there a tag to pull up previous ticket and would I need a seperate “print bill” button to avoid pulling up the previous ticket in other situations?

In fact its actually loading original ticket after you make payment so all you need to do is change the automation so it doesnt display payment screen. Give me a few minutes ill demonstrate.

Here is how simple this setup is, its actually just three rules and a few actions.

So in a few minutes I will show you how to modify it.

Ok so we have something unique here if you want it to work with Print Bill button.

It can work but you might want to think through your flow with Entity Screen and state updates.

By default Print Bill locks the ticket and updates color to Red. For this to work we need to rethink the Lock Ticket and Color changes. Since your splitting ticket on same table obviously color change to red may not be desireable because splitting ticket means one ticket may be bill requested the others may not yet.

Anyway here is what you do This is assuming you have the actions created from the SP Tutorial we are reusing those actions. Simply change your Print Bill rule to look like this:

You also need to modify the automation command so it can be used on ORder Line.

Finally unmap or delete the rules

SP- Settle Rule and SP-Payment Processed Execute CMD

That should get you started but you may want to modify it further.

2 Likes

I revisited this and here is a better order of events. Everything can stay the same just move the order of the actions to the following order in the rule.

This will ensure the following behavior.

You select orders and press print bill it will move them to new ticket then print bill for that ticket, update the Entity and Ticket state to Bill Requested and Locked then it will lock that ticket and close it and finally reload original ticket.

2 Likes

I’ll play with this over the weekend… Thanks a lot sounds perfect!

Works perfect except if I leave the Enabled States in the Automation Command mapping, the button is greyed out on the order line. If I set the Enabled States to the asterisk it works but after I use it the table appears as empty on the Entity Screen which will mess up the waiters for sure. Tried to create my own state for this specific situation but still same result, the Automation Command is greyed out.

P.S I created my own Automation Command so I didn’t interfere with the Print Bill Automation Command but I tried it with the Print Bill AC and had the same result.

You can set more than one enabled or visible state just separate each one by commas

Or you could add multiple lines on the mapping screen, it doesnt just have to be one

I just tried it out. Works great for me, I just have to turn off Auto Logout since it will not allow for the ticket to reopen

I’ve noticed an issue and was hoping someone could help me since I can’t figure it out.

so I have it setup to split check, print the ticket, and open the original ticket again, and it has been working, the only problem is that it keeps printing multiple copies of the ticket. If I split the check and move 4 items it will print 4 copies of the bill. So however many items get split off thats how many copies get printed.


Here is my rule (sorry I had to edit, posted a rule I was trying to tinker with)



Try changing Ignore Selected Orders setting for Execute Print Bill Job action.

DO i enter itlike this?

Ok I changed the setting, but no luck