Book a Free Consultation
Back to blog
Saved SearchesReporting

10 NetSuite Saved Search Examples (Finance, Operations, Admin)

June 30, 2026 · Updated August 13, 2026 · 13 min read

Need help with this in your NetSuite account?

Most teams know they should be using saved searches more than they do. The gap is usually a starting point: it's hard to know what's worth building if you're staring at a blank search screen. These are searches we build or encounter regularly across post-go-live accounts, along with the specific criteria that make them work correctly.

Quick answer

The saved searches that appear most frequently across post-go-live NetSuite accounts fall into three categories: finance and accounting searches for overdue invoices, vendor aging, bills received but not yet invoiced for month-end accruals, and unposted transactions at period close; operations and inventory searches for items below reorder point, open sales orders past expected ship date, and items with negative quantity on hand; and administrative searches for records created or modified by a specific user for audit review, expense reports pending approval, and custom field exceptions for data quality monitoring. Each is built on a standard NetSuite record type without custom development. The correct configuration of each requires specific criteria, filter logic, and column selections; incorrect filter conditions are the most common reason a search appears to run but returns incomplete or misleading results. The most commonly misconfigured type is the overdue invoice search: filtering on Close Date instead of Due Date returns zero results on open invoices, because open invoices have no close date.

Using Google AI Search? Add SuitePacific as a Preferred Source so we show up in your AI answers.
Add as Preferred Source
10 SEARCHES: BY TEAM AND PURPOSE Finance / AR Overdue invoices · Vendor aging Time entries not yet billed Sales / CRM Orders pending approval Customers with no activity in 90 days Purchasing / AP POs received not billed Expenses pending approval Operations Items below reorder point Open projects over budget Admin / Audit Transactions created by script or workflow (with date filter) All searches can output to: Dashboard portlet · Scheduled email Workflow entry condition Each search includes the specific criteria fields, formula columns, and summary settings that make it work correctly.
Ten saved search examples organized by team: Finance/AR (overdue invoices, vendor aging, unbilled time entries), Sales/CRM (orders pending approval), Operations, and Management reporting.

1. Overdue open invoices by customer

Field Value
Record type Transaction (Invoice)
Criteria Status = Open; Due Date before today
Columns Customer, Invoice number, Invoice date, Due date, Amount remaining
Summary Group by Customer, Sum on Amount remaining
Sort Days Overdue descending

This is the AR aging search most finance teams eventually build, but commonly built wrong by filtering on Invoice Date rather than Due Date, which includes current invoices that are not actually late. The Due Date filter with a before today dynamic date range gives you a clean view of what is genuinely overdue.

Add a Days Overdue formula column and sort descending. The goal is to surface the most overdue amounts, not just the largest balances. Published as a dashboard portlet for the collections team, this search replaces the weekly "who do we chase today" spreadsheet.

Formula column: Days Overdue:
  Formula (Numeric):  {today} - {duedate}
  Label:              Days Overdue
  Sort:               Descending

2. Sales orders pending approval

Field Value
Record type Transaction (Sales Order)
Criteria Status = Pending Approval
Columns Order number, Customer, Sales rep, Amount, Date created
Sort Date created ascending (oldest first)

Simple but essential if you have an approval workflow. The "oldest first" sort surfaces orders that have been sitting the longest, which is what the person managing the queue actually needs to see rather than the default newest-first view.

Pair this with a scheduled email alert, set on the saved search itself under the Email tab, to notify the approver each morning if the search returns any results. Use the "Send only if results exist" option to suppress empty emails. That eliminates the need for anyone to remember to log in and check.

3. Purchase orders received but not yet billed

Field Value
Record type Transaction (Purchase Order)
Criteria Status = Partially Received or Fully Received; Billed = No
Columns PO number, Vendor, Expected receipt date, Amount, Received quantity

This is the GRN-not-invoiced search that AP teams need for accruals. Without it, period-end close involves manually cross-referencing receipts against bills, which is exactly the kind of work a saved search should be doing instead.

The Billed = No filter is a join field that checks whether a vendor bill has been created against the PO. For accounts with partial receipts and partial billing, add a Remaining Billed Amount formula column to show the exact unbilled balance per PO rather than the full original amount, so the accrual figure is accurate rather than overstated.

4. Items below reorder point

Field Value
Record type Item
Criteria Formula (Numeric): {preferredstocklevel} - {quantityonhand} - {quantityonorder} greater than 0
Columns Item name, Location, On hand, On order, Reorder point, Preferred vendor

The trick here is using a formula column and a criteria filter, rather than filtering on On Hand alone, which ignores pending purchase orders and triggers false alarms on items that already have replenishment in transit.

Criteria filter:
  Formula (Numeric):  {preferredstocklevel} - {quantityonhand} - {quantityonorder}
  Condition:          greater than 0

Formula column: Units to Order:
  Formula (Numeric):  {preferredstocklevel} - {quantityonhand} - {quantityonorder}
  Label:              Units to Order

For multi-location accounts, add Location as a grouping column and run the summary by item and location separately. A global reorder search that ignores location will miss the case where an item is critically low at one warehouse but overstocked at another, and will generate unnecessary purchase orders for the wrong location.

5. Expenses submitted but not yet approved

Field Value
Record type Transaction (Expense Report)
Criteria Status = Pending Supervisor Approval or Pending Accounting Approval
Columns Employee, Submission date, Total amount, Approval status
Sort Days Pending descending

Expense report queues fall off the radar faster than any other approval type because there's no obvious place to check them without a saved search. This one, published to finance and managers, eliminates the "I submitted it last week, did you see it?" follow-up.

Add a Days Pending formula column and sort descending. Any expense report sitting more than five business days usually means either the notification was missed or the approver doesn't know they're the assigned approver for that employee's expense type.

