Skip to content
Skillpedia
Agents77k · #1377

NetSuite Automation

Helps your agent manage NetSuite, an ERP system. It controls customers, orders, and inventory using queries.

What it does

This tool helps you manage information in the NetSuite system, like customers, sales orders, and inventory. You can create new records, search for data with custom queries, or update existing information.

When to use it

  • ✓Creating a new sales order for a customer.
  • ✓Finding all customers living in a specific city.
  • ✓Updating the address of an existing customer.

Example of what to ask your AI

“Create a new customer named 'Example Company' with the email 'contact@example.com' and phone number '11999998888'.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/netsuite-automation/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/netsuite-automation/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool connects to your NetSuite system. You tell it what you want to do (like create a customer or search data), and it performs the action in NetSuite for you.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add ComposioHQ/awesome-claude-skills --skill NetSuite Automation

Or download just the file:

curl -L https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/composio-skills/netsuite-automation/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

NetSuite Automation

Automate Oracle NetSuite ERP operations including creating customers and sales orders, running SuiteQL queries, upserting records by external ID, and inspecting record metadata for comprehensive business management.

Toolkit docs: composio.dev/toolkits/netsuite


Setup

This skill requires the Rube MCP server connected at https://rube.app/mcp.

Before executing any tools, ensure an active connection exists for the netsuite toolkit. If no connection is active, initiate one via RUBE_MANAGE_CONNECTIONS.


Core Workflows

1. Create Sales Orders

Create customer orders with line items including item references, quantities, and pricing.

Tool: NETSUITE_CREATE_SALES_ORDER

Key Parameters:

  • entity (required) -- Customer reference: {"id": "<internal_id>"}
  • item (required) -- Container with items array, each containing:
    • item (required) -- Item reference: {"id": "<internal_id>"}
    • quantity (required) -- Units to order (non-negative)
    • rate -- Unit price (optional if item has default pricing)
    • amount -- Total line amount (alternative to rate)
    • taxcode -- Tax code reference: {"id": "<internal_id>"} (required if SuiteTax enabled)
    • description -- Line item notes
  • tranDate -- Transaction date in YYYY-MM-DD format
  • memo -- Header memo
  • orderStatus -- "A" (Pending Approval) or "B" (Pending Fulfillment)
  • otherrefnum -- External reference or PO number

Example:

Tool: NETSUITE_CREATE_SALES_ORDER
Arguments:
  entity: {"id": "1234"}
  item: {
    "items": [
      {"item": {"id": "56"}, "quantity": 10, "rate": 25.00},
      {"item": {"id": "78"}, "quantity": 5, "rate": 50.00}
    ]
  }
  tranDate: "2026-02-11"
  memo: "Q1 bulk order"
  orderStatus: "B"

2. Run SuiteQL Queries

Execute ad-hoc SQL queries against NetSuite data with server-side paging.

Tool: NETSUITE_RUN_SUITEQL_QUERY

Key Parameters:

  • q (required) -- SuiteQL SELECT statement
  • limit -- Rows per page (default varies)
  • offset -- Zero-based index of first row (must be a multiple of limit)

Examples:

Tool: NETSUITE_RUN_SUITEQL_QUERY
Arguments:
  q: "SELECT id, companyname, email FROM customer WHERE isinactive = 'F' ORDER BY companyname"
  limit: 100
  offset: 0
Tool: NETSUITE_RUN_SUITEQL_QUERY
Arguments:
  q: "SELECT id, entitystatus, total FROM transaction WHERE type = 'SalesOrd' AND trandate >= '2026-01-01'"
  limit: 50

3. Create and Manage Customers

Create new customer records with subsidiary assignment and contact details.

Tools:

  • NETSUITE_CREATE_CUSTOMER -- Create a new customer
  • NETSUITE_GET_CUSTOMER -- Retrieve customer by internal ID
  • NETSUITE_UPDATE_CUSTOMER -- Update existing customer (PATCH semantics)

Key Parameters for NETSUITE_CREATE_CUSTOMER:

  • body (required) -- JSON object with customer data. Required fields:
    • subsidiary -- Object with id (subsidiary internal ID)
    • Either companyName (for businesses) or firstName + lastName (for individuals)
    • Optional: email, phone, isPerson (set to "T" for individuals), comments
  • replace -- Comma-separated sublist names to fully replace (e.g., "contacts,addressbook")

Example:

Tool: NETSUITE_CREATE_CUSTOMER
Arguments:
  body: {
    "companyName": "Acme Corp",
    "subsidiary": {"id": "1"},
    "email": "info@acme.com",
    "phone": "555-0100"
  }

4. Upsert Records by External ID

Create or update records idempotently using an external identifier. Essential for sync workflows.

Tool: NETSUITE_UPSERT_RECORD_BY_EXTERNAL_ID

Key Parameters:

  • record_type (required) -- Record type name, e.g., "customer", "salesorder", "customrecord_myrec"
  • external_id (required) -- External ID value (letters, numbers, underscore, hyphen only)
  • body (required) -- JSON object matching the record schema; include mandatory fields when creating

Example:

Tool: NETSUITE_UPSERT_RECORD_BY_EXTERNAL_ID
Arguments:
  record_type: "customer"
  external_id: "CRM-CUST-42"
  body: {
    "companyName": "Acme Corp",
    "subsidiary": {"id": "1"},
    "email": "updated@acme.com"
  }

Warning: Idempotency depends on consistent external ID usage. Mismatches silently create additional records instead of updating.


5. Inspect Record Metadata

…

FAQ

Do I need to know the internal ID of a customer or item?

Yes, for many operations, like creating a sales order, you'll need the internal ID for the customer and items. You can use the search tool to find these.

What is 'SuiteQL'?

SuiteQL is a query language (similar to SQL) that allows you to retrieve specific information from your NetSuite system in a flexible way.

How does the tool know which NetSuite account to use?

You need to set up a secure connection between the tool and your NetSuite account. This is typically done through a server called Rube MCP.

Details

Original description by the author

NetSuite Automation: manage customers, sales orders, invoices, inventory, and records via Oracle NetSuite ERP with SuiteQL queries

repo: ComposioHQ/awesome-claude-skills

Popularity

GitHub stars
77k
Ranking position
#1377
License
—
Updated
9/18/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills