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

Visit the Corporatedge erp at ce.extensionerp.com

the Pre-Production server at

http://142.93.209.152/

development server

https://68.183.94.172

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.

On this page