CRM/SFA application in OFBiz

The CRM/SFA application is designed for sales representatives, sales managers, and customer service representatives to manage the sales and customer service process of an organization. Its key functions are:
  • Track sales leads
  • Qualify sales leads and convert them into accounts
  • Track contacts at accounts
  • Enter and track sales opportunities from initial prospecting to final closing
  • Manage quotes for customers
  • Create and view sales orders for accounts and contacts
  • Generate sales forecasts
  • Manage customer cases (customer service requests)
  • Send emails
  • Track activities and work performed, including meetings, calls, emails
  • Track marketing programs such as customer surveys

Data history
The history of a customer relationship is a source of wealth, so it helps build a relationship over time and improve the quality of the commercial relationship. The data history relate specifically information about customers, making contacts references, business, bids submitted, the products ordered.

Target customers
What are the segments identified? What is the competition? What is the position of our offer relative to the market?
The marketing campaigns also help the market definition.

Increase turnover

The CRM aims to give commercial tools to sell more. Each salesman can monitor its clients, contacts, make plans and make its reminders at the appropriate time. The scoreboards are tailored to offer summaries to feed a better understanding of customers. They also learn about projects and tenders.

Creating New Users
Creating users needs to be done in the Party Manager, which can be accessed from the regular applications tab bar. Go to [Party] > [Create] and create a new Person. Assign at least one of the following roles for the person: “Account manager”, “Account Rep”, or “CSR”. Note that each person can have other roles, such as “Employee”, but the above three roles are required for them to use the CRM/SFA application. Next create a user login and associate it with the security group SALES_MANAGER, SALES_REP, or SALES_REP_LIMITED, or CSR
Note that “role” in the party manager is different than “role” in CRM/SFA. In party manager, role merely defines a possible role a person or group has with respect to any other possible person or group. In CRM/SFA, “role” means specifically a user’s role in a sales account relationship, and it implies a certain amount of security permissions as well.
If a user forgets his password, a new one will be mailed to the PRIMARY_EMAIL address on file with the “Forgot Your Password” feature.

