Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The NetSuite Pro

The NetSuite Pro Logo The NetSuite Pro Logo

The NetSuite Pro Navigation

  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • NetSuite Customization
    • NetSuite Integration
    • NetSuite Advanced PDF Templates
    • NetSuite Reporting & Analytics Guide
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask A Question
  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • NetSuite Customization
    • NetSuite Integration
    • NetSuite Advanced PDF Templates
    • NetSuite Reporting & Analytics Guide
  • Blog
  • Contact Us
Home/ NetSuite Integration/ Shopify–NetSuite Integration: The Complete Beginner’s Guide/Shopify–NetSuite Prerequisites: Accounts, Roles & Setup

Shopify–NetSuite Prerequisites: Accounts, Roles & Setup

Introduction

Before you can connect Shopify and NetSuite, you need to lay the foundation. This is the prerequisites phase — ensuring both systems have the right accounts, permissions, tokens, and roles in place.

Skipping or rushing this step often leads to integration errors later. For example:

  • Shopify requests failing because of missing API scopes.
  • NetSuite rejecting requests due to insufficient role permissions.
  • Orders not syncing because sandbox vs. production wasn’t set up properly.

This guide explains everything you need to do in both Shopify and NetSuite before building your integration.

By the end of this page, you’ll have:

  • A Shopify custom app with Admin API tokens.
  • A NetSuite integration role with token-based authentication.
  • A sandbox testing plan to validate before going live.
  • Reference mapping tables for inventory, tax, discounts, and payments.

1. Shopify Setup for Integration

1.1. Choosing the Right Shopify Plan

Integration works on all Shopify plans, but capabilities differ:

  • Shopify Basic/Standard → Enough for most small stores.
  • Shopify Advanced → Gives more API call limits.
  • Shopify Plus → Recommended for larger businesses; higher API limits and extra automation tools like Shopify Flow and Launchpad.

👉 If your store processes more than 500+ orders/day, Shopify Plus is strongly recommended for stability.


1.2. Creating a Shopify Custom App

To connect NetSuite, you need a Shopify Custom App. This provides secure API tokens for authentication.

Step-by-step:

  1. Go to Shopify Admin Dashboard → Settings.
  2. Select Apps and Sales Channels.
  3. Scroll down → click Develop Apps for your Store (you may need to enable developer mode).
  4. Click Create an App.
    • Name it something clear like: NetSuite Integration.
    • Assign an app developer (usually your own account).
  5. Save the app.

1.3. Assigning API Scopes

Scopes determine what data the app can access. Without proper scopes, you’ll see “403 Forbidden” or “Access Denied” errors.

Here are the minimum scopes for a Shopify–NetSuite integration:

  • Customers → read_customers, write_customers
  • Orders & Fulfillment → read_orders, write_orders, read_fulfillments, write_fulfillments
  • Products & Inventory → read_products, write_products, read_inventory, write_inventory
  • Locations → read_locations (needed for inventory mapping)
  • Refunds & Returns → read_returns, write_returns, read_discounts
  • Payments & Transactions → read_payment_terms, read_transactions

👉 Tip: Start with read-only access in testing, then add write permissions when you’re ready to push data.


1.4. Generating the API Token

  1. From the app page → Click Configuration → select the scopes above.
  2. Click Install App.
  3. Shopify will generate:
    • Admin API Access Token (the key you’ll use in integration scripts).
    • API Key & API Secret (needed for OAuth2 flows).
    • Store URL (e.g., mystore.myshopify.com).
  4. Copy and save these values securely.

👉 Warning: Shopify only shows the Admin API token once. Store it in a password manager.


1.5. API Versioning in Shopify

Shopify updates APIs every quarter (e.g., 2025-01, 2025-04).

  • Always lock your integration to a specific version.
  • Otherwise, future updates may break your integration.

Example REST call:

https://mystore.myshopify.com/admin/api/2025-01/orders.json

2. NetSuite Setup for Integration

Now that Shopify is ready, let’s configure NetSuite.


2.1. Working with Sandbox vs. Production

  • Sandbox = Testing environment (no risk).
  • Production = Live data.

👉 Always build and test in Sandbox first, then promote to Production.

Request a Sandbox refresh if you want real store data mirrored for testing.


2.2. Creating a NetSuite Integration Role

The integration should run under a dedicated role, not your personal account.

Steps:

  1. Go to Setup → Users/Roles → Manage Roles → New.
  2. Create a new role, e.g., Shopify Integration Role.
  3. Add permissions:
    • Web Services (Full)
    • REST Web Services (Full)
    • Custom Record Permissions (if you use custom fields/records).
    • Transactions → Sales Order, Cash Sale, Credit Memo, Refund.
    • Lists → Customers, Items, Locations, Tax Records.
    • Setup → Log in using TBA.
  4. Assign this role to your integration user.

