top of page

NetSuite Is Retiring Legacy SuiteScript. Here’s What Customers Actually Need to Do.

Writer: John Bell
John Bell
19 hours ago
7 min read

If you use NetSuite and the word SuiteScript normally causes you to hand the conversation over to your administrator or developer, this is one update worth understanding.

You do not need to know how to write JavaScript.

You probably do need to know whether your NetSuite account depends on it.

Oracle has confirmed that SuiteScript 2.1 is now the standard scripting model for NetSuite customisations and has published a phased plan to retire older SuiteScript versions. The current timetable ends with NetSuite 2028.2, when legacy SuiteScript versions are expected to stop running. Oracle Docs

2028 sounds a reasonably long way away.

For some NetSuite customers, it really isn't.

Particularly if your account has been running for five, eight or ten years and nobody can immediately tell you how many custom scripts exist, what they do or who originally built them.

First, what is SuiteScript?

In simple terms, SuiteScript is the coding framework developers use to extend NetSuite beyond standard configuration.

A script might automatically populate information on a record, perform a calculation, control what happens when somebody saves a transaction, integrate NetSuite with another system, create records automatically or support a process that standard NetSuite could not originally handle.

There is nothing wrong with that.

SuiteScript is one of the reasons NetSuite can support complicated businesses and unusual requirements.

The issue is what happens over time.

A customer goes live and needs a script.

A couple of years later another partner adds some more.

An acquisition creates a new requirement.

Somebody internally builds something.

A third-party product installs additional scripts.

Five years later the business may have a significant amount of custom code running quietly in the background.

Some of it may be business critical. Some of it may no longer be required.

And some of it may be doing something that standard NetSuite can now do perfectly well.

That is why I think this change is more interesting than simply saying “Oracle has released a new scripting version.”

What is actually changing?

Oracle's current transition plan looks like this:

NetSuite release and What changes

2026.2 SuiteScript 2.1 becomes the standard scripting model for new and existing scripts.

2027.1 SuiteScript 1.0 moves into end-of-life support. Oracle says support will cover critical issues, with other problems requiring conversion to 2.1 first.

2028.1 SuiteScript 1.0 can no longer be deployed in new accounts. SuiteScript 2.0 and 2.x scripts start running as SuiteScript 2.1 by default.

2028.2 All new and existing scripts must use SuiteScript 2.1. Legacy script versions will no longer run.

That is Oracle's published roadmap today. Oracle Docs

The full Oracle guidance is here:

Why is Oracle doing it?

SuiteScript 2.1 runs on a newer JavaScript environment and supports a much more modern development model than SuiteScript 1.0 and 2.0. Oracle highlights modern language capabilities, performance improvements and stronger alignment with current security and platform standards. Oracle Docs

From a developer's perspective, there are plenty of reasons to move.

From a CFO or Finance Director's perspective, the more useful question is:

What happens if one of the scripts my business relies on stops working?

That is the bit I would focus on.

This is not just an IT problem

Imagine your NetSuite environment contains a script that automatically creates an intercompany transaction, calculates something used in billing, controls an approval process or sends information to another system.

Nobody talks about it because it works.

That is normally the best compliment technology can receive.

The danger is discovering how important it was after it stops working.

This is why I'd treat the SuiteScript transition as a small piece of business continuity work rather than simply leaving it on a developer's backlog.

You need to know what is there first.

Step one: work out what you've actually got

Oracle's own guidance starts with creating an inventory of your scripts and customisations and identifying which SuiteScript version each one uses. It also recommends prioritising business-critical customisations. Oracle Docs

That sounds straightforward.

Sometimes it will be. But in a heavily customised NetSuite account, I would go a bit further.

For every important script I'd want to understand:


  • What does it actually do?

  • Which business process depends on it?

  • Is anybody still using that process?

  • Who originally created it?

  • Is the source code available and understandable?

  • Does it interact with another script or integration?

  • What happens to the business if it fails?

  • Could standard NetSuite now provide the same outcome?


That last question matters.

I would not automatically convert every old script simply because it exists.

Don't migrate technical debt for the sake of preserving it

This is where the change becomes an opportunity.

One of the things we see regularly in ERP is that customisation accumulates gradually.

Very few businesses deliberately decide:

"Let's build ourselves a complicated NetSuite environment that becomes difficult to support."

Instead, they make a series of perfectly reasonable decisions.

Can we change this?

Can we automate that?

Can we recreate this old process?

Can we add one more approval?

Individually, each change may make sense.

Collectively, they can eventually create quite a complicated environment.

