Hello. In this tutorial I’ll show you some rounding features of SambaPOS. I’ll demonstrate different rounding methods here so you can choose that fits fine to your business needs.
##Method 1: Automatic Rounding to Nearest Value
Automatic rounding to nearest value means it can both increase or decrease ticket amount. So we’ll need two account transactions and ticket calculations here. By default SambaPOS has Discount and Rounding accounts. We’ll create two additional account transactions to differ them from manual discounts.
We’ll start by creating a new Account Transaction for rounding ticket amount to upper values.
… and another one that decreases ticket amount.
On next step we’ll configure calculation types.
This calculation will work if ticket amount needs to be increased. We want to round to nearest 0.50
dollar so we need to configure Rate or Amount
value as 0.5
This one works if ticket amount needs to be decreased.
Finally we’ll configure a Calculation Selector to enable calculations.
We’ll leave button header empty because this calculation works automatically without the need of clicking a button. I’ve added both calculation types and SambaPOS will enable appropriate calculation.
As always we shouldn’t forget mapping.
Let’s see how it works.
On this sample ticket balance automatically increases from 6.49
to 6.50
To demonstrate the opposite case I’ll add %15 discount. It automatically decreases by 0.02
and Ticket Balance becomes 5.50
.
As the result SambaPOS creates that transaction document. I wont describe it in detail but if you have questions about that feel free to ask.
###Side Note: Payment Screen Prices
As you know you can settle tickets by clicking orders on payment screen. You’ll notice when we have both auto rounding and a discount, payment screen prices becomes too fractional.
You can round these prices too. Change Settings > Program Settings > Payment Screen Settings > Auto Rounding
to round these prices.
Changing it to 0.25
will round each order prices to nearest 25 cent.
Prices are better now. SambaPOS does some magic calculations here to fix prices without changing ticket total. Since it does not change ticket total this rounding is only useful to display rounded prices on payment screen.
##Method 2: Rounding by Lowering Ticket Amount.
If increasing ticket amounts for rounding is not appropriate for your business you can use this method. On this sample I’ll start with a fresh database.
Since we won’t increase ticket amount we only need a Transaction Type
that works with discount account.
The calculation type will be slightly different.
We’ll enable Decrease Amount
and choose Round Ticket Total Exactly
calculation method. Since we want it to round to 50 cents I’ll set Rate or Amount
value to 0.5
. You can change this value. For example if you want it to round by 5 cents you need to enter 0.05
here.
Finally we’ll configure Calculation Selector
. Don’t forget mapping it.
Now we can create a ticket to see how it works. To demonstrate the difference I’ll create the exact same ticket that we created on method 1.
You’ll remember ticket amount increased to 6.50
when we used method 1 but this time ticket amount decreased to 6.00
because we forced it to round ticket amount with discount.
##Method 3: Rounding by Payment Type
Instead of rounding ticket amount automatically you can prefer rounding it when a specific payment type selected. In this tutorial I’ll change Method 2
configuration to work when ticket paid with Cash
.
I’ll delete Calculation Selector
since I don’t want to apply Auto Round
calculation automatically.
Auto Round
Calculation type should disappear.
I’ll change Cash payment type to add a Payment Processor
. Navigate to Tickets > Payment Types
and double click Cash
to edit.
Click Payment Processors
.
Click Add
and choose Add Calculation
processor.
Highlight Add Calculation
row by clicking on it and click Settings
.
On previous tutorial you’ll remember we’ve configured a Calculation Template named Auto Round
. Type it’s name and set an rounding amount. We already have an amount configured for Auto Round
template but I can alter that value here. To test it with a different value I’ll type 0.25
here.
Save it and create a ticket to see what will happen.
Balance did not changed. Click Settle
button.
SambaPOS notifies me if I settle with cash ticket amount will become 6.25
.
I’ll Tender $10
and click Cash
.
When I click Cash
SambaPOS will warn me about customer will pay 6.25
. We can skip this confirmation by unsetting Confirm
setting while configuring payment processor.
When I click Yes
ticket amount decreases to 6.25
.
##Method 4: Rounding Manually
I’ll start a new default database to demonstrate this feature. Instead of rounding ticket amounts you can prefer doing it manually. SambaPOS automatically creates Round
button to round ticket amounts by typing a rounding amount but since you need to type rounding value it is a little harder to use and it does not support rounding by increasing ticket total.
I’ll demonstrate an alternative solution here.
Since we need to support both increasing and decreasing ticket amount we’ll start by creating two account transactions.
First one for increasing ticket amount.
Second one for decreasing ticket amount.
We’ll also create two Calculation Types
.
This one will work when ticket amount increases. I want to show something different here. I’ve typed Template Name
as Service
so it will be displayed as Service
when we increase ticket amount.
Please notice I’ve selected Fixed amount from ticket total
as Calculation Method
. I’ll create another one to decrease ticket amount.
When I decrease ticket amount it will appear as Rounding
. Please note I’ve enabled Decrease Amount
setting here.
Now I’ll create a Calculation Selector
.
This time I’ll set a Button Header
value. When I type a Button Header it will display a button instead of applying calculation automatically.
Add a mapping and save it.
On payment screen we’ll have Auto Round
button. You can label is as you want.
By using this button I can change ticket amount by typing a target amount. That means if I type 7
and click Auto Round
ticket amount becomes 7
.
0.51
added to Ticket and it appears as Service
.
If I type 6
and click Auto Round
…
… ticket amount becomes 6
and it displays as Rounding
.
Clicking Auto Round
without typing a target value will remove calculation.
While configuring calculation selector you can include a single calculation type to support only decreasing or increasing values. You can also configure mapping to display this button to specific users or or ticket types.
Thank you for reading.