ORACLE系统内对帐

杨佳木

概述
对帐是财务月结及项目上线必要的一项工作,本文对ORACLE系统内总帐和子模块的对帐方法
做一个简单的归纳总结,包括各主要科目的具体核对方法以及子模块传总帐流程分析,其中科目核
对方法均给出了系统标准报表对帐法和可用的SQL对帐法。

说明
对帐工作是与具体业务紧密相关的,需要认真分析与所核对科目相关的系统中的业务分布情况,
以及各自在系统中的设置方法。如应计负债帐户理论上是接收和发票匹配的分录,那就要检查应计
负债的设置和来源。所以对于具体业务和方案的不同,对帐的方法和细节可能存在一些差别,对帐
后的差异处理方法也有所不同。另外建议尽可能使用系统标准报表对帐,可以更好的保证准确性。

参考
本文参考了早期项目的相关文档,以及metalink、user guide的一些资料。
AP Trial Balance Shows Invoices With Accounting Date After As Of Date [Note:315147.1]
所有报表的测试环境为 11.5.10.2

杨佳木 15-JUL-2007 MSN:yangjiamu@gmail.com

Company Confidential - For internal use only

1

ORACLE系统内对帐

杨佳木

Contents
概述 ..................................................................... 1
说明 ................................................................. 1
参考 ................................................................. 1
Contents ................................................................. 2
材料采购科目核对 ......................................................... 3
描述 .................................................................
核对原则 .............................................................
所用报表 .............................................................
详细步骤 .............................................................
可用SQL ..............................................................

3
3
3
3
4

应计负债科目核对 ......................................................... 5
描述 .................................................................
核对原则 .............................................................
所用报表 .............................................................
详细步骤 .............................................................
可用SQL ..............................................................

5
5
5
5
6

应付帐款科目核对 ......................................................... 7
描述 .................................................................
核对原则 .............................................................
所用报表 .............................................................
可用SQL ..............................................................

7
7
7
8

预付帐款科目核对 ......................................................... 9
描述 ................................................................. 9
核对原则 ............................................................. 9
所用报表 ............................................................. 9
可用SQL ............................................................. 10
应收帐款科目核对 ........................................................ 12
描述 ................................................................
核对原则 ............................................................
所用报表 ............................................................
可用SQL .............................................................

12
12
12
12

应收票据科目核对 ........................................................ 15
描述 ................................................................
描述 ................................................................
所用报表 ............................................................
详细步骤 ............................................................
可用SQL .............................................................

15
15
15
16
16

子模块传帐至总帐流程 .................................................... 19
传送流程 ............................................................ 19
简要分析 ............................................................ 19
传送状态分析 ........................................................ 20

Company Confidential - For internal use only

2

ORACLE系统内对帐

杨佳木

材料采购科目核对
描述
材料采购科目发生于以下业务中:
(1)接收时----借:材料采购
贷:应计负债
(2)入库时----借:库存成本
贷:材料采购
(3)GL中手工调整凭证

核对原则
GL中查询到的材料采购帐户发生额 与 接收的“材料采购”发生额、入库的“材料
采购”发生额 进行核对:
GL材料采购科目发生额=PO模块材料采购发生额—INV模块材料采购发生额
但同时须考虑在GL中手工凭证调整的材料采购科目发生额。

所用报表
PO:“接收帐户分配报表”
此报表可以取得指定期间,接收事务处理的材料采购科目发生额。
INV: “物料帐户分配汇总”
此报表可以取得指定期间,分库存组织的入库的材料采购科目发生额。
GL:“试算表—汇总1”
取得总帐中科目发生额和余额

详细步骤
1,

在PO模块利用系统标准报表,提交请求:“接收帐户分配报表”
提交请求的参数如下:

(1) 可以选择库存组织,不选组为所有库存组织的汇总
(2) 可以选择GL日期
(3) 可以选择物料范围或供应商范围。
(4) 可以选择接收编号范围
(5) 可以输入指定帐户,这里输入材料采购科目。
提交请求,运行完毕,查看输出,可以得到指定期间内接收事务处理的
材料采购科目的发生额。

Company Confidential - For internal use only

3

ORACLE系统内对帐

杨佳木
2,

