NS 里面,records, fields 分别代表什么?transactions, lists, 分别怎么理解

 

在 NetSuite 里:

🧠 records 与 fields 是整个系统最核心的两个概念

可以简单理解成:

概念类比数据库业务理解
Record Table(表) 一个业务对象
Field Column(字段) 对象上的属性

✅ 一句话理解

Record = 一类业务数据
Field = 这类数据的具体属性

📦 一、什么是 Record(记录/对象)

Record 是:

一个完整业务对象

例如:

Record含义
Customer 客户
Sales Order 销售订单
Item 商品
Vendor 供应商
Invoice 发票
Employee 员工

🧠 类比数据库

例如:

table customer

在 NetSuite 里:

Customer Record

📌 一个 Record 包含:

  • 多个字段(Fields)

  • 多条数据(Rows)


示例

Customer Record

可能包含:

internalidcompanynameemail
1001 ABC Inc a@abc.com

🚀 在 NetSuite API 里

Record 对应:

/record/v1/customer

📦 二、什么是 Field(字段)

Field 是:

Record 上的属性

例如:

Customer Record 上:

Field含义
entityid 客户编号
companyname 公司名
email 邮箱
phone 电话

🧠 类比数据库

SELECT companyname
FROM customer

这里:

companyname

就是 Field。


📌 Field 的本质

Field 定义:

  • 数据类型

  • 是否必填

  • 是否可编辑

  • 是否可搜索

  • 是否关联其他 Record


🔗 三、Record 与 Field 的关系

Customer Record
 ├── entityid
 ├── companyname
 ├── email
 ├── subsidiary
 └── salesrep

🧠 NetSuite 本质是:

Metadata Driven ERP

意思是:

系统核心其实是:

Record Definition + Field Definition

📌 四、NetSuite 里的 Field 类型(很重要)


1️⃣ Standard Field(标准字段)

系统自带:

例如:

entityid
trandate
amount

2️⃣ Custom Field(自定义字段)

用户创建:

通常:

custbody_xxx
custentity_xxx
custitem_xxx

📌 示例

custbody_region

表示:

销售订单上的:

区域字段

🧠 五、Field 为什么很重要(BI核心)

你现在做:

  • Redshift

  • Power BI

  • SuiteQL

实际上:

本质都在处理:

Record + Fields


例如:

Transaction Record

字段:

Field含义
trandate 交易日期
amount 金额
entity 客户
location 地点

SuiteQL:

SELECT
    trandate,
    amount
FROM
    transaction

🚀 六、NetSuite 的 Record 类型(重点)


1️⃣ Entity Records

主体对象:

  • customer

  • vendor

  • employee


2️⃣ Transaction Records

交易对象:

  • salesorder

  • invoice

  • itemfulfillment


3️⃣ Item Records

商品对象:

  • inventoryitem

  • assemblyitem


4️⃣ Setup Records

配置对象:

  • subsidiary

  • location

  • department


5️⃣ Custom Records

用户自己建:

customrecord_xxx

🧠 七、为什么 metadata-catalog 很重要

因为:

它返回:

Record 的所有 fields

例如:

{
  "fields": {
    "entityid": {
      "type": "string"
    }
  }
}

🔥 八、NetSuite 最容易混淆的几个词

名称真正含义
Record 表/业务对象
Record Instance 一条数据
Field 字段
Sublist 子表
Subrecord 子结构
Metadata schema定义

📌 九、举一个完整真实例子(非常重要)


Sales Order Record

Header Fields(主字段)

Field含义
tranid 订单号
trandate 日期
entity 客户

Item Sublist(子表)

itemquantityamount

Inventory Detail(Subrecord)

再往下:

lot
serial
bin

🧠 所以 NetSuite 数据结构其实是:

Record
  └── Fields
  └── Sublists
        └── Subrecords

🚀 十、从你现在项目角度理解(关键)

你现在:

  • SuiteQL

  • REST API

  • Redshift

其实就是:

把 NetSuite Record + Fields

转换成:

数仓 Table + Columns


🔥 最后一条(企业级理解)

NetSuite 本质不是:

ERP 页面系统

而是:

一个 Metadata 驱动的数据平台

页面、API、Search、Workflow:

全部基于:

Record + Field

动态生成。

 

在 NetSuite(NS)里:

🧠 Transactions 与 Lists

是系统最核心的两大数据分类。

可以理解成:

分类本质类比
Transactions 业务过程数据 流水/事件
Lists 主数据/基础档案 维表/Master Data

