The Goal of the project is to develop additional modules and customize SugarCRM application in order to be used as professional customer service support application in professional e-commerce organisation. In order to do so, the following steps need to be done:
a) development of products module, that will store all products being subject of order, their statuses, corelations to suppliers, customers, etc
b) development of orders module, that will store all informations about order made by customer (status of the order, routing information, link to products, prices, quantities, special, etc)
c) development of communication module that will handle through SugarCRM SOAP interface all communication between eCommerce engine and SugarCRM,
d) other modifications
The staff of CRM should be allowed to do the following actions:
- send and receive emails from / to customers, with possibility of sorting (newest-oldest / thread based), additional view of unanswered emails longer than...
- emails sould be automatically linked to users and baskets / products
- emails can be converted to taksks
- change basket / product (add product to basket, delete from, change price / quantity)
- make statistics daily monthly yearly of delivered ontime/undelivered on time, etc
What we need is the following:
A) new module "orders"
Each order consist of products, each product has to have the following data:
- id (crm)
- id (store)
- price (for customer)
Each product in order has to have additionally information about: source of delivery (let's say "Madonna - madonna" may be bought from different sources depending on its availability, so i.e. someone wants to buy 3 the same products, each of the product may be bought by store from different distributors), state of delivery (delivered, waiting from..., supplier name, date_when_ordered), information about returns, refusals, changed made by customer via store (SOAP) or telephone call.
How looks the work of CRM team - they simply receive e-mails and phone calls and regarding to it make some actions. E-mails module should be changed a little - automatically e-mails (every 3 minutes) should be received and common list of unanswered e-mails should be provided. When someone from crm team clicks on that e-mail, the e-mail should belong to that person (just marked on the inteeface, everybody from crm team should see everything). History of e-mails regarding same order should be seen as newsgroup tree (with asnwered too).
Functionalities to add:
a) An order made by customer goes via SOAP to CRM. The order consist of one or more product, which can be purchased by store from one or more distributors. The order has a deadline when it should be sent to the customer. New view or orders should be prepared, that shows all orders that are not completed and the deadline was crossed. The orders should be sorted by date (asc, desc - to be choosen), CRM operation is able to change an order (delete one or more products, add one or more products, always giving a descrption to that operation). After any change a soap envelope goes to store with change, but change is registered in CRM AFTER confirmation SOAP envelope will come to CRM. All history of changes is visible to operator.
The last sentence is a rule. CRM APPLIES in store (via soap envelope) a change, but it is applied in CRM database AFTER confirmation soap envelope from store arrives.
B) It is an extension of first functionality. In the view "all unsend orders" detail about the order should be visible. The view should be following table:
Id | product name | order_id | date of order placed by customer | days we wait for product from supplier | supplier name | button - change supplier
So in this view the table is sorted by products not by orders. That is a major difference.
C) Reports in visual form:
- orders by date (daily | weekly | monthly | yearly) by value of order | quantity | margin with EMA
1. Whatever You will do for us we pay for that, but all the commercial rights to the work belongs to us (all rights are transfered automatically in the moment we pay You for Your work);
2. We need the documentation to all things You do for us;
3. We need You to use a CVS server in order to keep changes to the files;
4. We need You to exactly different between derived work and Unique one (You have to tell us - those are the things I made by changing existing files, those are the ones that came from scratch);
5. We work in the following scenario: We provide You the description of functionality we expect, You provide us a quote and timeframe of implementation, then You provide us a beta version, we make 30% of payment, we provide You our remarks and comments, You implement them, provide us the final version, we pay You 50% of payment, the rest - 20% is paid after 1 month the functionality works as it should;
6. All implementation must be done in a way that making upgrades in SugarCRM will be possible without special coding efforts