三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

华为MetaERP Oracle EBS R12 应收模块 (AR) vs Fusion Cloud Receivables一、整体架构核心差异总览表格维度 EBS R12 AR(本地 EBS)

华为MetaERP Oracle EBS R12 应收模块 (AR) vs Fusion Cloud Receivables一、整体架构核心差异总览表格维度 EBS R12 AR(本地 EBS)

Oracle EBS R12 应收模块 (AR) vs Fusion Cloud Receivables

一、整体架构核心差异总览

维度EBS R12 AR(本地 EBS)Fusion Cloud Receivables(云 ERP)
部署形态本地数据库 + 应用层 Forms/Concurrent Manager 并发程序云原生 SaaS,底层 Oracle 自治数据库,UI 为 SAAS 页面 + ESS 云调度作业
数据架构经典 EBS 多组织架构:SOB/LEDGER、OU 业务实体、MOAC 多组织访问控制云分类账、业务单元 BU、数据访问集,无 MOAC,权限基于云安全上下文
核心技术栈PL/SQL、Forms、Report Builder、并发请求、接口表、Workflow 工作流PL/SQL、ESS 作业、OTBI 报表、Fusion BIP、API/REST 接口、Fusion 工作流
收款逻辑自动收款 AutoReceipt、收款核销、应收调整、催款、账龄分析一体化并发程序云收款智能匹配、自动对账、AI 智能核销、收款账户云托管
表结构特点大量物理业务表、接口临时表、视图固化,表结构稳定极少改动底层基础表高度封装,大量业务只能通过标准 API 操作,禁止直接 DML 改表

第一部分:Oracle EBS R12 应收 AR 模块后台表全拆解

1.1 核心业务主表(日常开票、收款、核销、会计分录)

1)发票核心表(应收销售发票、贷项通知单、借项通知单)

  1. RA_CUSTOMER_TRX_ALL
    • 核心发票头表,ALL 后缀按 OU 业务实体分区数据 关键字段:
    • CUSTOMER_TRX_ID:发票唯一主键 ID
    • TRX_NUMBER:发票单据编号
    • TRX_DATE:发票开票日期
    • CUSTOMER_ID:客户主数据 ID,关联 HZ_CUSTOMERS
    • SET_OF_BOOKS_ID:旧版账套 ID,R12 替换为LEDGER_ID
    • BILL_TO_SITE_USE_ID:收款地址 ID
    • STATUS_TRX:发票状态(OPEN 未核销、CLOSED 完全核销、INVALID 作废)
    • PRINTING_OPTION:发票打印状态
  2. RA_CUSTOMER_TRX_LINES_ALL发票行明细表,一张发票多行商品 / 费用行
    • CUSTOMER_TRX_LINE_ID:行主键
    • LINE_AMOUNT:单行不含税金额
    • TAX_AMOUNT:单行税额
    • INVENTORY_ITEM_ID:关联库存物料(OM 销售发货开票联动)
  3. RA_CUST_TRX_LINE_GL_DIST_ALL发票行会计科目分配表,决定应收、收入、税科目入账科目
    • GL_CODE_COMBINATION_ID:科目组合 ID,关联 GL_CODE_COMBINATIONS
    • ACCOUNT_CLASS:账户类型:AR 应收、REV 收入、TAX 税、FREIGHT 运费

2)收款核心表(现金收款、银行收款、支票收款)

  1. AR_CASH_RECEIPTS_ALL收款头表
    • CASH_RECEIPT_ID:收款单号主键
    • RECEIPT_NUMBER:收款单据号
    • RECEIPT_DATE:收款日期
    • STATUS:收款状态:UNAPPLIED 未核销、APPLIED 已核销、UNIDENTIFIED 不明收款、REVERSED 冲销
    • PAYMENT_METHOD_ID:收款方式(现金、转账、票据)
  2. AR_APPLICATIONS_ALL收款核销明细表(最核心核销关联表) 收款与发票之间的勾对关系全存在这张表
    • APPLICATION_ID:核销主键
    • CASH_RECEIPT_ID:收款 ID
    • CUSTOMER_TRX_ID:被核销的发票 ID
    • AMOUNT_APPLIED:本次核销金额
    • APPLY_DATE:核销日期
    • GL_DATE:核销入账会计日期
  3. AR_RECEIVABLES_APPLICATIONS_ALL调整、贷项核销过渡表

