CorporateEdge Revamp Documentation
INTRODUCTION
This document has been designed to serve as a comprehensive developer manual, targeted towards the development of the Frappe ERPNext CRM module for Corporatedge.
Its primary purpose is to provide a clear and detailed roadmap of the steps that have been taken in the development process, as well as the customizations that have been executed on the doctype and child tables. These components are integral to the system, and understanding how they have been altered is crucial for anyone looking to understand or extend the current setup.
In an effort to enhance comprehension, we have included specific code snippets throughout this guide. These snippets are not merely presented in isolation; rather, they are accompanied by thorough explanations of their function and significance. This will enable the reader to understand the underlying logic of how the code works and behaves.
The goal is to equip developers with the knowledge and understanding they need to further develop, maintain, or modify the CRM module without unnecessary hindrance. We believe that such a comprehensive guide will not only aid in the current development process, but will also provide a solid foundation for any future enhancements or modifications.
STEPS TO INSTALL
Navigate to your Frappe bench directory. If the corporatedge app is not present in the apps directory, use the following command to get it.
bench get-app https://labs.extensionerp.com/Ashish/corporatedge
To install the app on your site,
bench βsite {sitename} install-app corporatedge
BUSINESS LOGIC
Before diving into the code and customization, it's crucial to understand the business flow or logic underpinning the system. This is applicable to every project or product in the software industry. Before we start solving a problem, we need to fully understand the problem at hand.
Corporateedge is no different. They have a unique process flow and knowing what they deal in is quite crucial
Corporatedge is a firm which sells shared and coworking spaces, meeting rooms, virtual offices and other hospitality services to some of the most elite organisations in not only Delhi NCR and Bangalore in cost centres like Two Horizon Centre, HT House, Cyber Hub in Delhi NCR and Prestige Trade Tower in Bangalore
CRM PROCESS
Website Links
Visit the Corporatedge erp at ce.extensionerp.com
the Pre-Production server at
http://142.93.209.152/
development server
DISCLAIMER
- In case a CE user is to access the core-erp, they can visit the above link or the dev server to check the latest changes
- Every developer/tester reading this should note to get any further changes done in the dev server and not directly in the in the pre production server
- The use case of having two staging servers is to check and test the code with different sets of data and an exact image of the production server
- The complete process of development should be followed before making any changes in the production
Customisation and use cases
This documentation only covers the CRM module, specifically Enquiry, Proposal and Agreement
Please note that the name of Proposal was changed to Proposed Office Space Commercials
ENQUIRY
The enquiry doctype though does not contain any major customisation but needs to be understood nonetheless
The enquiry page will capture the personal as well as the customer details which will help decide what type of office or meeting room is to be sold to the potential customer
Major customisations include probability percentages based on the the stage that is completed in the enquiry
if(frm.doc.status_dup=="Enquiry"){
frm.set_value('probability','0')
frm.set_value('parent_status','In Process')
}
else if(frm.doc.status_dup=="Contacted"){
frm.set_value('probability','5')
frm.set_value('parent_status','In Process')
}
else if(frm.doc.status_dup=="Need Analysis"){
frm.set_value('probability','10')
frm.set_value('parent_status','In Process')
cur_frm.set_df_property("from_date","reqd","1")
cur_frm.set_df_property("to_date","reqd","1")
}
The above code snippet will gives an overview as to how the probabilities are changing
Second major customization that was done is that start date and end date have been made to be mandatory based on the stage
Scope for improvement
In this code there is a scope of improvement:
Whenever from a higher percentage stage to a lower percentage stage the probability should reduce
Mandatory depends on should be applied from the Front-end
Process To Fill Lead
Lead can when being entered manually should be filled in a proper manner
Fill in the Salutation and personal details like email and company
Select the lead generation date and and the source fields
Choosing the location preference and service requirement are mandatory to capture the requirement of the potential customer
To move forward with changing the stages, you can find to change the lead type and the stage of the lead entered
After need analysis The start date and end date becomes mandatory
Add the Number of workstations and WIPOW for data and report generation purposes
Once the Lead or enquiry is converted, you can proceed to enter the data in the Proposed Office Space Commercials
Proposed Office Space Commercials
Major Customizations
Major customization include creating fields like customised requirements and Parking
The main use case is to store the data the selected services and showcase on the page
Major customisation includes
4 Child tables
Reccurring, one time customisation cost and an HTML table
Also includes a discount type field which will have discount %/rent free or both option
For rent free a field appears which gives the prompt for rent free months and potential escalation
Recurring
Recurring table will contain the data for all the items for which cost is to be taken on periodical basis
these may include serviced offices, horticulture, Parking, water, server rack, printer etc
The process to fill the data in the one time items is as follows
Add a row
Select the item
The price and amount will be automatically fetched the discount field will have dropdowns for the discounts
In case of Parking the quantity will be fetched from the parking field
One-Time
One time table will have the data for setup and service retainer
Customization Cost
customization cost, the data is to be entered manually
Based on the above data a html table on first approval runs that shows consolidated payable amount
This has a major calculation based on the escalation terms and the rent free terms
The calculation is as such that all months are considered as 30 days and based on the rent free days the amount is modified for those particular months and escalated for the required months
here the escalated amount with and without discount are shown
Total discount percentage and total amount are disabled
AGREEMENT
In Agreement only the cost center and warehouse needs to be added and the payment summary will be updated on save
here total amount discount and those information will be reflected.