Functional Specification Document for Service Pack

OVERVIEW 

This document provides an overview of the functional specifications for automating the service pack business model at Jobin and Jismi using NetSuite. Currently, the company’s operational setup lacks the capability to precisely monitor monthly working hours, with no provisions for accurately tracking the actual hours utilized. Consequently, the company requires a system integrated into NetSuite to enable precise tracking of their service pack business model, particularly for monitoring monthly working hours.   

SCOPE  

Jobin and Jismi employ a service pack-oriented business model that offers subscription-based services. Presently, project managers are facing challenges in accurately monitoring monthly work hours within NetSuite. To enhance their business operations and ensure accurate monthly work hour tracking, they aim to establish an automated system within NetSuite to streamline their service pack-based model.   

PURPOSE OF THE DOCUMENT 

This document aims to provide a comprehensive specification that covers the extent and functionality of automating the service business model in NetSuite. Its goal is to offer precise guidance to the development team on the required features and functionalities that needs to be implemented. 

STAKEHOLDERS 

1.Management 

2.Finance Department 

3.Team Leaders 

4.Project Leads 

5.Project Managers 

SOLUTION OVERVIEW 

 
Jobin and Jismi must implement a comprehensive system within NetSuite to effectively automate all aspects of their service pack business model and associated processes. This involves establishing item records for the service packs and incorporating them into the sales order. The sales order should automatically populate start and end dates, remaining hours of service, and grace periods. 

Additionally, a custom record for monthly work done needs to be generated each month for every customer, as revenue recognition occurs at the end of each month. An auto journal entry is created at the month’s end, leading to the recognition of income. Customers must receive notifications when their chosen service pack is reaching its end. 

SYSTEM ACTORS 

USER/ROLE FREQUENCY OF USE ACCESS /FEATURES USED 
Admin Less Frequent Can give access to and delete records, create item records, create and approve sales order, create invoices, custom records, custom fields, approval of custom field, approval of journal. 
Project managers  Most Frequent Creating sales order, approving sales order, create custom records, approve custom records 
Project leads  Most Frequent Creating sales order, approving sales order, create custom records, approve custom records 
Team leaders Most Frequent Creating sales order, approving sales order, create custom records, approve custom records 
Accounts manager Less Frequent Create invoices and accept payment, approve journal entry record 

PROCESS FLOW 

FUNCTIONAL SPECIFICATION 

Item set up  

Use case –  

As per the business model, service packs constitute the items integral to the business. These service items must be configured within the NetSuite account by the administrator. Within the item record, there are fields for entering the item name, item description, and price. Additionally, two custom fields must be established in the item record to capture the Hours of Service and the Service Period. The unit of measure for hours of service should be in hours, and for the service period, it should be in days. The income account for these item records is the deferred income account. 

Field level specification 

Field name Field Type Mandatory  Editable  Default value Data source  
Hours of service  Integer yes yes  User entry 
Service period Integer yes yes  User entry 

Creation of sales order  

Use case  

 
Sales orders are generated by team leads, project leads, or project managers following discussions with the client. Within the sales order, there should be an option to select the customer from a customer list and choose a service pack based on the customer’s requirements. The body level of the sales order should contain fields for the customer’s name, start date, end date, sales order number, sales rep, date of the sales order, and total hours of service. At the line level of the sales order, there should be options to choose items, along with fields for item price, amount, and quantity. Custom fields need to be established in the body level of the sales order record for Remaining Hours of Service, Grace Period, and a checkbox to Override Period.  

When selecting items, all related fields, including total hours, should be automatically populated from the item record. The unit of measure for the field ‘Remaining Hours of Service’ is hours and that of ‘Grace Period’ is days. 

Upon receiving payment, the start date and end date of the service pack should be automatically filled in the corresponding field. However, if project managers and team lead prefer manual input, they can check the checkbox ‘override’ and as a result the automation will not work. 

If any changes in the Rate from the predefined rate, then that can be applied to the SO by adding a body level discount. 

After entering and saving the sales order, a standard approval button will become visible. After the approval of the sales order, it is necessary to inform the finance/accounts department as per the normal practice so that they can generate the corresponding invoice accordingly. 

Field specification  

Field name Field type Mandatory  Editable  Default value Data source  
Remaining hours of service Decimal yes no no Automation 
Grace Period Integer no  yes  no User entry  
Override Period Checkbox  no yes  no  User entry  
Start date Date no yes no User entry/Automation 
End date  Date no yes no User entry/Automation   
Total hours of service Integer yes no no Sourcing from Item Record 

Buttons and icons  

