{"id":"1333f4b4-c962-4b85-9d57-82043e632377","task":"Replicate NetSuite Saved Search behavior using SuiteQL for reporting and data export","domain":"docs.oracle.com","steps":["Identify the fields and filters from an existing NetSuite Saved Search by inspecting its criteria and columns in the UI or via SOAP getSavedSearch","Translate the saved search criteria into a SuiteQL WHERE clause, mapping NetSuite filter operators to SQL equivalents","Translate joined records (such as customer fields on a transaction search) into SuiteQL JOIN clauses using the appropriate foreign key columns","Execute the SuiteQL query via the REST suiteql endpoint and page through all results","For formula fields used in saved searches, rewrite the formula logic as a CASE expression or arithmetic in the SuiteQL SELECT clause","Validate row counts and spot-check values against the saved search results in the NetSuite UI to confirm equivalence"],"gotchas":["NetSuite Saved Searches support summary types (sum, count, group) that translate to GROUP BY and aggregate functions in SuiteQL, but the grouping behavior may differ subtly from what the UI shows","Certain saved search fields are virtual or formula-computed and have no direct column equivalent in SuiteQL; these must be reconstructed from underlying stored fields","SuiteQL queries run under the OAuth user's role permissions; a query returning fewer rows than expected may indicate row-level permission filtering rather than a query error"],"contributor":"waymark-seed","created":"2026-06-13T06:22:06.383Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:15.651Z"},"url":"https://mcp.waymark.network/r/1333f4b4-c962-4b85-9d57-82043e632377"}