GURUS NetSuite Data Exporter User Guide & FAQ

Get in Touch With a NetSuite Professional

The GURUS NetSuite Data Exporter is a Google Sheet Add-on, created by GURUS Solutions, that helps companies automate the process of exporting NetSuite Saved Searches to Google Sheets/ Excel. 

The Data Exporter allows you to connect to your NetSuite account with the provided credentials, run specified Saved Searches, and export the results into Excel spreadsheets. It also supports additional filters on existing Saved Searches to further refine the results.

How do I Install the GURUS NetSuite Data Exporter?

 

You can start your free trial of the GURUS NetSuite Data exporter by downloading the tool from the Google Add-Ons store and applying for your activation through our website.

To download the add-on through your Google sheets:

  • Open a Google sheet and head to the Add-ons menu.
  • Click "Get Add-on" and search for NetSuite Data Exporter and install it from there.

To activate the tool once you’ve downloaded the add-on, click the link here and fill out the form. In order to begin using the Data Exporter, you need it to be activated in your NetSuite, or the tool will not work. Therefore, please wait for confirmation from a member of the GURUS Solutions team stating that your bundle has been activated.

If your bundle has not been activated, you’ll likely get the following error message:

Once you’ve filled out the form, and a GURUS employee has confirmed that your Data Exporter license has been activated. To help you get your Data Exporter up and running as fast as possible, our team put together a quick Installation Guide to help you install the tool for yourself.

Table of Acronyms

Acronyms Definition
TBA Token Based Authentication

 

Glossary

Terms Definition
Token Based Authentication Authentication method using generated tokens based on oAuth 1.0 used to connect to NetSuite.
Google Sheet Add-on Application installed inside a Google Sheet to offer additional features to the Sheet.
Google Workspace Marketplace The marketplace where we can find and install add-ons for Google Sheet and other Google products.
Google Workspace Google productivity environment for companies. Typically includes Gmail, Google Drive, Google Docs and Sheets, etc.
SuiteBundle Application installed inside a NetSuite Instance to provide extra features.
SuiteApp SuiteBundle found on the NetSuite SuiteApp marketplace.
Sandbox Testing environment provided by NetSuite to execute business processes without impacting the production environment.

 

Instructions for Using the GURUS NetSuite Data Exporter

Looking to get started with the GURUS NetSuite Data Exporter? Let’s go over some of the basics.

How Do I Retrieve Saved Searches?

*If you already see the NetSuite Data Exporter sidebar and Settings tab in your sheet, skip to Step 3.*

  1. Open a Google sheet that you want to have the search results saved. Navigate to Add-ons > NetSuite Data Exporter > Request Search Results


     

  2. The NetSuite Data Exporter sidebar appears to the right and a pop-up message displays to request your confirmation to add the Settings tab. Click Yes.


     

  3. The Settings tab is now created. Enter details for the searches that you want to retrieve.


     

    • 3.1. Search Id: mandatory. In NetSuite, you may obtain the Search Id of your saved search from its URL

      Or from the Saved Searches list view, once you have enabled the preference to Show Internal IDs

    • 3.2. Tab: mandatory. Enter the name of the tab to place the search results in. If the specified tab does not exist, a new tab will be created. If the specified tab exists, it will be overwritten by the search results.
    • 3.3. Skip: optional. Select Yes to skip this search from the next request. (ex: If you want to pull your list of customers once a month, but update your sales data weekly). Select No or leave it empty to include this search in the next request.
    • 3.4. Additional Filters: optional. Multiple filters may be applied as long as you enter the filters on new rows before the next saved search.
      Note: Filters only work without Filter Expressions, so will always have a "and" in between. Having filter expressions in the saved search itself can also cause issues when using additional filters within the Data Exporter.
      Example:
  4. In the NetSuite Data Exporter sidebar, enter required authentication credentials for your NetSuite instance. Enter your credentials created in section 5 of the Installation Guide and Account Number

  5. Click Request
  6. Done! Search results are now exported to the specified tabs and a success message displays. If you entered an existing tab for your search, you will be prompted to confirm that the tab will be overwritten before the results are exported.

 

How Do I Schedule Searches?

