Projects:Multicurrency Change & Rounding/Technical Functional Guide
Contents |
Technical and Functional Guide
About this section
This section describes the technical and functional aspects to configure Multicurrency Change and Rounding.
Introduction
Multicurrency is a WEBPOS development that allows user to return the change in different currencies with rounding.
Pre-requisites
• Currencies configured as payment methods in WEBPOS and set as Cash
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.
Rounding
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) |
Configuration
POS Terminal Type
A new field called "Multi Change" has been added in POS Terminal Type header to enable or disable multichange.
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.
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.
Organization
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.
Preference
"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.