Skip to content
  • There are no suggestions because the search field is empty.

NetSuite Integration

The NetSuite integration connects WizCommerce with NetSuite, Oracle's cloud-based ERP, so that products, customers, orders, invoices, shipments, payments, and inventory stay in sync between the two systems automatically.

This article walks through what the integration does, how to set it up, what data flows in which direction, and what to do when something doesn't look right.

Platform: WizCommerce (with NetSuite)     |     Who is this for: Admins


Table of Contents


Before You Begin

NetSuite uses token-based authentication with OAuth 1.0 / HMAC-SHA256 encryption. Before starting, make sure your NetSuite administrator can:

  • Sign in to NetSuite with the Admin role.
  • Create users and manage integrations.
  • Provision a sandbox environment for testing (strongly recommended before connecting production).

You will need to enable a few NetSuite features, create a dedicated integration user, and generate credentials that your WizCommerce team uses to complete the connection.


A. How NetSuite Connection Works

Your NetSuite admin performs the setup on the NetSuite side, then shares the resulting credentials with the  WizCommerce team. The high-level flow:

  1. Enable required features. In NetSuite, go to Setup > Company > Enable Features. On the SuiteCloud tab, enable Web Services and SuiteScript. On the Manage Authentication tab, enable Token-Based Authentication. Confirm REST Web Services is enabled. Click Save.
  2. Create an integration record. Go to Setup > Integrations > Manage Integrations > New. Name it (for example, WizCommerce_API_Integration), set the state to Enabled, check Token-Based Authentication, and save. This generates a Consumer Key and Consumer Secret. Store both securely, the Consumer Secret is only shown once.
  3. Create a dedicated API user with the Admin role. Send the invite and have the user accept it before tokens can be issued.
  4. Generate access tokens. Go to Home > Manage Access Tokens, select the integration application, assign the API user and the Admin role, name the token, and save. This generates a Token ID and Token Secret. Store both securely.
  5. Note your NetSuite Account ID. Go to Setup > Company > Company Information. For REST API connections, WizCommerce uses the Account ID with the underscore replaced by a hyphen.
  6. Share Consumer Key, Consumer Secret, Token ID, Token Secret, and Account ID with your CSM. WizCommerce team completes the WizCommerce-side configuration, runs the first sync, and confirms the connection.

The integration uses three NetSuite methods together depending on the data being synced: the REST API for most records, SuiteQL queries for advanced retrieval (for example, location-based inventory), and Saved Searches via SuiteScript for complex filtering scenarios.


B. What Data Syncs Between NetSuite and WizCommerce

The integration between NetSuite and WizCommerce keeps your data in sync across both platforms. Below is a quick overview of the entities that sync and the direction of the data flow.

Entity

Direction

Notes

Products

NetSuite → WC

Item codes, descriptions, pricing, volume tiers, variants (matrix items), images and media URLs. Inventory Items, Assembly Items, and Kit Items are supported. Both active and inactive products sync, this ensures that if a product is deactivated on your end, the change is reflected in WizCommerce as well.

Customers

Both ways

New customers in WizCommerce push to NetSuite. Updates flow both ways. Contacts, addresses, sales rep, and pricelist assignments are mapped.

Orders

Both ways

Orders in WizCommerce push to NetSuite as Sales Orders. NetSuite-origin orders pull into WizCommerce.

Estimates / Quotes

WC → NetSuite

Quotes from WizCommerce push to NetSuite as Estimates for review and approval.

Invoices

NetSuite → WC

Invoices generated in NetSuite (typically after fulfillment) pull into WizCommerce. Linked to their Sales Order through NetSuite's document chain.

Shipments

NetSuite → WC

Item Fulfillment records pull in, including carrier and tracking.

Payments

WC → NetSuite

Online payments collected through WizCommerce push to NetSuite as Customer Deposits.

Inventory

NetSuite → WC

Stock by warehouse location. Tracks On Hand, Available, Committed, On Order, and Backordered.

Kit items

NetSuite → WC

Bundled products with combined availability based on component stock.

Credit memos

NetSuite → WC

Refunds and adjustments. Linked to their related invoice and order.


C. How Records Are Matched and Linked

Every record is tracked using a Reference ID (the NetSuite Internal ID) so updates always go to the correct record and duplicates are never created. When a record is created in NetSuite through a push from WizCommerce, the Internal ID returned by NetSuite is stored as the reference for all future updates.

NetSuite also links business documents in a chain: Sales Order → Invoice → Payment → Shipment → Credit Memo. When WizCommerce pulls an order, it can automatically pull related invoices and shipments in the same sync (Linked Entity Sync) so the full transaction history is available without separate manual pulls.


