NetSuite saved searches are powerful on their own, but they become even more valuable when they run on a schedule and deliver results automatically. Instead of logging in every morning to pull the same report, you can have NetSuite email it to the right people, drop it in the File Cabinet, or push it to an external server via FTP.
This tutorial walks through every option for scheduling saved search exports -- no scripting required.
What Are Scheduled Saved Searches?
A scheduled saved search is a standard saved search with an email or export schedule attached. NetSuite runs the search at the interval you define and delivers the results in the format you choose.
Scheduled searches are useful for:
- Recurring reports that the same people need on the same cadence
- Automated alerts when certain conditions are met (e.g., overdue invoices)
- Data archival by saving snapshots to the File Cabinet
- External integrations that consume flat files from an FTP server
- Compliance where you need a paper trail of periodic data exports
The key benefit is consistency. The report runs the same way every time, with the same filters and columns, delivered to the same recipients. No one forgets to pull it, and no one accidentally applies the wrong filter.
Setting Up Email Delivery
Email delivery is the most common scheduling option. You configure it directly on the saved search.
Step 1: Open the Saved Search
Navigate to Lists > Search > Saved Searches and open the search you want to schedule. You can also create a new one from scratch.
Step 2: Configure the Email Tab
Click the Email subtab at the bottom of the saved search form. This is where all scheduling options live.
Specific Recipients: Add individual NetSuite users or enter external email addresses. You can add multiple recipients separated by semicolons.
Search-Based Recipients: Instead of hard-coding recipients, you can run a second saved search that returns the email addresses. This is powerful for dynamic distribution lists -- for example, emailing each sales rep only their own open orders.
Schedule: Choose the frequency:
| Frequency | Options |
|---|---|
| Daily | Select specific days of the week |
| Weekly | Choose the day of the week |
| Monthly | Choose the day of the month |
| Quarterly | Choose the month and day |
| Yearly | Choose the month and day |
You can also set the time of day for delivery. Keep in mind this is based on your NetSuite account's time zone, not the recipient's.
Step 3: Choose the File Format
Under the Send As option, pick the delivery format:
- CSV -- Best for data that will be imported into Excel or another system. Lightweight and universal.
- Excel -- Delivers a formatted .xls file. Better for non-technical recipients who want to open and read the file directly.
- PDF -- Renders the search results as a formatted document. Good for reports that need to look polished or get printed.
Step 4: Customize the Email
You can set a custom subject line and message body for the email. If you leave these blank, NetSuite uses the saved search name as the subject and a generic message.
A practical approach: include the date in the subject line using NetSuite's merge fields so recipients can tell reports apart in their inbox.
Step 5: Save and Verify
Save the search. NetSuite will begin delivering it on the schedule you defined. Check the Scheduled Search Log under Setup > Scheduling > Scheduled Search Log to confirm it ran successfully.
File Cabinet Exports for Archival
If you need to keep a historical record of search results -- for audits, compliance, or downstream processing -- you can have NetSuite save the output to the File Cabinet.
How to Configure File Cabinet Exports
- On the saved search Email subtab, check the Save to File Cabinet option
- Choose the folder where the file should be saved
- Select the file format (CSV, Excel, or PDF)
- Set the schedule just as you would for email delivery
Each time the search runs, NetSuite creates a new file in the specified folder. The filename includes a timestamp, so files do not overwrite each other.
Best Practices for File Cabinet Exports
- Create a dedicated folder for scheduled exports (e.g., "Automated Reports > Daily" and "Automated Reports > Monthly")
- Set up folder permissions so only the right roles can access sensitive data
- Monitor folder size -- if you run a daily export of a large dataset, files accumulate quickly. Periodically archive or clean up old files
- Use consistent naming -- the saved search name becomes part of the filename, so give your searches clear, descriptive names
FTP/SFTP Delivery for External Systems
When an external system needs to consume NetSuite data on a regular basis -- a third-party warehouse, a BI tool, or a partner portal -- FTP/SFTP delivery is the way to go.
Setting Up the FTP Connection
Before you can schedule exports to FTP, you need to configure the connection:
- Navigate to Setup > Company > File Transfer Protocol
- Click New to create a new FTP/SFTP connection
- Fill in the connection details:
- Name: A descriptive label (e.g., "Warehouse SFTP")
- Host: The server address
- Port: Usually 21 for FTP or 22 for SFTP
- Username and Password: Credentials for the remote server
- Directory: The target folder on the remote server
- Protocol: Choose FTP or SFTP (SFTP is strongly recommended for security)
- Test the connection before saving
Linking a Saved Search to FTP
Once the connection exists:
- Open the saved search and go to the Email subtab
- Check the Available for FTP option
- Select the FTP/SFTP connection from the dropdown
- Choose the file format and set the schedule
The file will be delivered to the remote server directory on schedule. The filename follows the same convention as File Cabinet exports.
Security Considerations
- Always prefer SFTP over FTP -- FTP transmits credentials in plain text
- Use a dedicated service account on the FTP server with write-only access to a specific directory
- Rotate credentials periodically
- Verify that firewall rules allow outbound connections from NetSuite's IP ranges to your FTP server
Formatting Options for Scheduled Output
The output of a scheduled search mirrors what you see in the Results tab, but you have control over how it is structured.
Columns and Order
The columns defined on the Results subtab of the saved search determine what appears in the export. To customize:
- Go to the Results subtab
- Add, remove, or reorder columns using the Field, Formula, and Summary Type options
- Use the Custom Label field to give columns human-readable headers (e.g., "Customer Name" instead of "Name")
- Drag columns to reorder them -- the export follows the same left-to-right order
Sorting
Use the Sort By column on the Results subtab to define the sort order. You can sort by multiple columns:
- Primary sort: The first column with a sort order defined
- Secondary sort: The second, and so on
- Choose Ascending or Descending for each
For scheduled exports, thoughtful sorting matters. If the fulfillment team gets a daily open orders report sorted by ship date, they can work through it top to bottom.
Grouping with Summary Searches
If your search uses Summary (group/count/sum) types, the export reflects the grouped output. This is ideal for summary reports:
- Group by Customer and sum Amount for a revenue-by-customer report
- Group by Item and sum Quantity for an inventory movement summary
- Group by Sales Rep and count Transaction for a pipeline activity report
Summary searches produce cleaner, more concise exports that are often easier for recipients to consume than line-level detail.
Conditional Scheduling: Only Send When Results Exist
One of the most overlooked features: you can tell NetSuite to skip the email if the search returns no results.
On the Email subtab, check the option Send If No Results to control this behavior:
- Checked: The email is sent every time, even if the search returns zero rows. Useful when "no results" is meaningful (e.g., a daily error log with no errors means everything is fine).
- Unchecked: The email is only sent when the search returns at least one row. This is the right default for alert-style searches.
This is especially valuable for exception-based reporting:
- "Email me only when there are orders stuck in Pending Approval for more than 48 hours"
- "Send the overdue invoice list only when overdue invoices exist"
- "Alert the warehouse only when stock drops below the reorder point"
By unchecking Send If No Results, you avoid flooding inboxes with empty reports. Recipients learn to pay attention to these emails because they only arrive when action is needed.
Practical Examples
Example 1: Daily Open Orders Report to Fulfillment
Goal: The fulfillment team gets a list of all orders pending shipment every morning at 7:00 AM.
Saved search setup:
- Type: Transaction
- Criteria: Type is Sales Order, Status is Pending Fulfillment
- Results columns: Order Number, Date, Customer, Ship Date, Items, Quantity, Shipping Method
- Sort: Ship Date (ascending), then Order Number (ascending)
Schedule configuration:
- Recipients: The fulfillment team distribution email
- Frequency: Daily, Monday through Friday
- Time: 7:00 AM
- Format: Excel
- Send If No Results: Checked (the team needs to know if there are zero orders too)
Example 2: Weekly Aging AR Report to Finance
Goal: Finance reviews accounts receivable aging every Monday to follow up on overdue payments.
Saved search setup:
- Type: Transaction
- Criteria: Type is Invoice, Status is Open, Main Line is True
- Results columns: Customer, Invoice Number, Date, Due Date, Days Overdue (formula), Amount Remaining, Aging Bucket (formula)
- Summary: Group by Customer, sum Amount Remaining
- Sort: Days Overdue (descending)
The Days Overdue formula:
CASE
WHEN TRUNC(SYSDATE) - TRUNC({duedate}) <= 0 THEN 'Current'
WHEN TRUNC(SYSDATE) - TRUNC({duedate}) <= 30 THEN '1-30 Days'
WHEN TRUNC(SYSDATE) - TRUNC({duedate}) <= 60 THEN '31-60 Days'
WHEN TRUNC(SYSDATE) - TRUNC({duedate}) <= 90 THEN '61-90 Days'
ELSE 'Over 90 Days'
ENDSchedule configuration:
- Recipients: finance-team@yourcompany.com
- Frequency: Weekly, Monday
- Time: 8:00 AM
- Format: PDF (for a polished report they can share with leadership)
- Send If No Results: Unchecked (no open invoices means no report needed)
Example 3: Monthly Inventory Valuation Export to FTP
Goal: A third-party analytics platform picks up a monthly inventory snapshot from an SFTP server on the first of each month.
Saved search setup:
- Type: Item
- Criteria: Type is Inventory Item, Is Inactive is False
- Results columns: Item Name/Number, Display Name, Location, Quantity On Hand, Average Cost, Total Value (formula: quantity * average cost)
- Sort: Location (ascending), then Item Name (ascending)
Schedule configuration:
- FTP Connection: "Analytics Platform SFTP"
- Frequency: Monthly, 1st of the month
- Time: 2:00 AM (run overnight before the analytics platform's morning pull)
- Format: CSV (for easy ingestion by external systems)
- File Cabinet backup: Also save a copy to "Automated Reports > Monthly Inventory"
Managing and Monitoring Scheduled Searches
Once you have multiple scheduled searches running, you need visibility into what is working and what is not.
Viewing All Scheduled Searches
Navigate to Lists > Search > Saved Searches and look for the Scheduled column. You can filter the list to show only searches that have a schedule configured.
Alternatively, go to Setup > Scheduling > Scheduled Search Log for a history of executions.
The Scheduled Search Log
The log shows:
- Search name: Which search ran
- Date/Time: When it ran
- Status: Success or failure
- Recipients: Who received the results
- Result count: How many rows the search returned
- Error details: If the search failed, what went wrong
Review this log regularly -- at least weekly if you have critical automated reports.
Modifying a Schedule
To change an existing schedule:
- Open the saved search
- Go to the Email subtab
- Adjust the recipients, frequency, format, or any other setting
- Save the search
Changes take effect on the next scheduled run. There is no need to "restart" the schedule.
Pausing a Schedule
If you need to temporarily stop a scheduled search without deleting the configuration:
- Open the saved search
- Remove all recipients from the Email tab (or uncheck the schedule)
- Save
To resume, add the recipients back. This is cleaner than deleting and recreating the schedule.
Common Issues and Troubleshooting
The Email Never Arrives
- Check the Scheduled Search Log for errors
- Verify recipients: External email addresses must be entered correctly. Internal users must have valid email addresses on their employee record
- Check spam folders: NetSuite-generated emails sometimes get flagged
- Confirm the schedule: Make sure the frequency and day/time are set correctly
- Role permissions: The search owner's role must have permission to access the records in the search
The Export File Is Empty
- Run the search manually to confirm it returns results with the current criteria
- Check date-relative filters: If you use "today" or "this month" in criteria, make sure the search returns results when it actually runs (not just when you preview it during business hours)
- Verify "Send If No Results": If this is unchecked and the search returns no rows, the email will not be sent at all -- that is working as designed
FTP Delivery Fails
- Test the connection under Setup > Company > File Transfer Protocol
- Check firewall rules: NetSuite needs outbound access to your FTP server
- Verify directory permissions: The service account must have write access to the target directory
- Check disk space: If the remote server's disk is full, the upload will fail silently
- SFTP key changes: If the server's host key changed (e.g., after a server migration), the connection may fail. Re-test and re-save the connection
The Report Has Wrong Data
- Check the "Last Modified By" field on the saved search to see if someone changed the criteria
- Review formula fields: If a formula references SYSDATE, remember it uses the account time zone
- Public vs. private searches: If you made the search public, other users with edit access may have modified it. Consider restricting edit access
Performance Issues
- Large result sets can cause the scheduled run to time out. Add more specific filters to reduce the row count
- Simplify formulas: Complex formulas on large datasets slow down execution
- Avoid "all records" searches: Always include meaningful date ranges or status filters
Limits and Best Practices
NetSuite Limits
- Maximum rows in email export: NetSuite caps the number of rows in a scheduled export (typically 1,000 rows for email delivery). If your search exceeds this, consider using File Cabinet export or narrowing your criteria
- Concurrent schedules: There is a limit to how many scheduled searches can run at the same time in your account. Stagger run times to avoid conflicts
- Email sending limits: NetSuite accounts have daily email sending limits. If you have many scheduled searches with many recipients, you could hit this cap
- FTP timeout: Large file transfers can time out. Keep exported files under a reasonable size
Best Practices
- Name searches clearly: Use a naming convention like "SCHED - Daily Open Orders" so scheduled searches are easy to identify in a list
- Document the schedule: Keep a simple spreadsheet or wiki page listing all scheduled searches, their purpose, recipients, and frequency
- Use roles wisely: The search runs with the permissions of the user who created it. Use a dedicated "reporting" user or administrator account to avoid issues when employees leave
- Test before scheduling: Always run the search manually and review the output before turning on the schedule
- Start with fewer recipients: Roll out to a small group first, get feedback on format and content, then expand
- Set up alerts for failures: Periodically check the Scheduled Search Log, or create a saved search that monitors for failed scheduled runs
- Review quarterly: Business needs change. Review your scheduled searches every quarter to retire reports no one reads and update criteria that have drifted
- Prefer summary over detail: If recipients only need totals or counts, use a summary search. It is faster to run, smaller to deliver, and easier to read
- Avoid overlapping schedules: If you have ten reports scheduled for 7:00 AM Monday, stagger them in 15-minute increments
- Keep formulas in the search, not in post-processing: If recipients need calculated fields, add them as formula columns in the search rather than expecting them to manipulate the data in Excel
Next Steps
Now that you have automated report delivery covered, explore these related topics:
- Saved Search Formulas for advanced search techniques like CASE statements, date functions, and calculated fields
- SuiteAnalytics Workbook for interactive, drag-and-drop reporting and visualization
- Scheduled Scripts for code-based automation when you need logic beyond what saved searches can handle
Need automated reporting workflows? Contact us and we'll set up the reports your team actually needs.