
MetaERP 的“预算表”不是一张 Excel 表而是一组元数据对象 多维预算立方体 占用/实际流水的组合。设计时要先分“预算编制表 / 预算控制立方体 / 预算执行快照 / 预算流水”四层否则后面一定会变成“编得出、控不住、对不上”。下面按表该长什么样来讲。一、先定边界4 类“预算表”别混在一起类型用途是否参与控制典型形态预算编制表人填、导、审、批否模板/表单/Excel/Planning 版本控制预算立方体交易实时校验是维度组合 × 期间 × 金额预算执行快照看板/报表否预算/承诺/义务/实际/可用预算占用流水审计/冲回/追溯是PR/PO/AP/报销/工时明细MetaERP 的思路是编制表给人看立方体给引擎用流水给审计用快照给管理者看。二、维度模型预算表的“列”不是科目是维度段华为口径下预算维度来自 COA 项目 业务对象常见维度1. 组织/责任维度公司法人/核算主体利润中心管收入成本成本中心 / 部门管费用投资中心 / 平台中心区域 / 代表处 / BG / SBU2. 业务维度产品线项目 / 项目群WBS / 任务客户 / 渠道机会点Pipeline ID物料组 / 资产类别3. 会计/资源维度自然科目差旅/人工/物料/折旧预算科目管理口径可与会计科目映射预算类型经营 / 资本 / 战略专项 / 研发 / 市场基金 / 折扣返点资源类型人工 / 物料 / 设备 / 外包 / 费用4. 时间维度财年季度 / 月滚动期间39、66预算周期原始/修订/预测5. 版本/场景维度原始预算修订 1 / 修订 2滚动预测what-if 模拟冻结版本 / 生效版本预算行 维度组合不是科目行MetaERP 用“预算键 Budget Key”唯一标识。三、核心控制预算表立方体怎么设计1. 预算头表Control Budget Headercontrol_budget_id control_budget_code PC_BUDGET_2026 name 2026 经营项目双控预算 ledger_id currency CNY budget_calendar_id status DRAFT / ACTIVE / FROZEN version_id owner_org description created_by / created_at作用定义“这套预算是谁、哪本账、哪种币、哪个版本、是否生效”。2. 预算维度结构表Budget Dimension Setbudget_structure_id segment_type ORG / PROJECT / ACCOUNT / TIME / SCENARIO segment_code COMPANY / PROFIT_CENTER / COST_CENTER / PROJECT / WBS / NAT_ACCT / BUDGET_TYPE / PERIOD / VERSION segment_source COA / PROJECT_MASTER / CALENDAR / BUDGET_VERSION hierarchy_flag YMetaERP 关键是控制结构 COA 段子集 项目段 预算类型段不是直接拿总账科目控。例如控制键COMPANY02 PROFIT_CENTERPC_CLOUD COST_CENTERSZ_RND_01 PROJECTPRJ_AI_TRAIN WBS1.2.3 BUDGET_TYPECAPEX NAT_ACCT1601_SERVER PERIOD2026-03 VERSIONFINAL3. 预算额度表Budget Amount Cube最核心budget_amount_id control_budget_id company profit_center cost_center project_id wbs_id product_line nat_acct / budget_acct budget_type OPERATING / CAPEX / STRATEGIC / REBATE / DISCOUNT period_id MON-2026-03 version_id currency amount_type ORIGINAL / REVISION / TRANSFER_IN / TRANSFER_OUT / ROLLING budget_amount 800000 entered_amount base_amount effective_date这张表存的是某个维度组合在某个期间某个版本下有多少“可用授权”。不是存“差旅费 80 万”这种扁平行而是存多维交叉单元格。四、占用模型预算表必须和“承诺/实际”分开这是 MetaERP 和传统预算表最大的不同。1. 预算占用汇总表Balancesbudget_balance_id budget_key period_id budget_amount 800000 commitment PR 已占 750000 obligation PO 已占 780000 actual 已入账 300000 reservation 冻结/预留 20000 adjustment 调剂 0 available budget - commitment - obligation - actual - reservation last_updated_txn公式Available Budget - Commitment (PR) - Obligation (PO) - Actual (AP/GR/报销/工时) - Reservation (冻结/预备费/在途)2. 预算占用流水表Consumption / Encumbranceconsumption_id source_doc_type PR / PO / AP_INVOICE / EXP_REPORT / TIMESHEET / CONTRACT source_doc_id budget_key stage COMMIT / OBLIGATE / ACTUAL amount 780000 dr_cr DEBIT / CREDIT post_date reverse_flag release_flag rule_id作用PR 取消 → 释放 CommitmentPO 删除 → Obligation 回滚发票入账 → Obligation 减、Actual 增报销退单 → 占用回滚预算表不是“年初写一次”而是事件驱动更新。五、编制表人填的表怎么设计给业务/财务填的“预算表”通常是宽表模板BG 区域 项目 WBS 预算类型 科目/资源 1月 2月 3月 Q1 全年 Cloud 深圳 PRJ_AI 1.2.3 CAPEX 服务器 0 0 80万 80万 320万 Cloud 深圳 PRJ_AI 1.2.4 OPEX 外协 5万 5万 5万 15万 60万 Platform 机关 平台费用 - OPEX 研发平台费 20万 20万 20万 60万 240万但底层落库时会拆成(project, wbs, cost_center, budget_type, nat_acct, period, amount)也就是宽表给人长表给引擎。六、企业预算 vs 项目预算两套表一次写MetaERP 通常有两套控制结构1. 企业/责任中心预算company profit_center cost_center nat_acct budget_type period回答这个部门差旅/资本开支有没有钱。2. 项目预算project wbs resource_type budget_type period回答这个项目任务买服务器不能超 80 万。一笔 PR 同时生成两条占用企业预算占用CC_SZ_RND_01.CAPEX.服务器 78万 项目预算占用PRJ_AI.WBS_1.2.3.Server 78万任意一条不过 → 拦截。七、控制规则表让预算表“会管人”预算表本身不智能规则表才是控制器rule_id budget_structure_id dimension_filter cost_center like SZ_RND% and budget_typeOPEX control_level ABSOLUTE / ADVISORY / TRACK / NONE tolerance_pct 5 overrun_action BLOCK / REQUIRE_APPROVAL / WARN approval_rule_id preempt_project_budget Y allow_cross_transfer N effective_date例如差旅费超 0 就警告超 5% 要总监批资本开支超 0 强拦项目 WBS绝对不能超经营/资本不能互转平台/项目预算隔离八、预算调整/调剂表很重要budget_revision_id type ADD / REDUCE / TRANSFER from_key to_key amount reason 战略追加 / 项目变更 / 组织调整 approved_by FC / EMT / 项目赞助人 version_id effective_period华为口径平台预算从项目反推项目预算独立基线战略专项可追加经营预算按费用率弹性资本预算偏刚性所以表里必须有追加ADD调减REDUCE调拨TRANSFER滚动重估ROLLING REVISION九、执行分析表管理者看的budget_key period budget_amount commitment obligation actual available execution_rate actual / budget burn_rate (actualobligation) / budget forecast_end 线性外推 exception_flag 超80% / 超100% / 负可用 owner last_action这类表通常不直接存而是预算立方体 占用流水 总账实际 → 实时物化视图 / OLAP十、一张“MetaERP 风格”的预算物理模型草图BUDGET_HEADER BUDGET_STRUCTURE BUDGET_DIMENSION BUDGET_VERSION BUDGET_AMOUNT_CUBE ← 编出来/批下来的钱 BUDGET_TRANSFER ← 调剂/追加 BUDGET_RESERVATION ← 冻结/预备费 BUDGET_CONSUMPTION ← PR/PO/AP/报销占用流水 BUDGET_BALANCE ← 可用余额立方体 BUDGET_CONTROL_RULE ← 强控/弱控/容差 BUDGET_EXCEPTION_LOG ← 超预算/绕过/豁免 BUDGET_FORECAST ← 滚动预测十一、设计时的 6 条硬原则预算键要稳定用维度 ID不用“部门名称”编制长表化宽表展示长表存储预算/实际/承诺分离否则滚动预测永远算不准版本必须原生原始、修订、滚动、模拟不能混企业项目双控一笔业务两次占用规则外挂控制逻辑不写死在预算表里十二、最小可落地版自研也能用如果你要自研先建这 5 张就够跑起来dim_budget_key(维度组合) budget_amount(维度期间版本金额) budget_consumption(单据占用流水) budget_balance(可用余额物化表) budget_rule(控制级别/容差/审批)再补budget_transfer budget_forecast budget_project_wbs