CASH_CUBE 维度字典+AP 业务对象字段 → CASH_CUBE 维度/度量映射表。
口径延续前几轮设定:CASH_CUBE 管资金预算/现金流,不是经营费用预算(ORG_CUBE)。
一、CASH_CUBE 维度字典(资金预算立方体)
说明:MetaERP 为元数据驱动建模,以下命名采用“实施约定名”,可按租户命名规范调整;Layer 是 Cube 内的现金流分层,不是维度。
维度名 | 中文 | 类型 | 取值来源 | 说明 |
|---|---|---|---|---|
| 负债法人 | 主维度 | 发票所属 LE | “谁欠这笔钱”,用于法定账/合并归属 |
| 出钱法人 | 主维度 | 付款单所属 LE | 集中代付时 ≠ 负债法人 |
| 资金池 | 主维度 | PayEntity → PoolId 映射 | CN池/EUR池/全球池/内部银行池 |
| 出款账户 | 辅助 | Payment.BankAcctId | 可下钻到开户行/账户用途 |
| 原币 | 主维度 | 交易原币 | 按币种出资金计划(EUR池/USD池/CNY池) |
| 集团币视角 | 投影维度 | 折算表达式 | 不重复存事实,按汇率投影 |
| 账簿视角 | 标签维度 | Invoice.BookId | CAS / IFRS / 管理账(仅投影,不重复占现) |
| 成本中心 | 辅助 | Invoice.Distribution.CostCenter | 资金责任追溯用 |
| 项目/WBS | 辅助 | Invoice.Distribution.ProjectId | 项目采购现金流 |
| 供应商 | 主数据维 | SupplierId | 含外部/内部标识 |
| 供应商类型 | 派生维 | Supplier.Class | EXTERNAL / INTERNAL / EMPLOYEE |
| 是否内部往来 | 布尔维 | Invoice.IcTrxId is not null | Y/N,决定是否进 netting |
| 现金流分层 | 主维度 | 事件映射指定 | 见下表 |
| 资金周期 | 主维度 | due_date / pay_date | 支持日/周/月,独立于会计期间 |
| 场景版本 | 主维度 | 预算版本 | BASELINE / FC1 / FC2 / FX_STRESS |
| 业务单元/BG | 辅助 | LE → BU 映射 | 集团管理视角 |
| 合同 | 辅助 | PO.ContractId / Invoice.ContractRef | 按合同里程碑排资金 |
FLOW_TYPE 枚举(CASH_CUBE 分层)
值 | 含义 | 是否占资金头寸 |
|---|---|---|
| PO审批层预测 | 否(预测层) |
| 已收货未开票暂估 | 否(预测现金流) |
| 发票已验证负债 | 否(负债确认,不占现) |
| 付款排程到期行 | ✅ 是(现金基线) |
| 预付款占用 | ✅ 反向占用 |
| 内部往来轧差后净额 | ✅ 按净额占 |
| 付款批已确认预留 | ✅ 强占用 |
| 银行已清算 | 转实际 |
| 汇兑差异估算 | 可选单列,不重复占本金 |
Measure(度量)
度量名 | 口径 |
|---|---|
| 原币金额 |
| 出钱法人本位币金额 |
| 集团币金额(按场景汇率) |
| 资金额度占用额(同 GROUP_AMT 或 LE_BASE_AMT) |
| 所用汇率(发票日/预测日/银行日) |
| 事件序列号,用于幂等/回放 |
二、AP 核心对象 → CASH_CUBE 映射表
2.1 发票主表AP_INVOICE_HEADER
AP 字段 | 类型 | CASH_CUBE 映射 | 备注 |
|---|---|---|---|
| PK | 幂等键组成部分 | 配合事件类型 |
| 负债法人 |
| 发票归属法人 |
| 出钱法人 |
| 自付=LE_ID,代付=资金中心 |
| 原币 |
| |
| 日期 | 写事件时间戳,不直接做资金周期 | |
| 状态 | 决定能否进 | Validated 才写 |
| 挂起 | 若=Y,不进 SCHEDULED_PAY | |
| 内部交易号 |
| 非空即内部 |
| 供应商 |
| |
| 账簿 |
| 多账簿投影 |
| 合同 |
| |
| 集团币 |
| 按发票日汇率先存,付款层可重算 |
2.2 发票分配行AP_INVOICE_DISTRIBUTION
AP 字段 | CASH_CUBE 映射 | 说明 |
|---|---|---|
|
| 取首行或按权重拆分 |
|
| 项目采购现金流归属 |
|
| 管理考核 |
|
| 分配行合计=发票额 |
| 进项税单独拆行 | 可进税款缴纳计划子Cube,不混主现金流 |
2.3 付款排程AP_PAYMENT_SCHEDULE
AP 字段 | CASH_CUBE 映射 | 关键逻辑 |
|---|---|---|
| 幂等键 | UPSERT 依据 |
|
| 资金计划按月/周归桶 |
|
| 主现金基线写入点 |
|
| 代付场景核心 |
|
| 指定出款账户 |
|
| 资金中心映射 |
|
| 付款日预测汇率 |
|
| 资金计划用预测汇率 |
2.4 付款单AP_PAYMENT
AP 字段 | CASH_CUBE 映射 |
|---|---|
| 幂等键(RESERVED_CASH / ACTUAL_CASH) |
| 写 |
| 写 |
| 实付汇率,差异进 |
|
|
2.5 预付款AP_PREPAYMENT
场景 | 映射 |
|---|---|
预付款创建 |
|
预付冲发票 | 冲减对应 |
2.6 内部往来 & NettingIC_SETTLEMENT
字段 | 映射 |
|---|---|
| 关联 AP_INVOICE.IC_TRX_ID |
| 写 |
参与方 LE | 按净额分别写 PayEntity |
规则 | 先删 |
三、事件 → Cube Layer 写入对照(速查表)
AP 事件 | 源对象 | 写入 Layer | 占资金头寸 | 周期字段 |
|---|---|---|---|---|
| PO |
| 否 | promise_date |
| GR + 暂估 |
| 否 | gr_date+账期 |
| AP_INVOICE_HEADER |
| 否 | invoice_date |
| AP_PAYMENT_SCHEDULE |
| ✅ | due_date |
| AP_PREPAYMENT |
| ✅反向 | pay_date |
| IC_SETTLEMENT |
| ✅净额 | settle_period |
| AP_PAYMENT |
| ✅强占 | payment_date |
| 银行回盘 |
| 转实际 | bank_value_date |
| 重估任务 |
| 可选 | period_end |
四、多币种 / 多准则映射规则(落地约定)
场景 | 配置规则 |
|---|---|
原币池 |
|
集团币汇总 |
|
发票验证层汇率 | 发票日汇率(锁定) |
付款排程层汇率 | 预测付款汇率(可滚动更新) |
实付层汇率 | 银行结算汇率 |
多准则差异 | 仅打 |
内部往来 | 先按原币 netting,再折集团币,避免汇率放大 |
五、典型映射表达式(配置参考)
-- SCHEDULED_PAY 行写入逻辑(伪配置) INSERT INTO CASH_CUBE ( DIM_LEGAL_ENTITY = inv.le_id, DIM_PAY_ENTITY = coalesce(pay.pay_le_id, inv.le_id), DIM_CASH_POOL = lookup_pool(pay.pay_le_id), DIM_BANK_ACCOUNT = pay.bank_acct_id, DIM_CURRENCY = inv.currency_code, DIM_IC_FLAG = case when inv.ic_trx_id is not null then 'Y' else 'N' end, DIM_FLOW_TYPE = 'SCHEDULED_PAY', DIM_PERIOD = to_period(sch.due_date, 'MONTH'), DIM_LEDGER = inv.book_id, DIM_COST_CENTER = first(dist.cost_center), DIM_PROJECT = first(dist.project_id), DIM_SCENARIO = 'BASELINE', ORIG_AMT = sch.amount_orig, LE_BASE_AMT = sch.amount_orig * inv.invoice_rate, GROUP_AMT = sch.amount_orig * sch.forecast_rate, EXCHANGE_RATE = sch.forecast_rate ) WHERE inv.validation_status = 'VALIDATED' AND inv.hold_flag = 'N' AND sch.is_active = 'Y';六、实施避坑对照(高频配错)
错误做法 | 正确做法 |
|---|---|
把 | 只写 VALIDATED_PAYABLE,现金流用 PaymentSchedule |
按多账簿各写一遍现金 | 写一次现金流,Ledger 仅作投影标签 |
内部往来按毛额占资金池 | 先 netting,按 NETTED_IC 净额占 |
用期末汇率算资金计划 | SCHEDULED_PAY 用预测付款汇率 |
经营预算 Actual 和资金占用混同 | ORG_CUBE 管费用实际,CASH_CUBE 管付款现金流 |
代付场景用负债法人出款 | PayEntity 取资金中心,LE 保留负债归属 |
七、一页速记版
负债看 LE,出钱看 PayEntity 现金流看 SCHEDULED_PAY,不看 InvoiceValidated 多币种按原币进池,折集团币只投影 内部往来先 netting,按净额占池 多准则只打标签,非现金项不进 CASH_CUBE 周期跟 due_date,不跟会计期间