Se connecter à NetSuite
Importez des données financières et opérationnelles de NetSuite dans des tables PlaidCloud avec SuiteQL. Ce guide vous mène d’une intégration NetSuite vierge à une extraction planifiée et typée. Pour la référence champ par champ qui la sous-tend, consultez le Connecteur REST NetSuite.
Prérequis
Section intitulée « Prérequis »Vous avez besoin, dans NetSuite, des éléments suivants :
- OAuth 2.0 et REST Web Services activés (Setup > Company > Enable Features > SuiteCloud).
- Une paire de clés RSA : le certificat public est téléversé dans NetSuite, la clé privée est conservée pour PlaidCloud.
- Un ID de certificat (le
kiddu JWT, obtenu en téléversant le certificat public), un ID client (issu de l’enregistrement d’intégration) et votre ID de compte (production1234567ou bac à sable1234567_SB1). - Un rôle disposant de REST Web Services, de Log in using OAuth 2.0 Access Tokens, de SuiteAnalytics Workbook (si vos requêtes touchent à l’analytique) et d’un accès en consultation aux enregistrements que vous lirez.
Les étapes complètes côté NetSuite (génération de la paire de clés, téléversement du certificat et création de l’intégration) figurent dans la section NetSuite-Side Setup de la référence. Réalisez-les d’abord ; ce guide suppose que vous avez les quatre valeurs en main.
Créer la connexion
Section intitulée « Créer la connexion »-
Ouvrez Tools > Connections et cliquez sur
New Connection. -
Choisissez NetSuite dans le menu.
-
Renseignez les champs :
Champ Valeur Nom Un nom explicite, par exemple NetSuite Prod.ID client L’ID client de l’enregistrement d’intégration. ID du certificat L’ID du certificat ( kid) issu du téléversement du certificat public.ID de compte NetSuite Votre ID de compte, par exemple 1234567ou1234567_SB1.Certificat privé NetSuite Le bloc PEM complet de la clé privée, collé sur plusieurs lignes. -
Cliquez sur
Create.
Tester le bon fonctionnement de la connexion
Section intitulée « Tester le bon fonctionnement de la connexion »Confirmez que les identifiants fonctionnent avant de construire quoi que ce soit dessus.
-
Ajoutez une étape Requête REST à un workflow.
-
Dans l’onglet Requête, définissez Connexion sur votre connexion NetSuite, Méthode sur
POSTet Point de terminaison sur/services/rest/query/v1/suiteql. -
Dans le Corps, placez une toute petite requête bornée :
{"q": "SELECT id FROM account WHERE ROWNUM <= 1"} -
Cliquez sur Envoyer une requête de test.
Construire l’étape d’extraction
Section intitulée « Construire l’étape d’extraction »Une fois le test de bon fonctionnement réussi, transformez l’étape en véritable extraction.
-
Dans le Corps, écrivez votre requête SuiteQL avec un
ORDER BYdéterministe. Pour des points de départ à copier-coller (écritures de journal, balance générale, compte de résultat, bilan, créances ouvertes, commandes client, commandes d’achat, stocks), consultez Exemples de requêtes SuiteQL NetSuite.Financier : lignes de transaction du grand livre pour une période :
{"q": "SELECT tl.transaction AS transaction_id, TO_CHAR(t.trandate, 'YYYY-MM-DD') AS tran_date, a.acctnumber AS account_number, tl.subsidiary AS subsidiary_id, tl.foreignamount AS amount FROM transactionline tl JOIN transaction t ON t.id = tl.transaction JOIN account a ON a.id = tl.expenseaccount WHERE t.trandate BETWEEN TO_DATE('2026-01-01','YYYY-MM-DD') AND TO_DATE('2026-01-31','YYYY-MM-DD') ORDER BY tl.transaction, tl.id"}Opérationnel : commandes client ouvertes par client :
{"q": "SELECT so.tranid AS order_number, so.entity AS customer_id, TO_CHAR(so.trandate, 'YYYY-MM-DD') AS order_date, so.status AS order_status FROM transaction so WHERE so.type = 'SalesOrd' AND so.status = 'SalesOrd:B' ORDER BY so.id"} -
Laissez les contrôles Pagination et analyse ainsi que les en-têtes
Prefer/Content-Typetels quels : la connexion NetSuite les injecte. -
Dans l’onglet Réponse, conservez la destination Table et définissez les colonnes avec de vrais types :
Currency/Decimalpour les montants,Date/Datetimepour les dates,Booleanpour les indicateursT/F. SuiteQL renvoie tout sous forme de chaînes ; les colonnes typées indiquent à PlaidCloud comment les convertir.
Vérifier et planifier
Section intitulée « Vérifier et planifier »-
Exécutez l’étape (consultez Exécuter une seule étape dans un workflow) et vérifiez la table cible : nombre de lignes, et que les colonnes de montants et de dates sont arrivées typées, et non en texte.
-
Pour un flux continu, planifiez le workflow.
Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable |
|---|---|
| Requête de test en erreur 400 avec un message de portée ou de rôle | Il manque au rôle REST Web Services / la connexion OAuth 2.0 / SuiteAnalytics, ou le tableau de portées a été rejeté ; le détail affiché le nomme. |
| L’échange de jeton échoue | Mauvaise forme de l’ID de compte (suffixe _SB1 manquant), mauvais ID de certificat (kid), ou clé privée qui ne correspond pas au certificat public téléversé. |
| Erreur de type ou de conversion à l’import (nomme la colonne et la valeur) | Une colonne typée a reçu une valeur qu’elle ne peut pas analyser, le plus souvent une colonne Date/Datetime pour laquelle SuiteQL a renvoyé le format d’affichage du compte. Encadrez le champ avec TO_CHAR(col, 'YYYY-MM-DD') dans la requête, ou définissez le type de colonne sur Text. |
| Les totaux ne se réconcilient pas entre filiales | amount est exprimé dans la devise propre à chaque transaction : utilisez les champs consolidés ou convertis. |
| Lignes dupliquées ou manquantes sur une grosse extraction | Pas de ORDER BY déterministe sur une requête paginée par décalage. |
Voir aussi
Section intitulée « Voir aussi »- Exemples de requêtes SuiteQL NetSuite : requêtes prêtes à l’emploi pour les écritures de journal, la balance générale, le compte de résultat, les créances ouvertes, etc.
- Connecteur REST NetSuite : référence des champs et de SuiteQL.
- Étape Requête REST : l’étape sur laquelle repose cette extraction.
- Créer et gérer une connexion