Projects:Openbravo POS Customer module/Functional Specification
This project is to add a customer module to Openbravo POS. This will allow to add fidelization capabilities in Openbravo POS and add the debts of customers.
This feature will depend on the current functionality of Openbravo POS related to sales orders because now orders may have a customer assigned and to payment methods and closed cash reports.
- A new customers table with fields to store the max debt available for that customers, the current debt, and the date of the debt.
- Two customers reports one for all the customers and other filtered by customers with current debt. These reports prints the customers cards with the name and the client id as a barcode. And with information of the max debt available, the current debt, and the date of the debt.
- Customers can be assigned to orders sales using a find dialog or reading his customer card with the barcode scanner.
- A new payment method has to be added to allow customers not to pay an order at the time is closed.
- A new window that allows customers to pay his current debts
- Other parts of the application are affected by the customers module are also be modified to take into account the new payment methods,
Business process definition
- The administrator or the manager of Openbravo POS needs to manage the master records of tables to add new records for customers, modify its attributes, and delete it. It will also will need to print customer loyalty cards.
- The user of Openbravo POS when creating a new order will need to assign the customer to the new order either by reading the customer's loyaty card or finding it in the database.
- If the Openbravo POS user has the appropiated permissions he will be able to allow the customer not to pay and the debt will be added to the customer.
- If the customer that has debts comes back and wants to pay their debt in total or partial, He will be able to do this and pay with cash, credit card and all the allowed payment methods used.
- Openbravo POS users will be allowed to add notes to the customer's record.
- The administrator or the manager will be able to print reports of all the current debts.
- A new table to store all the customers attributes.
- A new relationship between receipts and customers.
Open Discussion Items
- Having a debt field is good, but not generic enough. Customers should also be able to prepay for services, so a better field would be account balance, which could either be a debit or credit (+/-).
- I see the Customer already has a card field, which is fine for loyalty cards. But it does not encompass the idea of membership. Generally in a membership, multiple customers can be associated with a single membership. For example, at a gym there would be a single membership, but each family member would have their own card. When the customer is pulled up, you would also want to be able to see the other associated members in the membership.