Proposal Summary
This proposal outlines the development of CRM requirements, including updates for Google Maps integration, task record updates, POS ordering, survey reports, and additional features. It also covers the scope of Outlook integration, including bidirectional task-to-event synchronization and email message sync.
This proposal is based on our discussions, anticipation, and understanding through our meetings and other communications. Any requirements/updates during the development will be treated as change request.
Requirement
The client has requested updates on CRM customizations, including Google Maps integration, task record updates, POS ordering, survey reports, and more. They also require Outlook integration using a custom script. These updates aim to automate business processes, streamline operations, provide actionable data, and reduce manual effort.
Deliverables
The implementer has reviewed the requirement thoroughly and proposes the following deliverables:
Google Map Integration Updates:
Sales Brick to show only related bricks of selected Sales Reps
The implementer will update existing scripts to filter the “Sales Brick” dropdown on the “Filter out customers to show on map” suitelet page. The “Sales Brick” list will be filtered based on the selected “Sales Rep” and the assigned customer’s Sales Brick values under the planogram subtab.
Filter for Customer Stage on Google Map Suitelet
The colour change on Google Maps will be more complicated and need in-depth analysis. The implementer will add a “Customer Stage” filter to the “Filter out customers to show on map” suitelet page. The results will be filtered on Google Maps based on the selected value by updating existing scripts.
Planning Assistance
A new column field, “Last Visited Date,” will be added to the bulk task creation page. This field will auto-populate based on the latest task created for the customer and assigned to the Sales Rep. All task types will be considered.
CRM Customization Updates:
Task record bulk edit
Instead of populating the “Next Meeting Notes” field, users can view details in the “Previous Task History (3 Months)” sublist. A filter for “Assigned To” will be added to the “Previous Task History” sublist by updating the existing search.
Next Meeting Field to appear in future tasks
For this, the Implementer suggested instead of populating the Next meeting notes field value. User can see the details on the “Previous Task History (3 Months)” sublist.
The implementer will add the filter “Assigned To” filter to the sublist “Previous Task History” by updating the existing search.
POS ordering
The implementer has recommended using a custom record for POS orders instead of the standard order-to-cash process. This custom record will include main fields such as items, quantity, and order status. The specific fields will be defined during the development phase, with input from the client on the details.
POS orders can be created either from a task record or as standalone records. A new button will be added to the task record to facilitate the creation of POS orders directly from it.
These POS orders will not have any financial GL impact and will not affect item stock levels, nor will they perform stock checks.
The implementer will also introduce a workflow or script to manage the approval routing process for POS orders, allowing the status to be changed using buttons.
Stores with Tasks Training/store visit – Report
The implementer will create a new custom report using a script to determine whether trainers have visited customer stores, based on task records of the type “Store Visit.”
Each customer is assigned a trainer, and the report will focus on the trainer and the count of assigned customers.
Task records from a specified recent period (the last 3 or 6 months) will be used for this report.
The report will include the following columns:
- Trainer
- Total Customer Count
- Store Visited Count
- List of Customers Visited
- Store Not Visited Count
- List of Customers Not Visited
Additionally, the report will feature a filter for “Trainer.”
This custom report will be generated using NetSuite form functionalities and will not include any styles.
Customer records to associate with Store ID
When ownership of a store changes, users will create a new customer account and close the old customer record. Both the old and new customer records will have the same store ID, resulting in multiple customers existing in the system for the same store location. As a result, previous CRM activities remain associated with the old customer account.
To display the old customer’s CRM activities on the new customer record, the implementer will create a sublist under the “Store Visit” subtab. This sublist will display task details retrieved through a saved search, with old tasks fetched based on the Store ID.
Questions and Answers Survey Report
As part of the QA survey report, the implementer will create two custom record types.
The first custom record type will store the questions and answer type configurations for customers on a monthly basis. This record will have two body fields: “Customer” and “Month.” The sublist within this record will contain three fields: one for entering the question, another for specifying the answer type, and a third for entering answer options, separated by commas.
This question configuration custom record will also be attached to the customer record for quick access.
The implementer will add a button or URL to the task record to access the survey form. When clicked, the survey form will open, displaying the questions configured for the customer and the current month. Upon submitting the form, a custom record will be created to store the questions and responses.
The second custom record type will be used to store the questions and responses. This record will have two body fields: “Customer” and “Month.” The sublist will store the questions and responses as text.
The implementer will create a custom report using a script. The report will be generated based on the custom records containing the questions and responses. It can be filtered by customer and month.
The report will be grouped and will include the following details:
- Customer
- Month
- Question
- Response
Outlook Calendar Sync
The integration between Outlook and NetSuite aims to streamline task and event management by ensuring seamless synchronization between the two platforms. When an event is created in Outlook, a corresponding task will be automatically generated in NetSuite, and assigned to a single assignee. Conversely, tasks created in NetSuite will be mirrored as events in Outlook, ensuring consistent updates across both systems.
This bi-directional integration encompasses the creation, editing, and deletion of tasks and events, with real-time synchronization from NetSuite to Outlook and scheduled updates from Outlook to NetSuite. By leveraging the Microsoft Graph API for creating, updating, and deleting events, the integration addresses the distinction between task records, which are assigned to a single employee, and event records, which can include multiple attendees. Furthermore, the task will be assigned to the event organizer during the integration, ensuring accurate task management.
Email Communication
To enhance email management, the integration will enable the fetching of emails from Outlook and the creation of corresponding message records in NetSuite. Emails will be retrieved with their bodies in HTML format, and a separate API will be used to fetch attachments, which will be processed in base64 format. This functionality will be implemented to handle attachments efficiently, based on their file types.
The integration aims to streamline the communication process by providing a unified system for managing emails within NetSuite. Given the challenges of relying on email for mapping with NetSuite, robust alternative mapping mechanisms will be implemented to ensure reliability. This email integration will facilitate efficient communication and record-keeping, contributing to improved operational efficiency and productivity.
Notes
- API Limitations and Changes: The Microsoft Graph API is subject to updates and changes that could impact integration. Unanticipated changes could disrupt the synchronization process.
- Real-time Sync Challenges: Implementing real-time synchronization from NetSuite to Outlook may encounter latency or performance issues, potentially causing delays or conflicts in task and event updates.
- Error Handling and Recovery: Ensuring robust error handling and recovery mechanisms is critical. Failures in synchronization could result in data loss or duplication.
- Attachment Handling: Processing email attachments in base64 format introduces complexity, particularly with varying file types and sizes. There is a risk of attachments not being processed correctly.
- Email Mapping Reliability: Given the inability to rely on email for direct mapping with NetSuite, alternative mapping mechanisms may introduce risks of misalignment or errors.
- API Rate Limits: Frequent API calls to fetch emails and attachments may exceed rate limits imposed by the Microsoft Graph API, leading to potential disruptions in email integration.