SuperSync Integrations - Legacy ShipStation Documentation

ShipStation ↔ NetSuite Integration (SuperSync)

This document describes how the legacy ShipStation connector behaves and what each configuration field means. Use this as a reference when setting up, troubleshooting, or understanding how your ShipStation integration is configured in SuperSync.


Overview

SuperSync connects ShipStation with NetSuite to keep orders, fulfillments, and shipment data in sync between the two platforms. Depending on how your flow and mapping are configured, data can move in one or both directions.

DirectionTypical Use
ShipStation → NetSuiteImport orders, fulfillments, shipments, or return authorisations from ShipStation into NetSuite
NetSuite → ShipStationPush sales orders from NetSuite into ShipStation for fulfillment

Authentication uses Basic Auth with a ShipStation API Key and API Secret. All requests are made to https://ssapi.shipstation.com.


Credentials

FieldRequiredDescription
API_KEYYesYour ShipStation API Key. Found in ShipStation under Settings > API Settings.
API_SECRETYesYour ShipStation API Secret. Found alongside the API Key in ShipStation settings. Missing either value will prevent the integration from initialising.

ShipStation → NetSuite

This direction pulls records from ShipStation and creates or updates the corresponding records in NetSuite.

Supported Record Types

Set the Record Type field in your flow mapping to one of the following values:

Record Type ValueWhat It Syncs
order or salesorderShipStation orders → NetSuite sales orders
itemfulfillment, fulfillment, or shipmentShipStation fulfillments/shipments → NetSuite item fulfillments
returnauthorisationShipStation return shipments (where isReturnLabel is true) → NetSuite
employeeShipStation users → NetSuite employees

How Incremental Sync Works

For orders and fulfillments, SuperSync uses the last successful sync date as the start of the next sync window, with a floor set by the Live Date config. This ensures only new or updated records are pulled on each run.

Configuration Fields

Identity and Date Fields

These fields tell SuperSync which properties on the ShipStation record to use for tracking, deduplication, and date windowing.

FieldDefault (orders)Default (fulfillments)Description
IDorderIdfulfillmentIdThe ShipStation field used as the unique record identifier. Used for deduplication — records with a matching ID that have already synced successfully will be skipped.
REFERENCEorderNumberorderNumberThe ShipStation field stored as the transaction reference in SuperSync.
DATEmodifyDatemodifyDateThe ShipStation date field used to drive the sync window. Must be a valid date property on the ShipStation record.
LIVE_DATE2021-12-252021-12-25The earliest date from which records will be synced. Records before this date are ignored. Also acts as the floor for incremental sync. Format: YYYY-MM-DD.

Order-Specific Fields

FieldDescription
STATUSESA comma-separated list of ShipStation order statuses to filter by (e.g. awaiting_shipment,on_hold). When set, SuperSync runs a separate API call for each status and merges the results. If left empty, all statuses are returned. Note: ShipStation's API only supports one status filter per request — SuperSync handles the iteration automatically.

Fulfillment-Specific Fields

FieldDefaultDescription
SEARCH_MAPPING_NAME(empty)When set, SuperSync uses a NetSuite saved search (identified by this name) to retrieve a list of order IDs, then fetches each fulfillment from ShipStation individually. When left empty, SuperSync fetches fulfillments using a time-based window instead.
NS_ORDER_ID_PROPERTYinternalidRequired when SEARCH_MAPPING_NAME is set. Specifies which field in the NetSuite search results contains the order ID to look up in ShipStation.
ORDER_IDENTIFIEROrderIdThe ShipStation field used to match fulfillments to orders when fetching by order. Defaults to OrderId.
LOOKUP_ORDERfalseWhen set to true, SuperSync performs an additional ShipStation API call to retrieve the originating order for each fulfillment and attaches it to the record before mapping. Useful when the mapping requires order-level fields not present on the fulfillment.

Write-Back Fields (ShipStation → NetSuite)

After a record is successfully synced to NetSuite, SuperSync can optionally write an export status back to the original NetSuite record.

FieldDefaultDescription
MARK_IN_NETSUITEcustbody_ss_exported_idThe NetSuite custom field where the ShipStation result ID is written after a successful sync.
MARK_IN_NETSUITE_EXPORTED_SUCCESScustbody_ss_export_successThe NetSuite custom field used to flag a record as successfully exported.

