华为MetaERP 在 Fusion 里“用 AutoAccounting 派生项目利润中心“这个说法需要稍微修正一下:Fusion PPM(项目组合管理)的会计分录不再走传统的 AutoAccoun
在 Fusion 里"用 AutoAccounting 派生项目利润中心"这个说法需要稍微修正一下:Fusion PPM(项目组合管理)的会计分录不再走传统的 AutoAccounting,而是统一通过 Subledger Accounting(SLA)的账户规则(Account Rules)+ 映射集(Mapping Sets)来派生 。Oracle 官方明确指出:"The only method to derive project-specific accounts is to use project sources in the accounting method" ——也就是说,项目相关的科目组合(包括利润中心段)唯一的正路是在 SLA 中用项目来源来派生。
传统 AutoAccounting 仍然在应收(AR)里起作用,但它只能给项目开票提供一个"默认账户",无法按项目/合同细分;如果你要让项目发票的收入/应收也按项目归属到不同利润中心,必须在 SLA 里覆盖 。
下面分场景讲清楚怎么落地。
一、先理清两条派生路径
业务场景 | 派生引擎 | 说明 |
|---|---|---|
项目成本(人工、杂项、借入借出) | SLA 账户规则(PPM 会计事件) | 唯一路径 |
项目开具发票(AR) | 先 AR AutoAccounting 给默认值 →SLA 账户规则覆盖 | 标准 AutoAccounting 不感知项目/合同 |
AP 发票上的项目相关账户 | SLA 在创建日记账时派生 | |
采购/库存的项目相关账户 | SLA 在会计创建时派生 |
所以"项目利润中心"的派生,核心是在 SLA 里建规则,而不是在 AR 的 Manage AutoAccounting 里找"Project"来源(AR AutoAccounting 的来源只有 Salesreps、Sites、Standard Lines、Transaction Types 等,没有 Project ).
二、主数据准备:建立"项目 → 利润中心"的映射锚点
SLA 规则要能取出利润中心,前提是项目上下文中有一个能对应到利润中心的值。Fusion PPM 提供以下几个维度的项目来源 :
Project Identifier(项目标识)
Project Type(项目类型)
Expenditure Type(支出类型)
Expenditure Organization(支出组织)→ 可映射到利润中心
Task Descriptive Flexfield Attribute(任务弹性域属性)
Project Descriptive Flexfield Attribute(项目弹性域属性)
Capitalizable Indicator、Billable Indicator 等 100+ 个项目特定来源
实操中推荐三种锚点方案:
方案 A:用 Division(事业部)作为利润中心载体
PPM 中的 Division 本身就是业务导向的细分,可以用于交付不同的产品或服务,一个 Division 可以被称为一个利润中心,代表了利润和成本中心的组合 。你可以:
路径:Setup → Project Financial Management → Workforce Structures → Manage Divisions 创建事业部主数据
把这个 Division 纳入 Project Organization Hierarchy
在 COA 里把 Division 作为一个独立段(即你的利润中心段)
SLA 映射集:Expenditure Organization → Division → 利润中心段值
方案 B:用项目类型(Project Type)映射利润中心
适合"同一类项目归属同一利润中心"的场景。在映射集里把 Project Type 映射到利润中心段值。
方案 C:用项目/DFF 显性维护利润中心
在项目主数据或 Task DFF 上直接维护利润中心编码,SLA 规则直接读取该 DFF 输出到利润中心段。最灵活但维护工作量最大。
三、SLA 配置:Mapping Set + Account Rule(核心步骤)
步骤 1:创建 Mapping Set(项目来源 → 利润中心值)
导航:Subledger Accounting Setup → AMB → Journal Entry Setup → Mapping Sets
示例:按"支出组织 → 利润中心"映射
输入值(Expenditure Org) | 输出值(利润中心段) |
|---|---|
EXP-ORG-PC01 | 1001 |
EXP-ORG-PC02 | 1002 |
EXP-ORG-PC03 | 1003 |
输入类型选"Segment"(Expenditure Organization),输出类型选"Constant"或"Segment"(利润中心段)。
💡 也可以用 Project Type、Project Identifier 作为输入源,看你选哪个锚点方案。
步骤 2:创建 Account Rule(账户规则)
导航:Subledger Accounting Setup → AMB → Journal Entry Setup → Account Rules
为利润中心段单独建一个段规则(Segment Rule):
新建 Account Rule,命名为
Derive_PC_Segment规则类型:Segment Rule(只派生单个段,不重写整个科目组合)
添加条件行:
条件:
Expenditure Organization存在于映射集中动作:使用 Mapping Set
EXP_ORG_TO_PC
设置优先级:可加条件
Project Capitalizable Indicator = Y时用另一套映射Default 值:设一个清算利润中心(如
9999),防止派生失败卡住过账
步骤 3:将 Account Rule 挂到 Journal Entry Rule Set(JERS)
导航:Subledger Accounting Setup → AMB → Journal Entry Setup → Journal Entry Rule Sets
复制系统预置的 Labor Costing / Miscellaneous Costing JERS
在 JERS 的 Line 定义里,对 Company、Cost Center、利润中心段分别指定 Account Rule
利润中心段指定刚建好的
Derive_PC_Segment保存
步骤 4:挂到 Accounting Method
导航:Subledger Accounting Setup → AMB → Accounting Methods
复制标准会计方法(如 Standard Accrual)
End-date 预置的 JERS,加入你新建的 JERS
部署会计方法
步骤 5:AR 项目开票的特殊处理
由于 AR AutoAccounting 不感知项目 ,需要额外一步:
在 AR AutoAccounting 里为 Revenue 账户类型设一个合理的默认来源(如 Transaction Types)
在 SLA 中,针对 AR 的"Project Billing"会计事件,建 Account Rule:条件是 Project Identifier 存在,用 Mapping Set 把 Project → 利润中心段值映射出来,覆盖 AutoAccounting 给的默认值
四、数据示例
示例 1:项目人工成本自动派生利润中心
配置:
员工在 EXP-ORG-PC01 支出组织上记录工时,归属项目 PRJ-A001
Mapping Set:
EXP-ORG-PC01 → 利润中心 1001Account Rule 命中:利润中心段 = 1001
过账时分录:
公司.利润中心.成本中心.科目 借方 贷方 01 .1001 .CC-ENG .人工成本 5,000 01 .1001 .CC-ENG .应付工资 5,000利润中心 1001 的借贷在本维度内平衡(如果因第二平衡段标签导致不平衡,系统自动补平衡科目行,参见前两轮讲解)。
示例 2:项目开票收入按项目归属不同利润中心
配置:
项目 PRJ-A001 归属利润中心 1001(通过 Project DFF 维护)
项目 PRJ-B002 归属利润中心 1002
Mapping Set:
PRJ-A001 → 1001,PRJ-B002 → 1002
开票场景:给客户开 PRJ-A001 的发票 100,000:
AR AutoAccounting 先用 Transaction Type 默认带出利润中心(假设默认 1001),SLA 账户规则再用 Project Identifier 校验/覆盖:
公司.利润中心.成本中心.科目 借方 贷方 01 .1001 .CC-SAL .应收账款 113,000 01 .1001 .CC-SAL .主营业务收入 100,000 01 .1001 .CC-SAL .应交税费-销项税 13,000若同客户另一张发票对应 PRJ-B002,SLA 规则会自动把利润中心切换为 1002。
示例 3:派生失败走清算利润中心
如果某笔项目事务的支出组织不在 Mapping Set 里:
利润中心段走 Account Rule 的 Default 值
9999过账时所有 9999 的行在利润中心维度内自平衡
月末通过查询
利润中心 = 9999的余额,分析缺失映射的项目,补映射集后做调整分录
五、完整配置顺序(Checklist)
主数据:创建 Divisions / 维护项目类型 / 在项目或任务 DFF 上维护利润中心
组织分类:把组织分类为 Project Expenditure Organization,并挂到 BU 下
项目单位:创建 Project Unit,关联 BU
Mapping Set:建"项目来源 → 利润中心段值"的映射
Account Rule:建段规则,挂 Mapping Set,设 Default 清算值
JERS:复制到项目成本/人工/借入借出等会计事件,挂 Account Rule
Accounting Method:复制并替换 JERS
AR 覆盖规则:针对项目开票收入建 SLA 账户规则,用 Project Identifier 覆盖 AutoAccounting 默认值
测试:用真实项目事务验证派生准确性
六、常见误区与避坑
⚠️误区 1:以为在 AR 的 Manage AutoAccounting 里能直接选 Project 作来源。
实际上 AR AutoAccounting 的来源只有 Salesreps/Sites/Standard Lines/Transaction Types 等 ,不感知项目。项目级细分必须靠 SLA 覆盖。
⚠️误区 2:沿用 EBS 的 Project AutoAccounting 思路。
Fusion PPM 已经彻底弃用 Project AutoAccounting 和 PO Account Generator,全部统一到 SLA 。老 EBS 顾问容易踩这个坑。
⚠️误区 3:利润中心段没有设 Default 清算值。
一旦 Mapping Set 覆盖不全,派生失败会直接报错卡住过账。务必在 Account Rule 里设 Default,让异常流进清算利润中心,月底再清洗。
⚠️误区 4:Mapping Set 输入源选错。
输入源必须是 SLA 提供的 100+ 项目来源之一 (如 Expenditure Organization、Project Type、Project Identifier、Task DFF 等),不能随意选一个不存在的来源。
七、与 SAP PCA 的对标小结
在你"对标 SAP 利润中心"的整体方案里,项目利润中心的派生是其中一块拼图:
SAP 侧:利润中心可从项目定义(Project Definition)上的利润中心字段自动派生,或通过增强派生
Fusion 侧:通过 SLA 的 Mapping Set + Account Rule,把 Project 上下文(支出组织/项目类型/项目 DFF)映射到利润中心段
等价性:Fusion 的方案更显式——你必须自己建映射规则,但也更灵活,可以叠加任意条件(如资本化标志、可计费标志等)
