# Setting unique IDs for  NetSuite product syncs (services)

## Introduction

When synching products from a source system into NetSuite, every item must have a unique identifier which Patchworks can use for record matching. Typically, this identifier is known as the **ExternalID**.

{% hint style="info" %}
Less commonly - depending on integration requirements - NetSuite's **Internal ID** may be used for this purpose.
{% endhint %}

When synching products to NetSuite, some preparation is required to ensure that this unique identifier has been configured. Before products can be synced to NetSuite:

* [The items must exist in NetSuite, with unique identifiers](#choosing-which-netsuite-field-to-use-as-the-externalid)
* [NetSuite must be configured so it knows which item field should be used as the ExternalID for record matching](#configuring-the-externalid-in-netsuite) &#x20;

With this setup in place, the [ExternalId can be specified in Patchworks field mappings](#mapping-the-externalid-in-patchworks) for any required services.

## Choosing which NetSuite field to use as the ExternalId

Often, SKUs used on the associated eCommerce site are designated as **ExternalIDs** but any unique, common reference can be used.

In NetSuite, the **item name/number** field is an obvious choice to store the **ExternalID** for an item however, it doesn't matter which NetSuite field is used, provided that the same field is used consistently.

## Configuring the ExternalID in NetSuite

NetSuite must be configured so it knows which item field must be used as the **ExternalID** for syncing products/items.&#x20;

This task should be completed by a NetSuite administrator, as part of the onboarding process for Patchworks.&#x20;

## Mapping the ExternalID in Patchworks

In Patchworks, [field mappings](/product-documentation/patchworks-services/working-with-services/field-mappings-and-transformations-services/field-mappings-services.md) are used to define which source data field  correlates to the **ExternalID** in NetSuite - for example:

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.wearepatchworks.com/product-documentation/patchworks-services/service-systems/supported-service-systems/netsuite-service-connector/setting-unique-ids-for-netsuite-product-syncs-services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