Buttons / icons On click event  Other event Visible  Navigate to  Users 
Approve  Will approve the sales order   yes  Project manager/Project lead/Team lead   

Creation of invoice 

Use case – 

Upon receiving notification of the approved sales order, the accounts department will proceed to generate invoices corresponding to the approved sales order. These invoices, upon creation, will be sent to the customers manually by the accounts department, who will then make payments. Following the company’s policy, the service pack commences, and related work initiates only after the complete payment is received from the customer. 

Creation of payment  

Use case- 

Upon receiving payment from customers, the associated service pack invoices are accepted by the accounts department, and subsequently, the received payment is documented in NetSuite as deferred income. At the same time, the start date and end date of the service pack associated with the respective sales order will be automatically filled within the sales order. The start date and end date fields are automatically populated only when the project manager/team leads do not check the override checkbox in the sales order. Simultaneously, an email will be dispatched to the project managers, project leads, and team leads, notifying them the receival of payment from the customers. 

The automatic population of the start date and end date is contingent on two conditions: 1) full payment receipt for the corresponding sales order and 2) the creation of an invoice for a sales order linked to the service pack. The end date is auto calculated in such a way that  

End Date = Start Date + Service Period (Days) + Grace Period (Days) 

Upon receiving payment from customers, the amount in the invoice will not be recognised as income and, consequently, will be recorded in the deferred income account. In the case of Indian customers, the emergence of tax issues will be accounted for in the GST advance account. 

Daily Consumption Tracking  

Use case – 

The company recognizes income received from customers only at the end of each week, and until then, it is treated as a liability. A custom record (‘Daily Consumption Tracker’) will be provided to TLS to track the Consumed Hours daily basis. So, the PM/PL/TL should create one Custom record entry per customer for each day according to the worked hours on the corresponding day. 

At the body level of the custom record, fields such as Customer name, Sales Rep, Date of Transaction, Sales order, and Memo will be included. 

As a sublist, items and their details will be displayed, featuring Item Description, Quantity, Rate, Amount, Location, and Resource. The item description corresponds to the JIRA code of the task, quantity represents the effort on the task in hours consumed, and resource denotes the name of the resource associated with the task. The item sublist displays tasks linked to projects as individual items on separate lines. 

Field specification  

Field name Field type Mandatory  Editable  Default value Data source  
Sales order  list/record yes yes no User entry  
Item name list/record yes yes no User entry 
Item quantity Decimal yes  yes  no User entry  
Item description Free form textbox  yes yes  no  User entry  
Resource list/record yes yes no User entry 

Saving the Daily Consumption Tracker  

Use case 

Upon saving the record, if the total hours consumed for all tasks within the custom record exceed the hours of service allocated for the service pack, an alert message will be triggered, and the record will not be saved. Otherwise, the custom record will be successfully saved. Each time changes are made; the validation check ensures that the consumed hours do not exceed the allocated hours of service. 

Upon saving custom record, a button will be displayed at the top of the custom record in view mode: Print. Clicking the print button will generate a PDF of the custom record in PDF format which serves as a completion note. The PDF will contain a detailed view of the Daily activities along with the Total Service Pack Hours and Remaining Hours of service 

Buttons and icons  

Buttons / icons On click event  Other event Visible  Navigate to  
Print Will generate the print of the custom record in PDF format   yes PDF print of custom record 

Daily Activities based on Update in Daily Consumption Tracker 

Daily, an email will be sent to the Customer and supervisor of the Sales Rep which includes the Completion Note PDF of the corresponding day. This will be sent on a scheduled basis at 9 pm IST by considering the Consumption Record that are created for that Date.  

Simultaneously, the remaining hours of service field in the corresponding sales order will be automatically updated by deducting the total hours consumed for that day in the custom record from the originally allocated hours of service. 

In addition to that, an automated email will be sent to TLs every morning at 8 AM to notify all the Active Service packs (regardless of the Tracker records) and its Remaining Hours to be Consumed. This will enable the TLs to decide whether they can work on the corresponding project which are subjected to Service Pack Service 

Weekly Recognition of Revenue  

Use case  

On a weekly basis (Every Saturday at 5 pm IST), the journal entry record will be automatically generated with Approved status in NetSuite for the Daily Consumption Tracker records created for that week. Within the journal entry record, three custom fields are established: 

  • Checkbox – ‘Service Pack’: Indicates whether it is related to a service pack or not. 
  • Related Sales Order: Represents the related sales order of the custom record. 
  • Related Invoice: Identifies the related invoice of the custom record. 

These custom fields are disabled on UI but automatically populated when the journal entry is created through the proposed automation. 

