Oracle EBS / Fusion SLA 会计科目生成判定树
说明:
- E‑BS SLA(Subledger Accounting)与 Fusion SLA 底层逻辑一致,Fusion 是 E‑BS SLA 的演进版本;
- SLA 科目生成核心:事件类型→事件类→应用会计规则集→会计方法→帐户派生规则 ADR→条件 / 源值→组合科目 CCID;
- 判定树覆盖:PO 接收、AP 发票、AP 付款、AR 发票、AR 收款、资产折旧六大典型业务;
- EBS:SLA 设置位于子分类账会计;Fusion:子分类账会计,UI 路径不同,判定逻辑同源。
SLA 完整科目生成判定总树
开始:子模块业务事务产生(AP/AR/PO/FA等) │ ├─① 判断事务【事件实体 Event Entity】 │ ├─AP:应付 │ ├─AR:应收 │ ├─PO:采购 │ ├─FA:固定资产 │ └─其他(费用、库存等) │ │ │ ├─② 获取【事件类 Event Class】(业务大类) │ │ ├─AP:发票、付款、预付款 │ │ ├─AR:发票、收款、贷项通知单 │ │ ├─PO:接收、退货 │ │ └─FA:增加、折旧、报废、重估 │ │ │ │ │ ├─③ 获取【事件类型 Event Type】(细分动作,SLA最小匹配单元) │ │ │ 例:AP发票验证、AP付款核销、PO接收交货、FA折旧运行 │ │ │ │ │ │ │ ├─④ 分配【应用会计规则集 Application Accounting Definition(AAD)】 │ │ │ │ ├─AAD绑定事件实体+事件类,分配会计规则 │ │ │ │ └─AAD分配到【主会计方法 AMB】(如中国权责发生制) │ │ │ │ │ │ │ │ │ ├─⑤ AAD下:获取【会计规则 Journal Line Definition(JLD)分录行定义】 │ │ │ │ │ ├─JLD定义分录行类型:借/贷、行描述、帐户派生规则ADR │ │ │ │ │ └─JLD行有启用条件:满足条件才生成该分录行 │ │ │ │ │ │ │ │ │ │ │ ├─⑥ 执行【帐户派生规则 ADR Account Derivation Rule】<<核心科目判定>> │ │ │ │ │ │ ADR来源类型(4选1) │ │ │ │ │ │ ├─来源值:直接取事务源字段(PO科目、AP分配科目、资产类别科目) │ │ │ │ │ │ ├─常量:写死固定科目 │ │ │ │ │ │ ├─条件规则:多条件分支判定树(最常用) │ │ │ │ │ │ └─映射集 Mapping Set:源值→科目映射表 │ │ │ │ │ │ │ │ │ │ │ │ │ ├─条件分支判断(ADR条件) │ │ │ │ │ │ │ 条件源:OU、帐簿、业务类型、物料、供应商类型、资产类别、项目、负债类型等 │ │ │ │ │ │ │ ✔满足条件 → 返回对应科目段值 │ │ │ │ │ │ │ ✘不满足 → 执行下一个条件分支 │ │ │ │ │ │ │ ✘全部不匹配 → 使用ADR默认科目(必填,否则SLA报错) │ │ │ │ │ │ │ │ │ │ │ │ │ └─⑦ 组合科目段,生成CCID(科目组合ID) │ │ │ │ │ │ │ │ │ │ │ │ │ ├─校验科目组合是否有效(GL_CODE_COMBINATIONS) │ │ │ │ │ │ ├─无效:SLA事务报错,需修正ADR/默认科目 │ │ │ │ │ │ └─有效:生成SLA分录(XLA_AE_HEADERS / XLA_AE_LINES) │ │ │ │ │ │ │ │ │ │ │ └─⑧ SLA过账到GL:转移至GL_INTERFACE,生成GL凭证 │ │ │ │ │ │ │ │ │ └─分支:JLD条件不满足 → **跳过该分录行,不生成科目行** │ │ │ │ │ └─分支:事件类型不匹配AAD → SLA无法生成会计,报错 │ │ │ └─分支:事件实体未分配AAD → SLA报错,无法生成分录 │ └─异常出口:任意环节缺失默认科目/条件全部不命中 → SLA会计事件状态=错误,需修复ADR设置一、AP 模块(应付)SLA ADR 科目判定树(最常用)
事件实体:应付;事件类:发票;事件类型:发票已验证
AP发票验证事件 ├─分录行1:负债(应付账款)行 ADR判定 │ ├─条件1:供应商类型=员工 → 科目=其他应付款‑员工 │ ├─条件2:供应商类型=外部供应商 && OU=国内主体 → 应付账款‑国内 │ ├─条件3:供应商类型=外部供应商 && OU=境外主体 → 应付账款‑境外 │ └─默认:应付账款‑通用 │ └─分录行2:费用/资产借方行 ADR判定 ├─条件1:发票分配行资产标识=Y → 在建工程/固定资产 ├─条件2:发票分配关联PO接收 → 取PO分配的接收科目 ├─条件3:发票分配关联项目 → 取项目费用科目 ├─条件4:费用类别=办公费 → 管理费用‑办公 └─默认:管理费用‑其他AP 付款事件(事件类:付款)
AP付款核销发票 ├─贷方:银行存款 │ ├─条件:付款银行账户A → 银行存款‑工行 │ ├─条件:付款银行账户B → 银行存款‑建行 │ └─默认:银行存款‑其他 │ └─借方:应付账款(回冲负债,源取被核销发票SLA负债科目)二、AR 模块(应收)SLA ADR 判定树
事件实体:应收;事件类:标准发票
AR标准发票 ├─借方:应收账款 │ ├─条件:客户类别=国内客户 → 应收账款‑国内 │ ├─条件:客户类别=海外客户 → 应收账款‑外销 │ └─默认:应收账款‑通用 │ └─贷方:收入科目 ├─条件:物料库存类别=主营产品 → 主营业务收入 ├─条件:物料类别=服务类 → 其他业务收入‑服务 └─默认:其他业务收入AR 收款事件
AR收款核销发票 ├─借方:银行存款(按收款银行账户映射科目) └─贷方:应收账款(回冲,取被核销发票应收科目)三、PO 采购接收 SLA 判定树(采购接收,SLA 生成暂估)
事件实体:采购;事件类:接收;事件类型:接收交货
PO接收(未开票,物资入库) ├─借方:存货/费用 │ ├─条件:PO行物料为库存物料 → 库存科目(INV取物料子库科目) │ ├─条件:PO行是费用采购 → PO分配费用科目 │ └─默认:物料采购 │ └─贷方:应付暂估科目 ├─条件:OU=境内,采购类型=物资采购 → 应付暂估‑物资 ├─条件:采购类型=服务采购 → 应付暂估‑服务 └─默认:应付暂估‑通用EBS/Fusion SLA:PO 接收产生暂估;AP 发票匹配 PO 时,SLA 自动冲销应付暂估。
四、FA 固定资产 SLA 判定树
事件实体:资产;事件类:折旧;事件类型:运行折旧
FA折旧运行 ├─贷方:累计折旧 │ ├─条件:资产类别=房屋建筑物 → 累计折旧‑房屋 │ ├─条件:资产类别=机器设备 → 累计折旧‑机器设备 │ └─默认:累计折旧‑其他 │ └─借方:折旧费用科目 ├─条件:资产归属部门=行政部 → 管理费用‑折旧费 ├─条件:资产归属部门=生产车间 → 制造费用‑折旧费 ├─条件:资产归属部门=销售部 → 销售费用‑折旧费 └─默认:管理费用‑折旧费EBS vs Fusion SLA 关键差异点(科目生成逻辑不变,设置层区别)
| 项目 | Oracle E‑BS R12 SLA | Oracle Fusion Cloud SLA |
|---|---|---|
| AAD/ADR/JLD 概念 | 完全一样 | 完全继承概念 |
| 后台表 | XLA_* 系列表 | 依然使用 XLA_*,部分视图重构 |
| ADR 映射 | 映射集 Mapping Set | 增强映射集,支持 Excel 批量导入 |
| 条件源 | 表单选择源 | 源库更大,支持业务对象属性、Flexfield |
| 默认科目 | ADR 层设置 | ADR 层,还支持规则集兜底 |
| 过账 GL | GL_INTERFACE | GL_INTERFACE,云环境异步过账 |
SLA 科目生成常见故障判定路径(排错树)
SLA会计事件报错/科目不对 1:会计事件状态:错误/不完整 ├─1.1 查看SLA事件诊断报告(EBS:SLA诊断;Fusion:子分类账会计事件分析) ├─1.2 是否JLD分录行条件不满足?→ 不生成分录行 ├─1.3 ADR条件全部不命中,是否配置【默认科目】?(高频报错点) ├─1.4 映射集Mapping Set缺少源值记录? ├─1.5 输出科目段组合无效CCID,GL_CODE_COMBINATIONS不存在 └─1.6 AAD/AMB会计方法分配错误,帐簿未分配正确会计方法补充:SLA ADR 条件规则伪代码(可直接用于写 FDS 文档)
FUNCTION GET_ACCOUNT(Event, Line) RETURN CCID IS BEGIN IF 条件1(源字段) THEN RETURN 科目1; ELSIF 条件2(源字段) THEN RETURN 科目2; ELSIF 条件3(源字段) THEN RETURN 科目3; ELSE RETURN ADR默认科目; --必须配置,否则SLA失败 END IF; END;