✅ 一句话理解

Transactions = “发生了什么”
Lists = “谁/什么”

📦 一、什么是 Transactions(交易)

Transactions 是:

会“发生”、会“流转”、会“影响财务/库存”的业务行为


📌 常见 Transaction

Transaction含义
Sales Order 销售订单
Invoice 发票
Item Fulfillment 发货
Purchase Order 采购订单
Vendor Bill 供应商发票
Inventory Adjustment 库存调整
Cash Sale 现金销售

🧠 核心特点

Transactions:

✅ 有日期
✅ 有状态
✅ 会变化
✅ 有流程
✅ 通常影响:

  • GL(总账)

  • 库存

  • AR/AP


📌 例如:

Sales Order

客户下了一个订单

这是:

一次业务事件

所以属于:

Transaction


🔗 Transaction 的典型流程

Sales Order
   ↓
Item Fulfillment
   ↓
Invoice
   ↓
Customer Payment

🧠 从数据库角度理解

Transactions:

类似:

fact table

因为:

  • 数据量大

  • 不断新增

  • 带时间属性


📦 二、什么是 Lists(列表/主数据)

Lists 是:

相对稳定的基础对象

也叫:

Master Data(主数据)


📌 常见 Lists

List含义
Customer 客户
Vendor 供应商
Item 商品
Employee 员工
Location 仓库
Department 部门
Class 分类
Currency 币种

🧠 核心特点

Lists:

✅ 相对稳定
✅ 更新不频繁
✅ 被 Transactions 引用
✅ 属于“维度”


📌 例如:

Customer

ABC公司

它不是事件。

它是:

一个业务主体

所以属于:

List


🔗 Transactions 与 Lists 的关系(重点)


示例

Sales Order

字段:

Field来源
customer Customer List
item Item List
location Location List

🧠 本质:

Transactions 会引用 Lists。


📌 数据模型视角

Transaction
   ├── Customer
   ├── Item
   ├── Location
   └── Department

🚀 BI / 数仓里怎么理解(非常重要)


Transactions

通常:

Fact Table

例如:

fact_sales
fact_inventory
fact_po

Lists

通常:

Dimension Table

例如:

dim_customer
dim_item
dim_location

🧠 这是标准星型模型

           dim_customer
                 |
dim_item --- fact_sales --- dim_location

📦 三、NetSuite UI 为什么分:

Transactions / Lists / Relationships

因为:

NetSuite 本质按业务对象分类。


Transactions 菜单

通常:

Transactions
→ Sales
→ Purchases
→ Inventory

Lists 菜单

通常:

Lists
→ Relationships
→ Accounting
→ Employees

🧠 四、为什么这个概念特别重要(你现在项目核心)

你现在做:

  • SuiteQL

  • Redshift

  • Power BI

本质就是:

Transactions + Lists 建模


📌 例如:

Transaction Fact

transactionline

Dimension

customer
item
location

🔥 五、Transactions 的特殊点(NetSuite 很重要)

NetSuite 的 Transaction:

实际上:

很多类型共用一张底层表


SuiteQL 中:

FROM transaction

包含:

  • SO

  • Invoice

  • PO

  • Fulfillment

全部。


区分方式:

type

字段。


📌 例如:

WHERE type = 'SalesOrd'

🧠 六、Lists 的特殊点

很多 Lists:

是独立 Record。

例如:

ListRecord Type
Customer customer
Item item
Vendor vendor

🚀 七、从 REST API 角度理解


Transaction API

/record/v1/salesOrder

List API

/record/v1/customer

🧠 八、真正企业级理解(非常关键)

NetSuite 本质:

不是:

Transactions vs Lists

而是:

Event Data vs Master Data


Event Data(Transactions)

记录:

发生了什么

Master Data(Lists)

定义:

谁、什么、在哪里

🔥 九、对你当前项目最关键的一句话

你现在 Redshift 建模:

应该:


Transactions

做:

Fact Tables

Lists

做:

Dimension Tables

Inventory Snapshot

做:

Periodic Snapshot Fact

🚀 十、推荐你重点研究的 NS Transaction 表(BI核心)

用途
transaction 交易头
transactionline 交易行
inventorybalance 库存
itemfulfillment 发货
invoice 开票

推荐重点研究的 Lists

用途
item 商品维度
customer 客户维度
location 仓库维度
subsidiary 公司维度

这些会构成你 Power BI 的核心星型模型。

 

posted on 2026-05-27 15:53  wjsstyc  阅读(0)  评论(0)    收藏  举报