# Netsuite

NetSuite by Oracle is a cloud-based ERP suite that combines accounting, CRM, e-commerce, and inventory management for comprehensive business oversight

- **Category:** accounting
- **Auth:** OAUTH2
- **Tools:** 91
- **Triggers:** 0
- **Slug:** `NETSUITE`
- **Version:** 20260211_00

## Tools

### Get Async Job Status

**Slug:** `NETSUITE_ASYNC_GET_JOB_STATUS`

Retrieves the current status of an asynchronous NetSuite REST job. Use this tool to check whether an async job has completed and its progress state. When you submit any NetSuite REST API request with the 'Prefer: respond-async' header, NetSuite returns a Location header containing the job ID. Use that job ID with this tool to poll the job's status. The response indicates if the job is completed, its progress state (pending/processing/succeeded/failed), and provides links to retrieve the job results once completed.

### Get Async Job Task

**Slug:** `NETSUITE_ASYNC_GET_JOB_TASK`

Retrieves the task reference (task ID and URL) for an asynchronous job in NetSuite. Use this action after submitting an async request with 'Prefer: respond-async' header and receiving a job_id in the Location header. The task ID is required to retrieve the job's result using the async get job task result action. Typical workflow: 1) Submit async request → 2) Get job_id → 3) Use this action to get task_id → 4) Poll job status → 5) Retrieve results with task_id.

### Async Get Job Task Result

**Slug:** `NETSUITE_ASYNC_GET_JOB_TASK_RESULT`

Tool to retrieve the payload result of a completed async task. Use after confirming the async job and task have completed to fetch the operation's output.

### Create Customer

**Slug:** `NETSUITE_CREATE_CUSTOMER`

Creates a new customer record in NetSuite. Requires subsidiary ID and either company name (for business customers) or first/last name (for individual customers). Returns the location URL of the created customer record, or an async job URL if using async mode.

### Create Customer Payment

**Slug:** `NETSUITE_CREATE_CUSTOMER_PAYMENT`

Creates a customer payment record in NetSuite. Requires account (deposit account), customer reference, and payment amount. Optionally link payment to specific invoices via the 'apply' sublist. Returns the URL of the created payment record.

### Create Employee

**Slug:** `NETSUITE_CREATE_EMPLOYEE`

Creates a new employee record in NetSuite. Required: firstName, lastName, and subsidiary ID. Returns the URL of the created employee in the location field. Supports async creation with 'respond-async' preference.

### Create Invoice

**Slug:** `NETSUITE_CREATE_INVOICE`

Tool to create a new invoice record. Use when you have all required invoice details and want to add them to NetSuite.

### Create Item

**Slug:** `NETSUITE_CREATE_ITEM`

Creates a new item record in NetSuite via REST API. Supports multiple item types including inventory items, service items, and description items. Returns the URL of the created item. Use this when you need to add new products, services, or descriptive items to the NetSuite catalog.

### Create Item Receipt

**Slug:** `NETSUITE_CREATE_ITEM_RECEIPT`

Tool to create an Item Receipt from a Purchase Order. Use when you need to record received items for a Purchase Order.

### Create Journal Entry

**Slug:** `NETSUITE_CREATE_JOURNAL_ENTRY`

Tool to create a new journal entry record. Use when posting balanced debits and credits to the general ledger.

### Create JWT Client Assertion

**Slug:** `NETSUITE_CREATE_JWT_CLIENT_ASSERTION`

Tool to build a JWT client assertion for NetSuite OAuth2 client credentials. Use before exchanging for an access token.

### Create Purchase Order

**Slug:** `NETSUITE_CREATE_PURCHASE_ORDER`

Tool to create a new purchase order record. Use when you need to submit a purchase order to a vendor.

### Create Record

**Slug:** `NETSUITE_CREATE_RECORD`

Creates a new NetSuite record of any type (customer, vendor, invoice, sales order, etc.). Use this action when you need to create any type of record in NetSuite. Provide the record type identifier and a JSON body with all required fields. Consider using GET_RECORD_METADATA first to discover required fields and valid values. Supports both synchronous (immediate) and asynchronous (background) creation. Returns the new record's ID and location URL. Limitations: Does not support subrecord creation or bulk operations (use dedicated bulk actions instead).

### Create Sales Order

