NetSuite数据模型中TRANSACTIONS与CUSTOMERS表关联方法咨询
NetSuite原生数据模型事务表与客户表关联规则
NetSuite原生模型未设置customer_id这类明确命名的客户专属关联字段,TRANSACTIONS、TRANSACTION_LINES与CUSTOMERS通过通用实体外键实现关联,具体逻辑如下:
- 交易头关联逻辑:
TRANSACTIONS表的entity字段是通用实体外键,存储交易主关联实体的内部ID。当交易类型为客户类交易(包括销售订单、销售发票、现金销售、客户贷项通知单、客户退款、销售报价等)时,该字段存储的值就是对应客户的内部ID,直接匹配CUSTOMERS表的id字段即可建立关联。 - 关联校验逻辑:由于
entity是通用外键,除客户外还可指向供应商、员工、合作伙伴等其他类型实体,关联时需要结合交易类型或实体类型标识做过滤,避免匹配到非客户实体的记录。 - 交易行关联逻辑:
TRANSACTION_LINES表默认不存储独立的客户关联字段,需要先通过TRANSACTION_LINES.transaction_id关联TRANSACTIONS表的id字段,拿到交易头的entity值后再关联CUSTOMERS表。只有在租户启用行级实体配置的特殊场景下,TRANSACTION_LINES表的entity字段才会存储行级单独指定的实体ID,该值优先级高于交易头的entity值。
常见排查误区:NetSuite ODBC Schema对交易主关联实体统一使用
entity作为字段名,不会按关联对象类型拆分出customer_id、vendor_id这类命名字段,按专属ID字段排查自然无法找到关联路径。
内容的提问来源于stack exchange,提问作者Edward Radcliffe
相关产品推荐
相关产品推荐