Note: This feature is not available in the Netsuite Data Exporter Free Trial version. To learn more about this service, contact us at sales@gurussolutions.com

  1. Make sure you check the “Remember me” box as the scheduler functionality will need your credentials to run asynchronously.
    • Note: This feature is only available with Token Based Authentication.
  2. In the Scheduling section, select a frequency type from the dropdown button. You can choose between “Hours”, “Days”, “Weeks" or "Months".
  3. You can then select the number of times per frequency type the request will execute. Ex: If you select Hour in the frequency type, and type “4” in the "Occurs every" field, the request will execute every 4 hours.
    • Note: Values for hours can be anything between 1 and 23 hours. 
  4. Select the start date for the first execution.
    • Note: Only the hour will be taken into account. The minutes will be ignored. 
  5. Click the “Set Schedule” button to confirm the schedule. 
  6. You can update the schedule by changing the values and clicking “Schedule” again.
  7. You can cancel the scheduled execution by clicking “Clear Schedule”.
  8. You can consult the Request Logs tab to see the status of the requests.

Note: In scheduled mode, every request will override the content of the targeted Tab. Appending the results to the end of the sheet is currently not supported.

Important Note Regarding Concurrency with NetSuite:

  • A concurrency error may occur when multiple Google Sheets are scheduled within the same time
  • To avoid concurrency errors, schedule the searches to run at different times so there are no conflicts ie) one Google sheet may be scheduled at 2:10PM, and the second would be scheduled at 2:40PM 
  • The Concurrency is a limitation imposed by NetSuite

Limitations

Outside of the limitations of the NetSuite Data Exporter application, there are additional limits imposed by the Google Workplace Quotas and Limitations as well as the NetSuite Governance and Concurrency. Here are some data points to help you calculate the limits.

GURUS NetSuite Data Exporter Limitations

  • The Data Exporter only supports extracting Saved Searches.
    • It does not support extracting SuiteAnalytics Workbooks or SuiteQL Queries.
    • It does not support extracting Reports.
  • The Data Exporter does not support saved searches that "Use Expressions". "OR" operations are not supported
    • All custom filters added into the Settings sheet will be linked using an "AND" operation.
  • The Data Exporter only supports records that can be read through SuiteScript. A saved search based on a record that is not supported will return an error in the Data Exporter.
    • Refer to SuiteAnswers article 10242 for the list of supported records.
    • Custom Records are supported as long as the role associated with the Access Token has access to them.
  • Starting with NetSuite version 2021.1, the classic email and password authentication will no longer be operational.
    • For accounts still in 2020.2, the classic email and password authentication does not support roles and users setup with Two-Factor Authentication.
    • For accounts still in 2020.2, the classic email and password authentication does not support roles using SAML Single-Sign-On.
  • The Free version of the Data Exporter does not support the Scheduling features
  • The Free version of the Data Exporter only allows to query two (2) saved searches per requests
  • The Free version of the Data Exporter only allows to perform ten (10) queries per day

Google Workplace Limitations

The Data Exporter is limited by the following limitations as documented by Google. They are different based on which Edition your company has. To know which Edition you have, please contact your Google Workplace Administrator.

https://developers.google.com/apps-script/guides/services/quotas

Here are the Features used by the Data Exporter. 

  • Triggers total runtime: This limitations affects the total processing time of the Data Exporter for the day
  • URL Fetch calls: Each request by the Data Exporter will perform 2 URL Fetch calls
  • Script runtime: This affects the processing time of the Data Exporter for each request. If you try to download 50 saved searches and each saved search takes 30 seconds to download, this will take approximately 25 minutes to run. If you have Workspace Basic, you will be limited to 6 minutes of execution. You will get an error message after 6 minutes.
  • Simultaneous executions: If multiple users use the Data Exporter at the same time.
  • URL Fetch response size: This is the maximum size of the response received by NetSuite. If the response size exceeds this limit, you will get an error message.
  • Properties read/write: This is the maximum number of properties that can be set or read everyday. 
  • Properties are used to save the credentials and are updated and read at each request.

