# Configuration Netsuite

## Introduction

La synchronisation entre Cn285 et Netsuite implique une configuration de Netsuite.

## Activation de SuiteTalk

Pour activer SuiteTalk, aller dans le menu **Setup / Company / Setup Tasks / Enable Features.**

Dans l'onglet **SuiteCloud**, cocher les cases **REST WEB SERVICES** de la rubrique **SuiteTalk (Web Services)** ainsi que **TOKEN-BASED AUTHENTICATION** situé sous la rubrique **Manage Authentication.**

![](/files/XC9dzbTZV4NThK4SpLzK)

Une fois ces deux cases cochées, cliquer sur **Save** disponible en haut du formulaire.

## Création du rôle SuiteTalk Developper

Après l'activation de SuiteTalk, il est fortement conseillé de créer le rôle **SuiteTalk Developper**. XSync pourra alors utiliser ce rôle pour synchroniser les données entre les deux systèmes distants.

Sous le menu **Setup / Users/Roles / Manage Roles** cliquer sur **New**. Configurer les champs suivants:

* Centre Type => Sales Centre
* Accessible subsidiarie => All

### Configuration des permissions

Le rôle **SuiteTalk Developper** nécessite plusieurs permissions, disponibles ci-dessous avec leur niveau d'accès.

Sous l'onglet **Transactions**, ajouter deux nouvelles permissions:

* Invoice => Full
* Invoice Approval => Full
* Make Journal Entry => Full

Sous l'onglet **Reports**, ajouter une nouvelle permission:

* Suite Analytics Workbook => Edit

Sous l'onglet **List**, ajouter les permissions suivantes:

* Accounts => Full
* Bank Account Registers => Full
* Classes => Full
* Customer Record Entries => Full
* Customer Profile => Full
* Customers => Full
* Documents and Files => Full
* Employee Record => Full
* Items => Full
* Locations => Full
* Record Custom Field => Full
* Subsidiaries => Full
* Tax Records => Full
* Tax Schedules => Full

Sous l'onglet **Setup**, ajouter les permissions suivantes:

* Backup Your Data => Full
* Custom Address Form => Full
* Custom Entity Fields => Full
* Custom Entry Forms => Full
* Custom Fields => Full
* Custom Item Fields => Full
* Custom Lists => Full
* Custom Record Types => Full
* Custom Segments => Full
* Custom Sublist => Full
* Custom Sublists => Full
* REST Web Services => Full
* SOAP Web Services => Full
* User Access Token => Full

Sous l'onglet **Customer Record**, ajouter trois nouvelles permissions:

* Bank Details => Full
* Company Bank Details => Full
* Internal Bank Account => Full

{% hint style="info" %}
Si vous souhaitez ajouter ou modifier les permissions, celles-ci doivent être ajustées avec le consultant Netsuite en fonction du périmètre de l'intégration.
{% endhint %}

## Création d'une intégration

Une intégration désigne un objet Netsuite qui matérialise le lien entre une application externe (eg. eCommerce, Cn285,...) et Netsuite via les API.

**Dans la suite de la documentation, nous prendrons Cn285 comme exemple d'intégration d'application externe.**

Dans le menu **Setup / Integration / Manage Integration**, créer une nouvelle intégration nommée **Cn285**. Dans l'authentification décocher la case **TBA;AUTHORIZATION FLOW** ainsi que toutes les cases des groupes **Oauth 2.0** et **User Credentials.**

L'option **Concurrency Limit** permet de limiter/allouer les accès concurrents pour l'intégration.

Sauvegarder cette intégration.

{% hint style="danger" %}
Les **Clients Credentials** ne sont affichés qu'à la création de l'intégration et ne sont plus disponibles par la suite.
{% endhint %}

## Création d'un token

Un **Access Token** fait le lien entre un user, un rôle et une intégration. Avant de créer le token, il est important de lier les utilisateurs qui utiliseront l'API avec le rôle **SuiteTalk Developer**.

Après avoir assigné le rôle aux utilisateurs, aller dans **Setup / Users/Roles / User Management / Access Token**.

Pour ce token le nom de l'application sera **Cn285**, l'utilisateur sera un utilisateur qui possède le rôle **SuiteTalk Develpper** et le rôle sera **SuiteTalk Developer**.

Une fois ces 3 champs renseignés cliquer sur **Save**.

{% hint style="danger" %}
Le **TOKEN ID** ainsi que le **TOKEN SECRET** ne sont affichés qu'à la création du token et ne sont plus disponibles par la suite.
{% endhint %}

## Création des Saved Search

XSync utilise les Saved Searchs pour récupérer les données à synchroniser.

### Création de la Saved Search Customer

Sous **Lists / Searchs / Saved Searchs** cliquer sur **New** puis cliquer sur **Customer**.

Dans le search title, renseigner **Cn285 XSync Customer Search - Do not Modify**

Dans l'onglet **Results**, ajouter les champs suivants:

* Internal ID
* Name
* Email
* Phone
* Office Phone
* Fax
* Primary Contract
* Alt. Email
* Address
* Last Modified

Une fois la Saved Search sauvegardée il est nécessaire de l'éditer afin de changer son identifiant. Pour cela, cliquer sur **Change ID**. Dans **New ID** renseigner **customsearch\_cn\_customer\_sync.** Sauvegarder ensuite la Saved Search.

### Création de la Saved Search Product

Sous **Lists / Searchs / Saved Searchs** cliquer sur **New** puis cliquer sur **Item**.

Dans le search title, renseigner **Cn285 XSync Product Search - Do not Modify**

Dans l'onglet **Results**, ajouter les champs suivants:

* Internal ID
* Name
* Display Name
* Description
* Type
* SubType
* LastModified

Une fois la Saved Search sauvegardée il est nécessaire de l'éditer afin de changer son identifiant.. Pour cela, cliquer sur **Change ID**. Dans **New ID** renseigner **customsearch\_cn\_product\_sync.** Sauvegarder ensuite la Saved Search.

## Création de l'Item Description

Si vous souhaitez synchroniser des factures depuis Cn285 vers Netsuite un **Item Description** sera alors requis. Ce champ permet d'injecter un séparateur basé sur le nom du contrat dans les lignes de facture de Netsuite.

Sous **List / Accounting / Items** cliquer sur **New** puis cliquer sur **Description**.

Dans **Item Name / Number** renseigner **Description4Cn285**

![](/files/FntjyI4uBhU52PUXndFu)

{% hint style="info" %}
Noter l'identifiant de l'**Item Description**, il sera nécessaire lors de la configuration d'XSync sur Cn285. Vous pouvez récupérer cet identifiant depuis la vue Liste ou depuis l'url du navigateur (chiffre après "id=").
{% endhint %}

Lorsqu'une synchronisation vers Netsuite est réalisée, des champs customs "standard" sont envoyées


---

# 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://docs.cn285.app/cn285-documentation/menu-xsync/xsync-for-netsuite/configuration-netsuite.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.
