Projects:Product Attributes/Functional Specification
Contents |
Overview
Purpose
The purpose of this project is to implement the same features Openbravo ERP has for product attributes. This is a valuable feature for clothes shops that need the size and color attributes to track the inventory, the serial number of electronic products, etc...
The synchronization of product attributes and inventory is detailed in the Improvement of Synchronization Functional Specification document.
Scope
- Create exactly the same data structure for product attributes that exist in Openbravo ERP.
- Manage in the sales panel the attributes of products sold.
- Manage in the inventory management panels the attributes of products sold.
- Create new inventory reports that will allow to analyze the products inventory based on attributes and modify current inventory reports to take into account attributes.
References
- Projects/Product_Attributes_revision/Functional_Specification
- Improvement of Synchronization Functional Specification
Design Considerations
Assumptions
This functionality may not modify the current functionality of Openbravo POS and may not include complexity in the product if the Openbravo POS user decides not to use the product attributes functionality, i.e. If the user does not want to use the product attributes functionality he should not do extra steps, or find differences in the logic of the application or in reports. It is acceptable that this user may see new buttons, text fields or menu options related to attributes that he is not going to use.
This functionality must be capable to manage:
- Size and color attributes for clothes shops.
- Serial numbers for traceable products.
- Product modifiers for restaurants like a burger, raw, medium or well done, with fried or roasted potatoes...
Dependencies
This feature in Openbravo POS depends in the product attributes implementation in Openbravo ERP. It will not contain all the functionality included in Openbravo ERP but the tables and fields used to describe attributes and the logic used must be the same in order to make it easier to synchronize data and to help users to understand the attributes functionality in both products.
Constraints
Glossary
Functional Requirements
User roles & profiles
- System managers
- Typically these users have a high level of professional education, are computer literate and receive training in the product and business process. These users perform administrative tasks, execute reports, and taking into account in business decisions.
- Sales managers
- Typically these users have a high level of professional education but might not be computer literate. These users performs operational tasks or high privileged tasks like perform refunds, receive goods, close the cash, ...
- Generic employee
- Typically these users do not have a high level of professional education and might not be computer literate. These users usually performs sales orders and take the money.
Business process definition
New windows to define attributes and attribute sets.
New dialog to assign attribute values in each inventory movement like sales.
Inventory reports redesign.
User stories
Functional requirements based on business processes
Requirement | Importance | Status | Estimated time | Comments |
---|---|---|---|---|
A window to administer the attributes and the attributes set available for products. | Must have | Not started | 4d | The window to administer attributes is a basic edition window that edit the attributes table. The window to administer attributes set is a basic edition window that edit the attributes set table. This window also have a panel that edit the attributes available in each attribute set. |
A new field entry in the products window to assign the attribute set for each product. | Must have | Not started | 2d | This new field is a combo list that allows to select an attribute set or let the field empty. |
A new dialog in the Sales window, Stock diary and Stock maintenance to allow to set the attributes values for each line. | Must have | Not started | 4d | This dialog displays all the attributes of the attributes set of the product line that allows to edit the attributes values of the line.
|
To allow to edit the value of attributes using not only a text field but also a drop down list | Nice have | Not started | 4d | This feature implies to modify the dialog that edit attributes values and a new window to edit the available values for each attribute. |
Modify the inventory reports, | Must have | Not started | 4d | Warehouses, Current inventory, Current inventory broken, and Inventory diary to take into account the new attributes set values in the inventory tables. |
User Interface Mockups
Technical Requirements
Tables needed
ATTRIBUTE (ID, NAME) Attributes available for products
ATTRIBUTEVALUE (ID, ATTRIBUTE_ID, VALUE) Available values for each attribute
ATTRIBUTESET (ID, NAME) Each set of attributes that can be assigned to each product
ATTRIBUTEUSE (ID, ATTRIBUTESET_ID, ATTRIBUTE_ID, LINENO) Table that relates the list of attributes of an attribute set.
ATTRIBUTESETINSTANCE(ID, ATTRIBUTESET_ID, DESCRIPTION) Each instance for an attribute set
ATTRIBUTEINSTANCE(ID, ATTRIBUTESETINSTANCE_ID, ATTRIBUTE_ID, VALUE) Each value of each attribute for each attribute set instance.
Tables modified
PRODUCTS(ATTRIBUTESET_ID) Add the attribute set field to products table
STOCKCURRENT(ATTRIBUTESETINSTANCE_ID) Add the attribute set instance to the stock current table
STOCKDIARY(ATTRIBUTESETINSTANCE_ID) Add the attribute set instance to the stock current table
TICKETLINES(ATTRIBUTESETINSTANCE_ID) Add the attribute set instance to the ticket lines table