**Slug:** `NETSUITE_CREATE_SALES_ORDER`

Tool to create a new sales order record in NetSuite. Use this when you need to submit a customer order with one or more items. Each line item requires: - item: Reference to the inventory/service item (internal ID) - quantity: Number of units to order - rate: Unit price (optional if item has default pricing) - taxcode: Tax code reference (required if SuiteTax is enabled on the account) Note: NetSuite accounts with SuiteTax enabled require tax codes for line items.

### Create Vendor

**Slug:** `NETSUITE_CREATE_VENDOR`

Creates a new vendor record in NetSuite. Required: vendor name (companyName) and subsidiary ID. Use this when you need to add a new vendor to NetSuite's vendor list for procurement or accounts payable purposes.

### Create Vendor Bill

**Slug:** `NETSUITE_CREATE_VENDOR_BILL`

Tool to create a new vendor bill record. Use when you have all required bill and line-item details to add a vendor bill in NetSuite.

### Delete Customer

**Slug:** `NETSUITE_DELETE_CUSTOMER`

Tool to delete a customer record by ID. Use when you need to remove an existing customer record from NetSuite.

### Delete Customer Payment

**Slug:** `NETSUITE_DELETE_CUSTOMER_PAYMENT`

Delete a customer payment record from NetSuite by its ID. Use this action to permanently remove a customer payment record. You can delete by internal ID (numeric) or external ID (prefixed with 'eid:'). This is a destructive operation and cannot be undone. Returns success=true on successful deletion (HTTP 204).

### Delete Employee

**Slug:** `NETSUITE_DELETE_EMPLOYEE`

Deletes an employee record from NetSuite by its internal ID. This permanently removes the employee record. Use this when you need to remove a terminated or invalid employee from the system. Returns success=true on successful deletion, or raises an error if the employee doesn't exist.

### Delete Invoice

**Slug:** `NETSUITE_DELETE_INVOICE`

Tool to delete an invoice record by ID. Use when you need to remove an existing invoice record from NetSuite.

### Delete Item

**Slug:** `NETSUITE_DELETE_ITEM`

Tool to delete an item record by its type and ID. Use when you need to remove an existing item record from NetSuite. Use after verifying the record exists to avoid unintended deletions.

### Delete Item Fulfillment

**Slug:** `NETSUITE_DELETE_ITEM_FULFILLMENT`

Tool to delete an Item Fulfillment record. Use when you need to remove an existing Item Fulfillment record from NetSuite. Use after confirming the record exists.

### Delete Item Receipt

**Slug:** `NETSUITE_DELETE_ITEM_RECEIPT`

Tool to delete an item receipt record by ID. Use when you need to remove an existing item receipt from NetSuite.

### Delete Journal Entry

**Slug:** `NETSUITE_DELETE_JOURNAL_ENTRY`

Tool to delete a journal entry record by ID. Use when you need to remove an existing journal entry from NetSuite.

### Delete Purchase Order

**Slug:** `NETSUITE_DELETE_PURCHASE_ORDER`

Tool to delete a purchase order record by ID. Use when you need to remove an existing purchase order from NetSuite.

### Delete Record

**Slug:** `NETSUITE_DELETE_RECORD`

Tool to delete a NetSuite record by type and internal ID. Use when you need to remove a specific record instance.

### Delete Sales Order

**Slug:** `NETSUITE_DELETE_SALES_ORDER`

Tool to delete a sales order by internal ID. Use when you need to remove an existing sales order record from NetSuite. Use after confirming the record exists to avoid unintended deletions.

### Delete Vendor Payment

**Slug:** `NETSUITE_DELETE_VENDOR_PAYMENT`

Tool to delete a vendor payment record by ID. Use when you need to remove an existing vendor payment from NetSuite.

### Execute Dataset

**Slug:** `NETSUITE_EXECUTE_DATASET`

Tool to execute a SuiteAnalytics dataset and return paged results. Use when you need to retrieve dataset rows with paging support.

### Filter Record Collection

**Slug:** `NETSUITE_FILTER_RECORD_COLLECTION`

Filters and retrieves NetSuite records by type with optional query expressions and pagination. Use this to list or search for records like customers, employees, vendors, invoices, etc. Supports filtering with query operators (EQUAL, START_WITH, CONTAIN, etc.) and pagination for large result sets. Returns record IDs and navigation links for accessing full record details.

