> For the complete documentation index, see [llms.txt](https://docs.getpurpledot.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getpurpledot.com/docs/shopify-stores/pre-order-automation/oracle-netsuite.md).

# Oracle NetSuite

Purple Dot can read your NetSuite purchase orders to power pre-order automation - matching incoming stock to your Shopify catalog and creating Waitlists from expected delivery dates.

This guide walks through the one-time NetSuite setup, then connecting your NetSuite account to the Purple Dot [Merchant Portal](https://www.purpledotprice.com/merchant-portal/integration).

### **Before you start**

You will need:

* A NetSuite **administrator** account (to enable features, create roles, and set up the integration)
* Access to the Purple Dot **merchant portal** (Settings → Integrations)

Allow 30–45 minutes for the full setup.

### **Step 1: Find your Account ID**

Your Account ID appears in your NetSuite login URL.

**Example:** if you sign in at `https://123456-sb1.app.netsuite.com`, your Account ID is **`123456-sb1`**.

You can also find it at **Setup → Company → Company Information** → **Company URLs** tab.

**Sandbox accounts** include a suffix such as `-sb1` or `-sb2`. You will need to indicate this when connecting in Purple Dot.

### **Step 2: Enable required NetSuite features**

A NetSuite administrator must enable the following features before anything else will work.

Go to **Setup → Company → Enable Features** → **SuiteCloud** tab.

Enable these (you may need to accept the SuiteCloud Terms of Service):

| **Section**                  | **Feature**       |
| ---------------------------- | ----------------- |
| **SuiteTalk (Web Services)** | REST Web Services |
| **Manage Authentication**    | OAuth 2.0         |

Click **Save**.

<figure><img src="/files/JjU1cFawx5QEbcBGVXQV" alt=""><figcaption></figcaption></figure>

Go to **Setup → Company → Enable Features** → **Analytics** tab.

Enable these

| Section                 | Feature                 |
| ----------------------- | ----------------------- |
| SuiteAnalytics Workbook | SuiteAnalytics Workbook |

Click **Save**.

<figure><img src="/files/J3aTINJsaud3Jcq0lYUJ" alt=""><figcaption></figcaption></figure>

### **Step 3: Create an integration role**

Create a dedicated role for Purple Dot. **Do not use the Administrator role** - Purple Dot will not accept it during setup.

Go to **Setup → Users/Roles → Manage Roles → New**.

**Suggested name:** `Purple Dot Integration`

#### **Transactions permissions**

| **Permission**   | **Level** |
| ---------------- | --------- |
| Purchase Order   | View      |
| Find Transaction | View      |

<figure><img src="/files/zpzWamP2VVX0UFdXXZbU" alt=""><figcaption></figcaption></figure>

#### **Reports permissions**

| **Permission**          | **Level** |
| ----------------------- | --------- |
| SuiteAnalytics Workbook | View      |

<figure><img src="/files/9ygXHWx3r1wQ32cpC9ID" alt=""><figcaption></figcaption></figure>

#### **Lists permissions**

| **Permission** | **Level** |
| -------------- | --------- |
| Items          | View      |
| Locations      | View      |

<figure><img src="/files/rP0SiJ9b9o5npJflfcKV" alt=""><figcaption></figcaption></figure>

#### **Setup permissions**

<table data-header-hidden><thead><tr><th width="323.05859375"></th><th></th></tr></thead><tbody><tr><td><strong>Permission</strong></td><td><strong>Level</strong></td></tr><tr><td>Log in using OAuth 2.0 Access Tokens</td><td>Full</td></tr><tr><td>Manage own OAuth 2.0 Client Credentials certificates</td><td>Full</td></tr><tr><td>REST Web Services</td><td>Full</td></tr></tbody></table>

<figure><img src="/files/Z1xc9QnuOEjp8k5tR61g" alt=""><figcaption></figcaption></figure>

#### **Leave unchecked**

* **Web Services Only Role**
* **Administrator** - Purple Dot will reject users with Administrator access

Click **Save**.

### **Step 4: Create an integration user**

Create a dedicated NetSuite user for this connection - do not use a personal admin account for day-to-day authorization.

1. Go to **Lists → Employees → Employees → New**
2. Create a user, e.g. `purpledot-integration@yourcompany.com`.
3. On the **Access** tab:
   * Check **Give Access**
   * Set a password (needed for the one-time authorization step)
   * Under **Roles**, assign **only** the `Purple Dot Integration` role
4. Click **Save**.

<figure><img src="/files/q3ooJxNxukD9aZhjUnJ4" alt=""><figcaption></figcaption></figure>

### **Step 5: Create a Purple Dot integration in NetSuite**

A NetSuite administrator creates the integration record that Purple Dot will connect to.

Go to **Setup → Integration → Manage Integrations → New**.

#### **General**

| **Field** | **Value**               |
| --------- | ----------------------- |
| **Name**  | Purple Dot (or similar) |
| **State** | Enabled                 |

#### **Authentication tab**

Under **OAuth 2.0**, enable:

* Authorization Code Grant
* Client Credentials (Machine to Machine) Grant
* **Public Client** - Purple Dot does not require a client secret

Under **Scope**, enable:

* REST Web Services

#### **Redirect URI**

Add the following callback URL

```
<https://www.purpledotprice.com/merchant-portal/connections/netsuite/callback>
```

Copy this URL **exactly** - it must match character for character.

Click **Save**.

<figure><img src="/files/AYXfHAAP9BwGPPsC5sbD" alt=""><figcaption></figcaption></figure>

#### **Copy your Client ID**

After saving, NetSuite displays a **Client ID**. Copy it now - you cannot view it again later.

If you missed it, edit the integration and use **Reset Credentials** to generate a new Client ID.

<figure><img src="/files/1AYgdcn0HNgfuN2CA7oO" alt=""><figcaption></figcaption></figure>

### **Step 6: Connect in Purple Dot**

1. In the Purple Dot merchant portal, go to **Settings → Integrations**.
2. Find **NetSuite** and click **Connect**.

#### **Part A - Enter your details**

In the connect modal:

* **Account ID** - from Step 1
* **Client ID** - from Step 5
* **Sandbox account** - check this if your Account ID includes a sandbox suffix (e.g. `sb1`)
* Click **Connect**

Purple Dot will prepare your connection. This usually takes a few seconds.

<figure><img src="/files/8myeUi2ZOYk4vBOYJDAh" alt=""><figcaption></figcaption></figure>

#### **Part B - Authorize in NetSuite**

**Important:** Do **NOT** authenticate as an Administrator role. Choose the role you created in Step 3

1. When ready, click **Finish set-up**.
2. Sign in to NetSuite using your **integration user** (from Step 4).
3. On the consent screen:
   * Click **Choose Another Role**
   * Select **Purple Dot Integration** — not Administrator
   * Click **Allow**
4. You will be returned to Purple Dot. NetSuite should now appear under your live integrations.

<figure><img src="/files/xyfo6HbAtVgvzz6iqEcT" alt=""><figcaption></figcaption></figure>

### **What happens after you connect**

Once connected, Purple Dot can read your NetSuite purchase orders — including SKUs, quantities, locations, and expected delivery dates — to draft waitlists automatically.

You can configure which locations and purchase orders to include when setting up waitlist automation in Purple Dot.

### **Troubleshooting**

| **Problem**                         | **What to try**                                                                                                                 |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Authorization fails immediately     | Check that the redirect URI in NetSuite matches the URL shown in the Purple Dot wizard exactly                                  |
| "Administrator role cannot be used" | On the NetSuite consent screen, click **Choose Another Role** and select your integration role                                  |
| "Cannot query purchase orders"      | Review the role permissions in Step 3 — especially SuiteAnalytics Workbook, Purchase Order View, Items View, and Locations View |
| Lost your Client ID                 | Edit the integration in NetSuite and reset credentials to generate a new one, then update it in Purple Dot                      |
| Need to start over                  | Use **Start over** in the Purple Dot connect wizard to clear progress and begin again                                           |

### **Checklist**

* \[ ] REST Web Services, OAuth 2.0, and SuiteAnalytics Workbook enabled in NetSuite
* \[ ] Integration role created with the required permissions
* \[ ] Dedicated integration user created with only that role
* \[ ] Integration record created (Enabled, with OAuth grants and REST Web Services scope)
* \[ ] Redirect URI matches Purple Dot exactly
* \[ ] Client ID saved
* \[ ] Connected in Purple Dot and authorization completed with the integration user and role

***

If you get stuck, contact Purple Dot support with your Account ID and a description of where the setup failed.
