[Resolved] Rounding by Ticket Total Exactly Type!

ok will try and update

pizza is better than before not good enough yet :smile:

why after selecting one modifier its returning back to the ticket why cant i select more than one modifer at same time

There is something else conflicting with it I am trying to figure it out.

keep up the good work and help out thanks alot

It only does it on first startup of Samba. If you close a ticket and go to menu then bafck to POS it works fine. The problem with it only letting you select one order tag is something else.

Sorry for bringing something different to attention but did you tried Custom Calculations for rounding?

You can try something like that.

Setup a custom calculation as described here

use this expression as script.

result = 0.05 - ((Ticket.PSum + Ticket.PreSum + Ticket.Tax) % 0.05)

As custom calculations works differently from regular calculations creating an automatic selector may create issues. Instead you can try enabling it with Update Ticket Calculation action after first item added to ticket. (eg. ticket state changes from new to new orders).

Might be a nice sample for implementing some unusual calculations.

3 Likes

BTW the reason its only letting you select one order tag is because you have an Order Tagged event triggering another calculation.

Maybe lets stop wasting time figuring this out and try what @emre suggested.

@madiha what @emre just suggested works great I just tested it on your db. Much cleaner and easier to do and less chance of conflicts with rule events.

:exclamation: However one issue still remains @emre and I know you fixed it with the test versions we are testing but 4.1.82 it still rounds 0. Even with custom calculation.

What do you mean by still rounds 0? sorry I’m not fully aware of the issue :slight_smile:

Example if ticket total = 0 it adds .05 to ticket. or if total = 4.40 it makes it 4.45

I noticed in the latest test version we are using it does not do this.

BTW I found a workaround that works… use the custom calculation as @emre described then add a Ticket Total Changed rule and put in an Update Ticket Calculation action with Remove Calculation set to true.


Until we can get a definite answer on the rounding of 0 issue what I posted above works. I just tested it thoroughly.

hmm… OK I understand what is going on and why it works fine on test version.

If it is already setup can you try this one ? A little math magic that assumes 0.05 is 1/20

result = (round up (Ticket.PSum + Ticket.PreSum + Ticket.Tax) * 20)/20 - (Ticket.PSum + Ticket.PreSum + Ticket.Tax)

That works as well. So he can use that. for now.

Ok @madiha here is what you do.

Delete all your rules and actions that are related to the calculation you had.

Make the following Script by navigating to Automation > Scripts

Script:

result = (round up (Ticket.PSum + Ticket.PreSum + Ticket.Tax) * 20)/20 - (Ticket.PSum + Ticket.PreSum + Ticket.Tax)

Handler:

Calculation_Auto Round

Change your Ticket Calculation as follows:

Set a Calculation Selector as follows:

3 Likes

so at last @emre had to step in… see i told he will save alot of time.

i will try the script and update

1 Like

Sometimes exploring things is good. It helps you get an understanding you wouldn’t have if someone just gave you the answers. But yeah I am glad you got an answer that works for you. It also helps Samba grow if more people attempt things and break things vs just getting step by steps all the time.

You typically will test things so I didnt really direct those comments at you.

ya we should try first then come to an experty

yeah its working now thank you both @kendash and @emre for resolving my issue

1 Like

well didnt know how it works that’s why couldnt try

1 Like

@Jesse and @emre one issue is occuring if i book table while using the steps @Jesse provided. an exception is thrown

takeaway is working fine
after playing around noticed the custom calculation for rounding is causing the problem

so i just added rate to the custom rounding template type and its working fine…dont knw the reason though

the ticket is loaded with default value 0.05


and if take orders the value changes

explaining that a default value is needed in entity selection but y not in takeaway???

is there any other solution to this please share thanks

Did you tried this ?

no i havent try that…would hv if the server wouldnt had been down

you mean just add round up action through rule instead of calculators

if i leave it by adding dum value will it effect?

how do i mention rounding rate is custom
Update Ticket Calculation action after first item added to ticket. (eg. ticket state changes from new to new orders