Mapping Configuration

The Mapping Configuration JSON defines how each ShipStation record is transformed into a NetSuite record. This is not a ShipStation API setting — it is input to SuperSync's decoder and controls what NetSuite receives (field values, nesting, line items, date formatting, etc.).

  • Changing ID, DATE, or REFERENCE affects which ShipStation fields are used for tracking and deduplication — it does not affect the NetSuite payload directly.
  • Changing the Mapping Configuration JSON controls what data is written to NetSuite.

NetSuite → ShipStation

This direction reads records from NetSuite using a saved search and pushes them to ShipStation as orders.

Supported Record Types

Record Type ValueWhat It Syncs
order or salesorderNetSuite sales orders → ShipStation orders

How It Works

  1. SuperSync runs the saved search defined in Search Mapping Name to retrieve a list of NetSuite records.
  2. Results are grouped by internalid and compiled into order-level records with line items.
  3. Each order is decoded using the Mapping Configuration JSON and sent to ShipStation.
  4. For order syncs, SuperSync batches records in groups of 5 for efficiency.

Configuration Fields

Identity and Date Fields

FieldDefaultDescription
IDinternalidThe NetSuite field used as the unique record identifier for deduplication and tracking.
REFERENCEtranidThe NetSuite field stored as the transaction reference in SuperSync.
DATEtrandateThe NetSuite date field used for record validation. Must be present on each record.

Search and Grouping Fields

FieldDefaultDescription
SEARCH_MAPPING_NAME(required)The name of a saved Flow Mapping that defines the NetSuite search used to retrieve records. Must match an existing mapping on the same account exactly. If missing or not found, the sync will throw an error.
GROUP_RECORDS_BYinternalidThe field used to group NetSuite search result rows into single order records before sending to ShipStation.
LINE_ITEM_PROPERTYlineuniquekeyThe field used to uniquely identify each line item row within a grouped record.
LINE_ITEM_PROPERTIES(list)The set of fields carried over from NetSuite search results onto each line item. Defaults include sku, quantity, UnitPrice, description, location, and others. Can be inferred automatically from the Mapping Configuration JSON.
MAINLINE_PROPERTYmainlineThe field used to identify the mainline row in a NetSuite search result.
MAINLINE_VALUE*The value of MAINLINE_PROPERTY that indicates a row is the mainline.
MAINLINE_PROPERTIES(list)The set of fields carried over from the mainline row onto the order-level record. Defaults include address fields, shipping fields, entity, email, and totals.

Batch Processing

FieldDefaultDescription
NO_BATCHESfalseWhen set to true, records are sent to ShipStation one at a time instead of in batches of 5. Useful for troubleshooting or when batch processing causes issues. This is the same as enabling Sync records one-by-one in the flow mapping UI.

Write-Back Fields (NetSuite → ShipStation)

After a record is successfully sent to ShipStation, SuperSync can write the ShipStation result back to the original NetSuite record.

FieldDefaultDescription
MARK_IN_NETSUITEcustbody_ss_exported_idThe NetSuite custom field where the ShipStation Order ID is written after a successful sync.
MARK_IN_NETSUITE_EXPORTED_SUCCESScustbody_ss_export_successThe NetSuite custom field used to flag a record as successfully exported to ShipStation.

Troubleshooting

SymptomLikely Cause
"api key or api secret not set"API_KEY or API_SECRET is missing from the flow mapping configuration.
"No Search Mapping Provided"A NetSuite → ShipStation flow (or fulfillment flow using search mode) is missing SEARCH_MAPPING_NAME.
"flow mapping 'X' not found"The value in SEARCH_MAPPING_NAME doesn't match any existing flow mapping on the account — check for typos or confirm the mapping exists.
Record skipped, no errorThe record was already successfully synced (matching transaction ID and flow found in sync history). This is by design to prevent duplicates.
401 / authentication errorAPI_KEY or API_SECRET is incorrect. Verify values in ShipStation under Settings > API Settings.
429 / rate limit errorSuperSync automatically detects this and waits for the rate limit window to reset before retrying. No action needed.
Missing fields on fulfillmentsIf order-level fields are needed but not available on the fulfillment record, enable LOOKUP_ORDER to fetch the originating order from ShipStation.

If you have questions or run into issues not covered here, reach out to supersync@netgain.tech.


Was this article helpful?