在INV模块利用系统标准报表,提交请求:“物料帐户分配汇总”
提交请求的参数如下:

(1) 可以选择事务处理日期范围
(2) 可以输入指定帐户,这里输入材料采购科目
(3) 注意:提交此请求前应该先更新组织“INV—更改组织”
对每个库存组织都提交此请求,获取所有库存组织的入库业务的材料采
购科目发生额,手工在EXCEL中进行汇总。

3,

在GL模块,“查询—帐户 ”中,可以查询到材料采购科目在指定期间内的
PTD,YTD以及可以追溯到明细日记帐。(或者利用试算表—汇总1报表)

可用SQL
(1)--查询日记账
SELECT GJH.JE_SOURCE,GJH.JE_CATEGORY,gjh.description,
GJL.ACCOUNTED_DR,GJL.ACCOUNTED_CR,GJL.REFERENCE_4
FROM GL.GL_JE_HEADERS GJH,GL.GL_JE_LINES
GJL,GL.GL_CODE_COMBINATIONS GCC
WHERE GJH.JE_HEADER_ID=GJL.JE_HEADER_ID
AND GCC.CODE_COMBINATION_ID=GJL.CODE_COMBINATION_ID
AND GJH.PERIOD_NAME='2007-04'
AND GCC.SEGMENT3='120100'
AND GJH.JE_SOURCE='Inventory'

(2)--查询库存模块产生的会计分录
select mta.organization_id,sum(mta.base_transaction_value)
from mtl_transaction_accounts mta,gl.gl_code_combinations gcc
where

gcc.code_combination_id=mta.reference_account

and gcc.segment3='120100'
and mta.transaction_date between to_date('20070401','yyyymmdd')
and to_date('20070501','yyyymmdd')
=--and mta.organization_id=103
group by mta.organization_id

Company Confidential - For internal use only

4

ORACLE系统内对帐

杨佳木

应计负债科目核对
描述
应计负债科目在下列业务中可能有发生额:
接收时------借

:材料采购
贷:应计负债

向供应商退货时------借:应计负债
贷:材料采购
AP发票匹配PO时----------借:应计负债
贷:应付帐款
无PO手工输出发票分配行------借:应计负债
贷;应付帐款
GL中手工调整凭证

核对原则
同一期间中,GL中应计负债的期间发生额 与 接收、向供应商退货、与PO匹配、
无PO手工分配四种应计事务处理的发生额 进行核对。同时考虑GL中手工凭证的应计负
债科目发生额。

所用报表
AP:“应计调节报表”
此报表可以取得指定期间中接收,向供应商退货,与PO匹配,无PO四种应计事务
处理的发生额。
(注:此报表如果指定期间过长,数据量过大,则输出对电脑要求较高,很容易死
机,因此用SQL查询较好)

详细步骤
1, 在AP模块利用系统标准报表,提交请求:“应计调节重建”,运行完成后,
再提交请求:“应计调节报表” 。
“应计调节重建”从相应的子分类帐收集所有的会计分录,并将它们存储在一个临
时表中,“应计调节报表”将使用“应计调节重建”最近一次收集并存储在临时表中的
信息进行报告。
提交请求的参数如下:

Company Confidential - For internal use only

5

ORACLE系统内对帐

杨佳木
(1)

可以选择按物料后者供应商进行排序

(2)

可以选择GL日期

(3)

可以选择物料范围或供应商范围。

(4)

选择是否“包括所有事务处理”。报表将按采购订单行汇总所有的接收和

发票,如果指定“是”且采购订单行净额为零,则报表将打印该订单行的所有接收或发
票分录;如果指定“否”,报表将考虑“事务处理金额容限”和“事务处理数量容限”
的参数。
(5)

可以输入“事务处理金额容限”“事务处理数量容限”。如果“包括所有

事务处理”选定为“否”,则可以指定报表包括的采购订单行事务处理必须具有的最小
净额,也可以报表包括的事务处理必须具有的最小净数量。
(6)

是否“包括冲销事务处理”。输入“是”或“否”可以指定报表中是否打

印冲销分录。如果指定“是”,系统将在列的最右边显示一个星号 (*) 以指示冲销事务
处理。如果选择“否”,则可以缩短报表大小。默认值为“否”。

2,

