Supported version: Saleculator v4.5 u1 and later.
This document explains how to configure round off on the Saleculator payment screen. Use this method when the final amount collected from the customer should be rounded separately from the invoice total.
When to use payment screen round off #
Use round off when the bill total contains paise or small currency fractions and the shop wants to collect a simpler final amount. For example, a total of 102.59 can be collected as 103.00, or 102.49 can be collected as 102.00, depending on the configured method.
Round off is different from discount. A discount reduces the invoice value before payment. Round off is a separate final payable adjustment made on the payment screen.
Configure round off #
Log in as Administrator and go to Menu > Maintenance > Resources. Open the Ticket.Buttons resource and add or update the following entries:
<rounding-mode value="manual"/>
<rounding-method value="nearest"/>
<rounding-unit value="1.00"/>
<rounding-custom-threshold value="0.50"/>
Save the resource and restart Saleculator if the changes are not applied immediately.
Available settings #
rounding-mode controls when round off is applied.
- manual: the cashier can click the Round button on the payment screen.
- automatic: Saleculator applies the configured round off before payment collection.
rounding-method controls how the amount is rounded.
- down: always rounds down to the configured unit.
- up: always rounds up to the configured unit.
- nearest: rounds to the nearest configured unit.
- custom: uses the custom threshold value to decide whether to round up or down.
rounding-unit controls the rounding step. Common examples are 1.00, 0.50, or 5.00.
rounding-custom-threshold is used with the custom method. For example, with a unit of 1.00 and a threshold of 0.50, values below 0.50 round down and values from 0.50 round up.
Manual round off on the payment screen #
When manual mode is enabled, the payment screen shows a Round button. Click this button before entering the payment.
Saleculator shows the current total and the suggested rounded payable amount. The cashier can accept the suggestion or enter the final payable amount manually.
If any payment was already entered before changing the round off amount, enter the payment again against the new payable amount.
Automatic round off #
When automatic mode is enabled, Saleculator calculates the rounded payable amount before the payment dialog opens. The cashier collects the rounded payable amount directly.
Examples #
With nearest rounding to 1.00:
- 102.59 becomes 103.00. The round off is +0.41.
- 102.49 becomes 102.00. The round off is -0.49.
- 102.99 becomes 103.00. The round off is +0.01.
Receipt printing #
The receipt can print the original invoice total, the round off amount, and the final payable amount. The recommended receipt total section is:
<line size="1">
<text align="left" length="12" bold="true">Total</text>
<text align="right" length="36" bold="true">${ticket.printTotal()}</text>
</line>
#if ($ticket.hasRoundOff())
<line>
<text align="left" length="16">Round off</text>
<text align="right" length="32">${ticket.printRoundOffAmount()}</text>
</line>
<line size="1">
<text align="left" length="12" bold="true">Payable</text>
<text align="right" length="36" bold="true">${ticket.printPayableTotal()}</text>
</line>
#end
This keeps the original tax invoice total visible and records round off separately.
Where round off is stored #
When the ticket is closed, Saleculator stores the round off details separately in the ticket attributes. This allows the receipt to show the round off value without changing the original ticket total.
Verification #
After configuration, create a test bill with a decimal total, open the payment screen, apply round off, close the ticket, and print the receipt. Confirm that the receipt shows Total, Round off, and Payable correctly.
Leave a Reply