Episode 1: AI Can Write Code: Understanding the System is Still the Hard Part

Jona Obrador • September 22, 2026

Ask an AI tool to write a NetSuite script, and within seconds it can hand back something that looks credible. The structure is right, the API calls look familiar, the functions are named sensibly, and the comments read as if someone who understood the system wrote them.


That's where the real questions start. Should the logic sit in a User Event script, a Map/Reduce, or somewhere else entirely? What happens if the record gets created through an integration instead of the UI, or if another script is already touching the same fields? Will the solution stay inside governance limits, and what business process depends on the behavior that's already there?



AI can produce that implementation without ever answering those questions. So can an engineer who starts typing before investigating the system. What separates writing code from engineering a solution has always been context, and AI-generated NetSuite code just makes that gap harder to ignore.

What: Generating AI-Generated NetSuite Code Is Not the Same as Understanding the System

What: Generating AI-Generated NetSuite Code Is Not the Same as Understanding the System

Code generation begins with an instruction. Engineering begins with questions.


A request that says, "set this field when a sales order is created," sounds straightforward. That sentence describes what's visible, not what's actually involved. Before writing anything, we want to know which sales orders should be affected and how those orders get created. We also need to know whether another customization already sets the field, whether existing values should be preserved, and what happens during CSV imports, web services, or scheduled processing.

Code generation begins with an instruction. Engineering begins with questions.


A request that says, "set this field when a sales order is created," sounds straightforward. That sentence describes what's visible, not what's actually involved. Before writing anything, we want to know which sales orders should be affected and how those orders get created. We also need to know whether another customization already sets the field, whether existing values should be preserved, and what happens during CSV imports, web services, or scheduled processing.

The field may also feed a downstream process: a report, a workflow, an integration, or an operational decision that depends on its value. New logic that changes that behavior can do exactly what was requested and still create a much bigger problem.



These questions are the real work, not a delay before it.


AI can help us investigate the system: search code, summarize dependencies, compare patterns, and flag scenarios worth testing. What it can't do reliably is recover context that was never written down or handed to it in the first place.


When the prompt contains only the ticket, AI sees only the ticket. The ticket is rarely the whole system.


The difference between producing code and engineering a solution has always been context.

The field may also feed a downstream process: a report, a workflow, an integration, or an operational decision that depends on its value. New logic that changes that behavior can do exactly what was requested and still create a much bigger problem.


These questions are the real work, not a delay before it.

AI can help us investigate the system: search code, summarize dependencies, compare patterns, and flag scenarios worth testing. What it can't do reliably is recover context that was never written down or handed to it in the first place.


When the prompt contains only the ticket, AI sees only the ticket. The ticket is rarely the whole system.


The difference between producing code and engineering a solution has always been context.

Why: Plausible AI-Generated NetSuite Code Can Still Be the Wrong Solution

One risk of AI-generated NetSuite code isn't that it looks bad. Wrong code can look very good.


The syntax can be correct and the implementation clean, with an explanation confident enough to sound settled. The solution can still be wrong for the environment it will run in.


We deal with two kinds of correctness. Local correctness asks whether the code performs the requested operation. System correctness asks whether the change behaves safely within the larger system and business process.

One risk of AI-generated NetSuite code isn't that it looks bad. Wrong code can look very good.


The syntax can be correct and the implementation clean, with an explanation confident enough to sound settled. The solution can still be wrong for the environment it will run in.


We deal with two kinds of correctness. Local correctness asks whether the code performs the requested operation. System correctness asks whether the change behaves safely within the larger system and business process.

Why: Plausible AI-Generated NetSuite Code Can Still Be the Wrong Solution

AI is often effective at local correctness when we provide a clear instruction. System correctness requires knowledge of architecture, historical decisions, platform behavior, operational constraints, and consequences beyond the immediate file.



In NetSuite, execution context can change the result. A script that behaves as expected during a user-created transaction may behave differently during a CSV import or an integration request. The deployment type, event timing, related workflows, and existing customizations all shape the outcome, and a technically valid script still needs to fit those conditions.


That's why easier code generation doesn't make engineering judgment less valuable. It makes judgment the part of the work that can't be skipped.


As the cost of producing an implementation decreases, responsibility shifts toward defining the right problem, supplying the right context, and validating the result. The valuable engineer isn't the person who can produce code fastest, but the person who can determine whether that code should exist in the first place.

AI is often effective at local correctness when we provide a clear instruction. System correctness requires knowledge of architecture, historical decisions, platform behavior, operational constraints, and consequences beyond the immediate file.


In NetSuite, execution context can change the result. A script that behaves as expected during a user-created transaction may behave differently during a CSV import or an integration request. The deployment type, event timing, related workflows, and existing customizations all shape the outcome, and a technically valid script still needs to fit those conditions.


That's why easier code generation doesn't make engineering judgment less valuable. It makes judgment the part of the work that can't be skipped.


As the cost of producing an implementation decreases, responsibility shifts toward defining the right problem, supplying the right context, and validating the result. The valuable engineer isn't the person who can produce code fastest, but the person who can determine whether that code should exist in the first place.