3)客户、收款地址、余额基础表

  1. HZ_CUSTOMERS:客户主表(TCA 全局客户架构)
  2. HZ_CUST_SITE_USES_ALL:客户收票 / 收款地址
  3. AR_PAYMENT_SCHEDULES_ALL:发票余额表(重中之重)每一张有效发票一条余额记录,实时记录未核销余额
    • AMOUNT_DUE_REMAINING:剩余应收余额
    • CLASS:INVOICE 发票、CREDIT 贷项、DEBIT 借项
    • STATUS:OPEN/CLOSED EBS 账龄分析、逾期催收全部基于这张表取数

4)会计分录、总账对接表

  1. AR_GL_INTERFACE_ALL:应收生成的会计分录接口表,提交 “应收过账至总账” 并发程序写入 GL 接口
  2. GL_JE_HEADERS/LINES:总账正式日记账
  3. AR_DISTRIBUTIONS_ALL:应收所有业务(开票、收款、核销、调整)的明细会计行

5)常用辅助功能表

  1. AR_ADJUSTMENTS_ALL:应收金额调整表(折扣、坏账调整、价差调整)
  2. AR_COLLECTIONS_ALL:催收记录表
  3. AR_MISC_CASH_DISTRIBUTIONS_ALL:杂项收款(无对应发票的营业外收款)科目分配
  4. RA_INTERFACE_LINES_ALL / RA_INTERFACE_HEADERS_ALL:开票导入标准接口表(第三方系统批量开票导入)

1.2 EBS AR 经典标准并发程序(后台执行程序)

1、开票相关

  1. AutoInvoice 自动开票全称:AutoInvoice Import Program 业务场景:OM 订单发货自动开票、第三方系统批量导入开票 执行逻辑: 1)外部数据写入接口表RA_INTERFACE_HEADERS_ALLRA_INTERFACE_LINES_ALL2)并发程序读取接口表校验客户、科目、税率、日期 3)校验通过生成正式 RA_CUSTOMER_TRX_ALL 发票;报错写入 RA_INTERFACE_ERRORS_ALL 错误日志表 典型 PL/SQL 调用示例(后台提交并发)

plsql

DECLARE l_req_id NUMBER; BEGIN l_req_id := FND_REQUEST.SUBMIT_REQUEST( APPLICATION => 'AR', PROGRAM => 'RAXTRX', -- AutoInvoice标准程序简称 DESCRIPTION => '自动导入应收发票', START_TIME => SYSDATE, ARGUMENT1 => '参数集名称', ARGUMENT2 => 'OU业务实体ID' ); COMMIT; END; /

2、收款自动核销:Automatic Receipts

程序名:ARARUPA 功能:导入银行对账单收款,系统自动按客户、单据号匹配发票核销,写入 AR_CASH_RECEIPTS_ALL+AR_APPLICATIONS_ALL

3、应收过账总账:Transfer to General Ledger

程序简称:ARGLTP 读取 AR_GL_INTERFACE_ALL 数据推送 GL 接口,生成应收模块日记账。

4、账龄分析报表:AR Aging Report

并发程序:ARXAGE,数据源核心表 AR_PAYMENT_SCHEDULES_ALL,按逾期天数分层统计应收余额。

5、收款冲销、发票作废、坏账计提、汇率重估

  • 外币应收重估:AR_XLATE
  • 坏账准备计提:ARACCR

1.3 EBS AR 典型后台业务 PL/SQL 示例

示例 1:查询某 OU 下未核销应收发票及剩余余额

plsql

SELECT trx.trx_number 发票号, trx.trx_date 开票日期, ps.amount_due_remaining 未核销余额, c.customer_name 客户名称, trx.status_trx 发票状态 FROM RA_CUSTOMER_TRX_ALL trx JOIN AR_PAYMENT_SCHEDULES_ALL ps ON trx.customer_trx_id = ps.customer_trx_id JOIN HZ_CUSTOMERS c ON trx.customer_id = c.customer_id WHERE ps.amount_due_remaining > 0 AND trx.org_id = 82; -- 指定业务实体OU

示例 2:查询某笔收款对应的核销明细

plsql

