Post Views: 16
ERP 的基础数据——系统的地基,前两篇解释了 ERP 是什么、为什么用单据链。这一篇讲基础数据模块:物料、供应商、仓库、BOM、采购价格。这些都是业务流程的”字典”——没有它们,业务流程寸步难行。
一、为什么叫”基础数据”
想象一下,如果你要写一篇文章,首先需要:
- 有汉字可以写字
- 有语法规范组织文字
- 有参照的文献和资料
ERP 的基础数据就是这堆”底层工具”。业务流程模块(生产订单、采购订单等)是”上层建筑”,它们依赖于基础数据才能运转。
基础数据的特点:
变化频率低、被引用频率高、一旦出错影响面广。
一张生产订单的数据可能每天几十上百条变化,但物料档案里的”钢材 R01″这个定义,可能半年甚至一年都不变一次。然而,这张生产订单引用了这个物料,整个业务流程就依赖这个物料定义。
所以基础数据的建设原则是:
先建好,再开发业务流程。
二、五大基础数据模块
2.1 物料档案——ERP 的”普通话”
物料是 ERP 里最基础的概念。一个物料,就是企业生产或采购的一个基本单元。它可能是:
- 原材料:钢材、塑料颗粒、螺丝
- 半成品:某个组件的预制品
- 成品:最终生产出来的产品
物料档案定义了每个物料的完整属性:
| 属性 | 说明 | 示例 |
|---|
| 物料编码 | 唯一标识,人工规则生成 | R01, A01-001 |
| 物料名称 | 描述性名称 | 钢材、产品A |
| 规格型号 | 具体规格 | 3mm 钢板、100x200x300 |
| 分类 | 物料的分类层级 | 原材料→金属材料 |
| 计量单位 | 用什么单位度量 | 个、kg、米 |
| 安全库存 | 低于这个数量要补货 | 2000 个 |
| 批次管理 | 是否需要批次追踪 | 启用/不启用 |
为什么物料编码这么重要?
物料编码是整张单据链的”锚点”。生产订单引用物料编码,BOM 用物料编码定义父子件关系,采购订单用物料编码向供应商订货。如果编码规则混乱,后面的流程全部乱套。
AperBio ERP 采用
分级编码规则:
- 原材料编码:R + 数字(如 R01)
- 成品编码:A + 数字 – 序号(如 A01-001)
- 半成品编码:S + 数字(如 S01)
编码规则在
物料编码规则表中统一定义,确保全系统一致。
2.2 供应商档案——谁在给你供货
供应商是采购流程的关键参与方。供应商档案不只是存”谁供货”,还包括:
| 属性 | 说明 |
|---|
| 供应商分类 | 原材料供应商 / 设备供应商 / 服务供应商 |
| 供应商状态 | 潜在 → 考察中 → 合格 → 暂停合作 → 终止合作 |
| 资质信息 | 营业执照、生产许可证等(生物医药行业尤其重要) |
| 银行账户 | 用于财务结算 |
| 供货物料关系 | 这个供应商能供应哪些物料 |
供应商状态机是一个很好的业务设计示例:
潜在 ──▶ 考察中 ──▶ 合格 ──▶ 暂停合作 ──▶ 终止合作
│
└──▶ 不合格(回到潜在或终止)
只有”合格”状态的供应商才能被采购订单引用。这保证了采购质量。
2.3 仓库与库位——货放在哪里
仓库是物理空间,库位是仓库内的具体位置。
主仓库
├── A 区(原材料区)
│ ├── A-01(钢材货架)
│ ├── A-02(塑料货架)
│ └── A-03(螺丝货架)
├── B 区(成品区)
│ ├── B-01(产品A货架)
│ └── B-02(产品B货架)
└── C 区(待检区)
└── C-01(待检货架)
为什么需要库位?
- 精确管理库存位置(方便找货)
- 支持先进先出(FIFO)——按库位管理批次
- 盘点更方便——按库位分区盘点
- 质检隔离——待检物料放在”C区”,不混入合格品区
AperBio ERP 的库位编码规则:
仓库前缀 + 区域 + 货架号,如
A-01、
B-02。
2.4 BOM——制造业 ERP 的灵魂
BOM(Bill of Materials,物料清单)是制造业 ERP 区别于贸易 ERP 的最核心概念。
一句话定义 BOM:BOM 定义了”一个产品由哪些零件/原材料组成,每个用多少。”
BOM 的层级结构
以”产品 A”为例,BOM 结构如下:
产品 A(顶层,成品)
├── 半成品 S01(1 个)
│ └── 铝材 R04(1.5kg)
├── 钢材 R01(2kg)
├── 塑料 R02(0.5kg)
└── 螺丝 R03(8 个)
这就是
多级 BOM:产品 A 由半成品 S01 和原材料 R01/R02/R03 组成,而 S01 本身又由 R04 组成。
BOM 展开——核心算法
生产订单创建后,系统需要知道”生产 100 个产品 A,到底需要多少原材料”。这就是
BOM 展开:
产品 A × 100 个
→ 需要半成品 S01 × 100 个
→ 需要铝材 R04 × 162.5kg(100 × 1 × 1.02 × 1.5 × 1.05)
→ 需要钢材 R01 × 210kg(100 × 2 × 1.05)
→ 需要塑料 R02 × 51.5kg(100 × 0.5 × 1.03)
→ 需要螺丝 R03 × 808个(100 × 8 × 1.01)
展开后得到的是”底层物料需求清单”,这些信息通过
生产计划单和
采购计划单层层传递,最终驱动请购单的生成。
BOM 版本管理
BOM 不是一成不变的。产品改了设计,BOM 就要更新。AperBio ERP 采用
版本管理:
- 每个 BOM 有版本号(V1.0, V2.0…)
- 只有”已审核”状态的 BOM 版本可以被生产订单引用
- 已有生产订单引用的 BOM 版本不能删除,只能停用
- 新的生产订单可以选择不同的 BOM 版本
这样保证了
历史数据不受影响:V1.0 版本的生产订单,不会因为 BOM 更新到 V2.0 而改变。
2.5 采购价格——买货要多少钱
采购价格模块管理”哪个供应商卖哪个物料,什么价格”。
| 属性 | 说明 |
|---|
| 供应商 | 哪个供应商 |
| 物料 | 哪个物料 |
| 单价 | 每单位价格 |
| 生效日期 | 价格从何时开始生效 |
| 失效日期 | 价格到何时结束 |
| 阶梯价格 | 不同数量区间不同价格(可选) |
价格审批流程:
采购员录入价格 → 主管审核 → 生效(或失效)
只有审核通过的价格才能被采购订单引用。这保证了价格变动的可控性。
三、基础数据模块之间的关系
物料档案 ←── BOM(父子物料关系)
│
├──→ 采购价格(哪个供应商供应这个物料,什么价)
│
├──→ 库存台账(这个物料在哪个仓库,有多少)
│
└──→ 所有业务单据(生产订单、生产计划单、采购计划单、请购单、采购订单、到货单、送检单、检验单、入库单、不合格品单、退货单、出库单都引用物料)
供应商 ←── 供货物料关系(这个供应商供应哪些物料)
│
└──→ 采购价格 + 采购订单 + 到货单 + 退货单
仓库/库位 ←── 入库单 + 出库单 + 库存台账
基础数据不是孤立的,它们之间存在交叉引用关系。这也是为什么
删除基础数据时有严格的限制——被引用的数据不能随便删除,否则会破坏单据链的完整性。
四、基础数据的设计原则
- 编码唯一:物料编码、供应商编码等全局唯一,不允许重复
- 状态分级:物料/供应商/仓库都有生命周期状态(启用/停用)
- 引用保护:被业务单据引用的基础数据不允许物理删除
- 变更留痕:基础数据的修改(尤其是价格和规格)需要审批和记录
- 先建后用的约束:业务流程模块开发前,基础数据模块必须完成
五、小结
基础数据模块是 ERP 的”字典”和”法规”。业务流程是”文章”,没有字典和法规,文章写不出来。
下一篇我们将进入核心流程的第一站:
生产订单模块——从生产计划到物料需求的第一步。
这是「ERP 业务知识系列」第 3 篇,系列共 15 篇。