The corresponding journal entries will be documented at the line level. The initial line will represent the reversal entry for the deferred account, while the subsequent entries will detail the associated income accounts related to the items in the custom record. 

Once the Journal Entry created with Approved status, the income will be recognized.  

Field specification  

Field name Field type  Mandatory  Editable  Default value Data source  
Service pack checkbox yes no no Automation 
Related sales order list/record yes no no Automation 
Related invoice list/record yes  no  no  Automation 

Notification on expiry of service  

Use case  

The service pack’s validity expires based on two conditions: 1) when the hours of service are exhausted, and 2) when the service period concludes.  

  1. When the hours of service are exhausted 

A scheduled process will monitor the Remaining consumption everyday basis and 4 Notifications will be sent to customer including the status of the existing pack as well as the Service Pack offered by JJ  

  1. Notification mail on 80% of Hours is consumed  
  1. Notification mail on 90% of Hours is consumed 
  1. Notification mail on 95% of Hours is consumed 
  1. Notification of Service Interruption on 100% of Hours is consumed 

Note: Only one email will be sent to the customer based their service pack status even if multiple conditions are satisfied with a single day 

  1. When the service period concludes 
  1. When service period concludes – An email must be dispatched to customers before the service period’s expiry date, with team leads and project managers in Cc.  
  1. Before 30 days 
  1. Before 20 days 
  1. Before 10 days 
  1. Before 5 days 

This communication will notify them of the expiration and include details of existing service packs provided by JJ, allowing them to renew with a new pack before the deadline.  

  1. After the date of expiry– Additionally, a final email will be sent the day after the expiry date, informing the customer, with the project manager and team lead in Cc, that the service pack has expired, and the service is no longer available.  
     
    Simultaneously, a journal entry record will be automatically generated for the remaining hours of service left for the customer based on the service pack. This entry will be recognized as income and transferred to a specific common revenue account. On the line level of that journal entry record, there will be only two lines. 

Reports for better analysis  

Use case 

The company required to produce reports derived from sales orders, the generated custom record, and journal entries. In NetSuite, there are pre-existing standard reports, and in addition to those, custom reports can also be generated. 

Reports need to be generated periodically to identify: 

  1. Total hours consumed on period basis. 
  1. Total revenue generated through Service pack on a specific period. 
  1. Total number of customers chosen service packs. 
  1. The most in-demand service pack. 

Email for Notification 

  1. An email will be dispatched to the project managers, project leads, and team leads, notifying them the receival of payment from the customers. 
  1. Daily, an email will be sent to the Customer and supervisor of the Sales Rep which includes the Completion Note PDF of the corresponding day. This will be sent on a scheduled basis at 9 pm IST by considering the Consumption Record that are created for that Date. 
  1. In addition to that, an automated email will be sent to TLs every morning at 9 AM to notify all the Active Service packs (regardless of the Tracker records) and its Remaining Hours to be Consumed. This will enable the TLs to decide whether they can work on the corresponding project which are subjected to Service Pack Service 
  1. When the hours of service are exhausted 

A scheduled process will monitor the Remaining consumption everyday basis and 4 Notifications will be sent to customer including the status of the existing pack as well as the Service Pack offered by JJ  

  1. Notification mail on 80% of Hours is consumed  
  1. Notification mail on 90% of Hours is consumed 
  1. Notification mail on 95% of Hours is consumed 
  1. Service Stop intimation on 100% of Hours is consumed 

Note: Only one email will be sent to the customer based their service pack status even if multiple conditions are satisfied with a single day 

  1. When the service period concludes 
  1. When service period concludes – An email must be dispatched to customers before the service period’s expiry date, with team leads and project managers in Cc.  
  1. Before 30 days 
  1. Before 20 days 
  1. Before 10 days 
  1. Before 5 days 
  1. After the date of expiry– Additionally, a final email will be sent the day after the expiry date, informing the customer, with the project manager and team lead in Cc, that the service pack has expired, and the service is no longer available. 

ASSUMPTIONS 

  • Only one service pack will be added to a sales order  

LIMITATIONS AND RISKS 

  • Multiple resources working on the same item task cannot be recorded in the custom record 
  • There is a limitation in automatically always setting the start and end dates in the sales order, as there may be instances where the client requires the flexibility to adjust the start date independently of the payment date. 

FUTURE SCOPE  

  • Establish a system to effectively record and track the efforts of multiple resources working on the same item. 
  • Automatic Renewal 

ABBREVIATIONS 

PM Project Managers 
TL Team Leads 
  

Leave a comment

Your email address will not be published. Required fields are marked *