在GL模块,查询—帐户 中,可以查询到应计负债科目在指定期间内
的PTD,YTD还可以追溯到明细日记帐(或者利用试算表—汇总1报
表)。

可用SQL
SELECT
trunc(a.transaction_date,'mm'),a.transaction_source_code,a.accrual_code
,sum(a.transaction_amount)--,a.accrual_account_id
FROM Po_Accrual_Reconcile_Temp_All a
group by
trunc(a.transaction_date,'mm'),a.transaction_source_code,a.accrual_code,a.ac
crual_account_id

应计负债科目的明细可以在Po_Accrual_Reconcile_Temp_All表中查看。

Company Confidential - For internal use only

6

ORACLE系统内对帐

杨佳木

应付帐款科目核对
描述
应付帐款科目在发票批信息、供应商地点层和财务系统选项都有设置,优先级依次递减,
其会计行中的帐户类型为 Liability。
应收帐款科目在系统处理应付发票,付款等业务时发生:
应付发票---借:应计负债/固定资产中转/费用
贷:应付帐款
付款--------借:应付帐款
贷:现金/银行

核对原则
GL中应付帐款发生额 – GL中手工凭证应付帐款发生额
– GL中重估凭证应付帐款发生额
= AP中 应付帐款科目发生额

所用报表
AP:“应付帐款试算表”
应付帐款试算表(“Accounts Payable Trial Balance”)可以用来核对应付帐款科目
(所有会计行类型为 LIABILITY)的截至某个日期的余额,报表上的某个应付帐款科目的
数额应该与总帐该科目除去 GL 中调整凭证外的同期余额一致。
注意:此报表可能存在“截止日期”不起作用的情况,查询METALINK,得出ORACLE
BUG(BUG号4449844),需要打一个PATCH(PATCH号4468883)即可,如果
此PATCH不起作用,则需打另一个PATCH(PATCH号4692241)。

GL:“试算表-汇总1”
可以输出PTD,YTD的应付帐款科目的期初期末余额,借贷方发生额。
另外在查询—帐户中可以利用追溯功能查询到明细记录。

注:GL中应付帐款科目凭证来源一般有 从AP导入,人工,重估。
GL科目发生额—人工 –- 重估 = AP中此科目发生额
除用SQL工具外,利用查询—帐户也可以方便的查询到来源为人工和重估的凭
证。这里注意重估凭证需要在界面上把“入帐贷项”“入帐借项”显示出来才能看到
凭证金额。

Company Confidential - For internal use only

7

ORACLE系统内对帐

杨佳木

可用SQL
GL—SQL:
SELECT
GJH.JE_SOURCE,
GJH.NAME,
GJH.JE_CATEGORY,
GJH.DESCRIPTION,
GJL.ACCOUNTED_DR,
GJL.ACCOUNTED_CR
FROM GL.GL_JE_HEADERS GJH,GL.GL_JE_LINES GJL,GL.GL_CODE_COMBINATIONS GCC
WHERE GJH.JE_HEADER_ID=GJL.JE_HEADER_ID
AND GJL.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
AND GJH.PERIOD_NAME='2007-05'
AND GCC.SEGMENT3 like '2121%'

注:此SQL中包括人工和重估凭证,除去即为AP中导入的应付帐款发生额。

AP—SQL:
select gcc.segment3,gcc.segment4
,sum(nvl(ael.accounted_dr,0))-sum(nvl(ael.accounted_cr,0))
from ap_accounting_events_all ae,ap_ae_headers_all aeh,ap_ae_lines_all ael,po_vendors pv
,gl_code_combinations gcc
where ae.accounting_event_id = aeh.accounting_event_id
and ael.code_combination_id=gcc.code_combination_id
and gcc.segment3 like '2121%'
and ael.ae_header_id=aeh.ae_header_id
and aeh.period_name = '2007-05'
and ael.third_party_id=pv.vendor_id
group by gcc.segment3,gcc.segment4
having sum(nvl(ael.accounted_dr,0))-sum(nvl(ael.accounted_cr,0))!=0