Also not documented here, but there is a connection timeout that will occur if the request takes more than 60 seconds. 
This applies for each Saved Search individually. If you have 3 saved searches, and they each take 30 seconds, they will successfully execute.

There is also a limit in the total number of cells you can have in a Google Sheet. According to this support post, you can have a maximum of 5 millions cells and a maximum of 18 278 columns. This includes inside multiple tabs. Once this limit is reached, you will receive an error message:
https://support.google.com/drive/answer/37603

NetSuite Governance and Limitations

The Data Exporter is also limited to the governance imposed by SuiteScripts as well as the maximum number of concurrent connections allowed for RESTLets.

All NetSuite instances are limited to the number of concurrent connections external applications can perform. This depends on your NetSuite Tier and the number of SuiteCloud Plus Licenses. If no connection is available for the Data Exporter, you will receive an error message. Here is the SuiteAnswers Article explaining the concurrency limits:
https://netsuite.custhelp.com/app/answers/detail/a_id/65791

The Data Exporter relies on a RESTLet installed on your instance to perform the search. RESTLets have a maximum governance of 5000 units and each batch of 1000 lines of results of the search will cost 10 units. So there is a hard limit of 500 000 lines of results per saved search. 

Take note though that a search with 500 000 lines of results will most likely time out on the Google Side before the results can be returned. 

RESTLets also have a data size limit of 10 MB, so the total size of each search must be under 10 MBs, including the content of all the fields from the search.

 

The NetSuite Data Exporter uses SuiteCloud technology to execute the saved searches within NetSuite and the data is then downloaded in your Google Sheet. The following section will describe a few troubleshooting tips that will help you find potential issues if the Data Exporter returns you errors while trying to synchronize your data.

Roles and Permissions

You will be using an Access Token to connect to NetSuite from the NetSuite Data Exporter. This access token will be associated to:

  • A specific NetSuite User
  • A specific NetSuite Role

The NetSuite role will define what records and functions of NetSuite the Data Exporter will be allowed to use. To make sure your role has enough permissions to run your saved search, we recommend that you ask your NetSuite Administrator to give to your user the same role as the Access Token. Then, using the drop down menu at the very top right of your NetSuite screen, where your name is, select the role provided for the Data Exporter and try viewing and modifying the saved search you want to pull using the Data Exporter.

If the saved search runs perfectly in the user interface of NetSuite, while using the same role as the Data Exporter, and provides you with all the columns and all the data that you are looking for, chances are it will be working as well in the Data Exporter.

If it does NOT work within the NetSuite's User Interface, it will also NOT work in the Data Exporter. If this is the case, we suggest you work with your NetSuite Administrator to adjust the role or the saved search until it works within the NetSuite user interface.

It could happen that you can View the search in the User Interface but you get a permission error when editing it or trying to edit a copy of it. This indicates that a custom field referred by the saved search is set for "Search/Reporting" to "Run" and not "Edit". The Data Exporter needs the Edit permission to work.

Also make sure your saved search is shared with the role or the user attached with the Access Token (from the Audience tab).

Refer to section 5 of the Installation Guide to learn more on how to configure Access Tokens and Roles.

If you have errors when adding custom filters set in the Settings sheet, try your search again without the filters to make sure it functions properly. If your search does not work, refer to the previous section to troubleshoot why your saved search does not work.

If it works without filters, the problem is probably in the syntax of your filter. Make sure you use an operator that is valid for the type of fields (ex: date fields have different operators than List/Records or Free-form-Text). Refer to SuiteAnswers article 10565 to know more about the search operators.

Frequently Asked Questions & Errors

Q: I get an error saying that my email/password is invalid or "Invalid Login attempt". But I’m able to log in to NetSuite with the exact same credentials. Why?

A: This message also can mean multiple things:

  1. That could mean that you have the wrong Token information
  2. This could mean the role attached to your Token does not have the permission allowing Login using Access Tokens.
  3. It could mean the Account Number is incorrect.
    • Account numbers are case sensitive. If you are trying to reach a sandbox, the format must be your account number followed by underscore followed by SB1 all in capital: Ex: 12345_SB1
  4. This could mean you try to access an account no longer active (ex: an expired Sandbox or demo account)

Q. I get the following error message. Why?