SELECT rc.receipt_number 收款单号, trx.trx_number 被核销发票号, app.amount_applied 核销金额, app.apply_date 核销时间 FROM AR_CASH_RECEIPTS_ALL rc JOIN AR_APPLICATIONS_ALL app ON rc.cash_receipt_id = app.cash_receipt_id JOIN RA_CUSTOMER_TRX_ALL trx ON app.customer_trx_id = trx.customer_trx_id WHERE rc.receipt_number = 'REC2026080801';

第二部分:Oracle Fusion Cloud Receivables 应收模块

2.1 Fusion 核心设计约束(和 EBS 最大区别)

  1. 严禁直接 UPDATE/DELETE 底层物理表,所有业务操作强制走:标准 API、ESS 调度作业、Fusion 导入模板
  2. 业务数据做多层封装,大量业务视图替代直接查表;底层物理表不对外公开,Oracle 会不定期升级重构表结构
  3. 多组织维度:Ledger 分类账 > Business Unit 业务单元 BU,替代 EBS ORG_ID
  4. TCA 客户体系升级为 Fusion Party 模型,全局统一客户主数据

2.2 Fusion 应收关键数据表(对外可查询视图,极少直接基表)

1)发票相关视图

  1. AR_INVOICES_V 对应 EBS RA_CUSTOMER_TRX_ALL,发票头信息
  2. AR_INVOICE_LINES_V 发票行明细,对标 RA_CUSTOMER_TRX_LINES_ALL
  3. AR_DISTRIBUTIONS_V 应收会计科目分配行,对标 RA_CUST_TRX_LINE_GL_DIST_ALL

2)收款与核销视图

  1. AR_RECEIPTS_V:收款头,对标 AR_CASH_RECEIPTS_ALL
  2. AR_RECEIPT_APPLICATIONS_V:收款核销关联明细,对标 AR_APPLICATIONS_ALL
  3. AR_PAYMENT_SCHEDULES_V:应收余额计划,对标 EBS AR_PAYMENT_SCHEDULES_ALL

3)接口表(Fusion 标准导入接口表)

  1. AR_INVOICE_INTERFACE:批量导入发票接口表(替代 EBS RA_INTERFACE)
  2. AR_RECEIPT_INTERFACE:外部收款导入接口 数据写入接口表后运行 ESS 作业导入正式业务表。

4)总账对接

GL_INTERFACE、GL_JOURNALS_V,应收 ESS 作业自动推送日记账至总账,无 EBS 独立的 AR_GL_INTERFACE_ALL 表。

2.3 Fusion 应收核心 ESS 后台作业(替代 EBS 并发请求 Concurrent Request)

ESS = Enterprise Scheduler Service,云版定时调度程序

  1. Import AutoInvoices对标 EBS AutoInvoice,加载接口表发票数据验证生成正式应收发票
  2. Import Receipts银行收款批量导入、自动智能匹配核销
  3. Create Accounting(创建会计分录)Fusion 核心作业,实时 / 批量生成应收会计分录,无需单独 “传送总账” 步骤,生成后自动推送总账
  4. Aging Receivables Report账龄分析 ESS 报表任务,基于 AR_PAYMENT_SCHEDULES_V 取数
  5. Revalue Foreign Currency Receivables外币应收汇率重估

2.4 Fusion 主流程序调用方式(无 EBS Forms、本地 PL/SQL 并发提交)

方式 1:Fusion 标准 REST API(主流集成方案)

常用应收 API:

  1. 创建应收发票:/fscmRestApi/resources/latest/receivablesInvoices
  2. 创建收款:/fscmRestApi/resources/latest/receivablesReceipts
  3. 收款核销:Receipt Application API
  4. 查询应收余额、客户对账:Query Receivables Balances API

方式 2:Fusion PL/SQL(仅限客户定制扩展,禁止直接 DML)

Fusion 数据库仅允许只读查询视图,业务写入必须调用内置 API 包:AR_PUBLIC_API.CREATE_INVOICEAR_PUBLIC_API.APPLY_RECEIPT示例伪代码:

plsql

DECLARE l_return_status VARCHAR2(1); BEGIN AR_PUBLIC_API.CREATE_INVOICE( p_business_unit_id => 10001, p_customer_id => 12345, p_invoice_date => SYSDATE, p_invoice_amount => 10000, x_return_status => l_return_status ); IF l_return_status = 'S' THEN DBMS_OUTPUT.PUT_LINE('发票创建成功'); END IF; END; /

