ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

华为MetaERP 在 MetaERP 里,AP 事件 → 资金预算 Cube(CASH_CUBE)不是写 SQL 视图硬算,也不是像 EBS 那样只在 GL 层做 Funds Check,而是走 “

华为MetaERP 在 MetaERP 里,AP 事件 → 资金预算 Cube(CASH_CUBE)不是写 SQL 视图硬算,也不是像 EBS 那样只在 GL 层做 Funds Check,而是走 “ 在 MetaERP 里AP 事件 → 资金预算 CubeCASH_CUBE不是写 SQL 视图硬算也不是像 EBS 那样只在 GL 层做 Funds Check而是走“业务事件注册 → 事件映射器 → 维度解析器 → 金额表达式 → Cube 写入层 → 控制规则绑定”​ 的元数据配置链。下面按实施落地口径给你拆可以直接拿去配。一、先理清两个 Cube 的边界别配错地方Cube用途AP 事件是否写ORG_CUBE经营预算费用/成本实际消耗写 Actual发票验证时PROJECT_CUBE项目级资源占用按项目维度写CASH_CUBE资金预算/现金流计划​写付款排程/净额/实际出款CONSOL_CUBE合并视角读 CASH_CUBE 投影本题配的是CASH_CUBE不是 ORG_CUBE。很多人踩坑就是把InvoiceValidated直接当现金流出写进 CASH_CUBE。二、配置总链路MetaERP 控制台路径逻辑【1】元数据对象定义 └─ 业务对象AP_INVOICE / AP_PAYMENT / IC_SETTLEMENT 【2】事件中心注册 Event Catalog └─ 声明 AP 事件及载荷payload 【3】事件→Cube 映射 Event-to-Cube Mapping └─ 选 CubeCASH_CUBE选 Layer 【4】维度解析器 Dimension Resolver └─ 把 AP 字段解析成 Cube 维度 【5】金额表达式 Amount Expression └─ 原币/本位币/集团币 汇率口径 【6】写入规则 Write Rule └─ 增量写 / 重算 / 幂等键 【7】资金控制规则 Fund Control Rule └─ 占额度逻辑、拦截动作 【8】版本与场景 Version Binding └─ BASELINE / FC1 / 汇率压力测试三、AP 关键事件 → CASH_CUBE 映射清单核心表1. 事件注册Event Catalog事件编码触发点是否进 CASH_CUBELayerAP.PO.ApprovedPO 审批是预测层COMMITMENTAP.GR.Received收货暂估是OBLIGATIONAP.Invoice.Validated发票验证通过多账簿均过是VALIDATED_PAYABLEAP.PaymentSchedule.Created按付款条件拆到期是主写入点SCHEDULED_PAYAP.Prepayment.Created预付款发票是负向占用PREPAY_RESERVEAP.Prepayment.Applied预付冲发票冲减 SCHEDULED_PAY调整层IC.Netting.Executed内部往来轧差是净额覆盖NETTED_ICAP.Payment.Confirmed付款批确认是RESERVED_CASHBANK.Cleared银行回盘是ACTUAL_CASHAP.FX.Revalued应付重估可选单列FX_IMPACT✅ 经验原则CASH_CUBE 主口径以PaymentSchedule.Created为现金基线Invoice.Validated只做负债校验不直接当现金流。2. 事件映射配置样例控制台 YAML 风格mapping_id: AP2CASH_VALIDATED_TO_SCHED cube: CASH_CUBE source_event: AP.PaymentSchedule.Created condition: invoice.statusVALIDATED and invoice.holdFlagfalse layers: - name: SCHEDULED_PAY write_mode: UPSERT idempotency_key: pay_sched_id dimensions: resolver: ap_dim_resolver measures: - field: schedule_line.amount_orig currency: orig_currency measure_name: ORIG_AMT - field: expr(schedule_line.amount_orig * rate_pred_pay) currency: group_currency measure_name: GROUP_AMT - field: expr(schedule_line.amount_orig * rate_pred_pay) currency: pay_entity_base_ccy measure_name: LE_BASE_AMT period_logic: by schedule_line.due_date - YYYYMM四、维度解析器配置AP 字段 → CASH_CUBE 维度这是配置里最细的一块决定“钱算到哪个法人、哪个池、哪个项目”。CASH_CUBE 维度AP 来源字段解析逻辑LegalEntityInvoice.LE_Id发票所属法人负债法人PayEntityPayment.LE_Id出钱法人代付场景≠LELedgerInvoice.Book_Id中国准则/IFRS/管理账投影用CurrencyInvoice.Currency_Code原币池GroupCurrency折算表达式集团币RateType配置项发票日/预测日/银行日CostCenterInvoice.Distribution.CostCenter分配行派生ProjectInvoice.Distribution.ProjectId项目采购SupplierTypeSupplier.Class外部/内部IC_FlagInvoice.IcTrxId is not nullY/N参与 nettingCashPoolPayEntity.PoolId资金池分组BankAccountPayment.BankAcctId出款账户FlowType事件映射指定SCHEDULED_PAY / NETTED_IC…Perioddue_date / pay_date可切日/周/月解析器示例伪配置ap_dim_resolver: LegalEntity invoice.header.le_id PayEntity coalesce(payment.le_id, invoice.header.le_id) Currency invoice.header.currency_code CostCenter first(invoice.distributions.cost_center) Project first(invoice.distributions.project_id) IC_Flag case when invoice.ic_trx_id is not null then Y else N end CashPool lookup(pay_entity.pool_id)五、金额与汇率配置多币种关键CASH_CUBE 同一条记录通常写三列 measureMeasure取值汇率ORIG_AMT付款计划行原币金额无LE_BASE_AMT出钱法人本位币发票日汇率锁定GROUP_AMT集团币可配置预测汇率版 / 期末汇率版配置点rate_strategy: VALIDATED_PAYABLE - INVOICE_DATE_RATE SCHEDULED_PAY - FORECAST_PAY_RATE # 可滚动更新 ACTUAL_CASH - BANK_SETTLE_RATE这样同一笔 AP经营账用发票汇率资金计划用预测汇率银行实付用结算汇率三者差异自动进 FX 层不污染主现金流。六、多准则下的映射处理同一张发票有多账簿分录但 CASH_CUBE 不按账簿各写一遍现金而是写一次现金流事实按 PayEntity 原币用Ledger维度做投影标签准则差异项打标排除IFRS 准备、折现、暂估调整 →IS_CASH_ITEM N只进 ORG_CUBE不进 CASH_CUBE配置片段filter: exclude_when: gl_line.account in (PROVISION_ACCT, DISCOUNT_ACCRUAL) and is_cash_flowfalse七、跨法人资金池 Netting 映射逻辑内部 AP 不直接按毛额进 CASH_CUBE要走 netting 后写step1: AP.Invoice.Validated (IC_FlagY) - 写 INTERIM_IC_PAYABLE step2: IC.Netting.Executed - 按原币轧差 step3: 输出 NETTED_IC 行净额原币 step4: 按净额折集团币写 CASH_CUBE配置要点netting 前 LayerINTERIM_ICnetting 后 LayerNETTED_IC毛额不再占资金头寸仅保留对账视图八、控制规则绑定写 Cube 后做什么在“资金控制规则”里绑映射结果规则配置控制对象CASH_CUBE.SCHEDULED_PAY RESERVED_CASH控制维度PayEntity CashPool Currency Period控制级别ABSOLUTE硬拦/ ADVISORY告警超额度动作BLOCK / REQUIRE_APPROVAL / LOG重算触发事件回放Event Replay示例{ ruleId: CASH_POOL_CNY_ABS, cube: CASH_CUBE, filter: cashPoolCN_POOL and currencyCNY, layer: [SCHEDULED_PAY,RESERVED_CASH], controlLevel: ABSOLUTE, onInsufficient: BLOCK, exceptionRole: TREASURY_DIRECTOR }九、配置顺序实施 Checklist✅ 建 CASH_CUBE声明维度LE/PayEntity/Ccy/Pool/Period/FlowType✅ 注册 AP 事件到 Event Catalog含 payload schema✅ 配ap_dim_resolver字段→维度映射✅ 配金额表达式 三币种 measure✅ 配 Layer 映射COMMITMENT/OBLIGATION/SCHEDULED_PAY/NETTED_IC/ACTUAL✅ 配汇率策略发票日/预测日/银行日✅ 配多准则过滤排除非现金准则项✅ 配 IC netting 前置/后置 Layer✅ 绑资金控制规则✅ 建版本BASELINE / FC / 汇率模拟✅ 跑事件回放校验历史数据✅ 对账CASH_CUBE.SCHEDULED_PAY vs AP 付款计划表十、一个落地对照例子场景德国 LE 发票 100万 EURNet60由集团资金中心代付对 A 法人有内部应收 40万 EUR事件CASH_CUBE 写入金额Invoice.ValidatedVALIDATED_PAYABLE负债不占现100万 EURPaymentSchedule.CreatedSCHEDULED_PAY德国LE负债100万 EURIC.Netting.ExecutedNETTED_IC净额 60万 EURPayment.ConfirmedRESERVED_CASH资金中心60万 EUR折CNYBANK.ClearedACTUAL_CASH60万 EUR实付→ 资金池按60万 EUR​ 备现不是 100万。十一、一句话记忆配置本质 把 AP 事件按“现金流语义”投影到 CASH_CUBE用 PaymentSchedule 当现金基线用 PayEntity 管出钱口径用原币 netting 后折集团币用 Layer 区分预测/排程/占用/实付用规则引擎做资金额度闸门。
返回列表