旧系统不定义新系统
标准优先
采购、销售、库存、会计、付款、权限和工作流先用 ERPNext 原生能力。
领域独立
珠宝定价与原料金属结算分别进入 Jewelry App 和 Metal App。
旧系统降级
旧菜单、旧页面、旧仓库和旧表名只作证据,不作目标架构输入。
从头开始,不等于忘掉过去。
新系统的流程、数据模型、页面和权限从零设计;旧系统里的当前库存、余额、未完成单据、公式、状态和审计记录仍必须被识别、迁移或归档。
主方案只回答一个问题
如果今天第一次为珠宝和贵金属企业建设 ERP,基于 ERPNext,最少而正确的产品应该是什么?
“从头开始”的准确边界
Clean-room 的目标不是做一个没有历史负担的演示系统,而是让未来产品不再被旧代码结构绑架。新蓝图主动忽略旧组织;迁移阶段再让真实数据和业务义务进入。
旧系统不能决定这些
- 旧仓库、旧前端和 PHP/Vue/Kotlin 的代码边界。
- Store、Customer Service、Metal 当前页面如何拆分。
- 旧菜单数量、页面路由和“一个接口一个页面”的习惯。
- 旧表前缀、字段拼写、aid(共享库租户标识)过滤和兼容层。
- 现有 Platform、商城、手机与 ERP 的技术耦合方式。
- 按客户复制代码、手工菜单和一次性数据补丁。
业务义务不能被忽略
- 客户、供应商、商品、仓库、账户等主数据。
- 当前库存、序列号、重量和期初余额。
- 未完成采购、销售、退货、结算和付款单据。
- 金价、克重、成色、工费、折足和损耗公式。
- 应收应付、资金余额、总账和必要审计记录。
- 用户真正依赖的审批、打印、报表与外部合同。
先独立设计“正确的新产品”,再把旧系统逐项放到新模型旁边做 Gap Audit。旧系统只能提出约束、数据迁移和遗漏提醒,不能反向要求新系统复制它的页面、表名和组织结构。
先搭标准 ERP,再分两个领域
所有企业 ERP 都先需要同一套经营骨架。珠宝和原料的差别从库存价值和结算模型开始,而不是从前端菜单开始。
企业、门店、仓库、账户、客户、供应商、商品、单位与价格。
询价、采购订单、收货、退货、供应商应付和成本。
入库、出库、调拨、盘点、批次/序列号、库存估值和台账。
报价、销售订单、交付、发票、退货、客户应收和收款。
总账、付款、成本中心、权限、审批、报表和审计轨迹。
珠宝成品
库存围绕单件成品、款号、序列号、克重和零售价值展开。
原料与贵金属
库存围绕批次、实际重量、成色、折足重量、工厂和结算展开。
新产品的最小架构
第一天只保留 ERPNext、两个领域 App 和租户 Site。任何外围系统都必须证明自身价值后才能进入;不会因为旧系统已经存在就自动被带入。
登录与租户入口
ERPNext 标准核心
行业能力
后续渠道与服务
两个领域 App 应该做什么
以下是建议的领域对象,不是旧表一对一改名。每个新 DocType 必须能回答:它创造了什么新的业务事实,为什么标准 ERPNext 单据无法表达。
珠宝领域 App
建立在 Item、Serial No、Stock Entry、Sales Invoice、POS 和 Payment Entry 之上,只补珠宝行业差异。
原料与贵金属 App
建立在 Customer/Supplier、Warehouse、Stock Entry、Payment Entry 和 GL 之上,增加金属重量与工厂结算。
一个序列号在任一时点只能处于一个库存位置和一个有效状态。
销售金额必须能还原当时的金价、重量、工费和调整项。
期初 + 收入 - 发出 ± 损耗/调整 = 期末金属余额。
业务单据、付款、应收应付、库存估值和 GL 必须可对账。
第一阶段明确做什么、不做什么
Clean-room 项目最容易失败的原因,是“既然要重写,就顺便把所有外围系统一起重写”。第一阶段只验证标准 ERP 与珠宝核心是否成立。
第一阶段必须完成
形成一个能真实记账、真实扣库存、真实收款的珠宝 Web ERP,而不是菜单和原型。
第一阶段主动不做
这些能力不是永久放弃,而是不能抢在 ERP 核心之前进入热路径。
一个隔离 Site 上,使用真实关联样本完成“商品/单件 › 入库 › 库存 › 销售 › 收款 › 会计 › 退货/旧料”的完整闭环;库存和总账可对账,且不依赖旧系统接口才能完成日常操作。
从零实施路线
每阶段都先证明业务模型成立,再扩范围。工期在 Phase 0 的 Capability Register 和 Gap Matrix 完成前不承诺,避免用旧菜单数量估算新系统。
第一性业务定义
不看旧页面,先定义角色、主数据、单据、状态、库存影响、资金影响、审批和报表。Hermes 负责业务模型,Hold X 只用源码/数据库核对遗漏和真实规则。
ERPNext 标准基线
建立 Site、Company、会计科目、仓库、商品、客户、供应商、采购、销售、库存、付款、角色和 Workflow;优先用 Desk、Workspace、List、Form 和标准报表。
Jewelry MVP
实现金价快照、珠宝规格、单件序列号、克重定价、珠宝 POS 扩展、退货和旧料抵扣。高频操作可用 Frappe UI 做专用页面,其余继续复用 Desk。
Jewelry 产品化
把 MVP 收敛成同一 App 的租户配置;增加维修、定制、证书、标签打印、专业报表和 Feature Flag。不同租户只配置,不建 fork。
原料标准经营核心
先用标准 ERPNext 承接客户、供应商、采购、库存、销售、付款和会计;不预设旧 Store/Customer Service 页面结构。只有标准能力无法表达的差异才进入 Metal App。
Metal 专业域
实现 Material Lot、Assay、Refining Batch、Metal Ledger、Price Fixing 和 Factory Settlement;建立实际重量、折足重量、库存和资金四类不变量。
迁移工具与并行对账
按主数据、余额、库存、未完单、必要历史分批迁移;所有导入幂等、可回滚、保留来源主键。新旧系统对同一业务日并行计算并解释差异。
可选渠道与旧系统归档
ERP 核心稳定后,分别评估 SSO、员工端、商城、小程序、客服和外部服务。每条活跃调用先接到新合同,再将旧系统改为只读归档。
旧系统只在迁移阶段出现
主蓝图完成后,旧系统才以三种身份进入:需要迁移的业务事实、需要只读保留的历史、以及确认无价值后淘汰的技术残留。
进入 ERPNext
迁移后仍要参与日常经营和财务核算的数据。
- 客户、供应商、商品、仓库、账户
- 当前库存、序列号、批次和重量余额
- 期初余额、应收应付和资金余额
- 未完成采购、销售、退货、结价和结算
- 必要的审批、状态和来源主键
只读历史库
需要查询或审计,但不值得重建业务行为的数据。
- 已完成且不再反向影响余额的历史单据
- 旧打印记录、操作日志和原始附件
- 旧系统页面快照与原始接口响应证据
- 迁移前数据库快照与字段映射
- 新旧主键映射和差异说明
不迁移
没有真实业务价值,只会把技术债复制到新系统的内容。
- 重复菜单、死页面和无调用接口
- 旧前端和后端的兼容分支
- 租户硬编码、临时表和空壳 schema
- 测试数据、假成功合同和一次性修补脚本
- 无法说明业务用途的孤儿字段
真实角色能完成完整业务流,不依赖旧系统。
数量、序列号、重量、位置和估值可对账。
单据、付款、应收应付、余额与 GL 一致。
Site、用户、数据、文件和备份互不串用。
导入、部署和配置都有可验证的恢复路径。
把当前“资产迁移方案”降级为旧系统附录;以本 Clean-room 蓝图作为主方案。先建立 ERPNext 标准核心和 Jewelry MVP,再验证 Metal 专业域。Platform、手机、商城、客服和其他外围系统不再默认继承,只有在核心 ERP 稳定后,经过独立价值判断才接入。