Formula column: Days Pending:
  Formula (Numeric):  {today} - {createddate}
  Label:              Days Pending
  Sort:               Descending

6. Customers with no activity in 90 days

Field Value
Record type Customer
Criteria Last Order Date before today minus 90 days, or is empty
Columns Customer name, Customer since, Last order date, Sales rep, Total lifetime value
Sort Total lifetime value descending

Filtering on a relative date range (before today minus 90 days) rather than a static date means this search stays accurate without maintenance. The or is empty condition catches customers who were created but never placed an order, which is a separate data quality problem worth flagging to the sales team separately from the dormant account list.

Add Total Lifetime Value as a column and sort descending. A high-value account with no recent activity warrants a different response than a small account that's been quietly dormant.

7. Transactions created by a specific script or workflow

Field Value
Record type Transaction (any type)
Criteria Created by = [script or workflow name]; Date within range
Columns Record type, Internal ID, Date, Created by

This one is more for administrators than finance users. When a script or workflow is creating records unexpectedly or in the wrong volume, this search isolates the specific records it touched, which is the first thing you need before debugging what went wrong. Add a date range filter to limit results to the period in question.

8. Vendor aging by due date

Field Value
Record type Transaction (Vendor Bill)
Criteria Status = Open
Columns Vendor, Bill number, Bill date, Due date, Amount remaining
Summary Group by Vendor, Sum on Amount remaining
Sort Days Until Due ascending (negative = past due)

The AP equivalent of the AR aging search. Add a Days Until Due formula column and sort ascending so the most urgent bills appear first. Negative values mean the bill is already past due.

Formula column: Days Until Due:
  Formula (Numeric):  {duedate} - {today}
  Label:              Days Until Due
  Sort:               Ascending  (negative = already past due)

For accounts with multiple payment terms across vendors, add Payment Terms as a column. A bill on Net 30 terms that is 25 days old has different urgency than one on Net 60 terms at the same age. This distinction matters when prioritizing which vendor payments to release during a cash flow constraint.

9. Time entries not yet billed

Field Value
Record type Time (Time Bill)
Criteria Billable = Yes; Billing Status = Not Billed
Columns Employee, Customer, Project, Date, Hours, Billing rate, Billable amount
Sort Date ascending (oldest unbilled first)

Essential for any professional services or project-based business tracking time in NetSuite. Without this search, billable hours fall through the cracks: an employee logs time, the project closes, and nobody generates an invoice because there was no systematic check that all logged hours were captured before billing.

Add a formula column grouping by week to see which weeks have unbilled time. Time entries older than 60 days that are still marked unbilled usually need to either be invoiced or written off as non-billable.

Formula column: Week:
  Formula (Date):   TRUNC({date}, 'IW')
  Label:            Week Starting
  Summary type:     Group
``` Letting that determination linger keeps the billing backlog artificially inflated and makes project profitability reporting unreliable.

## 10. Open projects over budget

| Field | Value |
|---|---|
| Record type | Project |
| Criteria | Status = In Progress; Actual Cost greater than Estimated Cost |
| Columns | Project name, Project manager, Estimated cost, Actual cost, Budget variance |
| Sort | % Over Budget descending |

Add a Percent Over Budget formula column and sort descending by variance. The `NULLIF` prevents a divide-by-zero error on projects with no estimated cost entered.

Formula column: % Over Budget: Formula (Numeric): ROUND(({actualcost} - {estimatedcost}) / NULLIF({estimatedcost}, 0) * 100, 1) Label: % Over Budget Sort: Descending


Published to project managers as a dashboard portlet, this search surfaces budget overruns before the project closes rather than after. Filter to Status = In Progress so completed projects don't clutter the view, you cannot do much about a completed project's budget overage, but you can intervene on one still in flight.

## How Do You Make NetSuite Saved Searches Operational?

Building the search is half the work. A saved search sitting in the library that nobody opens produces the same outcome as not having the search at all. Three patterns that make searches consistently actionable:

**Dashboard portlets.** Any saved search can be assigned as a portlet on a role's home page under Home > Manage Portlets. The most useful portlets are high-signal and ideally zero-result when everything is working, the overdue invoice portlet showing nothing means collections is current, not that the search is broken. Keep portlet searches narrow: too many columns or too many results makes the portlet harder to act on than a fresh search.

**Scheduled email alerts.** On any saved search, the Email tab lets you set a delivery schedule and recipient list. A daily 7am email of open approval queues means approvers don't need to remember to check a dashboard, the list comes to them. Use the "Send only when results exist" checkbox to avoid sending empty emails that train people to ignore the alert. For exception searches that rarely return results, weekly delivery is usually the right cadence.

**Workflow triggers.** A saved search can serve as the entry condition filter in a workflow, so when a record matches the criteria, the workflow fires automatically. This is how you build automated escalations without a scheduled script: a search for approvals sitting open more than three days triggers an escalation notification to the approver's manager without any manual intervention. The search does the filtering; the workflow does the action.

---

These are starting points, not finished searches. The right criteria, columns, and available filters depend on how your specific account is set up: your custom fields, your approval chain, your item types. For the techniques that make these searches fast and accurate, see [10 NetSuite Saved Search Tips](/blog/netsuite-saved-search-tips). Several of these searches are also directly useful for month-end close, see [NetSuite Month-End Close Checklist: What Most Teams Miss](/blog/netsuite-month-end-close-checklist) for the full close process context. If you need these built inside your own account, [saved searches and dashboards](/netsuite-saved-searches-dashboards) is one of our core services. [Book a consultation](/contact) if you want to start there.

Have a NetSuite challenge like this?

We work with post-go-live NetSuite accounts every day. Tell us what you're working on.