2.3. Enabling Token-Based Authentication (TBA)

  1. Go to Setup → Company → Enable Features.
  2. Under SuiteCloud, enable:
    • SOAP Web Services
    • REST Web Services
    • Token-Based Authentication
  3. Save.

2.4. Creating Integration Record

  1. Go to Setup → Integrations → Manage Integrations → New.
  2. Enter:
    • Name: Shopify Integration.
    • Enable Token-Based Authentication.
    • Disable User Credentials (for security).
  3. Save.

NetSuite will generate:

  • Consumer Key
  • Consumer Secret

👉 Save them securely.


2.5. Generating Tokens for the Role

  1. Go to Setup → Users/Roles → Access Tokens → New.
  2. Select:
    • Application = Shopify Integration (from above).
    • User = Integration user.
    • Role = Shopify Integration Role.
  3. Save.

NetSuite generates:

  • Token ID
  • Token Secret

These, plus the Consumer Key/Secret, are what your integration uses.


2.6. RESTlets vs. REST Web Services

You can choose either:

  • RESTlets (SuiteScript endpoints):
    • Flexible, custom logic, lightweight.
    • Best for specific workflows (e.g., creating Sales Orders from Shopify).
  • REST Web Services:
    • Standard record CRUD operations.
    • Best for basic operations (customers, items, inventory).

👉 Best practice: Use RESTlets for complex order logic and REST Web Services for item/inventory sync.


3. Mapping Data Between Shopify & NetSuite

Before coding or connector setup, define mappings.


3.1. Location Mapping

Shopify Location IDShopify Location NameNetSuite Location IDNetSuite Location Name
1234567890Toronto Warehouse5Toronto
9876543210US Fulfillment7Chicago

3.2. Tax Mapping

Shopify TaxNetSuite Tax Code
Ontario HST (13%)HST13_ON
California Sales Tax (8.25%)CA_SALES_825

3.3. Payment Mapping

Shopify GatewayNetSuite Payment Method
Shopify PaymentsCredit Card
PayPalPayPal
Amazon PayACH

3.4. Discount Mapping

Shopify Discount TypeNetSuite Mapping
Code “SUMMER10”Line-level discount
Automatic 15% OffSummary discount

4. Sandbox Testing Checklist

Before going live, always test:

  • ✅ Create test products with variants in Shopify → sync to NetSuite.
  • ✅ Place test orders (with discounts, multiple items, taxes).
  • ✅ Confirm Sales Order is created in NetSuite.
  • ✅ Fulfill order in NetSuite → confirm Shopify gets tracking.
  • ✅ Refund order in Shopify → confirm Credit Memo in NetSuite.
  • ✅ Stress test: 50+ orders in 10 minutes → confirm no API limits hit.

5. Best Practices for Beginners

  • Always use Sandbox first → Never test in production.
  • Keep API tokens secret → Store in AWS Secrets Manager, Vault, or similar.
  • Monitor API limits → Shopify has request limits (2 requests/sec, 40 per app).
  • Use logging & error alerts → Don’t silently fail.
  • Review permissions regularly → Apply least privilege.

Summary

By now, you’ve:

  • Set up a Shopify Custom App with API tokens.
  • Created a NetSuite integration role with token authentication.
  • Prepared mapping tables for locations, taxes, payments, and discounts.
  • Built a sandbox testing plan to validate before going live.

With these prerequisites done, you’re ready to move into the next step of integration: choosing an architecture (Connector vs. Custom API).

👉 Continue to the next guide: Shopify–NetSuite Architectures: Connector vs. Custom

Share
  • Facebook

Leave a ReplyCancel reply

Sidebar

Ask A Question

Stats

  • Questions 6
  • Answers 6
  • Best Answers 0
  • Users 2
  • Popular
  • Answers
  • Rocky

    Issue in running a client script in NetSuite SuiteScript 2.0 ...

    • 1 Answer
  • admin

    How can I send an email with an attachment in ...

    • 1 Answer
  • admin

    How do I avoid SSS_USAGE_LIMIT_EXCEEDED in a Map/Reduce script?

    • 1 Answer
  • admin
    admin added an answer The issue is usually caused by following Wrong script file… September 14, 2025 at 10:33 pm
  • admin
    admin added an answer Steps to send an Invoice PDF by email: define(['N/email', 'N/render',… August 28, 2025 at 3:05 am
  • admin
    admin added an answer This error means your script hit NetSuite’s governance usage limit… August 28, 2025 at 3:02 am

Top Members

Rocky

Rocky

  • 1 Question
  • 22 Points
Begginer
admin

admin

  • 5 Questions
  • 2 Points

Trending Tags

clientscript netsuite scripting suitescript

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

© 2025 The NetSuite Pro. All Rights Reserved