NetSuite customization cleanup

NetSuite Customization Cleanup Staffing for Dead Scripts, SuiteScript 1.0 and Duplicate Workflows

Contract NetSuite developers who retire, rewrite or leave every customization in your account, billed hourly once your health check has named the mess.

First line of a pruning planCredit hold checkA user event script on SuiteScript 1.0. It reads a field your team retired in 2021.Retire

NetSuite developer and finance controller reviewing a stack of printed script lists during a customization cleanup

NetSuite customization cleanup staffing from KORE1 places contract NetSuite developers who retire dead scripts, rewrite SuiteScript 1.0, consolidate workflows and document what stays, billed hourly after a health check finds the mess.

Last updated: November 5, 2026

This page
A NetSuite account where a health check already found dead scripts, duplicate workflows or SuiteScript 1.0, and somebody now has to fix them.
Not this page
Finding the problems is a NetSuite health check. A partner who left mid-project is NetSuite rescue. Tuning a healthy account is the optimization playbook.

Every NetSuite account past its fifth year has a script nobody can explain. It still runs. Somebody wrote it in a hurry for a customer who left in 2019, and nobody dares delete it.

A health check finds those scripts. A cleanup removes them. KORE1 supplies the NetSuite developers who do the removing, on a contract you manage, with the rewriting done once and the paperwork left behind.

What does that cost? KORE1-placed ERP and NetSuite consultants bill $73 to $123 an hour, median $91. Software engineers bill $91 to $120, median $105 (KORE1 Contract Rate Index 2026-Q4, methodology here).

NetSuite Customization Cleanup: Retire, Rewrite or Leave video - KORE1

Video chapters

Read full transcript

Every NetSuite account past its fifth year has a script nobody can explain. It still runs. Somebody wrote it in a hurry for a customer who left in twenty nineteen, and nobody dares delete it. A health check finds those scripts. A cleanup removes them. KORE1 places the contract NetSuite developers who do the removing, billed hourly, with the rewriting done once and the paperwork left behind. Take one record. Ten customizations hang off the sales order. Three come out. Four get rewritten. Three stay exactly as they are. Look at two of the three coming out. Nothing on either of them is broken. They’re just still there, still firing, still getting tested every time NetSuite ships a release. That’s most of what a cleanup fixes. Scripts that outlived the field they read. Two workflows doing one job. Code on a SuiteScript version Oracle is retiring.

Every customization gets one of three verdicts. Oracle’s own transition guide for SuiteScript two point one asks for the same call on each legacy script. Update it, test it, or retire it when it’s inactive, obsolete or duplicated. Retire it when nothing it reads still exists, or a second script does its job. Rewrite it when somebody relies on it but it’s on the old version or runs slow. Leave it when it works and somebody owns it. Retiring isn’t deleting. Switch the deployment off, wait for one full month-end close to see whether anybody notices, and only then delete it. Leaving a script alone still means writing down what it does and how to turn it off. Then the work goes out in small batches, so when something breaks you know which batch did it.

So what does a cleanup cost? Hours times the hourly rate, seat by seat. KORE1-placed ERP and NetSuite consultants bill seventy-three to a hundred and twenty-three dollars an hour, median ninety-one. Software engineers bill ninety-one to a hundred and twenty, median a hundred and five. Senior software engineers bill ninety-one to a hundred and thirty-eight, median a hundred and twenty. Those are bill rates from the KORE1 Contract Rate Index for the fourth quarter of twenty twenty-six. The samples are small, fifteen, sixteen and seven placements, and the index has no NetSuite-only developer cell, so these are the closest rows. Three months at forty hours a week, at those median rates. The functional consultant comes to forty-seven thousand two hundred dollars. The developer, fifty-four thousand six hundred. The senior developer who owns the migration, sixty-two thousand four hundred.

KORE1 bills a cleanup hourly, on time and materials. You direct the developer. We handle the payroll. You pay for the hours worked, with a weekly note that shows where they went. We prefer hourly. It’s really a staffing model. We do the hourly billing and you manage the person. A budget cap is optional. A not-to-exceed number becomes the ceiling for the work. It limits the spend. It doesn’t promise the list fits under it. Monday, the developer picks the next batch and you confirm it. Midweek, changes go to the sandbox first. Friday, a burn note lands with hours used, customizations closed and how much of the cap remains.