方式 3:FBDI 模板导入(Excel 模板上传后台 ESS 解析)

FBDI=Fusion Business Intelligence Integrator,最常用线下批量导入工具:

  • AR Invoice FBDI 模板:批量导入销售发票
  • AR Receipt FBDI:批量导入银行收款单

第三部分:EBS AR vs Fusion AR 关键业务场景后台执行链路对比

场景 1:第三方系统批量导入开票

EBS 链路

第三方 → 写入 RA_INTERFACE_HEADERS/LINES_ALL 接口表 → 提交 AutoInvoice 并发请求 → 校验通过写入 RA_CUSTOMER_TRX_ALL 正式发票表 → AR_GL_INTERFACE 生成分录 → 运行 ARGLTP 过账至 GL 接口 → GL 导入日记账

Fusion 链路

第三方 Excel/API 写入 AR_INVOICE_INTERFACE 接口表 → 调度 ESS Import AutoInvoices 作业 → 校验入库正式发票表 → 运行 Create Accounting ESS 自动生成会计分录,实时同步总账

场景 2:银行回款自动核销发票

EBS

银行文件解析写入 AR_CASH_RECEIPTS_ALL 临时收款 → 运行 Automatic Receipts 并发程序匹配单号 / 客户 → 写入 AR_APPLICATIONS_ALL 核销记录,更新 AR_PAYMENT_SCHEDULES_ALL 余额

Fusion

银行文件上传 Fusion 现金管理 → 自动推送 AR 收款接口 → ESS 收款导入 + 智能匹配引擎自动核销,一键更新应收余额

第四部分:运维与开发实操注意事项

4.1 EBS AR 开发注意点

  1. 所有表必须带_ALL,必须携带ORG_ID做数据隔离,开启 MOAC 时需要设置MO_GLOBAL.INIT('AR')
  2. 禁止直接 update RA_CUSTOMER_TRX_ALL、AR_APPLICATIONS_ALL 核心业务表,必须调用标准 API:AR_PUBLIC_API.APPLY_RECEIPT_APIAR_INVOICE_API
  3. AutoInvoice 报错优先查 RA_INTERFACE_ERRORS_ALL 错误详情
  4. AR_PAYMENT_SCHEDULES_ALL 余额异常优先排查核销表 AR_APPLICATIONS_ALL 数据错乱

4.2 Fusion 开发运维红线

  1. 绝对禁止直接 DML 修改业务表,违规会导致业务数据不一致、Oracle 服务合约失效
  2. 定制化业务优先选择 REST API、FBDI、ESS 作业、OTBI 自定义报表
  3. 余额对账只能查询系统标准视图 AR_PAYMENT_SCHEDULES_V,不能依赖底层基表
  4. 升级版本后视图字段可能变动,定制报表尽量选用 Oracle 发布的标准业务视图

第五部分:常用对账 SQL 定位思路

EBS 核对发票总账一致性

plsql

-- 应收模块应收科目余额与总账核对 SELECT SUM(dist.amount) ar应收账面余额 FROM AR_DISTRIBUTIONS_ALL dist JOIN GL_CODE_COMBINATIONS gcc ON dist.code_combination_id = gcc.code_combination_id WHERE gcc.segment1 = '1122' -- 应收账款科目段 AND dist.gl_date BETWEEN '01-JAN-2026' AND '31-JUL-2026' AND dist.org_id=82;

Fusion 只读对账(视图查询)

plsql

SELECT SUM(amount) FROM AR_DISTRIBUTIONS_V WHERE account_segment1 = '1122' AND gl_date BETWEEN TO_DATE('2026-01-01','YYYY-MM-DD') AND TO_DATE('2026-07-31','YYYY-MM-DD');

总结

  1. EBS AR:厚重成熟本地化架构,表结构透明,并发程序 + PL/SQL 高度灵活定制,适合本地重度二开,核心围绕 RA、AR、HZ 系列 ALL 分区表;
  2. Fusion AR:云原生封闭架构,弱化底层表操作,API/ESS/FBDI 为主,内置智能核销、自动会计,二开偏向集成层而非数据库层; 3. 两套产品业务逻辑(开票 - 收款 - 核销 - 会计)业务模型一致,只是数据存储、调度方式、二次开发模式彻底重构。
← 返回列表