采购接收应付业务和会计分录.docx
《采购接收应付业务和会计分录.docx》由会员分享,可在线阅读,更多相关《采购接收应付业务和会计分录.docx(12页珍藏版)》请在冰豆网上搜索。
采购接收应付业务和会计分录
内部文档采购、接收、应付业务和会计分录
财务模块分录整理
审批签字
文档控制
变更记录
日期
作者
版本
变更说明
08/10/15
巩学伟
1.0
初版
审阅
姓名
职位
分发
拷贝编号
姓名
位置/岗位
1
2
3
4
文档控制ii
企业采购业务4
采购接收4
交货入库5
应付发票6
应付贷项通知单7
应付借项通知单8付款8
其他应付业务10
费用报表10
手工应付发票10应付发票导入固定资产10预付款发票11
子模块追溯12
13
附:
R12中子模块的帐是如何产生的
更改历史错误!
未定义书签
企业采购业务
采购业务是一般企业都会有的业务,主要包括请购、采购、接收、入库、发票、付款几个步骤。
分别对应采购、库存、成本、应付以及总账模块。
Oracle是财务业务一体化的系统,只要录入了相应的业务,则会自动生成相应的财务信息。
本文档基于OracleEBSR12版本测试。
采购接收
采购模块主要功能是帮助业务部门管理采购订单,控制采购流程,审批层次,在请购单、和采购订单录入审批阶段是不产生财务信息的。
现假设企业采购两批原材料,价格50*2=100元。
企业当前的银行存款为100元,库存成本为0。
在采购订单接收时,实际上表示物料采购已既成事实,我们将因此产生一笔因采购产生
的应计负债,同时记一笔帐到我们的采购接收帐户。
采购接收的会计分录为:
商品采购DR100¥应付帐款-应付暂估CR100
¥
商品采购和应付帐款-应付暂估都是中转科目,相关科目的余额变化如下:
科目初发生末商品采购0+100100¥应付帐款-应付暂估0+100100¥
入库和创建发票分录后,这两个科目余额将会结平为0。
这里为了更直观显示财务变化境况,而实时计算了各科目的余额,并同时假设所有科目的期初金额为0,这样做的目的仅仅是为了更好理解一些中转科目的余额变化情况,EBS实际业务中科目余额的变动都是要在子模块传送至总账,并过账以后才发生的。
具体的分录产生流程如下:
1)接收事务处理器
采购接收以后会自动运行“接收事务处理器”。
接收事务处理器会在rcv_receiving_sub_ledger中产生采购接收的会计分录。
11i和R12中都会在rcv_receiving_sub_ledger中产生分录,可以通过如下
11iR12rcv_receiving_sub_ledger
po_rcv_ledger.sql
po_rcv_ledger.sql查询。
这也就是我们“接收事务处理汇总”界面查看到的分录。
2)传送总账
3)
po_rcv_xla_ledger
.sql
再提交“将日记帐分录传送至GL-成本管理”请求,则会插入分录信息至总账接口,则可以导入日记账过账。
注意:
交货入库
11i中,采购接收在总账日记账中的来源是“Purchasing”,类别是“Receiving”;而在R12中,采购接收在总账日记账的来源为“CostManagement”,类别是“Receiving”。
采购接收以后则可以进一步交货入库。
同样会执行“接收事务处理器”,不过这一次做的事情更多,取成本(成本核算方式不同,取成本的逻辑亦不同),插入记录至mtl_material_transactions表等。
此时还不会立刻产生入库的分录,成本管理器运行以后,则会产生库存模块的分录,将商品采购科目的余额转移至库存成本帐户。
同时,如果采用标准成本,采购价格和入库成本的不同则可能产生PPV(采购价格差
100¥
相关科目的余额变化如下:
中转科目商品采购科目的余额已结平为0具体如何查询分录参考如下sql。
1)子模块所有的库存物料事务处理(包括采购收货、字库转移、组织间转移、销售发放等等)的会计分录信息都在mtl_transaction_accounts表中,采购收货的分录信息则可以如下查询。
po_rcv_inv_ledger.sql
同时,xla中的分录可以从如下sql查看
应付发票
po_rcv_inv_xla_ledger.sqlpo_rcv_inv_xla_ledger.sql。
2)总账
提交请求“将日记帐分录传送至GL-成本管理”,将子模块分录传送至总账。
此时总账将生成来源为je_source='CostManagement'andje_category='Inventory‘的日记账分录。
到这里,东西已经买到并入库计入成本,接下来到付钱了
应付发票可以手工录入。
与采购有关的发票需要通过匹配采购订单生成应付发票。
根据采购项目的税码,会自动或手工产生税行
如果收到的发票价格与采购价格有差异,还将产生IPV(发票价格差异InvoicePrice
Variance)。
这里我们假设供应商给我们开出发票的价格为80¥,与我们的采购价格
产生了20¥的IPV。
税码为VAT17。
因此采购匹配的应付发票会计分录为:
应付帐款-应付暂估
DR
100¥暂估与发票差异(IPV)
DR
-20
¥进项税
DR
80*0.17¥应付帐款-发票款
CR
93.6
相关科目的余额变化如下:
中转科目应付帐款-应付暂估科目的余额已结平为0。
同时,由于供应商开出的发票价格为80,存在-20的IPV,因此我们实际的应付账款为80+80*1.17。
1)录入发票
AP发票的分配记录了所有应付暂估和预付款核销的科目,再加上应付发票本身的应付账款科目,此时可以如下查询分录:
ap_inv_ledger.sql
ap_inv_ledger.sql。
2)创建会计分录
创建会计分录后,会在xla中产生分录信息,可以通过如下sql查询:
ap_inv_xla_ledger.sql
ap_inv_xla_ledger
.sql
3)传送总账
应付贷项通知单
应付贷项通知单与应付借项通知单与对应应收的概念并不等同,可以参照我之前的<<应收业务与会计分录>>文档。
应付贷项通知单,指供应商开给我们的表示应付减少的通知,负数,冲原始发票,可用
0支付结清
应付贷项通知单常用于做采购退货业务,发生采购退货业务后,在应付录入应付贷项通知单,同时匹配退货生成贷项通知单行。
为了更容易理解,我们结合整个退货流程来认识贷项通知单业务。
退货流程:
1)接收->退货
假设我们交货后发现2批原材料中一批由于某种原因需要退货,通过接收->退货导航录入采购订单,执行退货业务。
保存以后触发接收事务处理器,生成如下分录(与采购接收的分录方向恰恰相反):
商品采购CR50应付帐款-应付暂估DR50
减少商品采购中转科目的余额,减少应付暂估中转科目的余额。
相关科目的余额变化如下:
科目初
发生
余额商品采购0
-50
-50
¥应付帐款-应付暂估0
-50
-50¥
以上分录可以通过前面的po_rcv_ledger.sql和po_rcv_xla_ledger.sql查询。
同时,在成本管理器运行以后,退货产生库存成本变动的分录,如下(与采购接收入库的分录方向恰恰相反):
库存商品成本CR40¥PPVCR10¥商品采购
DR50¥
减少库存成本和PPV,增加商品采购,相关科目的余额变化如下:
科目初发生余额库存商品成本80-40
40¥PPV20-1010¥商品采购
-50+500¥
接下来,运行请求”将日记帐分录传送至GL”,将在总账产生日记账分录。
来源为je_source='Payables'andje_category='PurchaseInvoices‘。
中转科目商品采购科目的余额已结平为0
以上分录可以通过前面的po_rcv_inv_ledger.sql和po_rcv_inv_xla_ledger.sql询。
2)贷项通知单匹配退货
应付借项通知单
相关科目的余额变化如下:
中转科目应付帐款-应付暂估科目的余额已结平为0
这样,退货的最终结果就是使库存成本和应付账款-发票款相应减少。
可以通过上面ap_inv_ledger.sql和ap_inv_xla_ledger.sql查询贷项通知单有关的分录信息。
付款
借项通知单,指我们自己开出的表示应付减少的通知,同样是负数,冲原始发票,可用0支付结清。
我个人的理解是,应付借项通知单,适用于发票做错后的反冲。
功能上它与贷项通知单基本相似。
也可用于退货业务。
在采购退货界面有是否生成借项通知单的复选框,通过采购系统选项控制是否启用。
发票生成并验证通过以后,可以对发票进行付款。
可以在发票界面通过快速付款,付款界面录入人工付款,或者进行批付款对发票进行批量付款。
批付款常应用于员工报销付款。
在付款界面,将蓝票(应付发票)和红票(贷项通知单)选入到同一个付款,进行付款。
对发票付款,实际上就是用现金支付应付欠款,现金与应付款都减少,由于我们产生过退货业务,因此,产生分录如下:
-46.8
相关科目的余额变化如下:
科目
0¥银行存款
初发生余额应付帐款-发票款46.8
100-46.853.2¥
可以看到,经过各个阶段的业务流程,最终形成的分录实际上等效于如下分录,在企业仅上线财务而没上线业务模块的时候,需要手工做如下分录,由此可见,财务业务一体化提供了很大的便捷性:
调整后PPV和IPV分别结平为01)对发票付款
创建会计分录以后,可以通过如下sql查询到分录信息。
ap_pay_xla_ledger.sql
ap_pay_xla_ledger
.sql
2)传送总账。
接下来,运行请求”将日记帐分录传送至GL”,将在总账产生日记账分录。
来源为je_source='Payables'andje_category='Payments‘。
其他应付业务
其他应付业务,以及部分FA业务
费用报表
手工应付发票
应付发票导入固定资产
费用报表是网上报销模块导入的一种类型的应付发票,当网上报销流程结束并审核通过后,可以通过请求“导入费用报表”导入应付发票。
除了与标准应付发票的科目有所不同。
其他作用等同于标准应付发票。
企业报销的分录通常如下:
员工报销科目DR其他应付款-报销CR
具体如何查询分录信息参考前面标准发票通过ap_inv_ledger.sql和ap_inv_xla_ledger.sql查询。
应付除了用于与采购模块集成外,还可以通过应付发票做些其他的杂项业务。
记录些与采购无关的业务。
例如,企业招待客户时,员工张某代为支付客户招待费100元,为了之后偿还该员工供应商张某这100元,可以如下建应付发票:
直接用手工录入发票分配:
招待费100元;并指定负债帐户为:
其他应付款。
产生分录如下:
招待费DR100¥其他应付款CR100¥
未上线网上报销模块时常常如上手工建立应付发票实现员工报销。
具体如何查询分录信息参考前面标准发票通过ap_inv_ledger.sql和ap_inv_xla_ledger.sql查询。
应付发票可以成批增加为固定资产。
有两种方式建立应付发票:
1)直接定义固定资产型物料,其属性不可库存,并制定它的销售费用科目为固定资产
中转科目。
该种类型物料接收、交货通常不会产生会计分录,然后通过正常采购并匹配应付发票。
这时候,应付发票的分录应为:
DR
固定资产中转CR应付帐款
它的分录信息可以通过上面的ap_inv_ledger.sql和ap_inv_xla_ledger.sql查询。
2)手工录入应付发票,并指定发票分配科目为固定资产中转科目。
它的分录同上。
最后,在应付模块提交请求“创建成批增加”后,则可以在FA模块成批增加资产。
最终过账后,会形成如下分录。
DR固定资产CR固定资产中转固定资产中转科目结清为0.
FA创建会计分录后,有关固定资产的分录信息,可以通过
fa_add_derp_ledge
r.sql
fa_add_derp_ledger.sql查询。
预付款发票
预付款发票可以用以核销标准发票,他与标准发票的分录有所不同,不过技术实现上是一样的。
它的分录通常是:
DR预付账款CR应付帐款
当核销时,他的分录为
DR应付账款CR预付账款
它的分录信息可以通过上面的ap_inv_ledger.sql和ap_inv_xla_ledger.sql查询。
子模块追溯
R12下总账追溯子模块比11i简单统一了很多,通过gl_import_reference表,如下蓝色部分sql为关键点:
SELECTh.je_source,h.je_category,fnd_flex_ext.get_segs('SQLGL','GL#',50328,
ael.code_combination_id)acct,xla_oa_functions_pkg.get_ccid_description(50328ael.code_combination_id)acct_descr,ael.entered_dr,ael.entered_crFROM
l,gl_code_combinations
gl_je_headersh,gl_je_linesgcc,gl_period_statusesgps,gl_import_referencesir,xla_ae_linesaelWHEREh.je_header_id=l.je_header_idANDl.code_combination_id=gcc.code_combination_idANDl.period_name=gps.period_nameANDgps.application_id=101ANDgps.set_of_books_id=2022ANDh.actual_flag='A'
ANDh.period_name='2009-01'ANDir.je_header_id=l.je_header_idAND
AND
ir.je_line_num=l.je_line_numANDael.gl_sl_link_id=ir.gl_sl_link_idael.gl_sl_link_table=ir.gl_sl_link_table;
11i
附上以前写的一个11i的总账追溯子模块的三栏明细账的sql:
11i_gl_journal_drill.sql,11i下测试通过,可以参考。
11i_gl_journal_dr
ill.sql
附:
R12中子模块的帐是如何产生的。
1)在FORM:
ARXRWMAI的按钮SLACEXEC.OK_BP触发器中有提交创建的代码:
arp_sla_submit.which_case;
2)包arp_sla_submit在pll文件ARSLAOLS.pll中。
3)在arp_sla_submit.which_case中执行以下过程,将FORM界面上的信息传入过程submit_xla_accounting
4)submit_xla_accounting过程调用以下数据库package创建会计科目XLA_ACCOUNTING_PUB_PKG.accounting_program_document
5)在XLA_ACCOUNTING_PUB_PKG中根据p_offline_flag的取值,分别调用
xla_accounting_pkg.accounting_program_document
或者调用创建会计科目的请求
6)在xla_accounting_pkg中调用下面过程xla_accounting_pkg.accounting_program_events
7)在events_processor在调用handle_accounting_hook调根据application_id分别调用
CASE
WHENp_application_id=200THEN
xla_ap_acct_hooks_pkg.main
WHENp_application_id=222THEN
xla_ar_acct_hooks_pkg.main
WHENp_application_id=140THEN
xla_fa_acct_hooks_pkg.main
WHENp_application_id=260THEN
xla_ce_acct_hooks_pkg.main
WHENp_application_id=555THEN
xla_gmf_acct_hooks_pkg.main
WHENp_application_id=801THEN
xla_pay_acct_hooks_pkg.main
ELSE
ENDCASE;
其中event_name为extract。
然后调用arp_xla_extract_main_pkg.extract来取子模块的分配。
其主要作用是将来自子模块的分配。
AR的发票、调整、收款、核销等子模块的帐的分配插入ar_xla_lines_extract临时表,在这个package中可以看到xla是如何从业务模块数据取数的。