Oracle published the schedule, and it applies to every account. Legacy SuiteScript support is expected to be removed in NetSuite twenty twenty-eight point two. A rewrite isn’t a find and replace either, because old functions don’t always map to the new modules. Somebody has to read each script and decide what it was really for. In NetSuite twenty twenty-seven point one, SuiteScript one point oh gets critical fixes only. In twenty twenty-eight point one, it can’t be deployed in new accounts. By twenty twenty-eight point two, everything must be on two point one. The calendar isn’t the only cost. Every release tests every script, even the dead ones. Two workflows that set the same field don’t fail loudly. They leave the final value up to whichever one fires last. A client script from twenty sixteen runs on every line edit, and reps stop trusting the order screen. And when the one person who understands the quarter-end helper leaves, a one-hour fix becomes three weeks of archaeology.

You might be wondering whether you have to move off SuiteScript one point oh. Eventually, yes. Scripts you’re keeping need to be on two point one before then, and scripts nobody uses just need to go. And can you hire the developer when the cleanup ends? Yes. A KORE1 contractor can convert to your payroll with no conversion fee after ten forty hours of contract work. Direct hire is open too. Send your health check findings. A rough count of scripts and workflows is plenty, plus when you’d like to start and how many hours a week you can fund. We’ll tell you which ones we’d cut first, and who we’d put in the seat.

What a NetSuite Customization Cleanup Fixes

Here’s one record in one account, marked the way an arborist marks a tree. Ten customizations hang off the sales order. Three of them come out, four get rewritten, and three stay exactly as they are.

Pruning plan

Sales order record, NetSuite production account

The trunk is every sales order your team saves.

  • Credit hold check User event script, SuiteScript 1.0 Reads a field retired in 2021. The last log entry is from 2022. Retire
  • Volume discount User event script, SuiteScript 1.0 Runs on every save, and two workflows set the same discount field after it. Rewrite
  • Order approval, copy A SuiteFlow workflow Same states and transitions as copy B. Nobody can say why both exist. Retire
  • Order approval, copy B SuiteFlow workflow The live one. Four approvers, and two finance reports read its status. Leave
  • Ship date calculator Client script, SuiteScript 1.0 Runs in the browser on every line edit. Your reps noticed the lag before IT did. Rewrite
  • Commission export Scheduled script, annotated 2.0 Runs clean every night. It needs one test on 2.1 and a changed annotation, not a rewrite. Leave
  • Invoice PDF builder Suitelet, SuiteScript 1.0 Customers need it. It calls an API with no direct SuiteScript 2.1 equivalent. Rewrite
  • Customer rename tool Mass update script, SuiteScript 1.0 Written for a 2019 migration and run once. Retire
  • Tax nexus lookup Suitelet, SuiteScript 2.1 Current, documented and tested against the last release preview. Leave
  • Quarter-end accrual helper Scheduled script, SuiteScript 1.0 Finance runs it by hand four times a year. Your controller thinks it’s a saved search. Rewrite

10 customizations on one record3 retired4 rewritten3 left standing

A composite drawn from NetSuite accounts we’ve seen, not one client’s record. A retired limb ends in an orange cut face, a rewritten one is half old and half new, and a limb that stays is solid.

Look at limbs one and three. Nothing on either of them is broken. They’re just still there, still firing, still getting tested every time NetSuite ships a release.

That’s most of what a cleanup fixes. Scripts that outlived the field they read. Two workflows doing one job. Code on a SuiteScript version Oracle is retiring, plus the quiet ones nobody ever documented, so that nobody in the building can say with any confidence whether they matter or not.

Blank pages sorted into three separate piles on a long table for a retire, rewrite or leave review

The Retire, Rewrite or Leave Method