应付模块的各种业务产生的会计分录都记录在表ap_ae_headers_all(AEH)和ap_ae_lines_all(AEL)
中,两个表的关系是头和行的关系。
AEH中的字段gl_transfer_run_id的值为这些会计行过到总帐后的凭证批名的一部分,这个字段就将
应付和总帐关联起来。
AEL表中的字段ae_line_type_code为该会计行科目的帐户类型。
根据AEL上的source_table和source_id字段,可以追溯出这个会计行是来自那个正常匹配的发票,哪
个发票分配,哪个付款等等

Company Confidential - For internal use only

8

ORACLE系统内对帐

杨佳木

预付帐款科目核对
描述
预付帐款科目在以下业务中发生:
预付款发票---借:预付帐款
贷:应付帐款
发票核销预付款--------借:应付帐款
贷:预付帐款
GL中人工调整凭证,重估凭证。

核对原则
GL中预付帐款发生额 – GL中手工凭证预付帐款发生额
– GL中重估凭证预付帐款发生额
= AP中 预付帐款科目发生额

所用报表
AP:“预付款状态报表”
预付款状态报表(“Prepayments Status Report”)按照不同供应商列出了预付帐款的
余额和未结发票的明细及余额。用来查询还有哪些预付款可以用来核销发票,还有哪些发票未
结清。
在报表参数中选择“显示预付款分配”为“Yes”,就可在报表中显示预付款余额的科目。
这个报表的缺点是没有按照科目的汇总金额,如果有很多个供应商的预付款余额,核对起来就
要逐个加总,比较麻烦。
建议使用SQL来核对,可以方便查询到截止到每个月的预付帐款科目余额。

注意:

预付帐款状态报表 在核对截止当前的预付款余额是准确的,如果核对之前日期的

预付款状态,建议使用SQL查询。
因为这个系统报表逻辑是:假如截止3月5日某供应商预付款余额为100,4月5日核销
了20,则4月5日预付款余额为80,但是如果我们在4月5日去查询截止3月5日的预付款余
额,报表也会输出80,也就是说3月5日之后的核销业务也影响了报表。而我们在4月5日
核销产生的会计分录是传送了到GL4月期间的,那么我们核对GL和AP预付帐款3月期间
发生额时,GL中并没有这20,而这张AP报表是有的,所以不能用这张报表核对之前期
间的发生额。

Company Confidential - For internal use only

9

ORACLE系统内对帐

杨佳木
SQL可以准确的查询到截止当期或前几期的预付款余额,截止日期之后的核销不会
影响数据。但是此SQL只能查询出截止某个月的余额,不能精确到日,例如截止4月1日
与截止4月30查询出的数据是一样的,都是4月之前的数据。

可用SQL
GL—SQL:(SQL同上)