### Get Customer

**Slug:** `NETSUITE_GET_CUSTOMER`

Tool to retrieve a customer record by internal ID. Use when you have a customer ID and need detailed customer data.

### Get Customer Payment

**Slug:** `NETSUITE_GET_CUSTOMER_PAYMENT`

Tool to retrieve a customer payment record by ID. Use when you need to fetch payment details using the internal or external ID.

### Get Data Center URLs

**Slug:** `NETSUITE_GET_DATACENTER_URLS`

Tool to discover account-specific service domains. Use when you need to determine the correct REST, SOAP, and UI endpoints before making other API calls.

### Get Employee

**Slug:** `NETSUITE_GET_EMPLOYEE`

Tool to retrieve an employee record by ID. Use when you have an employee ID and need detailed employee data.

### Get Governance Limits

**Slug:** `NETSUITE_GET_GOVERNANCE_LIMITS`

Retrieve NetSuite account and integration concurrency governance limits. Returns the maximum number of concurrent API requests allowed for your account and integration, helping you avoid exceeding concurrency limits that would result in HTTP 429 errors. Requires administrator permissions to execute.

### Get Invoice

**Slug:** `NETSUITE_GET_INVOICE`

Tool to retrieve an invoice record by internal ID. Use when you have an invoice ID and need detailed invoice data.

### Get Item

**Slug:** `NETSUITE_GET_ITEM`

Tool to retrieve an item record by internal ID. Use when you have an item ID and need detailed item data.

### Get Item Fulfillment

**Slug:** `NETSUITE_GET_ITEM_FULFILLMENT`

Tool to retrieve an item fulfillment record by internal ID. Use when you have an item fulfillment ID and need detailed fulfillment data.

### Get Item Receipt

**Slug:** `NETSUITE_GET_ITEM_RECEIPT`

Tool to retrieve an item receipt record by internal ID. Use when you have an item receipt ID and need detailed item receipt data.

### Get Journal Entry

**Slug:** `NETSUITE_GET_JOURNAL_ENTRY`

Tool to retrieve a journal entry by internal ID. Use when you have a journal entry ID and need detailed journal entry data.

### Get Purchase Order

**Slug:** `NETSUITE_GET_PURCHASE_ORDER`

Retrieves complete details of a purchase order by its internal ID using the NetSuite REST API. Use this action when you need to: - Get full details of a specific purchase order (vendor, items, amounts, dates, status) - View line items and expenses on a purchase order - Check purchase order status, approval status, or fulfillment details - Access billing and shipping addresses for a purchase order The response includes comprehensive purchase order data such as vendor information, transaction dates, currency, line items, totals, addresses, custom fields, and more. You can filter fields or expand sublists as needed using optional parameters.

### Get Record By ID

**Slug:** `NETSUITE_GET_RECORD_BY_ID`

Tool to retrieve a specific record by internal ID. Use when you need full details of any NetSuite record by specifying its type and ID.

### Get Record Metadata

**Slug:** `NETSUITE_GET_RECORD_METADATA`

Retrieves the complete metadata schema for a NetSuite record type, including all field definitions, data types, constraints, and descriptions. Use this action to discover available fields and their requirements before creating or updating records. The metadata includes standard and custom fields, field types (string, number, boolean, date, references), nullability, format constraints, and descriptive help text. Essential for dynamic record handling and validation.

### Get Record Selected Fields

**Slug:** `NETSUITE_GET_RECORD_SELECTED_FIELDS`

Retrieve specific fields from a NetSuite record instance to minimize payload size and improve performance. This action is ideal when you need only a subset of fields from a record, avoiding the overhead of fetching all record data. Specify the record type (e.g., 'customer', 'employee'), the record ID, and a comma-separated list of field names to retrieve.

### Get Reference Select Field

**Slug:** `NETSUITE_GET_REFERENCE_SELECT_FIELD`

Retrieves the complete record referenced by a select-type field on a parent record. Use this when you have a parent record (e.g., customer, salesorder) that references another record via a select field (e.g., 'subsidiary', 'entity', 'currency'), and you need the full details of that referenced record. Example: If a customer has subsidiary ID "1", use this to get all subsidiary details instead of just the ID reference. Common select fields by record type: - customer: subsidiary, currency, terms, salesRep, parent - salesorder/invoice: entity (customer), subsidiary, currency, terms - employee: supervisor, subsidiary, department - vendor: subsidiary, currency, terms

