How many times have you gotten a NetSuite email and thought: “Okay… but who sent this?” Scripts, workflows, saved searches - it can turn into a scavenger hunt. There’s a faster way. Inspect the email headers. In Gmail: open the message → ⋮ → Show original In Outlook: open the message → File → Properties → Internet headers Then search ( Ctrl / Cmd + F ) for: X-MailingID — account / action info. If it’s a saved search, you’ll often see something like search=12345 (that’s the internal ID). X-NetSuite — what kind of sender it was. Look after t= for values like: Script Workflow SearchEmailTask Once you know the type (and the search ID when it’s there), you can jump straight to the right place to edit it or shut it off. Caveat: forwarded copies often strip useful headers. You need the original message (or a saved .eml ), not a forward. *Hat tip to Alan Isola for sharing the tip on LinkedIn.
Ever run a Transaction saved search and get way more rows than you expected? You’re probably looking at line-level data without asking for it. When I was first learning NetSuite this was an issue I ran into a few times before learning the importance of this criteria. On Sales Orders, Invoices, Bills, and friends, NetSuite stores a header and a row per line item. Leave Main Line unset and you get both; so a 10-line order can show up as 11 rows (or more, once you add tax/shipping lines). The fix: add this criteria to almost every header-focused Transaction search: Filter: Main Line Operator: is Value: True (or T in a formula / SuiteScript filter) In SuiteScript that looks like: filters: [ ['mainline', 'is', 'T'], // ...other filters ] When to leave it off: you actually need item, quantity, amount, or other line fields. Then keep Main Line = F (or omit it) and be intentional about grouping/summarizing. Rule of thumb: if you care about the doc...