Create a Vendor in NetSuite from ChatGPT and Verify It

Ask ChatGPT to create a NetSuite vendor through a connected NetSuite connector, read the ns_createRecord request before you confirm it, then check the vendor list, the record and System Notes.

The quick answer

Once ChatGPT is connected to NetSuite, add the NetSuite connector to a chat and ask for the vendor by name, with the exact primary subsidiary. ChatGPT proposes an ns_createRecord call marked WRITE. Read the request, then click Confirm. ChatGPT reports the internal ID. That message is the tool's report, not proof, so open NetSuite and check that Vendors went from one total to the next, that the record shows the right Primary Subsidiary, and that System Notes has a Create entry with Custom Tool as the context.

The screenshots show sample data. The people, companies and vendors are fictional, and the ChatGPT screens are a reconstruction of the interface as it appeared in the walkthrough, so your ChatGPT may look different.

Before you start

This guide starts after the connection exists. It assumes the MCP Standard Tools SuiteApp, the account features it needs, the OAuth connection and the role permissions are already set up. In the walkthrough, ChatGPT has a NetSuite connector named Larkspur NetSuite, authorized as a role called AI Connector Accountant. Setting that up is a separate job and isn't covered here. A sandbox needs its own connection and authorization, so don't assume a connector authorized for production writes to your sandbox. The ChatGPT screen in the recording is labeled Developer mode. Whether you see that label, and how you add a connector, depends on your ChatGPT plan and workspace settings, so check yours.

The connector acts as the user and role you authorized on NetSuite's consent page. Besides the MCP connection permissions, that role needs the ordinary record permission to create a vendor, here Lists > Vendors at Create or higher, and access to the subsidiary. The tool can't do more than that role can do in the NetSuite UI. The role also needs to be able to view the vendor and its System Notes, or you can't finish the checks below. The recording doesn't show the role's permissions, so confirm them in your own account.

This account is OneWorld, where a vendor needs a Primary Subsidiary. Your account may not be, and your Standard Vendor Form may require other fields. The request in this walkthrough sets only a company name and a subsidiary, and the saved vendor has little else on it. Required custom fields, workflows or scripts in your account can reject or change a save made this way. Try a write prompt in a sandbox before you use it in production.

01. Check the vendor list first

Go to Lists > Relationships > Vendors. Here the list shows Total: 6, and Summit Ridge Packaging isn't one of the six rows. Write down the total and look for the name. You need both afterwards to tell whether exactly one vendor was added, and it also tells you whether the vendor already exists before you ask for it.

Vendors shows Total: 6 and no Summit Ridge Packaging before the request.

02. Look up the exact primary subsidiary name

Click New Vendor and open the Primary Subsidiary list. In this account the parent is Larkspur Freight Co., with Larkspur Freight Co. : Larkspur Canada and Larkspur Freight Co. : Larkspur US below it. Choosing the parent shows the exact name to use in the prompt. Then click Cancel. Nothing is saved. If you want a child subsidiary, use the full path as NetSuite shows it. The primary subsidiary is hard to change later, so decide before you ask. It also isn't the same as sharing the vendor: setting the parent as primary doesn't by itself make the vendor available to the child subsidiaries, which the vendor's Subsidiaries subtab controls. This lookup is only a convenient way to get the exact label. ChatGPT can create the vendor without it, and the approval card in step 5 is the real check on what gets submitted.

Primary Subsidiary reads Larkspur Freight Co. on the unsaved New Vendor form.

03. Add the NetSuite connector to the chat

In ChatGPT, click +, point to More and click Larkspur NetSuite. The connector appears as a chip under the message box, here next to the plus sign. Check that the chip is there before you type.

The Larkspur NetSuite connector is attached to the new chat.

04. Ask ChatGPT to create the vendor

Type the vendor name and the subsidiary, then send it. The prompt in the walkthrough is: Please create a new vendor in my account called Summit Ridge Packaging and use the primary subsidiary Larkspur Freight Co. Say "primary subsidiary" and give the name exactly. A vague "default subsidiary" leaves ChatGPT to guess, and a wrong guess can fail the create or put the vendor in the wrong subsidiary.

The prompt names the vendor and the primary subsidiary exactly.

05. Read the ns_createRecord request, then confirm

ChatGPT doesn't save anything yet. It shows Larkspur NetSuite, ns_createRecord and a WRITE tag, with the request underneath: recordType is vendor, and data has companyName Summit Ridge Packaging and a subsidiary whose refName is Larkspur Freight Co. Read the whole request before you click Confirm: the record type, the name and every field it sets. Deny stops the write. Remember for this conversation sits beside them. It was left unchecked here. In this walkthrough it applies to later approvals in the same chat, so treat it as a convenience for that conversation, not a standing approval for other chats. The tool name, the WRITE tag, the field names and the layout of this card are what the walkthrough showed. Yours may differ by ChatGPT and connector version. If the reply is slow, don't send the request again until you've searched NetSuite for the vendor, or you may create a duplicate.