A: The search id entered does not exist in the NetSuite instance. Verify the search id in the specified row. This error can also occur if the user and role attached to your credential do not have access to the search.

Q: I get the following error message. Why?

A: Verify the following:: 

  1. The role associated with your Token does not have access to the saved search you specified. If this is the case, make sure you set the search as public or that your role or employee record is part of the Audience of the search.
  2. The role associated with your Token does not have access to the record type of the saved search you specified. If that is the case, make sure your role has access to the specified record type.
  3. Refer to SuiteAnswers Article 9921 to learn more about NetSuite permissions

Q: I get the following error message. Why?

A: The filter criteria added to the search is invalid. Refer to the NetSuite Record browser to know which fields are available for your search.Look at the Search Filter section of your record in the record browser. https://netsuite.custhelp.com/app/answers/detail/a_id/74610/

Q: I get the following error message. Why?

A: This could mean the following:

  1. The required SuiteBundle has not been installed in the NetSuite instance. See section 4 in the Installation Guide for guidance.
  2. If you cannot install the bundle (you cannot find it or the Install button is not enabled or get the error message below), please contact GURUS Solution and ask that the bundle be shared with you. Make sure you have your NetSuite Account number as it will be necessary for this step.

Q: I get the following error message. Why?

A: You are currently using NetSuite Data Exporter Free Trial. This free version only allows you to request 2 saved searches at a time. You may easily exclude the extra searches from the list by selecting “yes” in the Skip column. To remove those limitations, you can upgrade to the full NetSuite Data Exporter application. Contact us at sales@gurussolutions.com to learn more about it.

Q: I get the following error message. Why?

A: You are currently using NetSuite Data Exporter Free Trial which allows 10 requests per day. You may continue using it on the following day. To remove those limitations, you can upgrade to the full NetSuite Data Exporter application. Contact us at sales@gurussolutions.com to learn more about it.

Q: Is there a way to schedule and automate the extraction of the saved searches?

A: This functionality is only available with the full NetSuite Data Exporter application and is not available with the Free Trial. Contact us at sales@gurussolutions.com to learn more about it.

Q: I received an error message saying the company ID is invalid. What do I need to do?

A: This message indicates that the NetSuite Account number specified is invalid. This happens mostly when trying to use the Data Exporter with a Sandbox account. Make sure your account number is in the format: XXXXXX_SB1 (with an underscore). 

Q: I received a message indicating that the app is not available in my country when installing the Data Exporter Add-on

 

A: The NetSuite Data Exporter is currently only available for customers in the United States and Canada.

Q: I am encountering issues with my custom segments.

A: If you are using custom segments, make sure your role has the “Search/Reporting” permission set to “Edit” and not “View”. Refer to SuiteAnswers Article 9921 to learn more about NetSuite permissions

Q: I am getting an error of type "An error occurred at row 3 with search 2817 : Cannot find function split in object 44229.". What can I do?

A: An error of this type usually means that your filters are not in the correct format. Try changing the filter’s format. Filters are to be written with the same syntax as they would be in SuiteScript 1.0.

Q: Can I access the Data Exporter using my email and password?

A: Starting with NetSuite release 2021.1, NetSuite has deprecated the username/password classic authentication. So starting that point, the Data Exporter only supports using Token Based Authentication with predefined consumer and token information.

Q: I am getting the following error message. What does it mean?

A: This means that the role associated with your access tokens does not have access to the record type associated with this saved search. Make sure the role has access to this record type at least in View. Refer to SuiteAnswers Article 9921 to learn more about NetSuite permissions

Q: I am getting the message indicating "Your search contains a reference to join for which you do not have permission: <record name>". What does it mean?

A: This means that your saved search joins another record for which the role attached to your Access Tokens does not have access. You need to provide access to this other record with at least "View" to your role. Refer to SuiteAnswers Article 9921 to learn more about NetSuite permissions

Get in Touch With a NetSuite Professional

News & Events

Blog

  • Jan 06

    Business Intelligence (BI) Buyer’s Guide for NetSuite ERP Users 2021

  • Sep 02

    How Does a BI (Business Intelligence) Tool Work With NetSuite ERP?