User Profiles
There is a [Profiles] link in the upper right hand corner of the screen in the CRM/SFA application, between the user’s name and the [Logout] button. This link takes you to the user profiles page, where you can modify the user’s name, change passwords, and additional contact information (email, address, phone #) for your user. Note that you cannot create additional user logins here—you can only do that in the Party Manager. This profiles page also shows you a history of the user’s past visits.

My vs. My Team Values
You may see a link for [My Accounts] on the right of “My Team Accounts”. If you click on “My Accounts”, your login will be configured to view only your personal accounts instead of your teams’ accounts. This will also work for leads, contacts, cases, and opportunities.

Account Teams
Account teams in the CRM/SFA application are groups of people who usually work together as a team in a certain set of roles and permissions. A team can be assigned to an account when it is first created. Then, the account’s team manager or account owner can reassign team members or re-arrange their responsibility, so the real team working on any account at any one time could be very different than the “usual” work team. This is very different than the “military unit” team, where a team with fixed membership and hierarchy is assigned to various accounts over time.
To create a team, you would need to use the Party Manager. Go to [Party] > [Create] >> [Create New Party Group] and give it the name of your team. Then go to [Roles] and add a role of [Account Team] to it. Then go to [Relationships] and add your team members. The following fields must be added: PartyId of team member Role of team member (Account Manager, Account Rep, or CSR), based on the role assigned earlier when creating users. The “Is a” field must be set to “Assigned To” The current party’s role must be “Account Team” Set the from date Party Relationship Security must be the security privilege of your team member. In the Party Manager, a long list of security permission groups will show up. Pick one of the ones relevant for the CRM/SFA application.
Now your team member has been added. When you create an account and then assign a team to it, you will see the team members.


Create accounts page


Contact Information
The system allows you to create multiple contact information per person or group, so your accounts, leads, or contacts could have as many phone numbers, addresses, or emails as you need. Each contact information also needs a purpose associated with it to identify what this contact information is to be used for.
When you use the [Create Contact], [Create Lead], [Create Account], the system will create the following contact information based on your web form inputs: The address will be created as the General Correspondence and General Shipping Address The phone number will be created as the Primary Phone Number The email will be created as the Primary Email Address The URL will be created as the Primary Website URL
When creating contact information on your own, you should create an email with a Primary Email Address purpose and an address with a General Shipping Address purpose. The Primary Email Address will be used to send automated notification emails. The General Shipping Address will be used for orders.
The phone number and email shown on lists of accounts, leads, and contacts are the PRIMARY_EMAIL and PRIMARY_PHONE number.
You can click on any email address listed in the contact information section to send an email. See “Sending Emails” below.
Notes
Throughout the CRMSFA application, notes can be created for various things and stored. The Notes menu is typically at the bottom of a screen.


Create Contacts page


Overview of Leads, Contacts, and Accounts
A core function of a CRM application is tracking the process of turning prospects or leads into customers. In the Neogia/opentaps CRM application, prospects are created as a Lead first in the [Leads] tab. A lead is one person at one company and cannot have additional contacts associated with it. After you have qualified your lead, perhaps by a follow up call, you can mark the lead as qualified. Then, when the lead has become a customer, you can convert your lead into an account and a contact. You can then add additional contacts to an account.
Note that if you have several leads from the same company, the system allows you to create them all as different leads, then convert them into the same account. The lead conversion screen allows you to select an existing account.
There is no formal requirement of when a lead can be marked qualified or converted to an account—you can do this whenever it fits your company’s needs.
Technical note: To be considered an account, lead, or account, a party must have the PartyRole “Account”, “Contact”, or “Prospect” and have an active PartyRelationship in one of the roles with another party. Therefore, OFBiz parties which do not have those PartyRole or PartyRelationship defined would not show up as an account, lead, or contact. Also, an account is an OFBiz PartyGroup, and lead and contact are OFBiz Person.

Accounts
Account owners have the ability to create opportunities for their accounts.
Each account can have one parent account at a time. The parent account can be entered during [Create Account] and then changed during an [Update].
Lists of accounts are sorted by name of account.

Contacts
Once created, a Contact can be added to an Account from the Account main page with the [New Contact” menu or from the Contact main page with the [New Account] menu.
Lists of contacts are sorted by last name of contact, then first name.

Leads
Leads are early stage contacts/accounts. When a lead is converted, a contact and an account are created.
Leads can also have a parent. This parent must be an existing account.
Leads are first assigned to the user who created them and in the “Assigned” state.
When you have qualified a lead, click on [Qualify Lead] to mark it as “Qualified.”
When you convert a lead, you will be taken to a screen and asked whether you want to create it as a new account or as a contact of an existing account. If the lead's company has already been created, then select an existing account. Otherwise, leave the field blank. The lead person would become a Contact. If an existing account was selected, then the lead would be a contact of that account. If no existing account was selected, then a new Account would be created based on the company information, and the lead becomes a Contact of that Account.
A lead can only be converted to contact/account successfully if it has a company name.
NOTE: If you select an existing account when converting a lead, then all the company information of the lead is lost. This includes “Company Name,” “Annual Revenue,” “Industry,” “SIC Code,” “Ownership,” “Ticker Symbol”, “parent company”
When converting a lead with opportunities associated with it, the opportunities become associated with both the account and contact to which the lead is converted.
If you create a new Account from Lead, the Lead's contact info (address, phone, email) also become contact info of the Account. If you create a Lead into an existing Account, its contact info would stay with the Lead/Contact and not be copied to Account as well.
Leads can be deleted if they have not been qualified or converted (ie, still in the “New” or “Assigned” state.).
Lists of leads can either be sorted by lead company name, then last name or by last name, then lead company name.

Merging Leads/Contacts/Accounts
You can merge leads/contacts/accounts and consolidate duplicate records. Use the [Merge ___] link on the shortcuts menu on the left and enter the from- and to- lead/contact/account’s partyId. A page will ask you for confirmation. If you confirm the merge, then data from the from- lead/contact/account will be copied to the to- lead/contact/account. Then the from- lead/contact/account will be removed from the system. Be very careful with this feature—once removed, it cannot be recovered!
The merge feature may not work if too much data has already been created from the from- lead/contact/account.

Opportunities
When the opportunity is initially created, the stage is used to create the probability. The probability can be updated later, but when it is updated to a new stage, the probability is overwritten with the probability corresponding to that stage. Estimated closing date is required for opportunities so forecasts can be made.
An opportunity can be created for one account only but can have multiple contacts associated with it.
To edit or update an opportunity, you must be on its account team. To create an opportunity for an Account, you must be able to update that Account. Updating opportunities requires you to fill in a change note.
An opportunity can also be created for a lead once the lead has been qualified. When the lead is converted, the opportunity will be associated with both the account and the contact.
Note that opportunity's estimatedCloseDate is actually stored as a date-time (Java Timestamp) because time periods for forecasting are java Dates that end at midnight, so if we didn't have a time of estimated close, an end or beginning of month opportunity could be put into the wrong time period for forecasting. The system automatically sets to the hour of closing to 23:59:59.999 (ie, 1 millisecond before midnight.)
The probabilities of each opportunity stage is stored in the SalesOpportunityStage.defaultProbability field.

Cases
A case must be created with at least one account or contact. A case can have multiple contacts or accounts associated with it, although there is currently no interface for doing this.
“My Cases” shows a list of all cases for accounts or contacts that you are assigned to. Currently the assignment of cases to users is implicit: if you're assigned to an account and there's a case for the account, then it's your case.
To update a case, you must have permission through its contact or account team.
A special permission is required to mark a case closed.
NOTE : Cases should may have some integration problems with Neogia Service Management component.

Sending Emails
From the Contact Info screen of Accounts, Contacts, or Leads, you can click on any email, and a screen will pop up to send it. You can type a different email address or lookup an opportunity or case. When you are ready, you can either [Send] the email or [Save For Later] to send it later. [Save For Later] saves the email as a pending activity for the recipient. Once sent, the email becomes part of the activity history.
If the email is not an email of the recipient party, you will get an error.
Note that the [Text] and [HTML] buttons will toggle the MIME format of the email between text and HTML, but currently an HTML editor has not been integrated in yet. Thus, you’d have to paste or write in HTML code if you want to send in the HTML format. An integrated browser HTML editor is planned.

Sorting Incoming Emails
The CRMSFA application will sort your inbound emails, store them as communication events in the system, and associate them with your users and contacts, accounts, or leads. To configure inbound email sorting, first configure your mail container. Then, edit the file
hot-deploy/crmsfa/servicedef/smcas.xml
and change the value of the condition to the domain where you will be receiving your emails. Re-start your server, and the system should now be monitoring your domain and storing new emails. It will check the FROM address of every email and try to match it against those of your account/lead/contact and match the TO and CC of every email and match it against your CRM users.
When a new email is received, it is logged as a CommunicationEvent in the system. If the FROM email address matches the email of a party (account, lead, or contact), it will be logged as being from that party. If the TO email matches the email of another party, it will be logged as an email to that party. (Technical note: the CRMSFA application uses the OFBiz storeIncomingEmail service but wraps a WorkEffort around it and associates the recipients as parties of the WorkEffort.)
New emails are created as pending activities both for the party (account, lead, or contact) and for the recipient user. When you log in to the CRMSFA application, you will see your incoming emails on your “Pending Activities” list and on the “Pending Activities” of the account/lead/contact which sent it. You can click on the activity to view the email, then mark it started, then mark it finished when you are done. (Technical note: the CRMSFA application will mark the CommunicationEvent of the email as “Pending” when you start the activity and “Complete” when you finish it.)
Emails which are not associated with any parties will still be stored in the system. You can use the Party Manager application to sort them manually. Go to [Party] > [Comm] and look for communication event type of “Auto Email” and status of “Unknown Party”. Then edit them and associate them with users in your system, and mark them as “Completed.”

Activities
There are two types of activities: tasks and events. Events are meetings which show up on the calendar. Tasks are phone calls, emails, or general tasks and do not show up on calendars. The “My Home” page you see when you first login will show a list of Pending Activities, which includes both events and tasks.
Events can be created from both the calendar (click on the time of the day or on the icon) or from accounts, contacts, leads, cases, opportunities screens. Tasks can only be created from the latter or from task lists, since they don't show up on the calendar.
When creating an activity (event or task), you can enter the scheduled start date/time and the duration. If the user will be busy during that interval, then click on “Busy” or “Away.” If there is another event or task already scheduled for the user in that interval where he is “Busy” or “Away,” it will generate an error message. If you still want to schedule it, then set “Ignore Schedule Conflicts.” When you update an event, you must always set “Ignore Schedule Conflicts” if it conflicts with an existing event.
To log an activity is to record something that has already taken place. These activities are created as Completed, and the user gets to enter the actual start and finish time.
To create a new activity, event or task, is to schedule something. The user gets to enter the scheduled start time and due date. For an event, it is first in the “Scheduled” state but can then be “Confirmed.” Once confirmed, you can add parties to the event or invite them by sending an email. Adding a party automatically confirms them. Inviting them sends an email. Enter a note to be included, and the email will be sent with two links: one to accept, one to decline.
Parties cannot be added to an event if they are already assigned to another event or task at the same time and their availability status on that is “Busy.” If no status is set, then the time slot is assumed available.
When you've had your event, you can log the actual time (start and finish time) and mark it as “Completed.”
A task is created in the “Scheduled” state as well. When the user is ready to start the activity, update the task to “Started” and enter the start time. If no time is supplied, the system will record the current time as started. Similarly, when the user is ready to mark it done (“Completed”), the system will record the finish time if the user does not enter a time.
Note that this is different than actual time entry and billing—billable time needs to be entered separately. (It could actually be done in the Workeffort Manager right now.)
In the case of an email, when you click [Send Email] the system will record the start time of your email. When you actually click [Send], the system will record the completion time. If you save it for later, the activity will not be recorded as Completed until you actually send your email.
When viewing Activity, you will see the activity's details on top, a list of parties (accounts/contacts/leads/team members) associated with it in the middle, and then, if it is an email, the email below. Note that OFBiz is designed to allow many communication events per work effort, but we're only showing one per activity. The concept is a bit backwards here: in OFBiz, you create work effort as “projects” and many emails, etc. associated with it. Here, workeffort is used as a discrete “task,” such as sending one email. You can still create workefforts as projects, but that would involve creating sub-tasks where are discrete. This again is currently supported in the Workeffort Manager but has not been ported to the CRM/SFA application’s screens yet.
When logging a phone call or email, the “INBOUND/OUTBOUND” flag determines to to/from parties in question.
The list of parties shows parties (accounts/contacts/leads) and attendees for a task or event. Currently only the calendar owner (ie, creator of activity) can update availability status of attendees, add, or remove them. This may change later.
Find activities shows a list of activities which are EVENT or TASK and shows them as if they were completed.
Once an event is canceled, it will no longer show up on the calendars.

Forecasts
Sales forecasts use the opportunities' probabilities and amounts to calculate the amount of sales a company can expect to close over a period of time. Forecasts are calculated from opportunities. Each salesperson’s forecast is based on the opportunities for that person’s accounts and leads during the time period of the forecast. Any account or qualified lead with which the person is associated would be used to calculate the forecasts. As a result, the total forecasts of all the salespeople would be greater than the total forecast for the whole company, because multiple salespeople could be related to the same account. To get a forecast for the company, add a sales manager once and only once to each account and qualified lead.
Any sales rep can create a forecast for himself and enter his own committed amount. Only the sales manager can create a forecast for a team or a territory. Currently, each sales person can only create his own forecasts.
To create a forecast for yourself, select [Create Forecast] and select a quarter to create a forecast for. Only quarters which are not officially closed, whose end date has not passed, and for which no forecast is available.
You will then be prompted to enter your quotas for the quarter, month-by-month. When you are done, click on [Create]. Your quotas will be entered into the system and then both monthly and quarterly forecasts will be created. Each month’s forecast is calculated based on: 1.Closed Amount = sum of opportunities which are already CLOSED in that month 2.Best Case Amount = sum of all opportunities scheduled to close in the month, regardless of stage 3.Forecast Amount = sum of probability * amount of each forecast above a critical threshold of minimum probability. This minimum threshold is configured in the crmsfa.properties file.
The quarter’s forecast is the sum of all its months’ forecast.
A special permission is required to view anyone's forecast. Otherwise, you are only allowed to view your own forecast.
If you have permission to view others' forecasts, click on [Find Forecasts] and you will be able to find forecasts for other people. Then you can search by team member or time period. The list of forecasts returned is of the quarters.
By default, only the sales manager or supervisor can modify existing forecasts. To modify a forecast, click through to the month of the forecast, then enter an update quota, fill in a change note, and click [Update]. The forecast for the month and the quarter which contains it are updated.
Each time a forecast is updated, the old version is stored into history. When viewing a forecast, you can see its whole history with change dates and the quota, best case, and forecast amounts of the old versions.
Once a time period is officially closed or has passed, its forecast can no longer be updated.
If a forecast is already created for a time period, it will be automatically updated when new opportunities are created or when existing an opportunity is changed. The forecasts of all team members which are related to the changed opportunity through any account or lead is automatically updated. If the estimated close date of an opportunity moves from one time period to another, the forecasts for both are changed. If, however, the opportunity moves to a period far enough into the future that it does not have forecasts yet, a new forecast would not be automatically created.

Partner
Partners are external parties who can also be part of an account team. This feature has not been implemented yet, so the tab for it is disabled right now.

Quotes
The Quotes tab allows you to view and create quotes for your customers. The key features are to lookup quote by quote name, type, or status; create quotes; and create orders from quotes. Note that these screens are the same as the ones in the Order Manager’s Quote screen. Important functionality of Quotes are: [Find Quote] – look up quotes [View Quote] – view summary quote information [Quote] – manage the header of the Quote, including which customer and what store [Quote Items] – add or remove items from a quote and change their prices [Create Order] – create an order from the quote.

Orders
The Orders tab allows you to lookup orders or create new orders from the CRM/SFA application.
The order tab is basically an import of the order entry system from the OFBiz order manager. For more information about order entry, see the “Order Entry” document in the “Order Manager” folder or the “Sales Order to General Ledger Process Narrative” in the “General Overview.”
The order tab from version 1.0.x and later has been re-written to support order entry and lookup. You can create orders for accounts and look up existing orders with this tab.
The “My Orders” tab will show orders entered by the logged in user.
To create a new order, you can either do so from the account detail screen for the account under the Accounts tab, from the Orders tab using Quick Create Order, or use the [Create Order] link.
If you use the Quick Create Order, you must enter the account, order name, and desired delivery date. You can also enter a productId, and this product with a quantity of 1.0 will be added to your order.
Note that the “desired delivery date” is the same as the “ship before date” in Order Manager. It is not∫ the desired delivery date field from Order Manager. That particular field is not supported at this time.
When you are done with entering the items of the order, click on [Finalize Order]. You will see a screen which will prompt you to select the shipping destination and method for each line item on your order. The system will create a separate ShipGroup for each combination of destination and shipping method and will show you this on the final confirmation.
The remaining order entry screens are the same as those from the Order Manager.
The product store for order entry is configured in config/crmsfa.properties. Currently the CRM order entry system will support order entry for one product store only. It does not support product catalogs at this time.

Marketing
The Marketing tab is intended for various marketing-related functions. Currently it only lists all the surveys in the system and allows you to view the responses of those surveys.

Comments

Post a Comment

Popular Posts