AP—SQL:
此SQL可能按供应商列出截止某日预付帐款的余额,如果要查询5月份发生额,则先
查询截止5月31日余额,再查询出截止4月30日余额,相减便得AP中预付帐款5月发生额。
select prepay.vendor,sum(prepay.entered),sum(prepay.accounted)
from
(select pv.vendor_name vendor,b.invoice_currency_code currency,b.invoice_num
inv_num,u.invoice_num,u.gl_sl_link_id
,sum(u.a3) entered,sum(u.a4) accounted from
(

--预付款
select aia.invoice_num n,aia.invoice_type_lookup_code

c1,aip.line_type_lookup_code c2,aip.invoice_distribution_id id,aia.invoice_num
,aip.amount a1,aip.base_amount a2,ael.gl_sl_link_id
,nvl(ael.entered_dr,0)-nvl(ael.entered_cr,0)
a3,nvl(ael.accounted_dr,0)-nvl(ael.accounted_cr,0) a4
from ap_invoice_distributions_all aip,ap_invoices_all
aia,ap_ae_lines_all ael,gl_code_combinations gcc
where aia.invoice_id=aip.invoice_id
and aip.dist_code_combination_id=gcc.code_combination_id and
gcc.segment3='115101'
and aia.invoice_type_lookup_code ='PREPAYMENT'

and

aip.line_type_lookup_code='ITEM'
and ael.source_table='AP_INVOICE_DISTRIBUTIONS' and
ael.source_id=aip.invoice_distribution_id
and trunc(aip.accounting_date,'mm') <=to_date('2007-04-30','yyyy-mm-dd')

--核销
union all
select aia.invoice_num n ,aia.invoice_type_lookup_code
c1,aip.line_type_lookup_code c2,aip.prepay_distribution_id id,aia.invoice_num
,aip.amount a1,aip.base_amount a2,ael.gl_sl_link_id
,nvl(ael.entered_dr,0)-nvl(ael.entered_cr,0)
a3,nvl(ael.accounted_dr,0)-nvl(ael.accounted_cr,0) a4
from ap_invoice_distributions_all aip,ap_invoices_all
aia,ap_ae_lines_all ael,gl_code_combinations gcc
where

aia.invoice_id=aip.invoice_id

and aip.dist_code_combination_id=gcc.code_combination_id and
gcc.segment3='115101'
and aia.invoice_type_lookup_code!='PREPAYMENT'

and

aip.line_type_lookup_code='PREPAY'
and ael.source_table='AP_INVOICE_DISTRIBUTIONS' and

Company Confidential - For internal use only

10

ORACLE系统内对帐

杨佳木
ael.source_id=aip.invoice_distribution_id
and trunc(aip.accounting_date,'mm') <=to_date('2007-04-30','yyyy-mm-dd')
) u,ap_invoice_distributions_all a,ap_invoices_all b,po_vendors pv
where a.invoice_distribution_id=u.id
and a.invoice_id=b.invoice_id
and b.vendor_id=pv.vendor_id
group by
pv.vendor_name,b.invoice_currency_code,b.invoice_num ,u.invoice_num,u.gl_sl_link_id
union all--舍入write off
select ael.reference1,ael.currency_code 币种,aia.invoice_num 发票
号,aia.invoice_num,ael.gl_sl_link_id
,sum(nvl(ael.entered_dr,0)-nvl(ael.entered_cr,0)) 原币
,sum(nvl(ael.accounted_dr,0)-nvl(ael.accounted_cr,0)) 本位币
from ap_invoices_all aia,ap_ae_lines_all ael,gl_code_combinations gcc
where
ael.code_combination_id=gcc.code_combination_id and gcc.segment3='115101'
and aia.invoice_type_lookup_code!='PREPAYMENT'
and ael.source_table='AP_INVOICES' and ael.source_id=aia.invoice_id
and trunc(aia.invoice_date,'mm') <=to_date('2007-04-30','yyyy-mm-dd')--daisy
group by
ael.reference1,ael.currency_code,aia.invoice_num,aia.invoice_num,ael.gl_sl_link_id
) prepay
group by prepay.vendorhaving abs(sum(prepay.accounted))!=0

Company Confidential - For internal use only

11

ORACLE系统内对帐

杨佳木

应收帐款科目核对
描述
系统在进行应收事务处理,调整和收款等自动会计时,分配中的应收帐款科目取自
在系统中设置好的自动会计来源(地点,事务处理类型,或销售代表)。
应收帐款科目在以下业务中发生:
应收发票---借:应收帐款
贷:收入
收款--------借:现金/银行
贷:应收帐款

核对原则
GL中应收帐款发生额 – GL中手工凭证应收帐款发生额
– GL中重估凭证应收帐款发生额
= AR中 应收帐款科目发生额

所用报表
AR:日记帐分录报表
日记帐分录报表(“Journal Entries Report”)中包括了所有在应收模块有发生额
的科目的期间发生数。因此在相同期间下,应收帐款科目和收入类科目的发生额就可以
用该报表与总帐的发生额来核对。日记帐分录报表可以在报表参数设置各种过帐状态
(已过帐、未过帐或已过帐和未过帐)的报表数据。
运行时可以选择期间,应收帐款科目等参数。

可用SQL
应收模块中,各种不同类型应收事物处理所产生的会计分录记录在表
ra_cust_trx_line_gl_dist_all(下简称ctldg)中;而收款、收款核销、贷项通知单核销、
调整等产生的分录都会记录在表ar_distributions_all中,该表中的source_table、
source_id字段标明了该分录来自哪个事物处理表的哪条记录,source_type为该会计行
科目的帐户类型。
在ctldg、ra、crh、adj这些表中,都有一个字段posting_control_id,该字段数值成
为这些应收分录过到总帐后所在的凭证批的批名的一部分,这就成为应收和总帐的一个
连接的字段,对我们的对帐工作非常有用。如果该记录未过到总帐,posting_control_id
的值是-3。