Every customization gets one of three verdicts. Oracle’s own SuiteScript 2.1 transition guide asks for the same call on each legacy script. Update it, test it, or retire it when it’s inactive, obsolete or duplicated.

  • RetireNothing it reads still exists, it hasn’t run in a year, a second customization does its job, or it was a one-time load. Switch the deployment off, wait for one full month-end close to see whether anybody notices, and only then delete it.
  • RewriteSomebody still relies on it, and it sits on SuiteScript 1.0, runs slow or does a job a second script also does. It gets written once, in SuiteScript 2.1, with the duplicates merged in.
  • LeaveIt works, somebody owns it and it already runs on 2.1. Leaving a script alone still means writing down what it does and how to turn it off.

Then the work goes out in batches. Oracle’s guide says to move scripts in manageable groups, not everything at once. Foretopia’s written change process goes a step further, because changes are never bundled to avoid assessment, so each one is assessed on its own and then the whole group is assessed again, which is how you find out later which batch broke something. Small batches. Every time.

Send your health check findings

A rough count is plenty. Bring these four numbers and we’ll price the seat.

  • Script countEvery script record the health check listed, by SuiteScript version if you have it.
  • Workflow countActive SuiteFlow workflows, and any you suspect are duplicates.
  • Start dateWhen you’d like the first developer working.
  • Weekly hoursPart time or full time, whichever your budget allows.
Get a developer quote →

Want the full price list first? Download the 2026 Contract Rate Card.

What a Cleanup Seat Costs by the Hour

Three seats cover most cleanups. The figures are what employers paid KORE1 per hour for W2 contractors, taken straight from the Contract Rate Index.

Seat on the cleanupKORE1 index cellTypical bill rate, p25 to p75Median bill rateThree months at 40 hours a week
Functional consultant who reads the workflowsERP, NetSuite and Salesforce consultants, all levels, multi-state placements (n=15)$73 to $123$91$47,200
SuiteScript developerSoftware engineers, all levels, placements primarily in Southern California (n=16)$91 to $120$105$54,600
Senior developer who owns the migrationSoftware engineers, senior level, placements primarily in Southern California (n=7)$91 to $138$120$62,400

The index has no NetSuite-only developer cell, so a SuiteScript developer lands in the software engineer rows and the consultant who reads your workflows lands in the ERP row. Samples are small, which is why every row shows its n. The index also holds modeled cells built from the BLS occupational wage release, and it publishes bill rates only. It never publishes what contractors are paid.

Finance director and contract NetSuite developer reviewing one printed page together in a weekly cleanup check-in

Hourly Billing for a NetSuite Customization Cleanup

KORE1 bills a cleanup hourly, on time and materials, so you direct the developer, we handle the payroll, and you pay for the hours worked, with a weekly note that shows exactly where those hours went. No surprises.

“Hourly, which we prefer. It’s really more of a staffing model to do the hourly billing and you manage the person.”

Devin Hornick, KORE1

A budget cap is optional. Set a not-to-exceed number on the hourly billing and it becomes the ceiling for the work. It limits the spend. It doesn’t promise the list fits under it.

  • MondayThe developer picks the next batch off the plan, and you confirm it.
  • MidweekChanges go to the sandbox first and get compared against the old behavior.
  • FridayA weekly burn note lands. Hours used, customizations closed, customizations left, and how much of the cap remains.

KORE1’s median contract assignment runs 116 days (n=1,887) across every role, and a contractor starts a median 3 days after an offer (n=1,997).

What Breaks If Your NetSuite Customizations Stay

Oracle published the schedule, and it applies to every account. The transition guide expects legacy SuiteScript support to be removed in NetSuite 2028.2.

  1. NetSuite 2026.2SuiteScript 2.1 becomes the standard scripting model for new and existing scripts.
  2. NetSuite 2027.1SuiteScript 1.0 enters end-of-life support, covering critical issues only. Anything else means converting to 2.1 first.
  3. NetSuite 2028.1SuiteScript 1.0 can’t be deployed in new accounts. Scripts annotated 2.0 or 2.x run as 2.1 by default.
  4. NetSuite 2028.2All new and existing scripts must use SuiteScript 2.1.

