Skip to main content

Troubleshooting NetSuite Saved Search Deployments

How to troubleshoot and address issues with your NetSuite Saved Search Delivery to Toolio

Troubleshooting NetSuite Saved Search Deployments

How to troubleshoot and address issues with your NetSuite Saved Search Delivery to Toolio

Overview

The Toolio SuiteApp makes it easy for you to configure and schedule sales, inventory, purchase order, receipts, and product data to be delivered to Toolio.

A major component of the Toolio SuiteApp revolves around the Toolio Saved Search Delivery SuiteScript and its accompanied deployments. The Script allows you to send Saved Searches directly to Toolio's Azure storage, while the Deployments help instruct the Script when, what, and where to send the data.

Please be assured that there are a number of fail safes built into the Toolio Suite Script (i.e. retry mechanisms in case of network failure, staged execution logic) which make your data deliveries to Toolio as robust as possible. In the case that you do experience any issues, however, the Toolio SuiteScript is designed to flag errors which can be monitored via the Execution Log section of your deployments.

Please find common errors and their respective solutions outlined below to help you troubleshoot and resolve any issues.


Viewing Errors in NetSuite

Before we dive into reviewing and addressing errors, we need to navigate to them first. To do this, navigate to the Script Deployment in question and select the Execution Log tab.

Here, you will find the current day's activity related to this deployment, including any errors which may have arose:

Note: The Execution Log defaults to showing the current day's activity only. If you are investigating an issue from a previous day, adjust the date filter at the top of the Execution Log to view historical entries.

A note on timing: The file delivered to Toolio reflects your saved search results at the moment the deployment executed. If records are created, edited, or deleted in NetSuite later in the day, a direct export of the same saved search may legitimately differ from the file that was delivered earlier. When comparing a delivered file against a saved search export, make sure both reflect the same point in time.


Diagnosing & Troubleshooting Common Errors

Please find common errors and suggested solutions below:

Error

Description

Solution

Empty Parameters

You are missing parameters in your Script Deployment.

The error message will specify which parameter is empty. Please fill in the value.

Page Limit Exceeded

Your saved search is returning too many lines. The limit for Saved Search size is approximately 600k lines.

Utilize filters such as 'Date Line Last Modified' or 'Updated At' to reduce the size of the results.

Error with Sync

You should very seldom see this error. Your Toolio implementation team will be able to provide additional details if it arises.

Contact your Toolio support team for review and help with resolution.

createBlobResponse returns 403 / "Signature not valid in the specified time frame"

The Auth Signature in your Script Deployment is invalid or has expired, so NetSuite cannot authenticate against Toolio's storage.

Reach out to your Toolio team to receive a new Auth Signature, then update the Auth Signature parameter in all of your Toolio Script Deployments. See Expired Auth Signatures below.

SSS_REQUEST_TIME_EXCEEDED

A request from the script exceeded NetSuite's 45-second HTTPS timeout. This timeout is enforced by NetSuite and cannot be increased. This can also occur if the receiving endpoint is temporarily unavailable.

Re-trigger the script deployment if the file does not appear in your Toolio Import History. If the error persists, contact your Toolio team.

SSS_CONNECTION_TIME_OUT

The initial connection exceeded NetSuite's 5-second connection timeout, typically due to a temporary network or endpoint issue.

Re-trigger the script deployment if the file does not appear in your Toolio Import History.

USAGE_MITIGATION

Your saved search result set is too large and exceeded NetSuite's processing limits.

Reduce the size of the result set with filters — for example, pull 3 days of data instead of a full week.

INVALID_SEARCH

The Saved Search ID in your Script Deployment parameters does not match an existing saved search.

Verify the Saved Search ID in the deployment parameters and update it to a valid, existing saved search ID.

UNEXPECTED_ERROR

This is frequently caused by a permissions issue on the saved search itself.

Recreate the saved search (or update its ownership/visibility) under the Toolio integration user created during your implementation, so the script has permission to execute it. If the error persists, contact your Toolio team.

ABORT_SEARCH_EXCEEDED_MAX_TIME / sync error with an empty error message

The scheduled script reached NetSuite's 1-hour maximum execution time and was terminated. When NetSuite terminates a script this way, a detailed error message is often unavailable.

Reduce the total size of the result set with filters (e.g., pull a shorter date range) so the search completes within the execution window.

If you are still experiencing issues after troubleshooting with the above steps, please reach out to your Toolio Customer Success team and we will be happy to provide assistance!


Expired Auth Signatures