Company Confidential - For internal use only

12

ORACLE系统内对帐

杨佳木
在ar_distributions_all中的source_type字段、ctldg中的account_class字段,可与同
一记录中的ccid对照来核对是否存在帐户类型混用的情况。
GL—SQL:(同上)
AR—SQL:
select gcc.segment3,gcc.concatenated_segments,gp.period_name,sum(a.amount)
from (

--发票分配
select ctldg.gl_date gl_date,ctldg.posting_control_id,'INV'
source_table,ctldg.account_class acc_type
,to_char(ctldg.customer_trx_id) source_id,ctldg.cust_trx_line_gl_dist_id
line_id,rct.trx_number
,ctldg.code_combination_id
ccid,decode(ctldg.account_class,'REC',1,-1)*ctldg.acctd_amount
amount,rct.invoice_currency_code currency_code--,ctldg.*
,rct.bill_to_customer_id customer_id
from ra_cust_trx_line_gl_dist_all ctldg,ra_customer_trx_all rct
where ctldg.customer_trx_id=rct.customer_trx_id
and rct.complete_flag='Y'
union all--调整
select adj.gl_date,adj.posting_control_id,ad.source_table,ad.source_type
,to_char(adj.adjustment_id) source_id,ad.line_id,rct.trx_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_cr,0),a
d.currency_code
,rct.bill_to_customer_id customer_id
from
AR_ADJUSTMENTS_all adj,ar_distributions_all ad,ra_customer_trx_all rct
where adj.adjustment_id=ad.source_id
and adj.customer_trx_id=rct.customer_trx_id
and ad.source_table='ADJ'

union all--收款处理
select crh.gl_date,crh.posting_control_id,ad.source_table,ad.source_type
,crh.cash_receipt_id||'C'||crh.cash_receipt_history_id
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_cr,0),a
d.currency_code
,acra.pay_from_customer customer_id
from ar_cash_receipt_history_all crh,ar_distributions_all
ad,ar_cash_receipts_all acra
where crh.cash_receipt_history_id=ad.source_id
and crh.cash_receipt_id=acra.cash_receipt_id
and ad.source_table='CRH'
union all--收款核销
select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,ra.cash_receipt_id||'C'||ra.receivable_application_id
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_cr,0),a
d.currency_code
,rct.bill_to_customer_id customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ar_cash_receipts_all acra,ra_customer_trx_all rct
where ra.receivable_application_id=ad.source_id
and ra.applied_customer_trx_id=rct.customer_trx_id
and ra.cash_receipt_id=acra.cash_receipt_id
and ad.source_table='RA'
and ra.status='APP'
and ra.application_type='CASH'
union all--贷项通知单核销

Company Confidential - For internal use only

13

ORACLE系统内对帐

杨佳木

select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,rctcm.customer_trx_id||'C'||ra.receivable_application_id
source_id,ad.line_id,rctcm.trx_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_cr,0),a
d.currency_code
,ad.third_party_id customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ra_customer_trx_all rctcm
where ra.receivable_application_id=ad.source_id
and ra.customer_trx_id=rctcm.customer_trx_id
and ad.source_table='RA'
and ra.status='APP'
and ra.application_type='CM'
union all
select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,ra.cash_receipt_id||'C'||ra.receivable_application_id
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_cr,0),a
d.currency_code
,acra.pay_from_customer customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ar_cash_receipts_all acra
where ra.receivable_application_id=ad.source_id
and ra.cash_receipt_id=acra.cash_receipt_id--有贷项通知单核销的情况
and ad.source_table='RA'
and ra.status!='APP'
)a,gl_code_combinations_kfv gcc,gl_periods gp,ra_customers rc
where a.ccid=gcc.code_combination_id
and rc.customer_id=a.customer_id
and a.gl_date between gp.start_date and gp.end_date
and gp.period_set_name='AACN_CALENDAR'
and gp.adjustment_period_flag='N'
and gcc.segment3 like '1131%'
having sum(a.amount)!=0
group by gcc.segment3,gcc.concatenated_segments,gp.period_name

Company Confidential - For internal use only

14

ORACLE系统内对帐

杨佳木

