# 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.**

![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FzXG46vi0CD9G7d1OtZ6J%2Fimage.png?alt=media\&token=6959edfc-4199-4216-873a-6b8d6ba7b8c5)

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**

![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FYjsK36cqKWVEDoRRsYnv%2Fimage.png?alt=media\&token=7bff3740-b09c-4aaf-8e6e-b8edac2ad6d7)

{% 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