So if you're going to spend time reviewing legacy SuiteScript anyway, I wouldn't restrict the exercise to:

1.0 → 2.1

I'd also ask:

Do we still need this at all?

NetSuite has changed significantly over the years. Functionality that required scripting when a customer originally implemented may now be achievable through standard configuration, workflows, SuiteApps or a different process entirely.

This fits closely with how we approach ERP more generally at C&J.

Adopt before you adapt.

Customise when there is a genuine business reason. Don't keep customisation simply because somebody built it seven years ago.

SuiteScript 1.0 probably deserves the most attention

Not every migration will involve the same amount of work.

Moving from SuiteScript 2.0 to 2.1 can sometimes be relatively straightforward because the API functionality is broadly aligned. However, Oracle warns that SuiteScript 2.1 uses a different runtime engine, so behaviour can differ and scripts still need proper compatibility testing. Oracle Docs

Oracle has separate guidance for that transition:

SuiteScript 1.0 is a different proposition.

Oracle explains that converting a 1.0 script can require changes to the script structure, entry points, APIs, dependencies, searches and record operations. Some SuiteScript 1.0 functionality does not have a direct SuiteScript 2.1 equivalent, which means the developer may need to rethink part of the implementation rather than simply translate the syntax. Oracle Docs

The detailed guidance is here:

If your account contains a meaningful amount of SuiteScript 1.0, I wouldn't leave the investigation until 2028.

Test it before changing everything

There is also a useful middle step for customers using SuiteScript 2.0 or scripts annotated as 2.x.

Oracle provides an account-level option that allows eligible server scripts to execute using the SuiteScript 2.1 runtime for compatibility testing before you formally convert everything.

That gives you an opportunity to identify problems earlier rather than changing a large number of scripts and hoping everything continues to behave in exactly the same way. Oracle Docs

And I'd test this in exactly the same way I think ERP should always be tested.

Not:

"The script ran without an error, therefore we're done."

Test the business process.

If the script touches sales orders, run realistic sales orders.

If it supports billing, test normal invoices and the awkward exceptions.

If it affects month-end, involve the people who actually perform month-end.

If another system consumes its output, make sure that system still gets what it expects.

A technically successful test is useful.

A business process that still works properly is better.

Interestingly, Oracle is using AI to help with the migration

There is also a nice bit of timing here.

Oracle now provides a SuiteScript Upgrade skill designed to help analyse, convert, explain and validate legacy scripts.

It can assess migration complexity, identify APIs and dependencies, suggest the SuiteScript 2.1 modules required, convert code and check converted scripts for common migration problems. Oracle Docs

Oracle's documentation is here:

That is genuinely useful.

It also does not mean I would point an AI tool at hundreds of business-critical scripts, deploy whatever comes out and head home early.

Oracle makes the same point. Automated tools can accelerate migration, but generated or converted code still needs review and proper testing before it reaches production. Oracle Docs

AI can make the work quicker.

It doesn't remove accountability for what the code actually does.

What I'd do now

If I were responsible for a NetSuite environment, I wouldn't panic about 2028.2.

But I also wouldn't ignore it until 2028.

I'd start with five fairly practical steps:


  1. Identify every SuiteScript customisation in the account.

  2. Separate them by version: 1.0, 2.0, 2.x and 2.1.

  3. Prioritise anything supporting a business-critical process.

  4. Challenge whether every customisation is still required before converting it.

  5. Create a migration and testing plan that gets the important work done comfortably before the deadline.


Oracle has a useful migration-path guide covering exactly this sort of approach:

The important thing is not to turn it into a blind code-conversion exercise.

The bigger opportunity

I actually think Oracle forcing the issue could be useful for a lot of long-standing NetSuite customers.

ERP environments need maintenance.

Businesses change, people leave, acquisitions happen, processes evolve and functionality improves. But customisations have a habit of remaining exactly where somebody left them.

A script written in 2017 might still be completely essential in 2026.

Or it might be supporting a process nobody would design that way today.

You won't know until somebody looks.

That is why I'd use the SuiteScript 2.1 transition as an excuse to do something businesses rarely make time for:

Understand what has accumulated inside NetSuite and decide what still deserves to be there.

If everything needs converting, convert it properly.

If some of it can be simplified, simplify it.

And if a script exists purely because "that's how we've always done it", this might be a very good opportunity to finally retire it.

The deadline matters.

But ending up with a cleaner, simpler and easier-to-support NetSuite environment might be the more valuable outcome.

Useful Oracle resources

 
 
bottom of page