应收票据科目核对
描述
应收票据科目在系统中可能出现在下列业务中:
票据收款-----借:应收票据
贷:应收帐款
贴现/结清---------借:现金/银行
贷;应收票据
背书--------借:应付票据
贷:应收票据
用应收票据付款----借:应付帐款
贷:应收票据
描述
对于部分项目的业务处理方法,贴现、结清、背书均在GL中处理,所以应收票据科
目可按以下方法核对:
GL中应收票据的借方发生额 — GL中手工凭证应收票据的借方发生额 = AR中票
据收款的发生额
GL中应收票据的贷方发生额 —
收票据转付的发生额

GL中手工凭证应收票据的贷方发生额 = AP中应

其中GL中手工凭证处理的业务有:贴现、结清、背书等。

所用报表
AR:收款日记帐报表
收款日记帐报表(“Receipt Journal Report”)列示了收款所产生的分录中各个科
目的发生额,可以选择一定日期范围,一定的科目。此报表可用来核对应收票据科目。
AP:付款登记表
可以按供应商列出应收票据转付的金额
GL:试算表-汇总1
可以输出PTD,YTD的应收票据科目的期初期末余额,借贷方发生额。
另外在查询—帐户中可以利用追溯功能查询到明细记录。
若应收票据的贴现,结清,背书等业务均在AR模块管理,则还需用以下报表:
AR:收款等待汇款报表
收款等待汇款报表(“Receipts Awaiting Remittance Report”)列出了所有接收
但未汇款的应收票据,这个报表的总额应与应收票据确认科目的余额一致,因此可用来
核对应收票据确认科目。该报表的缺点是不可在参数中选定一定的期间或者截至日期,
只能核对应收票据确认科目到目前为止的余额。

Company Confidential - For internal use only

15

ORACLE系统内对帐

杨佳木
AR:收款等待银行结算报表
收款等待银行结算报表(“Receipts Awaiting Bank Clearance Report”)列出了所有
汇款但未结清的应收票据,这个报表的总额应收票据汇款科目的余额一致,因此可用来
核对应收票据汇款科目。该报表的缺点是不可在参数中选定一定的期间或者截至日期,
只能核对应收票据汇款科目到目前为止的余额。

详细步骤
AR:收款日记帐报表查询出AR中票据收款的发生额
AP:付款登记表AP中应收票据转付的发生额
GL:查询—帐户中查询出GL中应收票据的借、贷方发生额和GL中手工凭证应收票据的
借、贷方发生额
按核对原则进行核对。

可用SQL
select gcc.segment3,gcc.concatenated_segments,gp.period_name
,sum(a.amount)
from (

--发票分配
select ctldg.gl_date gl_date,ctldg.posting_control_id,'INV'
source_table,ctldg.account_class acc_type
,to_char(ctldg.customer_trx_id) source_id,ctldg.cust_trx_line_gl_dist_id
line_id,rct.trx_number
,ctldg.code_combination_id
ccid,decode(ctldg.account_class,'REC',1,-1)*ctldg.acctd_amount
amount,rct.invoice_currency_code currency_code--,ctldg.*
,rct.bill_to_customer_id customer_id
from ra_cust_trx_line_gl_dist_all ctldg,ra_customer_trx_all rct
where ctldg.customer_trx_id=rct.customer_trx_id
and rct.complete_flag='Y'

union all--调整
select
adj.gl_date,adj.posting_control_id,ad.source_table,ad.source_type
,to_char(adj.adjustment_id) source_id,ad.line_id,rct.trx_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_
cr,0),ad.currency_code
,rct.bill_to_customer_id customer_id
from

AR_ADJUSTMENTS_all adj,ar_distributions_all

ad,ra_customer_trx_all rct
where adj.adjustment_id=ad.source_id
and adj.customer_trx_id=rct.customer_trx_id
and ad.source_table='ADJ'

union all--收款处理
select
crh.gl_date,crh.posting_control_id,ad.source_table,ad.source_type
,crh.cash_receipt_id||'C'||crh.cash_receipt_history_id

Company Confidential - For internal use only

16

ORACLE系统内对帐

