View source | View content page | Page history | Printable version   

Projects:Multicurrency Change & Rounding/Technical Functional Guide


Technical and Functional Guide

About this section

This section describes the technical and functional aspects to configure Multicurrency Change and Rounding.


Multicurrency is a WEBPOS development that allows user to return the change in different currencies with rounding.


Currencies configured as payment methods in WEBPOS and set as Cash

Conversion rates defined

Technical Guide

Multicurrency Change

The change is required to become an array of amounts (and payment methods) instead of a single number. It will be required to review this kind of JS API Change.

Once done is pressed negative payments will be automatically added as the same way as the change is currently managed. Just adding a for loop to add all the desired negative payments. It will be needed to review if OrderLoader and CashUp process are fully compliance with this multi-change structure. As all the logic is on the client side theoretically it should not be needed to modify any on those.

Application Dictionary

New Columns in OBPOS_App_Payment_Type:

Name Description Type Mandatory
ChangeLessThan Value to convert to other Payment Method Numeric N
Change_Payment_Type_id Payment Method selected to provide partially the change Varying(32) N

It is needed to create the fields also and send those values to WebPOS. These new fields will be under a new Field Group called Change Logic. An EventHandler will be required to ensure data is properly set.

New Columns in OBPOS_TerminalType:

Name Description Type Mandatory
isMultiChange Flag to Trigger this functionality on WebPOS Character(1) Y (Default N)

It is needed to create the fields also and send those values to WebPOS.


Application Dictionary

New Table OBPOS_CurrencyRounding:

Name Description Type Mandatory
C_Currency_ID FK To Select the currency
roundingto The value of the denomination to round change. Numeric N
roundingdownlimit Limit used to round the change rest to the lower denomination Numeric N

It is needed to create a new subtab in Organization window and send those values to WebPOS. A unique constraint (Organization/Currency) to ensure that no currency is duplicated will be needed. Also there will be needed to add some Check Constraints to ensure that proper data is added. It can be overridden based on the Organization tree.

New Columns in OBPOS_App_Payment_Type:

Name Description Type Mandatory
c_glitem_round_id FK To G/L Item to set the amount received when paying a ticket has cash rounding Character varying(32) Y (Default N)


POS Terminal Type

A new field called "Multi Change" has been added in POS Terminal Type header to enable or disable multichange.

description of the image

Payment Method in POS Terminal Type

A GL Item for Rounding has to be configured in order to associate rounding cash differences to a specific GL Item.

If a transaction has rounding it will be reflected as a new line in the Payment In and it will be associated to this Rounding GL Item.

description of the image

Change Logic in Payment Method of POS Terminal Type

In this section it is possible to select in what currency to return the change. For example, in this case if the change of a euro is less than 1 it has to be returned in Camboyan Riels.

description of the image


Currency Rounding tab has been created in Organization window to configure the rounding to and rounding down.

In this example, if change is between 100 and 25, it will be rounded up to 100. However if it is less than 25, it will be rounded down to 0.

description of the image


"WEBPOS Split Change in Different Payment Details" is a new preference that has been created in order to decide how the change is reflected in back office.

• If the preference is set to Y, the information of a payment send to the back office will be the amount paid and the change given to client in negative.

• If the preference is set to N, the information of a payment send to the back office will be just the price paid.

• If Multicurrency is enabled the preference is not taken into account and always the information sent to back office will be the total amount paid and the change in negative.

Retrieved from ""

This page has been accessed 1,829 times. This page was last modified on 3 July 2018, at 12:07. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.