ERP with a CRM module
Not a CRM - fails on status
Core objects
In full
Opportunity, Contact and Customer are separate record types in NetSuite's own record enumeration, and activities are three further records - Task, Phone Call and Event. The opportunity carries an `entity` field labeled Company that points at a customer, prospect or lead record, and contacts are associated to the opportunity on its Relationships subtab. Activities attach directly: the vendor states that activities are created and saved "directly from relationship records, support cases, and transactions", managed on the Communication subtab, and that creating a task, call or event from a record attaches it to that record. The opportunity is itself a transaction record, carrying `tranid` and `trandate` and documented in the transaction schema, so activities attach to it without an intermediary.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1084924.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html
Verification: Verified
Pipeline stages
In full
The opportunity carries `entitystatus`, labeled Status, a select drawn from the account's Customer Status list, and the opportunity moves along that list as the sale progresses. Each status record holds a name, a probability that the vendor describes as the chance the lead or prospect will buy, and a Stage of Lead, Prospect or Customer, and administrators create their own statuses at Setup > Sales & Marketing Automation > Customer Statuses. The sequence is therefore held on the data rather than on a view: probability and sales-cycle stage are stored attributes of each status, and NetSuite's Pipeline by Status reports group opportunities by it. What the status record does not carry is an explicit sequence number.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1036969.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/customerstatus.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html
Verification: Verified
Status
Not at all
Whether a NetSuite opportunity is still live is read from which status it occupies, and that status is the same field that says how far the sale has got. Two vendor enumerations of the opportunity object - the SuiteScript records browser and the SOAP schema browser - carry no open-or-closed attribute of their own: `entitystatus` is the only field holding the fact, the schema documents `closeDate` as the date the opportunity's `entityStatus` is set to Closed Won, and the fields named `status`, `statusref` and `documentstatus` are the transaction's document status rather than a separate open flag. The Customer Status record itself carries only name, probability, sales-cycle stage, description, an include-in-lead-reports checkbox and an inactive checkbox, with no closed, won or lost property. Forecast Type does not carry it either: it is the forecast category the opportunity is counted in, described by the vendor as worst case, most likely and upside. Rename or replace the account's statuses and what history means changes with them.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/schema/record/opportunity.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/customerstatus.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1047034.html
Verification: Verified
Resolution
In part
Won and lost are readable, but only from the status the opportunity ended in. The vendor's instructions for the Status field name Closed - Won, which sets probability to 100 percent, and Closed Lost, which sets it to 0 percent, and the SOAP schema documents the opportunity's `closeDate` as the date its `entityStatus` is set to Closed Won. Supporting evidence sits alongside it: `winlossreason` is a shipped select, and the standard Opportunities Won and Opportunities Lost reports separate the two populations. The outcome is not an attribute of its own - it is a value of the same list that carries the sales-cycle position.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/schema/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1068218.html
Verification: Verified
Value
In full
`projectedtotal`, labeled Projected Total, ships on the opportunity as a currency field, alongside `weightedtotal`, `currency`, `exchangerate` and an estimated budget field. The vendor describes the projected total as either entered by the rep or calculated from the items or estimates on the opportunity, and the weighted total as the projected total multiplied by the probability of close.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html
Verification: Verified
Scope of work
In full
The opportunity carries an Items sublist holding item, quantity, rate, amount, description and estimated cost per line, and the vendor's instructions are to select the item the customer is interested in and enter the quantity and other information for it. A Details field, held as `memo`, is available in addition.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html
Verification: Verified
Expected close date
In full
`expectedclosedate`, labeled Expected Close, is a shipped date field, and the vendor's instruction for it is to enter the date you expect this opportunity to close. It is one of the fields NetSuite requires on an imported opportunity, and it is what places an opportunity in a forecast or pipeline period.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N421452.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1047903.html
Verification: Verified
Actual close date
In full
A second, separate date holds the settlement. The SOAP schema carries `closeDate` on the opportunity and describes it as the date the opportunity's `entityStatus` is set to Closed Won, and NetSuite exposes it in searches as Actual Close alongside Days Open and Days To Close. It is a shipped system field rather than something the buyer builds, and it is distinct from `expectedCloseDate`, which the same schema carries separately. What the vendor documentation does not state is whether the same field is stamped when an opportunity is set to Closed Lost.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/schema/record/opportunity.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html
Verification: Verified
Opportunity owner
In full
`salesrep`, labeled Sales Rep, is a shipped select on the opportunity pointing at the owning user, and the vendor's instruction is to select the sales rep or sales group in that field. Where the Team Selling feature is on, the Sales Team sublist holds employee, sales role, primary flag, sales rep flag and percentage contribution per member.
Source: https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html
Verification: Verified
Linked buyer
In full
The opportunity links to people as well as to the company. The vendor's own procedure for creating an opportunity says to click the Relationships subtab, select a contact in the Contact field, use the Decision Maker field for the contact responsible for approving the purchase, click Add, and repeat for each contact to associate with the opportunity. The company link is separate, held in `entity`. Worth recording: this contact association does not appear as a body field or sublist in either the SuiteScript records browser or the SOAP schema enumeration of the opportunity, both of which show only the company reference, so the two vendor sources describe the object differently.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/schema/record/opportunity.html
Verification: Verified
Record preservation
In full
Closed opportunities stay in the account and stay reportable. The standard Opportunities Won and Opportunities Lost reports run over a period the user selects - the vendor describes the lost report as showing all opportunities lost during the period range, listed by sales rep with projected amounts totaled - which requires the settled records to persist and remain queryable. The Actual Close date and the Days To Close search column give those reports their period.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1068996.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1068218.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html
Verification: Verified
Structured lost reasons
In full
`winlossreason`, labeled Win/Loss Reason, is a shipped select on the opportunity, and the vendor states that the Win Loss Reason record "defines a list of values that are used by the opportunity record to set the reason for a win or loss", built by the account at Setup > Sales > CRM Lists > New > Win/Loss Reason and available on no transaction other than the opportunity. The field is exposed as both a search filter and a search column, so the reasons can be grouped and counted rather than merely read.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N3768274.html, https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2024_1/script/record/opportunity.html
Verification: Verified
Email sync
In part
Mail is sent from inside NetSuite and inbound mail reaches records automatically, but only in one direction and only within threads NetSuite started. Users email a contact from Contact, Customer, Lead, Prospect, Vendor, Partner, Opportunity and transaction records, and the vendor states that messages sent from NetSuite records are saved on the Messages subtab of each recipient contact and of the record they were sent from. Coming back, the vendor states that when contacts reply to email sent from NetSuite, the reply is both delivered to the sending user's own address and automatically saved to the Messages subtab of the contact and customer records. What no vendor page documents is a server-side mailbox connection: mail composed in the user's own client reaches NetSuite only through the NetSuite Connector for Outlook, an add-in the vendor describes as a Microsoft Outlook add-in used to add a received email and its attachments to a record one message at a time, or through an Email Capture Plug-in address the account sends mail to. NetSuite for Outlook, which handled mail from within Outlook, is at end of support and no longer installable.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N512629.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_130413176.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/preface_1552649469.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_4235218166.html
Verification: Verified
Calendar sync
In part
The sync runs one way for a customer buying today. NetSuite Connector for Outlook, the vendor's supported Outlook add-in, carries an Event Sync that adds a received event invitation to a NetSuite customer, lead, prospect, contact or opportunity record, bringing the time and date, recurrence, all-day setting and attendee responses with it, so the external calendar populates the NetSuite activity. Nothing documented pushes a NetSuite event out to the external calendar. The vendor's Synchronizing Your Calendar page still describes NetSuite for Outlook syncing contact, event, task and phone call records one way or both ways with Outlook and Exchange Server, but the same vendor states that NetSuite for Outlook is no longer available for installation and that fixes and enhancements are no longer expected, with only existing installations able to carry on. No Google Calendar route appears in vendor documentation.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_130413176.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N501027.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/preface_1552649469.html
Verification: Verified
Schedulable activity types
In part
The type set is fixed and it covers the three that matter. NetSuite's activities are three separate records - task, phone call and event - each of which can be scheduled, assigned and attached to a record, with the vendor stating that creating a task, call or event directly from a relationship record, support case or transaction creates it in its corresponding list and attaches it to the record. The kind of work is expressed by which of the three records is used, and no vendor page reviewed documents a type field on the activity whose values an administrator defines.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1084924.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1066284.html
Verification: Verified
Opportunity reporting
In part
Two of the three are there. Forecasting is native and shipped: NetSuite's forecast and pipeline reports include an opportunity when its expected close date falls in the reporting period and its probability clears the account's minimum forecast probability, with the weighted total calculated as projected total multiplied by probability, and Advanced Forecasting sorting opportunities into worst case, most likely and upside categories. A win rate is not shipped as a report - the standard opportunity reports are Opportunities Won, Opportunities Lost, Total Open Opportunities and Opportunities to Close, which are counts and sums rather than a proportion - but it can be built, because saved searches support a Formula(Percent) result type over summarized results, and the underlying won and lost populations are held on the record. Stage conversion is the gap: no report or search in the vendor's opportunity reporting expresses the proportion of opportunities moving from one Customer Status to the next, and the status list carries no transition history of its own.
Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1047903.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1068218.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N661334.html, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1047034.html
Verification: Verified