Looking for NetSuite ACS Alternatives? Try our Stratus Managed Services FREE for 1 Month. Speak To An Expert Now

Keeping an Audit Trail When AI Is Doing the Work in NetSuite

netsuite audit trail

Does NetSuite show who changed a field after a record was saved? Yes. The NetSuite audit trail captures field-level changes with timestamps, user IDs, and old-versus-new values. The data is there. Getting to it requires some navigation, and making sense of it at scale requires saved searches or reports built on top. But the record of who did what, and when, holds up under scrutiny.

That distinction between “the data exists” and “the data is easy to use” matters more now than it did two years ago. When AI tools and automation scripts start posting journal entries, updating inspection records, or triggering approval workflows inside your ERP, the compliance question shifts. You need to prove not just that a human made a change, but that an automated process made the right change, at the right time, with the right authorization. The audit trail has to cover both.

Where This Guide Comes From: A Lab Compliance Question That Stopped a Rollout

Mid-rollout on a quality module for a lab and food-safety inspection workflow, the client’s team stopped the conversation. The question was pointed: could NetSuite actually show who changed a field after a record was saved? Audit logging on inspection results wasn’t a nice-to-have. It was a real compliance requirement.

Louis Balla, Nuage’s CRO, gave a candid answer rather than a polished one. Yes, there’s a native audit trail. Yes, it’s clunky to get to. But it holds up. The team explicitly called the audit trail “a big compliance piece” even while acknowledging it wasn’t pretty. The bar they landed on: it doesn’t need to be elegant. It needs to be complete and defensible.

That exchange is the foundation for everything in this guide. If you’re an IT leader or controller running automation inside NetSuite, the steps below walk you through how to use what the platform gives you natively, where you’ll need to build on top of it, and how to extend those same standards to anything an AI tool touches.

NetSuite Audit Trail vs. System Notes: What Actually Gets Captured

Most people use “audit trail” as a blanket term, but NetSuite separates the concept into a few distinct mechanisms. Understanding which one to use, and when, prevents a lot of wasted time during month-end close or when an auditor asks for evidence.

System Notes: Your Field-Level Change Log

System Notes is the record-level change log. Every time a user or a system process modifies a field on a record, NetSuite writes a System Notes entry. That entry includes the date and time, the user or process that made the change, the field name, the old value, and the new value. You can find it on most records by navigating to the System Notes subtab at the bottom of the record.

This is the feature that answered the client’s compliance question. For inspection results on a quality record, System Notes proved that every field change was logged, traceable, and timestamped. The format isn’t elegant. Scrolling through a long list of field changes on a single record isn’t anyone’s idea of a good time. But the data is complete.

Transaction Audit Trail and Login Audit Trail

The Transaction Audit Trail is a separate feature focused on financial transactions. It logs changes to posted transactions, which matters for SOX compliance and for any controller who needs to prove that journal entries weren’t modified after approval. The Login Audit Trail, meanwhile, tracks user authentication events: who logged in, when, from where.

These three mechanisms serve different purposes. System Notes handles field-level changes across record types. Transaction Audit Trail focuses on financial posting integrity. Login Audit Trail covers access. Most compliance programs need all three, and most teams only check one. If your NetSuite access controls checklist doesn’t reference all three, it’s incomplete.

Step-by-Step: How to Find and Use NetSuite Audit Trail Data

Knowing the audit trail exists is one thing. Actually pulling evidence from it when an auditor asks, or when you need to investigate an exception during close, requires a few specific steps.

Step 1. Verify Role Permissions for Audit Trail Access

Not every role in NetSuite can see System Notes or audit trail data. Before anything else, confirm that the roles needing access have the correct permissions enabled. Navigate to Setup, then Users/Roles, then Manage Roles. Under the Permissions tab, look for “System Notes” and “Audit Trail” permissions. Controllers and IT admins should have view access at minimum. Restrict edit access tightly. The question of who can change what starts here.

Step 2. Access System Notes on Individual Records

