A Cloud ERP solution that stands above its competitors adapts to the evolving demands of their users. When you look at the top ERP solutions, you’ll see common necessary record types such as customers, items, transactions, etc.

However, most fail to provide the ability to create your own record type to meet a unique use case. NetSuite’s Custom Records feature makes it shine above its competitors, with the capability to store whatever type of record data you deem necessary and go above and beyond without sacrificing any of the functionality provided with standard record types.

You can create custom forms, lists, and even parent child relationships with other NetSuite records and transactions. Custom Records also have Roles/Permissions built in, which lets you have full control over the access users have for the record type.  Whenever a record type is created it is added as a Saved Search type, allowing you to create reports based off your custom records. Personally, my favorite feature is the ability to deploy workflows along with custom scripts that provide you with endless functionality and the ability to tackle the most challenging use cases.

Here at MIBAR, any client request that requires development recourses must be documented and submitted with a Software Request Form or SRF for short. Originally this document and internal process lived in MIBAR’s Microsoft CRM instance. Once an SRF from was in the final approval stage it would send out a quote to the customer and create an Opportunity in NetSuite. Rather than track SRF’s in CRM and their respective transactions in NetSuite, MIBAR decided it would be more efficient to have the entire process live in NetSuite. I was tasked with creating the new SRF form, maintain the approval process in the new architecture while adding new features to make the process more efficient, adding security functionality to maintain data integrity, and shed any unnecessary fields to reduce data storage.

As always, a picture is worth a thousand words, so let’s walkthrough the process each step of the way while showcasing all the Custom Records features that were leveraged to create the new and improved SRF process.

1. Consultant/User gets an SRF request from a client (Create SRF):

NetSuite Custom Record SRF Request

When a consultant creates an SRF, they enter the Customer, Customer Contact (Filtered by selected Customer), the SRF Type (Billable/Ok/Bug), and Urgency (Yes/No) fields. The Status, Created/Prepared By, and Owner fields are all defaulted to the User and are not editable. The Created By and Owner fields are out of the box custom record features that are enabled when creating your custom record.

2. Consultant creates an SRF Line for each requirement (Create SRF Line):

NetSuite Custom Record SRF Line

For every requirement the customer has, a line item needs to be added with a description detailing the requirements for the request and an assigned to a developer at MIBAR for estimating. Since an SRF can have multiple lines that at times need to be assigned to more than one developer, a child Custom Record was created to house all the necessary data as well as provide the ability to only let developers who are assigned to their respective SRF Line be able to edit the record. This was done by adding the SRF Line Record Type as a child under the “Child Records” subtab, adding the SRF Record Type as a parent in the SRF Line Record Type, and adding a SRF Lookup field to the SRF Line Record and checking the record is parent box. Edit level permissions were given to all Users at MIBAR for the SRF Record Type, and Full access was given for the SRF Line Record Type to allow the user to delete lines when creating the an SRF for the first time. Custom SuiteScript code was used to throw errors in the scenario someone tries to edit an SRF they haven’t created or is outside of their prerogative (eg: A User/Developer tries to edit and SRF Line that isn’t assigned to him).

3. The consultant is ready to submit all SRF Lines for Assignment:

NetSuite Custom Record Submit
NetSuite Custom Record Submit

When the consultant is ready to submit the SRF for assignment, they can click the Submit button and Ok to trigger a SuiteScript that will set the status of the SRF to Estimate Assignments Pending, log the date it was submitted, set all child SRF Lines to Awaiting Estimate Assignment, and send an email to each user who has SRF Approval Permissions notifying them they have an SRF to assign. All emails that are sent out will be viewable in the Mail Merge subtab since we turned on the Mail Merge feature in the Custom Records setup page.

4. Management Assigns SRF Lines to developers:

NetSuite Custom Record Assign SRF

When an SRF Approver wants to assign all SRF Lines at once they can click the Approve button on the SRF record, which redirects the user to custom UI page, where they can assign each line. If all lines have an employee selected in the Assign To field and the Assign button is pressed, the SRF status becomes Needs Estimate, the Date Estimate Assignments Complete field is logged, the SRF Line statuses become Needs Estimate, and an email is sent to the assignee of each line notifying them they have an SRF Line to Estimate.

5. Developer Submits Estimate:

NetSuite Custom Record Submit Estimate

When a developer wants to estimate an SRF Line, they enter in an integer value in the My Official Estimate field and click Save. If there are other SRF Lines that still need an Estimate than the SRF Line status changes to Waiting for Remaining SRF Lines to be Estimated.

NetSuite Custom Record Estimate

Once all SRF Lines are estimated then the SRF status becomes “Estimates Being Reviewed Internally” the Date Estimates Complete is logged, the SRF Line statuses become “Pending Internal Review”, and an email is sent to the SRF Approvers that they have an SRF to approve.

6. Management Approves SRF:

NetSuite Custom Record Approve SRF

When the SRF Approver is ready to approve an SRF they click the Approve button which will set the SRF and SRF Line statuses to Approved Internally – Awaiting Final Salesperson Approval, log the Date Estimate Approved Internally, and send an email to the Sales Rep that is assigned to the selected customer.

7. Sales Rep Approves SRF

NetSuite Custom Record Create Opportunity
NetSuite Custom Record Opportunity
NetSuite Custom Record Quote

When the Sales Rep is ready to approve the SRF they click the Create Opportunity and Send Quote button which sets the SRF and SRF Lines status to Approved – Quote Sent to Customer, an Opportunity is created with each SRF Line record transformed into a transaction line item with the item being an SRF service item and the quantity being the Final Approved Estimate Hours, the Line # is brought over along with the description and a hyperlink to the respective SRF Line Record, a Quote is then created from the Opportunity and is emailed to the customer with an attached PDF, the Opportunity and Quote hyperlinks are logged in the SRF Record under the Related Records Subtab.

As a leading NetSuite partner, we’ve established a genuine methodology to help maximize every dollar of your ERP budget and ensure NetSuite is meeting your needs. Learn more about our NetSuite support and optimization services.

As one of the biggest and best VARs in the country—and one who has helped dozens of clients orphaned by other VARs and the company’s direct sales team—MIBAR knows the ins and outs of NetSuite. If you currently have NetSuite and want to take your internal processes to the next level, contact MIBAR today!

Additional NetSuite Resources

NetSuite Custom Records: Several Use Cases

Customizing NetSuite to Handle Complex Billing Operations

ERP Customizations Made Easy with NetSuite