D. Sync Timing

The integration runs in three modes:

Mode

How it works

Scheduled background sync

Runs automatically at regular intervals. Only fetches records that have changed since the last sync (incremental, timestamp-based).

On-demand sync

Can be triggered manually when needed — for example, after a bulk product import in NetSuite, or to refresh inventory.

Event-driven push

Actions in WizCommerce (placing an order, making a payment) trigger an immediate push to NetSuite without waiting for the scheduled sync.

The system also supports syncing specific records by ID, useful for refreshing a single customer, order, or product without running a full sync. Manual sync requests are coordinated through WizCommerce team.


E. Configurable Settings

The integration can be tuned per account. Common settings include customer and product filters, product variant support, sales rep mapping, catalog mapping (NetSuite price levels to WizCommerce catalog groups), subsidiary filter, timezone, inventory location filter, saved search configuration, linked entity sync, payment method push, and inventory batch size.

Configuration changes are made by WizCommerce team working with the integrations team. Contact WizCommerce team if you want to adjust any of these.


F. Troubleshooting and Common Issues

» A new customer in NetSuite isn't showing in WizCommerce
  • Confirm the customer is active in NetSuite and that all mandatory fields are filled in (address, contact, payment terms).
  • For multi-subsidiary accounts, confirm the customer is in the configured subsidiary, WizCommerce filters records from other subsidiaries.
  • Wait for the next scheduled customer sync, or request a manual sync from WizCommerce team.
» A new product or SKU isn't showing
  • Confirm the product is Active in NetSuite.
  • Confirm the product type is supported: Inventory Items, Assembly Items, or Kit Items.
  • For variants, confirm the parent matrix item exists in NetSuite, variants are automatically grouped under their parent.
» Product images are missing or broken

NetSuite does sync product images and media URLs. First confirm the image is correctly set on the product in NetSuite. If it's set in NetSuite but not appearing in WizCommerce, contact help@wizcommerce.com with the SKU.

» The price in WizCommerce differs from NetSuite

NetSuite price levels map to WizCommerce catalog groups via configurable mapping. Volume / tiered pricing is supported. If a customer's price isn't matching, confirm the customer is on the correct catalog in WizCommerce and that the corresponding price level exists in NetSuite.

» Inventory doesn't match

Inventory is pulled per warehouse location. WizCommerce shows the most recent sync, not real-time stock. If your account's location filter excludes a particular warehouse, stock from that warehouse will not appear in WizCommerce availability. For accurate timing, reconnect and let the next inventory sync run.

» An order failed because of "mandatory fields missing on customer profile"

Typical error: "The record instance does not exist. Provide a valid record instance ID" (NetSuite error code NONEXISTENT_ID), often surfacing as a customer/contact error.

What to do: Fill in any missing buyer address, contact details, or other required fields on the customer profile in WizCommerce. Push the customer to NetSuite. Once the customer has synced successfully, push the order.

» An order failed because a SKU isn't in NetSuite

Add the item to NetSuite first, then retry the order push. If the product on the order doesn't exist in WizCommerce either, the integration creates a temporary ad-hoc product entry so the order isn't lost, but for clean reporting, add the real product as soon as possible.

» Customer or order is pushing with the wrong sales rep

The sales rep mapping is configurable. Contact WizCommerce team - they will update the mapping and trigger a customer re-sync.

» NetSuite was temporarily down

If NetSuite is unavailable, the integration automatically retries up to 3 times with increasing wait intervals. Once NetSuite is back online, the next scheduled sync will pick up changes from the downtime. If the issue persists across multiple sync cycles, contact help@wizcommerce.com


FAQs

1. Do I need to enter data in both NetSuite and WizCommerce?

A. No. The integration keeps both systems in sync automatically. Product catalogs and inventory are typically managed in NetSuite, while online orders and payments flow from WizCommerce to NetSuite.

2. How quickly does data sync to NetSuite?

A. Event-driven pushes (new orders, payments) happen immediately. Scheduled syncs run at configured intervals and only process records that have changed since the last sync.

3. Is the connection secure between NetSuite & WizCommerce?

A.Yes. The integration uses OAuth 1.0 authentication with HMAC-SHA256 encryption, an industry-standard security protocol. Credentials are stored securely and managed automatically.

4. We have multiple subsidiaries in NetSuite. Is that supported?

A. Yes. Subsidiary filtering ensures only records from the configured subsidiary sync.

5. What happens if a product on an order doesn't exist in WizCommerce?

A. A temporary product entry is created automatically so the order isn't lost. The temporary entry can be updated when the full product sync runs.


Still need help? Reach out to our support team at help@wizcommerce.com.