### Get Sales Order

**Slug:** `NETSUITE_GET_SALES_ORDER`

Tool to retrieve a sales order record by internal ID. Use when you have a sales order ID and need detailed sales order data.

### Get Server Time

**Slug:** `NETSUITE_GET_SERVER_TIME`

Tool to retrieve NetSuite server time in UTC. Use when you need the current server timestamp for synchronization.

### Get Sublist Collection

**Slug:** `NETSUITE_GET_SUBLIST_COLLECTION`

Tool to retrieve a sublist collection from a parent record. Use when you need all lines of a given sublist (e.g., items on a sales order).

### Get Sublist Line

**Slug:** `NETSUITE_GET_SUBLIST_LINE`

Tool to retrieve a specific line from a sublist of a record. Use when you need details of a particular sublist line by its ID.

### Get Subrecord

**Slug:** `NETSUITE_GET_SUBRECORD`

Retrieves a specific subrecord from a parent NetSuite record. Subrecords are body-level structured fields on NetSuite records that contain related data. Common examples include: - billingaddress and shippingaddress on sales orders, invoices, and purchase orders - Address subrecords on customer and vendor records This action uses the NetSuite REST Record API v1 to access subrecords via the endpoint pattern: /record/v1/{recordType}/{id}/{subrecordName} Use this when you need to retrieve detailed subrecord data separately from the parent record, which can be more efficient than fetching the entire parent record with expanded subresources.

### Get Vendor

**Slug:** `NETSUITE_GET_VENDOR`

Tool to get a single vendor record by internal ID. Use when needing specific vendor information.

### Get Vendor Bill

**Slug:** `NETSUITE_GET_VENDOR_BILL`

Retrieve a vendor bill record by its internal ID. Returns comprehensive bill details including vendor information, line items, amounts, dates, approval status, and accounting data. Use the 'fields' parameter to retrieve specific fields only, or 'expandSubResources' to include full sublist details (expense/item lines). Useful for auditing bills, payment processing, or integration workflows.

### Get Vendor Payment

**Slug:** `NETSUITE_GET_VENDOR_PAYMENT`

Retrieves a single vendor payment record by its internal ID from NetSuite. A vendor payment represents a payment made to a vendor, typically to settle one or more vendor bills. Use this action when you need detailed information about a specific vendor payment, including: - Payment amount, date, and transaction ID - Associated vendor information - Payment account and currency details - Applied bills (transactions being paid) - Accounting period and subsidiary To find vendor payment IDs, use the LIST_VENDOR_PAYMENTS action first.

### List Customer Payments

**Slug:** `NETSUITE_LIST_CUSTOMER_PAYMENTS`

Tool to list customer payment records. Use when you need to retrieve payments with optional filtering and pagination after establishing a valid NetSuite connection.

### List Datasets

**Slug:** `NETSUITE_LIST_DATASETS`

Tool to list SuiteAnalytics Workbook datasets. Use when you need to retrieve datasets with optional pagination after establishing a valid NetSuite connection.

### List Employees

**Slug:** `NETSUITE_LIST_EMPLOYEES`

Tool to list employee records. Use when you need to retrieve multiple employees with optional filtering and pagination after establishing a valid NetSuite connection.

### List Integrations

**Slug:** `NETSUITE_LIST_INTEGRATIONS`

Tool to list integration applications. Use when you need to retrieve client IDs and redirect URIs necessary for OAuth2 authorization flows.

### List Invoices

**Slug:** `NETSUITE_LIST_INVOICES`

Tool to list invoice records. Use when you need to retrieve multiple invoices with optional filtering and pagination after establishing a valid NetSuite connection.

### List Item Fulfillments

**Slug:** `NETSUITE_LIST_ITEM_FULFILLMENTS`

Tool to list item fulfillment records. Use when you need to retrieve multiple item fulfillments with optional filtering and pagination after establishing a valid NetSuite connection.

### List Item Receipts

**Slug:** `NETSUITE_LIST_ITEM_RECEIPTS`

Tool to list item receipt records. Use when you need to retrieve multiple item receipt records with optional filtering and pagination after confirming a valid NetSuite connection.