ChatGPT shows the ns_createRecord request and waits for Confirm.

06. Read ChatGPT's reply

After Confirm, ChatGPT says the vendor Summit Ridge Packaging was created in the NetSuite account under the Larkspur Freight Co. subsidiary, with Internal ID: 1187. Note the ID. You'll match it in NetSuite in a minute. The reply is a summary from the tool, so don't treat it as the record itself.

ChatGPT reports Internal ID 1187.

07. Check the vendor list again

Go back to Lists > Relationships > Vendors. The list now shows Total: 7, and Summit Ridge Packaging is in it with Primary Subsidiary Larkspur Freight Co. The other six rows are the same as before. The new row shows no category, contact, phone or email, because the request didn't set any. The total is only corroboration: filters, inactive vendors, your role and other users' work can all move it. The name appearing once, with the right subsidiary, is the better check. If the total went up by more than one, or the name appears twice, stop and look at what ran.

Vendors now shows Total: 7 and lists Summit Ridge Packaging.

08. Open the vendor record

Click View beside Summit Ridge Packaging. The record shows Company Name Summit Ridge Packaging, and under Classification the Primary Subsidiary is Larkspur Freight Co. No other fields are filled in on this view, though defaults or scripts in your account may set values the request didn't. Terms, address, contacts, tax details and payment settings still need to be added by you. This view doesn't show the internal ID, so you'll match 1187 in the next step.

The saved vendor shows Primary Subsidiary Larkspur Freight Co.

09. Check System Notes

Click the System Information subtab. System Notes shows one entry: Date 09/28/2026 11:06 am, Set by Dana Whitfield, Context Custom Tool, Type Create, Field Record, Old Value Vendor and New Value 1187. The new value matches the ID ChatGPT reported, and the Date Created above it shows the same time. Set by is the user who authorized the connector. In this walkthrough the Custom Tool context separates this create from one made in the UI, a CSV import or a script. It doesn't name ChatGPT by itself. The timing and your connector setup tie it to this request. The label, dates and values here are one example, and they can depend on the tool, the account and the release, so check them in your own account.

System Notes records the create with Context Custom Tool and New Value 1187.

Check the result

  1. Vendors went from Total: 6 to Total: 7, and Summit Ridge Packaging appears once.
  2. The record's Primary Subsidiary is Larkspur Freight Co., the name you asked for.
  3. System Notes has a Create entry set by the authorizing user with Context Custom Tool.
  4. The New Value in System Notes, 1187, matches the Internal ID in ChatGPT's reply.

The record exists, but it's thin. Add the terms, address, contacts, tax and payment details you need before you buy from this vendor or pay it, and check the vendor against any approval or duplicate-vendor rules your account uses.

Common questions

Can ChatGPT create records in NetSuite?

Yes, once the NetSuite connector is connected and authorized. In this walkthrough ChatGPT proposed an ns_createRecord call, the user approved it, and a vendor was created. It acts with the role you authorized, so it can't do anything that role couldn't do in the NetSuite UI.

Why does the primary subsidiary have to be named exactly?

In a OneWorld account a vendor needs a primary subsidiary, and the primary subsidiary is hard to change later. If you name it vaguely, the create can fail or the vendor can land in the wrong place. For a child subsidiary, use the full name NetSuite shows, with the parent in front.

What does the approval card show?

The tool name, ns_createRecord, a WRITE tag and the request ChatGPT is about to send. Here that was recordType vendor, companyName Summit Ridge Packaging and a subsidiary with the refName Larkspur Freight Co. Read all of it before you click Confirm. The layout and wording can differ by ChatGPT and connector version.

What does Remember for this conversation do?

In this walkthrough it covers later approvals in the same chat, so ChatGPT stops asking. It isn't a permanent approval, it doesn't carry over to other chats, and it doesn't widen what the NetSuite role can do. It was left unchecked in the walkthrough.

How do I know the vendor was really created?

Don't rely on ChatGPT's reply. In NetSuite, check that Summit Ridge Packaging appears once in the Vendors list, that the total went from 6 to 7, and that the record shows the Primary Subsidiary you asked for. Then open System Notes and match the New Value to the internal ID ChatGPT reported.

What does Custom Tool mean in System Notes?

It's the context NetSuite recorded for this save, and in this walkthrough it was different from a save made in the UI. The entry shows the authorizing user under Set by. It doesn't name ChatGPT by itself, and the label can depend on the tool, account and release, so check it in your own account.

Why might the create fail or come back different?

The role may be missing the vendor permission, the MCP permissions or access to the subsidiary. Required custom fields, workflows, scripts or validation rules in your account can also reject or change the save. A sandbox needs its own connection, so test there with a connector authorized for it before you try this in production.

What still needs to be filled in on the vendor?

Only the company name and primary subsidiary were set, and no other fields were filled in on the record in the walkthrough. Add the address, contacts, terms, tax details, payment settings and any required custom fields before you buy from the vendor or pay it. What's available depends on your form and configuration.