Projects:Openbravo POS Localization/Functional Specification
Contents |
Overview
This project is to localize Openbravo POS not in terms of translating the literals nor the formats of the application but to addapt the rules and processes of Openbravo POS to be able to fit cultural and legal differences of as much countries and regions as possible.
Scope
The scope of the localization project is the taxes functionalities, tips and split receipt payments.
Design Considerations
Dependencies
This feature will depend on the current functionality of Openbravo POS related to taxes, sales, reports and all the functionalities that need to be localized
Functional Requirements
- Need to modify the taxes of the receipt lines based on rules or operator actions
- Need to fully support taxes with decimal figures.
- Need to support service taxes / tips.
- Need to support the split of the payment of one receipt between several customers.
User stories
- Depending of the customer, the operator need to exempt taxes in several receipt lines or the whole receipt. (
- Depending of the customer needs, the operator needs to set taxes of several receipt lines or the whole receipt to in house taxes or take away taxes. For example in Norway, Germany, France...
- Need to support taxes with decimal figures. For example in UK VAT 17.5%, France VAT 19.6%.
- Depending on the number of units of certain products sold, different taxes apply to receipt lines.
- Need to add service taxes or tips for several receipt lines or the whole receipt.
- Under customer request. The operator needs to split the payment of one receipt between several customers.
Technical Requirements
In order to have Openbravo POS with a base code base for all countries and regions, all the rules related to localization issues must be implemented with the script language integrated in Openbravo POS. This way the different localization rules and processes will be implemented in the resources table.
- Macros executed in certain events of the receipt creation process.
- Macro function executed when creating a new receipt.
- Macro function executed when closing a receipt.
- Macro functions executed when adding, deleting or modifying a receipt line.
- A flexible objects collection with data and methods exposed to macros.
- Creation / deletion / modification of receipt lines
- Access to all properties of receipts, receipt lines, customers, users, user permissions, ...