### List Journal Entries

**Slug:** `NETSUITE_LIST_JOURNAL_ENTRIES`

Tool to list journal entry records. Use when you need to retrieve multiple journal entries with optional filtering and pagination after establishing a valid NetSuite connection.

### List Metadata Catalog

**Slug:** `NETSUITE_LIST_METADATA_CATALOG`

Tool to list all record types and their metadata. Use after authenticating when you need to discover available record definitions before further API calls.

### List Purchase Orders

**Slug:** `NETSUITE_LIST_PURCHASE_ORDERS`

Tool to list purchase order records. Use when you need to retrieve multiple purchase orders with optional filtering and pagination.

### List Records

**Slug:** `NETSUITE_LIST_RECORDS`

Tool to list record instances. Use when you need to retrieve multiple records with optional filtering and pagination after establishing a valid NetSuite connection.

### List Sales Orders

**Slug:** `NETSUITE_LIST_SALES_ORDERS`

Tool to list sales order records. Use when you need to retrieve multiple sales orders with optional filtering and pagination after establishing a valid NetSuite connection.

### List Vendor Payments

**Slug:** `NETSUITE_LIST_VENDOR_PAYMENTS`

Tool to list vendor payment records. Use when you need to retrieve vendor payments with optional filtering and pagination after establishing a valid NetSuite connection.

### OAuth2 Authorize Account Domain

**Slug:** `NETSUITE_O_AUTH2_AUTHORIZE_ACCOUNT_DOMAIN`

Tool to construct an OAuth2 authorization URL for a NetSuite account-specific domain. Use when initiating the OAuth2 authorization code flow.

### OAuth2 Authorize System Domain

**Slug:** `NETSUITE_O_AUTH2_AUTHORIZE_SYSTEM_DOMAIN`

Initiates the OAuth2 authorization code flow using NetSuite's system domain endpoint. Returns the authorization URL where users should be redirected to authenticate and grant permissions. After user authorization, NetSuite redirects back to your redirect_uri with an authorization code. Use this when you don't know the specific NetSuite account ID or want to use the generic system domain.

### Get OAuth2 JWKS Keys

**Slug:** `NETSUITE_OAUTH2_GET_JWKS_KEYS`

Tool to retrieve OAuth2 JWKS public keys. Use when validating token signatures.

### OAuth2 Logout

**Slug:** `NETSUITE_O_AUTH2_LOGOUT`

Tool to revoke an ID token and its associated access and refresh tokens. Use when ending an OAuth2 session to ensure credentials are invalidated.

### Revoke OAuth2 Refresh Token

**Slug:** `NETSUITE_O_AUTH2_REVOKE_REFRESH_TOKEN`

Revokes a NetSuite OAuth2 refresh token and all associated access tokens, immediately invalidating them. Use this when: - A user logs out and you want to invalidate their session tokens - Credentials are compromised and need immediate revocation - Decommissioning an integration or removing access - Cleaning up test tokens after development Note: This is a destructive operation - revoked tokens cannot be reused.

### Exchange OAuth2 Authorization Code for Tokens

**Slug:** `NETSUITE_O_AUTH2_TOKEN_AUTHORIZATION_CODE`

Exchange an OAuth2 authorization code for access and refresh tokens using the NetSuite token endpoint. This is the second step in the OAuth2 authorization code flow with PKCE: 1. User authorizes via OAuth2AuthorizeAccountDomain or OAuth2AuthorizeSystemDomain 2. User is redirected to your redirect_uri with authorization code 3. Use THIS action to exchange the code for tokens 4. Use access_token to make API requests, refresh_token to get new access tokens Supports both confidential clients (client secret in metadata) and public clients (no secret). PKCE (code_verifier) is required for security.

### OAuth2 Token Client Credentials

**Slug:** `NETSUITE_O_AUTH2_TOKEN_CLIENT_CREDENTIALS`

Tool to obtain an OAuth2 access token via client credentials grant. Use when authenticating to NetSuite APIs with a JWT-based client credentials flow.

### OAuth2 Token Refresh

**Slug:** `NETSUITE_O_AUTH2_TOKEN_REFRESH`

Tool to refresh an OAuth2 access token. Use when the current access token has expired and you need a new one.

### Run SuiteQL Query

**Slug:** `NETSUITE_RUN_SUITEQL_QUERY`