Open any transaction or record. Scroll to the bottom and click the System Notes subtab. You’ll see every field-level change listed chronologically. For a quick investigation, such as figuring out why an inspection result was modified after sign-off, this is your starting point. Filter by date or field name if the list is long.

This is also where you’ll see changes made by automated processes. If a workflow, SuiteScript, or integration updated a field, the System Notes entry will show the script or process name instead of a user name. This becomes critically important when AI is doing the work, which we’ll cover below.

Step 3. Build Saved Searches for Audit Reporting at Scale

The individual record view doesn’t scale. When you need to review all changes to a specific field type across hundreds of records, or when you need to pull a report showing every manual override during a close period, you need a saved search.

Create a new saved search with the record type set to “System Note.” Add criteria to filter by date range, field name, user, or record type. Common columns to include: Date, Set by (the user or process), Field, Old Value, New Value, and Record. Save this search and schedule it to run weekly or at the end of each close cycle. This is the step most teams skip, and it’s the step that turns a clunky native feature into defensible audit evidence.

For teams with SuiteAnalytics access, you can build more sophisticated reports and workbooks on top of System Notes data. Louis Balla’s team at Nuage holds Oracle NetSuite SuiteFoundation and SuiteAnalytics certifications, and this is exactly the kind of reporting they build for controllers who need audit-ready output without spreadsheet workarounds.

Step 4. Set Up Exception Alerts for High-Risk Changes

Saved searches can trigger email alerts. Configure alerts for specific conditions: a field changed outside business hours, a value modified after an approval was granted, a manual data entry override on an otherwise automated workflow. These exception alerts turn your audit trail from a passive log into an active monitoring system.

Extending the Audit Trail Standard to AI and Automation

Here’s where most organizations have a gap. The native NetSuite audit trail was designed for human users and standard workflows. When an AI tool generates a journal entry, recommends an inventory adjustment, or auto-populates inspection results, the same compliance standard has to apply. But the approach needs to be explicit.

Identify Every Automated Touchpoint

Map every point where an AI tool or automation script writes to, modifies, or creates a NetSuite record. This includes integrations, scheduled scripts, API calls from external AI services, and workflow-triggered updates. If it touches a record, it needs to show up in the audit trail. No exceptions.

AI governance in an ERP context is straightforward. You need to answer the same questions for an automated process that you answer for a human: Who authorized this change? What was the change? When did it happen? Can it be reversed? The tools might be different, but the standard is the same. If you’re building automation workflows in NetSuite, build the audit evidence into the design from the start. Not after.

Require Named Process Identification in System Notes

When a SuiteScript or integration makes a change, NetSuite logs the script name or integration user in System Notes. Make sure every AI-driven process has a distinct, named integration user or script deployment. “System” as an actor is not sufficient for compliance. “AI_InspectionAutoFill_v2” as an actor gives your auditor something to trace.

This is a configuration decision, not a platform limitation. Every script deployment can be named. Every integration can use a dedicated user record. The discipline is in requiring it.

Maintain Approval Controls for AI-Generated Changes

An AI tool that posts a journal entry without an approval step is a control gap. Period. The approval and sign-off process that applies to human-initiated transactions must apply to automated ones. In many cases, it should be stricter, because the volume of changes an AI tool can make in minutes would take a human team days.

Set up approval workflows that protect your business by requiring human review for AI-generated transactions above a defined threshold. Below that threshold, automated approvals are acceptable, but only if the audit trail captures the approval logic and the exception criteria.

What This Costs When You Get It Wrong

The average private-company audit runs about 1,395 hours at roughly $191 an hour. That’s an ERP-industry-wide figure, and it represents the baseline cost when your audit trail is complete and your internal controls are documented. When the trail has gaps, when spreadsheet workarounds are filling in for system evidence, when nobody can explain who authorized an automated change, those hours increase. Sometimes dramatically.

Controllers who’ve been through a cycle count discrepancy or a month-end close with unexplained variances know this viscerally. Trusting the numbers means trusting the trail that produced them. And when part of that trail runs through an AI tool that nobody documented, trust evaporates.