How: AI-Ready Engineering Makes the Codebase Explain More of Itself

How: AI-Ready Engineering Makes the Codebase Explain More of Itself

Using AI responsibly starts before asking it to write code. We first map the surrounding system, including entry points, related scripts, workflows, integrations, deployments, and business processes, and look for existing patterns and understand why they were chosen.


Making assumptions visible matters just as much. If the requirement doesn't explain what should happen during an import or integration, we state that gap clearly rather than letting AI quietly choose an answer on our behalf.

Using AI responsibly starts before asking it to write code. We first map the surrounding system, including entry points, related scripts, workflows, integrations, deployments, and business processes, and look for existing patterns and understand why they were chosen.


Making assumptions visible matters just as much. If the requirement doesn't explain what should happen during an import or integration, we state that gap clearly rather than letting AI quietly choose an answer on our behalf.

We then ask AI to investigate before asking it to implement. Useful prompts include:

  • What dependencies could affect this behavior?
  • What assumptions is this solution making?
  • Which execution contexts should we consider?
  • What existing logic might conflict with this change?
  • What failure cases should we test?



The answers aren't automatically correct. Their purpose is to broaden the investigation and help us identify questions the original ticket may have missed.


A NetSuite-specific review also means checking the proposed script against the platform's actual behavior. If the recommendation uses SuiteScript APIs, we review whether the selected module and event context fit the requirement. We consider whether a User Event is appropriate for the timing, whether a Map/Reduce process is better suited to larger asynchronous work, and whether the script could create conflicts with workflows or other deployments. We also weigh governance usage and how failures will be detected.


The recommendation still needs to be tested against the actual system. We check the platform documentation, trace the business process, review related customizations, and test the cases that matter, confirming the proposed solution fits the architecture instead of merely satisfying the prompt.


AI can accelerate each of these steps. Accountability still belongs to the engineer.

We then ask AI to investigate before asking it to implement. Useful prompts include:

  • What dependencies could affect this behavior?
  • What assumptions is this solution making?
  • Which execution contexts should we consider?
  • What existing logic might conflict with this change?
  • What failure cases should we test?



The answers aren't automatically correct. Their purpose is to broaden the investigation and help us identify questions the original ticket may have missed.


A NetSuite-specific review also means checking the proposed script against the platform's actual behavior. If the recommendation uses SuiteScript APIs, we review whether the selected module and event context fit the requirement. We consider whether a User Event is appropriate for the timing, whether a Map/Reduce process is better suited to larger asynchronous work, and whether the script could create conflicts with workflows or other deployments. We also weigh governance usage and how failures will be detected.


The recommendation still needs to be tested against the actual system. We check the platform documentation, trace the business process, review related customizations, and test the cases that matter, confirming the proposed solution fits the architecture instead of merely satisfying the prompt.


AI can accelerate each of these steps. Accountability still belongs to the engineer.

The Skill That Becomes More Valuable

AI will keep getting better at producing code. That doesn't shrink the value of engineers who understand systems; it widens the gap between generating something plausible and delivering something trustworthy.


Engineering holds its edge over AI in what code generation can't produce on its own: context and judgment. That edge also includes accountability, since someone still has to answer for the outcome, not just for how fast the code got typed.

The Skill That Becomes More Valuable

Using AI well starts with giving it enough information to support real investigation and implementation. We challenge its assumptions instead of treating a confident answer as a design decision, then check the result against the NetSuite environment, the business process, and the consequences of changing what's already there.


AI can write the code. Understanding what the system actually needs is still the hard part.


At ATSOURCE, we build NetSuite teams where AI-assisted development stays grounded in that kind of system understanding, with engineers who take responsibility for the environment, the assumptions, and the ticket beyond what's written down. Let's talk about what that looks like for your organization.

Jona Obrador Senior Netsuite Developer

Meet the Author

Jona has over a decade of experience in SuiteCloud Development on the NetSuite platform. She specializes in implementing advanced solutions and has led teams in creating high-quality software. Jona holds multiple certifications and has been recognized with awards like the Summit Award and Quality Champion Award.


Tags

Accelerate ERP Success with Expert Solutions

Ready to put what you've learned into practice? ATSOURCE delivers both the specialized talent and comprehensive NetSuite support you need to turn strategy into results.‍Connect with our experts today and move from planning to performance.

Podcast cover with purple AI icon on a white pedestal and text: “Episode 0: AI-Ready Engineering”
By Jona Obrador September 15, 2026
Learn how AI-ready engineering makes NetSuite code clearer, safer to change, and easier for humans and AI tools to understand.
Purple people icons on a white platform with an upward arrow and a checkmark above them
By Jona Obrador September 8, 2026
Learn how technical leadership for engineers builds trust, shares knowledge, and strengthens teams without requiring a management title.
Purple padlock with key on a white pedestal against a lavender background
By Jona Obrador August 25, 2026
The final episode on technical leadership: how NetSuite engineers widen ownership from their own tickets to the team's outcomes.