Tool to execute a SuiteQL query. Use when you need ad-hoc SQL queries against NetSuite data with server-side paging.

### Transform Record

**Slug:** `NETSUITE_TRANSFORM_RECORD`

Transform an existing NetSuite record into another record type (e.g., sales order to invoice, purchase order to item receipt). Creates a new target record populated with data from the source record. Supports common business workflows like: - Converting sales orders to invoices or item fulfillments - Converting purchase orders to item receipts or vendor bills - Converting invoices to credit memos Optionally override fields on the transformed record via record_body parameter.

### Update Customer

**Slug:** `NETSUITE_UPDATE_CUSTOMER`

Updates an existing NetSuite customer record using PATCH semantics - only fields included in the 'data' parameter are modified. Use this action to: - Update customer contact information (email, phone, address) - Change customer status, sales rep, territory, or terms - Modify customer preferences and settings - Update custom fields Returns the location URL of the updated record. Supports both synchronous (immediate) and asynchronous processing modes.

### Update Customer Payment

**Slug:** `NETSUITE_UPDATE_CUSTOMER_PAYMENT`

Tool to update an existing customer payment by ID. Use when you need to modify fields of a customer payment record. Updates only the specified fields; all other fields remain unchanged. Common use cases include updating memo notes, email preferences, or transaction metadata.

### Update Employee

**Slug:** `NETSUITE_UPDATE_EMPLOYEE`

Tool to update an employee record by ID. Use when modifying fields of an existing employee.

### Update Invoice

**Slug:** `NETSUITE_UPDATE_INVOICE`

Updates an existing NetSuite invoice record by ID using the PATCH method. Only the fields specified in the 'data' parameter are updated; all other fields remain unchanged. Common use cases: - Update invoice memo or reference numbers - Change invoice email settings or customer contact info - Modify invoice due dates or payment terms - Update custom field values (custbody_* fields) Note: After updating, use the GET_INVOICE action if you need to retrieve the updated invoice data.

### Update Item

**Slug:** `NETSUITE_UPDATE_ITEM`

Tool to update an item record by ID. Use when modifying selected fields of an existing item; omitted fields remain unchanged.

### Update Item Fulfillment

**Slug:** `NETSUITE_UPDATE_ITEM_FULFILLMENT`

Tool to update an Item Fulfillment record by ID. Use when modifying fields or sublists of an existing fulfillment.

### Update Item Receipt

**Slug:** `NETSUITE_UPDATE_ITEM_RECEIPT`

Tool to update an item receipt record by ID. Use when modifying fields of an existing item receipt.

### Update Journal Entry

**Slug:** `NETSUITE_UPDATE_JOURNAL_ENTRY`

Tool to update a journal entry record by ID. Use when modifying fields of an existing journal entry after retrieving its details.

### Update Purchase Order

**Slug:** `NETSUITE_UPDATE_PURCHASE_ORDER`

Tool to update a purchase order record by ID. Use when modifying fields of an existing purchase order. Call after retrieving the record to confirm current values.

### Update Record

**Slug:** `NETSUITE_UPDATE_RECORD`

Tool to update an existing record instance. Use after fetching record metadata.

### Update Sales Order

**Slug:** `NETSUITE_UPDATE_SALES_ORDER`

Updates an existing NetSuite sales order record by ID using PATCH semantics. Only the fields provided in the data parameter will be modified; all other fields remain unchanged. Use this tool when you need to modify specific fields on an existing sales order, such as updating the memo, PO number, or status.

### Update Vendor

**Slug:** `NETSUITE_UPDATE_VENDOR`

Tool to update a vendor record by ID. Use when modifying fields of an existing vendor.

### Update Vendor Bill

**Slug:** `NETSUITE_UPDATE_VENDOR_BILL`

Tool to update a vendor bill record by ID. Use when modifying fields of an existing vendor bill.

### Update Vendor Payment

**Slug:** `NETSUITE_UPDATE_VENDOR_PAYMENT`

Tool to update a vendor payment record by ID. Use when modifying one or more fields on an existing vendor payment.

### Upsert Record by External ID

**Slug:** `NETSUITE_UPSERT_RECORD_BY_EXTERNAL_ID`

Tool to create or update a record by external ID. Use when you need to ensure a record exists or update its fields in one call.