Each Toolio Script Deployment contains an Auth Signature parameter that authenticates your data deliveries to Toolio's storage. Auth Signatures have a fixed expiration date. When a signature expires:

  • The Execution Log will show 403 errors (e.g., on createBlobResponse, or "Signature not valid in the specified time frame")

  • Files will silently stop arriving in Toolio — the deployments will continue to run on schedule, but no data will be delivered

To resolve:

  1. Reach out to your Toolio team to request a new Auth Signature.

  2. Update the Auth Signature parameter in every Toolio Script Deployment — the same signature is shared across all of your feed deployments, so all of them must be updated.

  3. Re-trigger your deployments (see Re-Triggering NetSuite Deployments) to backfill any missed deliveries.

We recommend noting the expiration date of your Auth Signature when it is issued so the renewal can be planned ahead of time.


Ensuring a Stable Sort Order in Your Saved Searches

When NetSuite delivers a large saved search, the results are pulled in pages. If the saved search does not have a stable, unique sort order, NetSuite may return some rows twice and skip others across page boundaries — even though the deployment completes without any error. This is standard NetSuite pagination behavior, and the result is a delivered file that does not match a direct export of the same saved search: duplicated lines for some record combinations, and missing lines for others.

How to recognize this issue:

  • The data in Toolio does not match a direct CSV export of your saved search

  • The delivered file contains duplicate rows that do not exist in the saved search results

  • The delivered file is missing rows that do exist in the saved search results

  • No errors appear in the Execution Log — the delivery itself "succeeds"

How to prevent it:

  1. Add a unique identifier to the Results columns of your saved search

  2. Set the saved search to sort by that identifier — and if no single field is unique for every result line, sort by a combination of fields that is. NetSuite's Sort By / Then By / Then By selectors support up to three sort fields.

Keep in mind that Internal ID alone is not always unique at the line level. On transaction-based searches, the transaction's Internal ID repeats for every line on that transaction; on inventory searches, an item's Internal ID repeats for every location it is stocked in. The sort combination must uniquely identify each row your search returns.

Recommended sort keys by feed type:

Feed

Recommended sort

Why

Sales

Internal ID, then Line ID

A transaction's Internal ID repeats for every sale line on the transaction; adding Line ID makes each line unique.

Inventory

Internal ID, then Inventory Location

An item's Internal ID repeats for each location it is stocked in; adding Location makes each item × location row unique.

Purchase Orders / Receipts

Internal ID, then your PO line identifier

The transaction's Internal ID repeats for every line item. The right line-level field depends on the components used for your PO line ID (e.g., Line ID or Line Sequence Number) — and if PO Number is part of that concatenation, include it in the sort too. Receipts are received against POs and share the same line identifier construction, so the same sort applies.

Transfer Orders / Transfer Receipts

Internal ID, then your transfer line identifier

Same logic as POs and receipts — the transaction-level Internal ID repeats per line. Sort by the fields used to build your transfer line identifier (e.g., Line ID), and include the Transfer Order Number if it is part of that concatenation.

Products

Internal ID

One row per item/variant, so Internal ID alone is unique.

There is no one-size-fits-all combination — the right sort depends on which fields your saved search uses to construct its line-level identifier. For example, some PO and receipt searches build their line key by concatenating PO Number and Line ID; in that case, both fields belong in the sort. Whatever the construction, the sort fields must together be unique for every row your search returns.

If your saved search includes additional dimensions beyond these (for example, a date/timestamp column or bin), include those fields in the sort as well so the full combination remains unique.

With a unique sort key in place, each page of the paginated pull is deterministic, and every row is delivered exactly once. We recommend this for all Toolio saved searches, and it is especially important for large result sets (such as inventory) where pagination spans many pages.

If you believe your data in Toolio has been affected by an unstable sort order, add the sort as described above, re-trigger the affected deployment, and reach out to your Toolio team so we can verify the corrected data has been ingested.


Monitoring Your Feeds in Import History

Not every delivery failure produces a visible error — an expired Auth Signature, a deleted deployment, or a dropped file can cause a feed to stop without any obvious alert on the NetSuite side. We recommend periodically verifying your feeds from the Toolio side:

  1. Open Import History in Toolio

  2. Filter by import type (e.g., Inventory, Sales, Transfer Receipts)

  3. Confirm the last successful run date for each feed matches your expected delivery schedule

In addition, periodically confirm in NetSuite that all of your Toolio Script Deployments still exist and remain scheduled — if a deployment is removed or unscheduled, its feed will stop without generating an error.

If a feed has stopped and the steps in this article don't surface a cause, contact your Toolio Customer Success team.


Re-Triggering NetSuite Deployments

If you would like to re-trigger a NetSuite deployment, please follow the steps here.


Related Articles

Did this answer your question?