
华为 MetaERP 预算模块的“元数据模型配置流程”不是 SAP/Oracle 里“进 GL 开 Funds Check”那种模块级开关而是先建元数据对象 → 再绑业务事件 → 再生成预算版本 → 最后让交易实时消费。可以分成 8 个阶段来讲每一步都是“配置元数据”不是改代码。0. 总体配置链路一句话维度主数据 → 预算主体/Cube → 预算版本 → 预算额度/驱动规则 → 占用层 → 控制规则 → 事件映射 → 预测/模拟版本 → 上线校验1. 维度元数据配置Dimension Master目的先告诉系统“预算可以按什么切”。配置对象元数据配置内容Dim_Org法人 / BG / 区域 / 代表处 / 部门树Dim_RespCenter成本中心 / 利润中心 / 投资中心Dim_Project项目 / WBS / Task 层级树Dim_Product产品族 / 产品 / 解决方案Dim_Resource人工 / 差旅 / 物料 / 外包 / 折扣 / 算力Dim_Account自然科目 / 管理科目 / 费用类 / 资本类Dim_Period年/季/月/周可独立于会计日历Dim_Scenario经营 / 资本 / 专项 / 战略配置动作建维度类型dimension_typePROJECT建值集PRJ-A001 / PRJ-A002建层级树Chip Program → PRJ-A001 → WBS-T3设交叉验证规则LegalEntityCN AND CostCenterSZ02 AND ProjectPRJ-A001合法LegalEntityCN AND CostCenterMKT01 AND ProjectPRJ-A001非法设维度版本组织调整不改历史 产出维度可被预算/核算/预测共同引用。2. 预算主体 / Cube 配置Budget Subject目的告诉系统“预算挂在谁身上”。MetaERP 不是只挂成本中心而是配置多个 CubeORG_CUBE : Org CostCenter Account Period PROJECT_CUBE : Project WBS Resource Period PRODUCT_CUBE : Product Region Resource Period CAPEX_CUBE : AssetClass Project Period STRATEGY_CUBE : StrategyProgram BG Period配置流程新建 Budget CubePROJECT_CUBE选维度成员Project / WBS / ResourceType / Period设主键subject_key scenario|project|wbs|resource|period|version设是否参与控制control_participantY/N设多 Cube 同写策略PR 一行 → ORG_CUBE PROJECT_CUBE 同时占设维度互锁项目预算不能自动挪到部门费用 产出一笔业务可同时命中多个预算主体。3. 预算版本元数据配置Budget Version目的把“计划 / 基线 / 预测 / 模拟”变成对象。PLAN 战略规划 TARGET 集团目标 SUBMITTED 下级提报 BASELINE 已批准、可硬控 FORECAST 39 / 66 / 93 SIMULATION What-if配置字段version_type: BASELINE status: BASELINED control_eligible: true editable: false effective_from: 2026-01-01 effective_to: 2026-12-31 source_plan: BP-2026 lock_dims: [LegalEntity, Project]规则只有BASELINE参与 PR/PO 强控FORECAST只读、可分析SIMULATION不写 reservation配置动作建版本类型绑来源SP/BP/ProjectPlan设版本状态机DRAFT → SUBMITTED → APPROVED → BASELINED → FROZEN设版本优先级同 subject 多个版本时取哪个4. 预算额度 / 弹性规则配置Budget Line Driver目的不是“填 500 万”而是定义“这 500 万怎么来”。4.1 按额授予AMOUNTsubject: CC-RD / 660201 / 2026-01 grant_type: AMOUNT amount: 500000 control_flag: Y4.2 按率授予RATE / 弹性预算subject: MKT / 销售费用 grant_type: RATE base_measure: Revenue.ActualYTD Revenue.Forecast formula: amount base * 0.08 upper_bound: 99999999 recompute_on: - SalesForecast.Published - Invoice.Actualized target_version: FORECAST4.3 战略项目固定池subject: PRJ-A001 / 芯片验证 grant_type: AMOUNT amount: 120000000 strategic_lock: true transfer_out_allowed: false配置动作上传 Excel / EPM 推数配置自上而下分解规则配置自下而上汇总规则配置率额混合固定池 弹性池5. 占用层元数据配置Encumbrance Model目的定义“什么时候占、占哪一层”。PR → COMMITMENT PO → COMMITMENT→OBLIGATION GR/工时 → OBLIGATION→ACTUAL可比例 Invoice → OBLIGATION↓ / ACTUAL↑ Payment → 不占预算配置元数据encumbrance_layer: - event: PR.Submitted layer: COMMITMENT action: RESERVE - event: PO.Approved layer: OBLIGATION action: CONVERT_FROM_COMMITMENT - event: Invoice.Validated layer: ACTUAL action: CONSUME_OBLIGATION还可配容差invoice_over_po_tolerance 5%三单匹配失败是否占预算取消/退回是否自动释放跨期占用是否冻结 这一步决定 MetaERP 能不能“交易即占额”。6. 控制规则元数据配置Control Rule目的把“超了怎么办”变成可热加载规则。{ ruleId: RD_PRJ_ABS, filter: projectTypeRD and resourceSERVER, trigger: PR.Submitted, controlLevel: ABSOLUTE, tolerancePct: 0, onInsufficient: BLOCK }{ ruleId: MKT_OPEX_ADV, filter: costCenter like MKT%, controlLevel: ADVISORY, tolerancePct: 5, onInsufficient: REQUIRE_APPROVAL }配置维度触发事件PR / PO / Expense / Timesheet / Contract控制级别ABSOLUTE / ADVISORY / TRACK / NONE时间窗口MONTH / QUARTER / YTD / PROJECT_LIFECYCLE超支动作拦截 / 审批 / 告警 / 记日志例外角色CFO / 项目赞助人规则引擎热加载不改 Java 代码。7. 业务事件 → 预算影响映射Event Mapping目的让 PR/PO/报销/工时“天然会碰预算”。event: PR.Submitted budget_effects: - cube: ORG_CUBE layer: COMMITMENT amount_from: pr_line.amount - cube: PROJECT_CUBE layer: COMMITMENT amount_from: pr_line.amountevent: Timesheet.Approved budget_effects: - cube: PROJECT_CUBE layer: ACTUAL amount_from: hours * labor_rate配置动作选业务事件配维度解析器PR 行 → project/wbs/costcenter/product配金额表达式配写哪几个 Cube配是否走控制规则 新增“算力预约单 / 云资源申请单”只需加映射不碰预算内核。8. 预测 / 模拟版本配置Forecast Simulation8.1 滚动预测forecast_version: FC_6_6 base_version: BASELINE_2026 window: 66 source_mix: actual_ytd: 60% business_forecast: 40% regenerate_rule: DRIVER_BASED locked_dims: [LegalEntity] editable_dims: [ResourceType, Period]8.2 模拟sim_run: SIM-20260915-001 base_version: BASELINE_2026 clone_mode: SOFT assumptions: revenue: -15% wafer_price: 10% hiring_freeze: true output: - forecast_gap - transfer_proposal - margin_impact模拟不写 BASELINE只写sim_diff_line可“另存为草案预算 / 生成调剂单”9. 权限 / 组织 / 审批流配置对象配置点谁能编预算预算编制角色 组织范围谁能基线化CFO / 财经委员会谁能调剂预算 Owner 上级 BG谁能模拟战略财务 / 经营分析超预算审批项目赞助人 → 中心总裁 → CFOMetaERP 里这些也是元数据Role × DimensionScope × Action × VersionType10. 上线前自检Go-Live Check维度交叉验证通过至少 1 个 BASELINE 版本PR/PO 事件已映射控制规则覆盖核心 Cube占用层 COMMIT/OBLIGATION/ACTUAL 全通预测版本可重算模拟 Run 不影响 BASELINE一笔 PR 能同时过项目 Cube 成本中心 Cube取消 PR → 占用释放发票超 PO → 走差异占用/审批11. 用“研发买服务器”串一遍配置流1. Dim_Project 建 PRJ-A001 / WBS-T3 2. Dim_Resource 建 SERVER 3. PROJECT_CUBE 开控制 4. BASELINE_2026 下达PRJ-A001/T3/SERVER 80万 5. ORG_CUBE 下达CC-RD/660108 500万 6. 规则RDSERVERPR ABSOLUTE 7. 事件PR.Submitted → 两 Cube 各 RESERVE COMMITMENT 8. PR 70万 项目可用60万 → 拦截 9. 改 50万 → 通过 10. PO → Commitment 转 Obligation 11. Invoice → Obligation 转 Actual 12. Forecast 版收入变 → 销售费用自动滚 13. Sim芯片涨价 → 项目缺口 → 出调剂建议12. 一句话总结配置哲学MetaERP 预算不是“开开关”而是先定义维度再定义主体再定义版本再定义额度怎么算再定义业务事件怎么占再定义超了怎么办最后让预测和模拟复用同一套元数据。