杨佳木
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_
cr,0),ad.currency_code
,acra.pay_from_customer customer_id
from ar_cash_receipt_history_all crh,ar_distributions_all
ad,ar_cash_receipts_all acra
where crh.cash_receipt_history_id=ad.source_id
and crh.cash_receipt_id=acra.cash_receipt_id
and ad.source_table='CRH'
union all--收款核销
select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,ra.cash_receipt_id||'C'||ra.receivable_application_id
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_
cr,0),ad.currency_code
,rct.bill_to_customer_id customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ar_cash_receipts_all acra,ra_customer_trx_all rct
where ra.receivable_application_id=ad.source_id
and ra.applied_customer_trx_id=rct.customer_trx_id
and ra.cash_receipt_id=acra.cash_receipt_id
and ad.source_table='RA'
and ra.status='APP'
and ra.application_type='CASH'
union all--贷项通知单核销
select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,rctcm.customer_trx_id||'C'||ra.receivable_application_id
source_id,ad.line_id,rctcm.trx_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_
cr,0),ad.currency_code
,ad.third_party_id customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ra_customer_trx_all rctcm
where ra.receivable_application_id=ad.source_id
and ra.customer_trx_id=rctcm.customer_trx_id
and ad.source_table='RA'
and ra.status='APP'
and ra.application_type='CM'
union all
select ra.gl_date,ra.posting_control_id,ad.source_table,ad.source_type
,ra.cash_receipt_id||'C'||ra.receivable_application_id
source_id,ad.line_id,acra.receipt_number
,ad.code_combination_id,nvl(ad.acctd_amount_dr,0)-nvl(ad.acctd_amount_
cr,0),ad.currency_code
,acra.pay_from_customer customer_id
from ar_receivable_applications_all ra,ar_distributions_all
ad,ar_cash_receipts_all acra

Company Confidential - For internal use only

17

ORACLE系统内对帐

杨佳木
where ra.receivable_application_id=ad.source_id
and ra.cash_receipt_id=acra.cash_receipt_id--有贷项通知单核销的情况
and ad.source_table='RA'
and ra.status!='APP'
)a,gl_code_combinations_kfv gcc,gl_periods gp,ra_customers rc
where a.ccid=gcc.code_combination_id
and rc.customer_id=a.customer_id
and a.gl_date between gp.start_date and gp.end_date
and gp.period_set_name='AACN_CALENDAR'
and gp.adjustment_period_flag='N'
and gcc.segment3 like '1111%'
having sum(a.amount)!=0
group by gcc.segment3,gcc.concatenated_segments,gp.period_name

Company Confidential - For internal use only

18

ORACLE系统内对帐

杨佳木

子模块传帐至总帐流程
传送流程
由子模块过帐至总帐的分录在“传送至总帐”这个动作后先进入总帐接口表,在“导
入日记帐”后,总帐中才会有凭证,同时自动删除总帐接口表中的记录。凡是由子模块
导入总帐的凭证在导入日记帐后同时会在GL_IMPORT_REFERENCES表中插入相关的
导入参考信息,总帐的追溯功能就是通过这个gir表来实现的。

简要分析
总帐接口表:
由子模块传送至总帐但未导入日记帐时,凭证记录保存在gl_interface表中。该表中
的STATUS字段表明该记录的传帐状态:‘NEW’表示尚未进行导入日记帐,或者为导
入后的错误代码。

和凭证有关的几个表:
总帐中的凭证保存啊gl_je_batches(下简称gjb), gl_je_headers(下简称gjh),
gl_je_lines(下简称gjl)这几个表中:凭证批和gjb中的记录一一对应;每个凭证和gjh中的
记录一一对应;凭证中的每一行和gjl中的记录一一对应。

总帐导入参考表:
由子模块导入日记帐后,在凭证(gjb、gjh、gjl)表里产生记录的同时会在
gl_import_references表中插入记录,其中包括gjb、gjh、gjl表中的键弹性域字段:
je_batch_id、je_header_id、je_line_id,从而将参考表中的记录与凭证表关联起来。这
个表的特别之处在于,子模块导入的凭证都会在这个表插入记录,而在总帐做的手工凭
证、冲销凭证,在这个表中是没有记录的。因此在对帐过程中,这个表起着非常关键的
作用。

Company Confidential - For internal use only

19

ORACLE系统内对帐

杨佳木

传送状态分析
部分数据状态简单分析:

Company Confidential - For internal use only

20

Sign up to vote on this title
UsefulNot useful