The teams that handle this well, including manufacturers and distributors working with Nuage’s certified consultants, build audit trail governance into the automation design phase. Not as an afterthought during the first close cycle after go-live. For a look at how financial close automation fits into this picture, that resource covers the controller’s perspective in detail.

A Practical Audit Readiness Checklist for AI-Enabled NetSuite Environments

Use this as a quarterly review, or run through it before any new AI tool or automation goes into production.

  1. Confirm System Notes permissions are restricted to appropriate roles. Document who has access and review quarterly.
  2. Verify every automation and AI integration uses a named, distinct user or script identifier in System Notes.
  3. Build and schedule saved searches that capture field-level changes for high-risk record types: financial transactions, inventory records, inspection results, approval fields.
  4. Set exception alerts for changes outside normal parameters: off-hours modifications, post-approval edits, bulk updates from a single process.
  5. Document approval workflows for AI-generated transactions, including thresholds, escalation paths, and the logic for automated approvals.
  6. Run a test audit quarterly. Pull a sample of AI-generated changes and trace each one from trigger to System Notes entry to approval record. If you can’t complete the trace, you have a gap.
  7. Archive saved search results. System Notes data is persistent, but your auditor wants reports, not raw subtab scrolling.

Frequently Asked Questions

Q: How long should we retain audit evidence extracted from NetSuite for audits and internal investigations?

A: Align retention with your regulatory and contractual requirements, plus your internal risk policy, many teams keep audit extracts for multiple years. Store exports in a controlled repository with access logging, and document the retention schedule so it is repeatable across audit cycles.

Q: How can we prove an AI driven change originated from a specific source system or model run, not just a NetSuite script?

A: Add a correlation ID to every automated transaction, then carry that ID through the integration payload, NetSuite record fields, and external system logs. This lets you tie a System Notes entry back to the exact upstream request, prompt, job, or pipeline execution.

Q: What is the best way to prevent audit log exports from becoming a spreadsheet free for all?

A: Publish a standard export format, naming convention, and storage location, then restrict who can download, who can edit, and who can approve changes to the reporting logic. Treat audit reporting as a controlled artifact with versioning and documented ownership, not ad hoc analysis.

Q: How do we handle auditability when integrations use shared credentials or rotating API tokens?

A: Avoid shared integration identities, use per process service accounts and rotate secrets without changing the account that writes to NetSuite. If token rotation is required, log token issuance and map it to the same integration user so the actor remains consistent in evidence.

Q: What should we do when an automated process makes a correction but we need a clear reason code for the change?

A: Require automation to write a structured reason code and short narrative into a dedicated field, for example adjustment reason, rule ID, or exception category. This turns the audit trail into an explanation, not just a before and after snapshot.

Q: How can we validate that audit reporting will still work after NetSuite updates or script changes?

A: Add audit reporting checks to your change management process, including regression tests for saved searches, role permissions, and any custom fields used for traceability. Run a pre and post deployment comparison on a small dataset to confirm outputs remain consistent.

Q: When an auditor requests evidence, what is the most defensible way to package NetSuite audit data?

A: Provide a scoped report with clear filters, time window, and field definitions, plus a brief data dictionary describing each column and how it is generated. Include access controls around the file and a documented chain of custody showing who produced it and when.

Complete and Defensible Beats Elegant Every Time

The bar the client’s team set during that quality module rollout is the right bar. The NetSuite audit trail doesn’t need to be pretty. It needs to be complete, traceable, and defensible. That standard applies to every human edit. It applies equally to every change an AI tool makes.

If you’re running automation in NetSuite and you’re not sure whether your audit trail covers what it needs to cover, start with the saved search in Step 3. That single step will show you exactly what your System Notes data looks like at scale, and where the gaps are. For teams that want certified expertise building this out, Louis Balla and the Nuage team work with manufacturers and distributors to govern automation around the platform. Schedule a discovery call and bring your specific compliance requirements to the conversation.

What to read next

Demand Planning You Can Trust: Letting AI Forecast Without Going Blind

netsuite demand planning

AI for Distributors: The Workflows Worth Automating First

ai for distributors

NetSuite Premium Support vs. a Team That Optimizes and Automates

netsuite premium support