用户手册
帮助中心/用户手册/接 NetSuite:拉订单进来,同步客户、发票与产品

接 NetSuite:拉订单进来,同步客户、发票与产品

最后更新 2026-11-01

在 NetSuite 找到 Account ID,把带 rest_webservices 权限的现成 OAuth2 access token 填进 Integration,测试、配 Mapping、激活——销售订单流进来,客户、发票与产品双向同步。

NetSuite 连接器经 SuiteTalk REST Record 服务连接您的 Oracle NetSuite ERP。它从 NetSuite 拉销售订单、客户、发票和产品,再把客户、发票和产品推回 NetSuite。它不能读取或推送库存数量,所以适合订单以及客户、发票、产品记录——不适合库存数量同步。

NetSuite 接入步骤:先拿 Account ID 与 OAuth2 token,再测试,再配 Mapping,最后激活。

前置条件#

  • 一个 NetSuite 账号,且登录后能打开 Setup → Company → Company Information 看到 Account ID。
  • 一个带 REST Web Services 权限的角色:您用的 token 必须带 rest_webservices 权限范围,且其角色能读客户记录——测试连接会读一条客户记录。
  • 一个现成的 OAuth2 access token,经 NetSuite 集成记录(integration record)通过 client credentials 或授权码流程获取。开始向导前先把成品 token 备好。
  • 清楚要接的是哪个账号:沙箱的 Account ID 形如 1234567_SB1,带 _SB1 后缀。

拿凭证#

  1. 找 Account ID:在 NetSuite 里走 Setup → Company → Company Information,照原样复制那里显示的 Account ID——沙箱账号要带 _SB1 后缀,如 1234567_SB1。
  2. 拿 OAuth2 access token:token 必须带 rest_webservices 权限范围,并从 NetSuite 集成记录经 client credentials 或授权码流程获取。Integration 不会为您弹出 NetSuite 登录窗口换 token——您要粘贴的是已经签发好的 token。
  3. 核对 token 背后的角色:它需要 REST Web Services 权限和读客户记录的权限,否则测试连接会报 MISSING_SCOPE(403)。
本连接没有 Client ID / Client Secret 字段,且不支持 Token-Based Authentication(TBA,OAuth 1.0a)。如果您手里只有 TBA 凭证,在这里用不了——请先改走带 rest_webservices 权限范围的 OAuth2 access token。

填进 Integration#

  1. 打开 Integration → 连接器市场 → NetSuite → 新建连接。
  2. account_id——必填。填进 Account ID 字段:NetSuite → Setup → Company → Company Information 里的 Account ID,逐字复制,沙箱账号要带 _SB1 后缀(如 1234567_SB1)。
  3. token——必填。填进 OAuth2 access token 字段:粘贴带 rest_webservices 权限范围的完整 OAuth2 access token(其值通常以 eyJ 开头)。没有单独的 Client ID 或 Client Secret 字段。token 加密存储,永不回显。

测试连接#

点测试连接。如果 account_id 为空,测试以 MISSING_ACCOUNT_ID 停下;如果 token 为空,以 MISSING_TOKEN 停下——两种情况都不会发出请求。否则测试会把您的 token 作为 Bearer token 发一次只读探针:从 https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/customer 以 limit=1 读客户列表(12 秒超时)。返回 200 说明测试通过,结果里会显示您的 account_id。返回 401 会报 INVALID_TOKEN,403 会报 MISSING_SCOPE——每种情况怎么修见常见问题;其他失败统一报 CONNECTION_FAILED。

配 Mapping / 选模板#

选 NetSuite 标准模板。它在 NetSuite 与标准单据之间映射销售订单——包括每张订单的行明细(连接器逐单读取)——以及客户、发票和产品(NetSuite 的 inventory item)。激活前先在映射预览里核对您在意的字段,并确认每个 NetSuite 产品都配到了这边正确的产品。库存数量不在这份映射里:本连接不读取也不推送库存数量,不要映射现有量字段指望它同步。

NetSuite 单据往返:销售订单进来,客户、发票与产品双向走——库存数量不流转。

激活#

激活后,Integration 按您设的频率从 NetSuite 拉新的销售订单、客户、发票和产品,并把客户、发票和产品的更新推回 NetSuite。库存数量不经本连接双向流转。先在 运行监控 / 日志里盯几张单据,确认无误再放手跑;OAuth2 token 过期时,换上新签发的 token 并重新测试。

常见问题#

测试以 MISSING_ACCOUNT_ID 或 MISSING_TOKEN 停下

两个必填字段有一个是空的,所以测试在向 NetSuite 发出任何请求之前就停下了。

把两个字段都填上:account_id 取自 NetSuite → Setup → Company → Company Information,token 粘贴完整的 OAuth2 access token。保存后重新测试。

测试报 INVALID_TOKEN(401)

NetSuite 拒绝了 token:它无效或已过期、粘贴时不完整,或者您粘的是 Token-Based Authentication(TBA)凭证而不是 OAuth2 access token。

从您的 NetSuite 集成记录重新拿一个带 rest_webservices 权限范围的新 OAuth2 access token,完整粘进 token 字段,保存后重新测试。记住 TBA 凭证不能用于本连接。

测试报 MISSING_SCOPE(403)

token 到达了 NetSuite,但没被允许做测试要做的事:它缺 rest_webservices 权限范围,或者其背后的角色没有读客户记录的权限——而测试探针读的正是客户。

请 NetSuite 管理员核对集成记录上的权限范围和该角色的客户权限。如果权限范围有变化,签发一个新 token,粘进连接,保存后重新测试。

测试报 CONNECTION_FAILED

探针到达了 NetSuite,但回来的不是成功、也不是 401 或 403。常见原因是 account_id 与 token 所属账号对不上——探针地址是用您的 account_id 拼出来的,错一个字符就会发到错的地方。

从 NetSuite → Setup → Company → Company Information 重新逐字复制 account_id——沙箱账号要带 _SB1 后缀——并确认 token 是为同一个账号签发的。保存后重新测试。

Client ID 和 Client Secret 填在哪里?

本连接里没有地方填——它没有 Client ID 或 Client Secret 字段。它要的是成品 OAuth2 access token 本身:client credentials 或授权码的换取发生在 NetSuite 集成记录一侧、产出 token,您把产出的 token 粘到这里的 token 字段即可。

这也是为什么这里没有 token 刷新流程:您粘进来的是成品凭证。如果它过期了,在 NetSuite 一侧用同一组 Client ID 和 Client Secret 重新走一遍换取,再把新 token 粘回本连接、重新测试即可。

本连接能同步库存数量吗?

不能。本连接不能从 NetSuite 读取库存数量,也不能向 NetSuite 推送库存数量。请把它用于销售订单、客户、发票和产品,库存数量继续由您现在管理它的系统维护。

产品记录本身确实是双向走的——名称、SKU 和其他产品字段与 NetSuite 同步。永不随行的只是数量数字:同步过来的产品不会带着它的在手数量。