Mit NetSuite verbinden
Rufen Sie mit SuiteQL Finanz- und Betriebsdaten aus NetSuite in PlaidCloud-Tabellen ab. Dieser Leitfaden führt Sie von einer leeren NetSuite-Integration zu einem geplanten, typisierten Abruf. Die feldweise Referenz dazu finden Sie im NetSuite-REST-Connector.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Sie benötigen in NetSuite:
- Aktivierte OAuth 2.0 und REST Web Services (Setup > Company > Enable Features > SuiteCloud).
- Ein RSA-Schlüsselpaar – das öffentliche Zertifikat wird in NetSuite hochgeladen, der private Schlüssel bleibt für PlaidCloud erhalten.
- Eine Zertifikats-ID (die JWT-
kid, aus dem Hochladen des öffentlichen Zertifikats), eine Client-ID (aus dem Integrationsdatensatz) und Ihre Konto-ID (Produktion1234567oder Sandbox1234567_SB1). - Eine Rolle mit REST Web Services, Log in using OAuth 2.0 Access Tokens, SuiteAnalytics Workbook (wenn Ihre Abfragen Analytics berühren) und Leseberechtigung für die Datensätze, die Sie lesen.
Die vollständigen Schritte auf NetSuite-Seite – das Schlüsselpaar erzeugen, das Zertifikat hochladen und die Integration erstellen – finden Sie in der NetSuite-seitigen Einrichtung der Referenz. Führen Sie diese zuerst aus; dieser Leitfaden setzt voraus, dass Sie die vier Werte zur Hand haben.
Verbindung erstellen
Abschnitt betitelt „Verbindung erstellen“-
Öffnen Sie Tools > Connections und klicken Sie auf
New Connection. -
Wählen Sie im Menü NetSuite.
-
Füllen Sie die Felder aus:
Feld Wert Name Ein sprechender Name, z. B. NetSuite Prod.Client-ID Die Client-ID aus dem Integrationsdatensatz. Zertifikats-ID Die Zertifikats-ID ( kid) aus dem Hochladen des öffentlichen Zertifikats.NetSuite-Konto-ID Ihre Konto-ID, z. B. 1234567oder1234567_SB1.Privates NetSuite-Zertifikat Der vollständige PEM-Block des privaten Schlüssels, mehrzeilig eingefügt. -
Klicken Sie auf
Create.
Die Verbindung per Smoke-Test prüfen
Abschnitt betitelt „Die Verbindung per Smoke-Test prüfen“Bestätigen Sie, dass die Anmeldedaten funktionieren, bevor Sie etwas darauf aufbauen.
-
Fügen Sie einem Workflow einen REST-Anfrage-Schritt hinzu.
-
Setzen Sie auf der Registerkarte Anfrage Verbindung auf Ihre NetSuite-Verbindung, Methode auf
POSTund Endpunkt auf/services/rest/query/v1/suiteql. -
Geben Sie im Body eine winzige, begrenzte Abfrage an:
{"q": "SELECT id FROM account WHERE ROWNUM <= 1"} -
Klicken Sie auf Testanfrage senden.
Den Abrufschritt erstellen
Abschnitt betitelt „Den Abrufschritt erstellen“Wenn der Smoke-Test grün ist, machen Sie aus dem Schritt einen echten Abruf.
-
Schreiben Sie im Body Ihre SuiteQL-Abfrage mit einem deterministischen
ORDER BY. Ausgangspunkte zum Kopieren und Einfügen – Journalbuchungen, Saldenliste, GuV, Bilanz, offene Forderungen, Kundenaufträge, Bestellungen, Lagerbestand – finden Sie unter NetSuite-SuiteQL-Abfragebeispiele.Finanzen – Hauptbuch-Transaktionszeilen für eine Periode:
{"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"}Betrieb – offene Kundenaufträge nach Kunde:
{"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"} -
Lassen Sie die Steuerelemente unter Paginierung und Analyse sowie die Header
Prefer/Content-Typeunverändert – die NetSuite-Verbindung fügt sie ein. -
Behalten Sie auf der Registerkarte Antwort das Ziel Tabelle bei und definieren Sie die Spalten mit echten Typen:
Currency/Decimalfür Beträge,Date/Datetimefür Datumswerte,BooleanfürT/F-Flags. SuiteQL liefert alles als Zeichenfolgen; die typisierten Spalten sagen PlaidCloud, wie sie umzuwandeln sind.
Prüfen und planen
Abschnitt betitelt „Prüfen und planen“-
Führen Sie den Schritt aus (siehe Einen einzelnen Schritt in einem Workflow ausführen) und prüfen Sie die Zieltabelle – Zeilenanzahl und ob Betrags- und Datumsspalten typisiert angekommen sind, nicht als Text.
-
Für einen fortlaufenden Feed planen Sie den Workflow.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“| Symptom | Wahrscheinliche Ursache |
|---|---|
| Testanfrage 400 mit einer Scope- oder Rollenmeldung | Der Rolle fehlt REST Web Services / OAuth-2.0-Anmeldung / SuiteAnalytics, oder das Scope-Array wurde abgelehnt – die angezeigten Details nennen es. |
| Token-Austausch schlägt fehl | Falsche Form der Konto-ID (fehlendes _SB1), falsche Zertifikats-ID (kid) oder ein privater Schlüssel, der nicht zum hochgeladenen öffentlichen Zertifikat passt. |
| Typ-/Konvertierungsfehler beim Import (nennt Spalte und Wert) | Eine typisierte Spalte hat einen Wert erhalten, den sie nicht parsen kann – meist eine Spalte Date/Datetime, in der SuiteQL das Anzeigeformat des Kontos geliefert hat. Umschließen Sie das Feld in der Abfrage mit TO_CHAR(col, 'YYYY-MM-DD') oder setzen Sie den Spaltentyp auf Text. |
| Summen gehen über Tochtergesellschaften hinweg nicht auf | amount steht in der eigenen Währung der jeweiligen Transaktion – verwenden Sie konsolidierte/umgerechnete Felder. |
| Doppelte oder fehlende Zeilen bei einem großen Abruf | Kein deterministisches ORDER BY bei einer Abfrage mit Offset-Paging. |
Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- NetSuite-SuiteQL-Abfragebeispiele – sofort ausführbare Abfragen für Journalbuchungen, Saldenliste, GuV, offene Forderungen und mehr.
- NetSuite-REST-Connector – Feld- und SuiteQL-Referenz.
- REST-Anfrage-Schritt – der Schritt, auf dem dieser Abruf aufbaut.
- Verbindung erstellen und verwalten