Most NetSuite teams know "SuiteScript 2.1 is the future." Far fewer know which of their own scripts already run on it, which quietly fall back to older code, and which dates force the question. That gap is where release breaks and expensive migration quotes come from.
The retirements below run on separate timelines and belong to different owners on your team. None of them is a surprise if you can see your own scripts clearly. The problem is that most instances cannot.
The version trap: declared is not executed
Before any calendar matters, get this one fact straight, because it fools careful admins:
The declared version and the executed version are different facts. A "2.x" script resolves to 2.0 by default, and the Execute As Version is not visible from list views. So a script you think is on 2.1 may not be.
To see the truth: go to Setup > Company > Preferences > General Preferences and set Execute SuiteScript 2.x Server Scripts As to 2.1 in a sandbox first. The Execute As Version field then appears on each script record. Note that list views still show only the declared version, so a script-by-script pass is the only way to get a real count.
The deprecation calendar
Four separate programs, four timelines. The SuiteScript runtime is the one with your name on it; the others depend on how your integrations and reporting were built.
Token-based auth closed to new integrations; OAuth 2.0 required, PKCE mandatory. Existing tokens keep working.
Legacy NetSuite.com data source removed. Move workbooks to NetSuite2.com now.
The 2.1 exceptions worth knowing
"Move everything to 2.1" has real caveats. Two to check before you commit a script:
- SuiteTax requires SuiteScript 2.0 today for full functionality.
- Scriptable Cart does not support 2.1 client scripts.
Neither blocks your plan, but each is a script you flag rather than sweep along with the rest.
What to do now
The work sequences cleanly once you can see your scripts. In order:
- Take inventory. Catalog every script, and record its runtime version and what it touches.
- Verify runtime versions. Confirm the executed version, not the declared one, using the Execute As Version field.
- Promote clean 2.0. Move code that already runs correctly up to 2.1.
- Scope the 1.0 refactors. These are real work; size them early so they don't collide with a release.
- Get vendor 2.1 dates in writing. Any code you don't own is a dependency you can't schedule blind.
Where the time actually goes
Steps three through five are ordinary engineering. Step one is where instances stall: after years of scripts, workflows, and integrations (some built by people who have since left), no one is sure what exists or what runs on what. The migration isn't hard because 2.1 is hard. It's hard because the documentation is missing.
That catalog is what Turbobase builds. It inventories your scripts and customizations, shows which runtime version each one actually executes on, and flags what's exposed. So you can plan the migration from facts instead of guesses, and approve every change yourself. It's the same discovery a specialist would run, without the weeks and the invoice.
Related guides
- You inherited a NetSuite instance. Here's how to document it.
- Finding unused scripts and technical debt in NetSuite
- Diagnosing NetSuite script and integration failures
Know where you stand in 60 seconds.
Five quick questions score your SuiteScript readiness and build your personal Oracle NetSuite deprecation calendar. No login, results free.
Frequently asked questions
Is SuiteScript 1.0 going away?
Yes. Oracle NetSuite is moving to SuiteScript 2.1 as the target runtime and phasing out older code. Deprecation warnings for 1.0, 2.0, and 2.x are expected in the 2026.2 release, with enforcement to follow on a date that has not been announced.
How do I know which SuiteScript version my scripts actually run on?
The declared version and the executed version are different facts. A 2.x script resolves to 2.0 by default, and the Execute As Version isn't shown in list views. Go to Setup > Company > Preferences > General Preferences and set Execute SuiteScript 2.x Server Scripts As to 2.1 in a sandbox first; the Execute As Version field then appears on each script record.
Do I have to move every script to SuiteScript 2.1 right away?
No enforcement date has been announced yet, but plan now. Watch the exceptions: SuiteTax requires SuiteScript 2.0 today for full functionality, and Scriptable Cart doesn't support 2.1 client scripts.
What about SOAP web services and token-based authentication?
They are on their own timelines. SOAP web services phase out through the 2028.2 release, with only the 2025.2 endpoint supported after 2027.1. Token-based authentication closes to new integrations in 2027.1, where OAuth 2.0 with PKCE becomes required; existing tokens keep working.