# Oracle NetSuite MCP

> Oracle NetSuite MCP connects your agent to a massive ERP system for financial, sales, and inventory management. Use natural language commands to query general ledger balances, run complex saved searches across subsidiaries, create new customer records, process sales or purchase orders, and execute advanced data queries using SuiteQL.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** cloud-erp, financial-reporting, sales-orders, inventory-management, business-automation, procurement

## Description

This MCP lets you manage an entire enterprise resource planning operation through simple conversation. Instead of logging into multiple modules or running complicated reports, your agent handles the heavy lifting in NetSuite. You can ask your client to check if a specific customer has overdue invoices over $10k, and it gives you a list immediately. Need to adjust inventory? It checks stock levels by location. Want to close out month-end financials? Your agent queries GL account balances or posts journal entries across different subsidiaries. All the core operations—from tracking vendor bills to updating contact details on customer master data—are available instantly. By connecting through Vinkius, you get access to this full suite of financial and operational tools within one place in your AI client.

## Tools

### execute_suiteql
Runs advanced SQL-like queries against NetSuite records, allowing complex data filtering and joining.

### get_record
Retrieves the full details of a single record type, such as a specific customer or invoice number.

### create_record
Generates and saves brand new NetSuite records like sales orders or journal entries using provided field data.

### update_record
Modifies only the specific fields you need to change on an existing record, saving time and preventing errors.

### delete_record
Permanently removes a NetSuite record. Use this tool with extreme care as the action cannot be undone.

### list_records
Pulls a list of records by type, such as all vendors or recent purchase orders.

### list_customers
Retrieves an overview list of your NetSuite customers.

### list_sales_orders
Gets a quick view of recent sales orders to check statuses and details.

### get_record_metadata
Checks what fields are available for any given record type before you try to create or update it.

## Prompt Examples

**Prompt:** 
```
Show me the revenue breakdown by subsidiary for March 2026.
```

**Response:** 
```
Revenue by Subsidiary (March 2026): 1. US Operations — $2,340,000 (+12% MoM), 2. EU Operations — €1,150,000 (+8% MoM), 3. APAC — ¥89,500,000 (+15% MoM). Total consolidated revenue: $4,120,000. Want me to drill down into any subsidiary?
```

**Prompt:** 
```
Find all customers with overdue invoices above $10,000.
```

**Response:** 
```
Found 12 customers with overdue invoices > $10K: 1. GlobalTech Inc — $45,200 (32 days overdue), 2. Pinnacle Corp — $28,750 (18 days overdue), 3. Summit Holdings — $22,100 (45 days overdue)... Total overdue amount: $312,400. Want me to generate a collections follow-up list?
```

**Prompt:** 
```
Create a sales order for customer 'CUST-1045' with 100 units of item 'SKU-2024-A' at $45 each.
```

**Response:** 
```
Sales Order SO-2026-04567 created successfully! Customer: CUST-1045, Item: SKU-2024-A, Qty: 100, Unit Price: $45.00, Total: $4,500.00. Status: Pending Fulfillment. Would you like me to check stock availability or generate the pick ticket?
```

## Capabilities

### Financial Reporting
Query general ledger balances, post journal entries, or retrieve trial balance reports across any subsidiary.

### Order and Billing Management
Create sales orders, view invoice history, track fulfillment status, or manage purchase order creation for vendors.

### Data Retrieval & Analysis
Run advanced SQL-like queries against any NetSuite record type using SuiteQL, or execute pre-built saved searches to pull complex datasets.

### Master Data Management
Create, read, update, and delete core records like customers, vendors, items, and employees.

## Use Cases

### Auditing a Customer's Finances
A controller needs to know if GlobalTech Inc has any overdue invoices over $10k. They ask their agent, and it runs a search across all invoice records and returns the total outstanding amount immediately.

### Fulfilling an Urgent Order
An order manager needs to process 50 new sales orders for different customers. Instead of logging into the system 50 times, they ask their agent to 'create a sales order' using batch data, and it handles the record creation.

### Reconciling Inventory Discrepancies
A warehouse specialist notices item SKU-2024-A inventory seems off. They use the agent to 'get_record_metadata' first, then run a query to list records by inventory item and check valuations.

### Updating Vendor Details
The procurement team learns that vendor ABC changed its billing address. Instead of finding the old record and manually editing it, they ask their agent to 'update_record' with just the new street address.

## Benefits

- Stop opening 15 different tabs. You can initiate a simple conversation with your agent to check complex data, like running a saved search or checking item stock levels by location.
- You eliminate the need for manual record creation forms. Instead of filling out multiple fields in a web form, you simply ask your agent to 'create a sales order' and provide the necessary details.
- Handling financial tasks is faster than ever. Your client can query GL account balances or post journal entries instantly, bypassing complex report generation menus entirely.
- Inventory management becomes conversational. You no longer need to navigate item records; you just ask for stock levels across multiple locations.
- The `execute_suiteql` tool lets you write powerful data queries without needing an SQL client connection. Just describe the data you want, and your agent handles the syntax.

## How It Works

The bottom line is you get to manage core business functions without ever leaving the chat interface.

1. Subscribe to this MCP on Vinkius and enter your NetSuite credentials (Account ID, Consumer Key, etc.).
2. Connect the service to your preferred AI client like Claude or Cursor.
3. Directly ask your agent in natural language to perform a specific task—for example, 'List all sales orders that were created last week.' 

## Frequently Asked Questions

**How do I check if a customer exists using Oracle NetSuite MCP?**
You can use the `list_customers` tool to get an overview list of all existing customers. For specific details, you should use `get_record` and provide the customer ID.

**Can I run custom reports with Oracle NetSuite MCP?**
Yes, you can execute deep data queries using the `execute_suiteql` tool. This allows running complex SELECT statements that combine multiple record types for highly customized reporting.

**Does Oracle NetSuite MCP handle inventory adjustments?**
You can query current stock levels by location and check item valuations using the agent's capabilities, which access inventory records. For actual changes, you would use `update_record`.

**What if I need to create a journal entry?**
You can generate new financial entries by calling the `create_record` tool and specifying 'journalEntry' as the record type. You just provide the necessary debit/credit details in the JSON body.

**Is Oracle NetSuite MCP safe to use for deleting records?**
The `delete_record` tool is available, but remember this action is irreversible. Always confirm your intent and double-check which record type you are targeting before proceeding.