> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chift.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Netsuite

# 🚨 PRÉREQUIS

Les conditions suivantes doivent être vraies dans votre compte NetSuite avant de commencer :

* Vous avez un **Administrateur** rôle, ou un rôle avec le **SuiteApp Marketplace** permission (nécessaire pour installer un bundle).
* Vous avez le **ID du bundle** fourni par Chift : `703899` (ou par votre fournisseur, pour un bundle brandé).

Tout ce dont Chift a besoin — un script, un rôle à privilèges réduits, le registre d'intégration OAuth 2.0, et un dossier de pièces jointes — est fourni par le bundle en un clic. Vous n'avez jamais besoin de télécharger des fichiers, de configurer les scripts manuellement, ou de copier un ID Client ou un Secret.

L'ensemble de la configuration se fait en quatre étapes : **activer les fonctionnalités → installer le bundle → attribuer le rôle → autoriser**.

# :hammer\_and\_wrench: CONFIGURATION

Vous devez être connecté à votre compte NetSuite pour les étapes ci-dessous.

## :ballot\_box\_with\_check: 1. Activer les bonnes fonctionnalités de la société

Allez à **Setup > Company > Enable Features > SuiteCloud** onglet. Activez chacune des options suivantes, enregistrez et acceptez chaque demande de Conditions d'utilisation.

⚠️ Cela doit être fait **avant d'installer le paquet** — sans que Server SuiteScript soit activé, le script groupé ne peut pas s'installer.

* **SuiteScript** → Client SuiteScript, Server SuiteScript

  <img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-1.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=3ba2635e3ad761c1d31046bbba3e4437" alt="image" width="1528" height="324" data-path="images/help/netsuite/netsuite-fr-1.png" />

* **Gérer l'authentification** → OAuth 2.0

  <img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-2.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=ba6e49f60084ec0409e05d173758bfea" alt="image" width="1600" height="658" data-path="images/help/netsuite/netsuite-fr-2.png" />

* **SuiteTalk (Services Web)** → Services Web REST

  <img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-3.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=764fc03cf6734d721c6979bd47d44eb4" alt="image" width="1570" height="308" data-path="images/help/netsuite/netsuite-fr-3.png" />

* **Enregistrements personnalisés** → Enregistrements personnalisés

  <img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-4.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=01512ae677e2d6bb83f244b9f04dcb36" alt="image" width="1390" height="548" data-path="images/help/netsuite/netsuite-fr-4.png" />

