华为没有像 SAP 那样公开“MetaERP 采购模块白皮书”所以下面这套分析是基于华为 MetaERP 公开架构表述 高端 ERP 采购到付款P2P / Procure-to-Pay通用范式 华为“阳光采购 / 业财一体 / 元数据驱动”实践反推出来的工程化解读适合架构师、ERP 实施顾问、财务共享/采购数字化负责人看。一、设计哲学不是“把 SAP 抄一遍”而是“对象 元数据 业财实时闭环”MetaERP 采购模块的底色可以概括成 5 句话1. 业务对象优先而不是表单/报表优先传统 ERPPO_HEADERS / PO_LINES / AP_INVOICES 是物理表。MetaERP先有“采购申请、采购订单、收货、发票、付款、供应商、合同”这些业务对象字段、关系、状态、规则都由元数据描述。物理表是元数据的投影不是真理源。2. 流程刚性化 配置柔性化合规控制点硬控无预算不采购、未比价不定点、三单不匹配不付款、权责不分离不让过。业务流程可配国家、子公司、品类、金额、项目类型通过元数据/低代码改不碰核心代码。3. 业财一体业务一动凭证就生SAP/Oracle 老架构常是“业务先存批处理过账”。MetaERP 的哲学是交易即会计事件。收货 → 发事件 → 规则引擎 → 暂估凭证发票匹配 → 发事件 → 规则引擎 → 冲暂估确认应付。月结不是“算账”而是“把没跑完的事件跑完”。4. 阳光采购防舞弊优先于“好用”华为采购模块不是单纯提效工具而是内控系统需求、寻源、定标、合同、收货、付款角色分离三家比价 / 最低差异率 / 关联交易识别 / 供应商黑名单全节点留痕、版本化、可审计5. 全球一本账但本地可变形单套系统多法人、多币种、多准则CAS / IFRS / 本地 GAAP170 国家税则、关税、VAT、转移定价规则元数据注入区域合规包不靠打补丁靠租户级元数据二、总体架构采购域不是单模块而是“领域服务簇”MetaERP 里采购相关服务大致这样切SRM / 寻源域 供应商主数据、准入、资质、绩效、招投标、询价、合同 采购执行域 PR、RFQ、PO、一揽子协议、释放单、变更单 仓储质检域 GR、IQC、退换货、批次/序列号、库存价值 财务应付域 GR/IR 暂估、发票匹配、AP、预付、留抵、进项税 资金域 付款申请、付款池、银企直连、核销 主数据/规则域 物料、组织、项目/WBS、成本中心、会计科目、容差、审批矩阵 事件总线 Domain EventPO_APPROVED / GOODS_RECEIVED / INVOICE_MATCHED关键区别传统 ERPPO 和 AP 在同一库、同一事务、靠触发器。MetaERP每个域独立库 本地事务 事件驱动 Saga 补偿。三、核心实现逻辑1. 元数据驱动对象模型采购订单在元数据层大概是这样Object: PurchaseOrder fields: po_no, vendor_id, org_id, currency, term, tax_included... lines: item_id, qty, price, project_id, cost_center, budget_account states: DRAFT → SUBMITTED → APPROVED → SENT → PARTIAL_RECEIPT → CLOSED rules: price contract_price, qty pr_qty, budget_ok flows: submit → approve → publish → receive → invoice → pay acl: buyer create, manager approve, finance view, auditor trace改流程 改元数据加字段 元数据加属性加国家规则 租户元数据包。2. 状态机代替“自由修改”PR / PO / GR / Invoice 都不是随便改的而是状态机PR: 创建 → 预算占用 → 审批 → 转 PO → 关闭 PO: 起草 → 审批 → 下发供应商 → 部分收货 → 全部收货 → 发票结清 → 关闭 GR: 到货 → 质检 → 合格入库 / 不合格退货 IV: 收票 → 匹配 → 容差检查 → 冻结/通过 → 应付确认 AP: 到期 → 付款建议 → 资金审批 → 支付 → 核销任何“回退”都是新事件不是 UPDATE 原行。3. 三单/四单匹配是内控引擎不是查询语句2-wayPO ↔ 发票费用/服务3-wayPO ↔ GR ↔ 发票物料4-wayPO ↔ GR ↔ 质检 ↔ 发票高合规行业匹配维度数量发票量 ≤ 收货量 ≤ 订单量单价在容差内如 ±5%金额不含税额、税额、含税额税税种、税率、进项税合规维度项目、WBS、成本中心、库存地点不匹配 → 自动 Hold → 不付款 → 走差异处理流。4. GR/IR 暂估权责发生制原生实现货到票未到借原材料 / 库存商品 / 费用按标准价或暂估价 借/贷采购价格差异 贷应付账款-暂估GR/IR票到借应付账款-暂估 借应交税费-应交增值税进项税额 贷应付账款-供应商 借/贷价格差异超容差月结时 GR/IR 应趋近 0没清零 有“票未到 / 货未到 / 价格争议”。5. 预算承诺控制Commitment AccountingPR 保存占用预算ReservePO 审批承诺负债EncumbranceGR承诺转存货/费用IV承诺释放确认应付取消/关闭自动释放“无预算不采购”不是审批人脑子记是对象保存时就被规则引擎拦掉。6. 事件驱动业财记账伪代码on GOODS_RECEIVED: inventoryService.updateStock() accountingRuleService.eval(GR_ACCRUAL) eventBus.publish(INVENTORY_CHANGED) on INVOICE_MATCHED: accrualService.reverseGRIR() apService.createLiability() taxService.bookInputVAT() on PAYMENT_EXECUTED: apService.settle() cashService.decrease() reconciliationService.matchOpenItems()没有“晚上跑批过账”只有“事件有没有消费成功”。四、操作流程P2P 端到端阶段 1采购申请 PR需求部门按项目 / 成本中心 / 物料创建 PR系统带出预算科目、项目维度、历史价预算校验超预算直接拒审批矩阵金额 / 品类 / 资本性支出 / 费用类分路由通过后形成“采购承诺”控制点需求人和采购执行人不能是同一人。阶段 2寻源 供应商选定标准物料目录采购 / 框架协议释放非标 / 大额RFQ、招投标、比价系统强制三家比价最小差异率供应商准入状态有效无法律纠纷 / 资质不过期定标建议由系统给加权分历史交期、质量、价格偏离、关联风险阳光采购核心寻源过程版本化事后不能改原报价。阶段 3采购订单 POPR → PO 行级转化带出供应商、价格、税、付款条件、交货地点、项目/WBS关联框架合同 / 价格协议容差数量容差、价格容差、交货日期容差PO 审批后电子下发PO 审批通过 ≠ 记账但会占预算承诺锁合同价生成履约义务阶段 4发货 收货 GR供应商发货 → 到货单 → 质检合格一步式收货入库不合格退货 / 换货 / 让步接收需授权超收超容差冻结采购特批短收按实收数量入库PO 行部分完成系统动作库存数量更新库存价值更新实时生成暂估凭证发布 INVENTORY_CHANGED 事件阶段 5发票校验 IVOCR / 海关 / 税务平台 / 手工录入发票三单匹配税码、进项税、跨境税、转移定价检查容差内自动过账容差外冻结付款采购/财务/税务三方处理过账后冲 GR/IR 暂估确认应付账款登记进项税发票状态已匹配 / 部分匹配 / 冻结 / 红冲阶段 6付款 核销 AP按付款条款月结30 / 预付 / 分期生成付款建议资金计划校验账户余额、外汇额度、税务合规付款审批重复支付检查、超付检查银企直连 / 票据 / 跨境支付自动核销 Open Item对账单、账龄、供应商往来更新五、和 SAP / Oracle EBS 的本质差异维度SAP ECC/S4Oracle EBSMetaERP架构单体/HANA 内存化多表PLSQL 引擎云原生微服务事件总线建模事务码/配置/ABAP表弹性域并发程序业务对象元数据记账文档过账/部分实时触发器批处理事件驱动实时会计扩展增强/Note/ABAP客制化表单元数据低代码合规本地化包极深多组织强多租户元数据注入采购哲学最佳实践固化配置弹性阳光采购防舞弊全球实时MetaERP 不是“SAP 替代品”而是把 ERP 从“流程系统”重做成“业务对象 规则引擎 实时会计平台”。六、华为式采购模块最值得学的 4 点采购首先是内控系统不是省钱系统元数据驱动让 170 国/200 法人不用 200 套代码业务事件即会计事件月结从“算”变成“收尾”寻源—订单—收货—发票—付款全链路不可回改只能补偿