The calendar isn’t the only cost, and a rewrite isn’t a find and replace either, because SuiteScript 1.0 functions don’t always map to 2.1 modules, so somebody has to read each script and decide what it was really for. Then rebuild it.

  • Every release tests every script. NetSuite ships twice a year, and a dead script gets regression tested like a live one.
  • Two workflows that set the same field don’t fail loudly. They just leave the final value up to whichever one fires last.
  • Slow saves. A client script from 2016 runs in the browser on every line edit, and reps stop trusting the order screen.
  • And the knowledge walks out. When the one person who understands the quarter-end helper leaves, a one-hour fix becomes three weeks of archaeology.

Colin Boothe, who reviewed this page, runs technology at Foretopia, and Foretopia’s written process says no change is made before it’s recorded and nothing gets edited live in production. That’s the habit that stops a cleanup from becoming the next mess.

2028.2

the NetSuite release where Oracle expects legacy SuiteScript support to be removed

116 days

median KORE1 contract assignment, all roles (n=1,887)

3 days

median from offer to start for KORE1 contractors (n=1,997)

1,040 hours

of contract work before a contractor can convert to your payroll with no fee

Release dates from Oracle’s SuiteScript 2.1 transition guide. Assignment and start figures from KORE1 placement data through October 2026. Rates are in the KORE1 Contract Rate Index 2026-Q4, effective October 16, 2026.

Who We Place on a Cleanup

Most cleanups need two of these, not all four. The inventory decides which.

  • Reads the logic

    Functional consultant

    Walks every workflow with your controller and says which states, approvals and emails are still real.

    NetSuite consultant staffing
  • Writes the code

    SuiteScript developer

    Moves the SuiteScript 1.0 you’re keeping onto 2.1 and merges the scripts that do one job twice.

    NetSuite developer staffing
  • Sequences it

    Senior developer or architect

    Orders the batches, tests each one against the release preview and decides what gets switched off first.

    NetSuite solution architects
  • Keeps the record

    NetSuite administrator

    Writes the one-page record for every customization that stays, then owns it after the contractors roll off.

    NetSuite administrator staffing

When the cleanup ends, the person who wrote the documentation is the obvious hire, and the direct hire route is open, as is the no-fee conversion once a contractor passes 1,040 hours on the job. Easy. For what a full-time developer costs on your own payroll, see the NetSuite developer cost guide.

Common Questions

What does a NetSuite customization cleanup include?

A cleanup inventories every script and workflow in the account, gives each one a verdict of retire, rewrite or leave, carries those verdicts out in small batches and documents whatever stays. Nothing gets deleted before it has been switched off through one full month-end close.

Do we have to move off SuiteScript 1.0?

Yes, eventually. Oracle expects to remove legacy SuiteScript support in NetSuite 2028.2, and SuiteScript 1.0 drops to critical-issues-only support in 2027.1. Scripts you’re keeping need to be on 2.1 before then, and scripts nobody uses just need to go.

How much does a NetSuite customization cleanup cost?

The cost is hours times the hourly rate for each seat. KORE1-placed ERP and NetSuite consultants bill $73 to $123 an hour, median $91, and software engineers bill $91 to $120, median $105. Three months at 40 hours a week comes to $47,200 and $54,600 at those medians.

Can we cap what we spend on the cleanup?

Yes. You can set an optional not-to-exceed cap on the hourly billing and get a weekly burn note against it. The cap limits the spend. It doesn’t promise the whole list fits under it, so the plan puts the highest-risk limbs first.

Can we hire the developer when the cleanup ends?

Yes. A KORE1 contractor can convert to your payroll with no conversion fee after 1,040 hours of contract work, which is 26 weeks at 40 hours a week. Direct hire is open too, if you’d rather not wait.

Send Us the Health Check. Or Just Hit Me Up.

Tell us how many scripts and workflows it found, when you’d like to start and how many hours a week you can fund. We’ll tell you which limbs we’d cut first and who we’d put in the seat.

Talk to a NetSuite Cleanup Lead →

Or call 949-706-6990