Si votre compte utilise **segments personnalisés** comme dimensions analytiques, activez également **SuiteCloud > Segments personnalisés** (vous accorderez la permission correspondante au rôle plus tard ; la permission n'apparaît que lorsque la fonctionnalité est activée).

## :ballot\_box\_with\_check: 2. Installer le bundle Chift

Accédez à **Personnalisation > SuiteBundler > Recherche & Installation des bundles**, saisissez le **ID du bundle** `703899`, examinez la liste des objets, et cliquez sur **Installer**.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-5.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=7ba4ec0f5f5634ae1f3b1dbb89ecce96" alt="image" width="1600" height="775" data-path="images/help/netsuite/netsuite-fr-5.png" />

Le script et son déploiement, le `Chift Integration` rôle, l'enregistrement d'intégration, et le `Chift Attachments` dossier sont tous installés en un clic.

Pour supprimer le bundle plus tard : **Personnalisation > SuiteBundler > Liste des bundles installés** → sélectionnez le bundle → **Désinstaller**.

## :ballot\_box\_with\_check: 3. Attribuer le `Intégration Chift` rôle (et reconnexion)

**Vous pouvez le faire maintenant ou au moment de la connexion.** Attribuer le rôle à l'avance est le plus propre, mais s'il n'est pas défini ici, l'utilisateur peut toujours sélectionner (ou passer à) le bon rôle à l'écran de consentement NetSuite lors de la connexion — voir *Vérifier le rôle lors de la connexion* dans la section Connexion ci-dessous.

Le bundle installe le **définition du rôle**, mais ne l'attribue pas à un utilisateur. Assignez‑le à l'utilisateur qui se connectera à Chift.

Attribuez le rôle via **Configuration > Utilisateurs/Rôles > Gérer les utilisateurs >** l'utilisateur > **Accès** sous-onglet > ajouter `Intégration Chift` > **Enregistrer**.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-6.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=acb3090b40e0d9a9adfab521a3c0b721" alt="image" width="1600" height="774" data-path="images/help/netsuite/netsuite-fr-6.png" />

:check\_mark\_button: **Recommended: use a dedicated integration user.** Créez ou choisissez un employé dont **seulement** le rôle est `Chift Integration` (no Administrator, no other role). This is what keeps the connection least-privilege at runtime.

⚠️ **If using your own role instead of the bundled ones :** Ajoutez le `Manage own OAuth 2.0 Client Credentials certificates` permission (under Setup) to it. Without it, the connection still works, but it stays on the standard OAuth flow and needs re-authorizing roughly every 30 days — with this permission, it moves to certificate-based (machine-to-machine) authentication and never expires.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-7.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=06a928fe8c81b7861a43fad994a94ac3" alt="image" width="1600" height="305" data-path="images/help/netsuite/netsuite-fr-7.png" />

⚠️ **Vous DEVEZ vous déconnecter et vous reconnecter après avoir attribué le rôle.** NetSuite met en cache les rôles par session, ainsi un rôle nouvellement attribué ne devient sélectionnable qu'après que l'utilisateur se déconnecte et se reconnecte. Si vous sautez cette étape, le rôle n'apparaîtra pas à l'écran de consentement à l'étape suivante.

# :high\_voltage:️ CONNEXION

Dans Chift, démarrez la connexion NetSuite et suivez les étapes.

**Étape 1:** Choisissez un nom pour votre connexion.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-8.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=6455b965ab5edc28a19d6747b150d11e" alt="image" width="878" height="172" data-path="images/help/netsuite/netsuite-fr-8.png" />

**Étape 2:** Remplissez votre NetSuite **ID de compte**.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-9.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=94546556899cc3c0fa12942583d7c3e7" alt="image" width="1600" height="313" data-path="images/help/netsuite/netsuite-fr-9.png" />

Votre ID de compte se trouve au début de votre URL NetSuite, par ex. `https://1234567.app.netsuite.com` → L'ID de compte est `1234567`. Pour **sandbox** comptes, remplacez le tiret dans l'URL (`sb-`) par un underscore (`sb_`) — par ex. `sb-12345` est saisi comme `sb_12345`. ([Doc NetSuite](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1498754928.html))

**Étape 3**: Cliquez sur autoriser. Lorsque demandé, veuillez entrer vos identifiants (associés à l'application) pour connecter votre compte Netsuite.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-10.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=49fcba09d9cf5604d9d149677fa0e0e9" alt="image" width="454" height="184" data-path="images/help/netsuite/netsuite-fr-10.png" />

🚨 **Connectez-vous avec le rôle que vous souhaitez que Chift utilise — pas en tant qu'administrateur.** La connexion s'exécute avec **quel que soit le rôle que l'utilisateur autorise**.

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-11.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=3a5f9441ba70adbb8b6902c78eacd06e" alt="image" width="1252" height="689" data-path="images/help/netsuite/netsuite-fr-11.png" />

\*\*\*Vérifiez le rôle lors de la connexion.\*\*\**À l'écran de consentement, NetSuite affiche le rôle que la connexion utilisera. Si le bon rôle n'a pas été attribué lors de la préparation — ou si le mauvais est pré‑sélectionné — vérifiez-le ici et passez au rôle correct avant de confirmer.*

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-12.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=3d65b3faedb6fbbc94f9cbc0be2e6d13" alt="image" width="1252" height="689" data-path="images/help/netsuite/netsuite-fr-12.png" />

Appuyez sur **Continuer** et c'est tout — aucun ID Client, Secret Client, ou URL RESTlet à saisir. Standard données comptables et les fonctionnalités prises en charge par le script (pièces jointes ; transactions bancaires le cas échéant) s'exécutent toutes via la même connexion OAuth 2.0.

# :info: BON À SAVOIR

**Roles & permissions.**

Le bundle propose deux rôles — `Chift Integration` (lecture + écriture) et `Chift Integration (Read Only)`. Vous pouvez également vous connecter avec **votre propre rôle NetSuite** limité à vos besoins ; dans ce cas, contactez votre fournisseur de logiciel depuis lequel vous lancez cette connexion, afin de connaître le jeu minimal de permissions requis pour le périmètre de votre intégration avec Netsuite.

🚨**Rester sur l’authentification machine‑to‑machine (pas de reconnexions mensuelles).**

Quel que soit le rôle avec lequel vous vous connectez — fourni ou votre propre — il a besoin du `Manage own OAuth 2.0 Client Credentials certificates` permission (under **Setup** sur la liste des permissions du rôle) pour que la connexion passe à une authentification basée sur certificat et cesse de nécessiter une reconnexion tous les \~30 jours. Le rôle fourni `Chift Integration` rôles l’incluent déjà. Si vous utilisez votre propre rôle, ajoutez‑le manuellement :

<img src="https://mintcdn.com/chift/31nQ8nkwKpxNtIUa/images/help/netsuite/netsuite-fr-13.png?fit=max&auto=format&n=31nQ8nkwKpxNtIUa&q=85&s=8f18acebb348b97274e87c95b4eb3060" alt="image" width="1600" height="305" data-path="images/help/netsuite/netsuite-fr-13.png" />

Vous aurez également besoin de `Client Credentials (Machine To Machine) Grant` coché sur l’enregistrement d’intégration NetSuite lui‑même (même écran que le `REST Web Services` et `RESTlets` cases à cocher de portée) — cela ne s’applique que si vous utilisez votre propre enregistrement d’intégration plutôt que le bundle Chift.

Sans les deux, la connexion continue de fonctionner normalement, mais elle reste sur le flux standard et nécessite une réautorisation environ une fois par mois.

**Comptes OneWorld (multi‑filiale).**

Le `Chift Integration` rôle est fourni avec **Subsidiary Restrictions = All** ainsi le connecteur peut voir chaque filiale. Si cela est changé en *User Subsidiary*, ou si le(s) utilisateur(s) *Include Sub-Subsidiaries* préférence est désactivée (**Home > Set Preferences > Restrict View**), les filiales enfants n’apparaîtront pas dans Chift. Reconnectez‑vous après modification de l’une ou l’autre.

**Dossier des pièces jointes.**

Le bundle fournit un `Chift Attachments` dossier File Cabinet comme cible par défaut pour les pièces jointes stockées. Vous pouvez pointer Chift vers un autre dossier dans les paramètres post‑connexion. Faites **pas** renommer le dossier fourni — Chift le correspond par le nom exact `Chift Attachments`.

**Transactions bancaires.**

L’importation des transactions bancaires nécessite le tiers **ZoneReconcile (Zone & Co)** SuiteApp à installer sur votre compte, et le `Chift Integration` rôle d’avoir accès à ses types d’enregistrement bancaire. Les pièces jointes et toutes les fonctions comptables standard **ne** dépendent de cela.

# :fire\_extinguisher: DÉPANNAGE

Symptôme

Cause

Correction

La connexion continue de demander une reconnexion tous les \~30 jours même si tout le reste est correctement configuré

Le rôle personnalisé est manquant `Manage own OAuth 2.0 Client Credentials certificates`, ou l’enregistrement d’intégration n’a pas `Client Credentials (Machine To Machine) Grant` coché

Ajoutez la permission au rôle et/ou cochez l’octroi sur l’enregistrement d’intégration, puis exécutez Test Connection

`INSUFFICIENT_PERMISSION` / "You do not have privileges to view this page" on attachment or bank calls

You connected as Administrator instead of the `Chift Integration` utilisateur, ou le rôle du jeton n’est pas dans l’audience du déploiement du script

Reconnectez‑vous en tant qu’utilisateur d’intégration dédié (étape 3 de la connexion).

Le `Chift Integration` rôle n’est pas sélectionnable sur l’écran de consentement

Rôle assigné mais la session n’a pas été rafraîchie

Déconnectez‑vous et reconnectez‑vous en tant qu’utilisateur d’intégration (étape 3 de la configuration), puis réessayez.

La liste des filiales n’affiche que la société mère (OneWorld)

Restrictions de filiale du rôle = *User Subsidiary*, ou *Include Sub-Subsidiaries* est désactivé

Définir les restrictions de filiale = **Tous** sur le rôle, activez *Include Sub-Subsidiaries*, puis reconnectez‑vous.

Le `Chift Attachments` dossier n’apparaît pas dans la liste déroulante des dossiers

Le dossier a été renommé

Conservez le nom exact `Chift Attachments`.

Bundle won’t install ("script cannot be deployed")

Server SuiteScript / Custom Records feature not enabled

Complete Setup step 1 before installing.

A specific endpoint returns a 403 at runtime

The role is missing that transaction/list permission

Grant the missing permission on the `Chift Integration` rôle.
