当当阅读器:http://e.dangdang.com/pc/reader/index.html?id=1901212551
前言
银行:铁帐
顶层设计:银行在严格的监管体系下运行
技术实现:以严格的账务体系作为保障(银行核心系统,以银行会计为基石建立的铁帐)
第一章 会计与银行会计
会计:对日常经济活动进行记录、衡量、出报表的过程。其中对外进行披露的会计为财务会计,用于内部管理的会计为管理会计。
会计成立的 5 个假设:
- 会计主体
设定会计范围,如是工行,还是建行 - 持续经营
假设企业将无限期经营,不会破产 - 分期
报表分为月报、季报、半年报、年报(中国和美国的会计年度不尽相同) - 货币计量
设定记账本位币,如国内是人民币 - 权责发生制(应收应付制)
企业销售了商品,但是贷款还没有到账,要记一笔应收账款
商业银行业务:
- 负债业务
银行筹措资金的业务,主要有存款类业务 - 资产业务
银行运用资金取得收益的业务,主要有贷款类业务 - 中间业务
银行替客户办理从中收取手续费的业务,如代理业务 - 表外业务
银行不影响银行资产与负债的业务,如担保业务
银行业务额会计核算存在特殊性:
-
银行会计与业务经营的耦合性
- 一般企业
会计独立,业务和会计是分开的 - 商业银行
会计耦合,是直接经营货币的特殊企业,业务部门和会计部门是融合在一起的
(例如,存款业务要通过会计办理存取手续,贷款 业务也要通过会计办理放收手续。)
- 一般企业
-
银行会计具有社会性
- 一般企业
仅记录与本企业相关的局部信息 - 商业银行
面向全社会、各经济部门、各企业、各单位和广大居民,其会计亲狂不仅仅记录商业银行自身的业务活动,还记录和反应了全社会的资金活动情况,综合反映了社会宏观经济情况
- 一般企业
银行会计科目设置的特殊性
商业银行会计按照与资产负债表的关系分为表内项目和表外项目,表内项目反应银行资金实际增减变化而纳入资产负债表,表外项目则反应银行已经发生且尚未设计资金的实际增减变化,或者不涉及资金增减变化而不列入资产负债表的科目
另外,由于银行业务的特殊性,存在部分特殊设置的科目,如资产负债共同类科目,对应处理资金的频繁流入和流出银行会计报表的高时效性
银行会计要按月、季、半年和年编制会计报表
在特殊的核算时行,商业银行会计还需要按日提供会计报表(日计表),反应当日的资金及经营状况
第二章 左右开弓的记账法
资产和负债:一个东西的两个方面
(个人给了公司现金,这部分现金是公司资产,另一方面公司给个人写了凭证证明公司欠个人的钱,这部分现金又是公司的负债)
会计恒等式:
资产(有什么东西) = 负债(这些东西是谁的)
资产在左边,负债在右边
负债分为:
- 内债
欠股东的钱,也称为所有者权益(公司的所有者,而不是公司物品的所有者) - 外债
欠其他人的钱(如客户),在会计中负债通常指外债
举例:
你与同学合伙开公司,以公司的名义租了一层楼,一年后有经营所得
从公司的角度:
资产=一层楼+一年经营所得
外债=一层楼+租金,债主为房东
内债=利润,债主为公司的所有者
依债主(债权人)和公司的关系,分为外债和内债后,会计恒等式演变成:
资产=负债(外债)+所有者权益(内债)
其中所有者权益中的利润又存在以下公式:
利润=收入-支出
左右记账法(也可以理解为借贷记账法,左边称为借方,右边称为贷方):
将一个数在左右各写一遍,左边和右边互相匹配,便于数据 核对,不容易出错
- 虚线T(大T)
资产增加记录在左边,负债记录在右边 - 实线T(小T)
资产增加记录在左边,资产减少记录在右边
负债增加记录在右边,负债减少记录在左边
客户存款对于银行来说是负债(终究要还的:客户取回)
资产 = 负债
|
现金 | 存款 | ||
---|---|---|---|
100 | 100 | ||
轧差:
假设银行一开始有一笔现金,后面一段时间客户分别进行了存取业务
期末余额=期初余额+累计发生额(汇总的存/取金额)
资产负债表:
假设在某个时点,银行对所有的科目都进行轧差操作,计算出所有资产类客户的余额,以及负债类科目的余额。并将资产类科目和负债类客户均进行余额汇总。最终资产汇总余额等于负债汇总余额,这就是所谓的资产负债表,资产负债表的左边等于右边,国外又叫平衡表(Balance Sheet)。
判断你的资产中有多少真正是你自己的,有多少是通过负债转化而来的。
左边看到的诠释资产,这是根本,是可以用的资源
右边是为了解释左边而存在的,说明左边资产的来源
-
负债可分为内债(所有者权益)和外债
资产负债表
资产 | 负债(外债)
X1 余额1 | Y1 余额1
X2 余额2 | Y2 余额2
.. | ..
Xm 余额1 | Ym 余额m
小计(资产)| 小计(所有者权益)
合计(资产)| 合计(负债及所有者权益)
企业与银行记账相反:(会计主体不一致)
假设一家企业在银行存款 100 元
- 对银行来说,资产“现金”增加了 100 元,负债“存款”也增加了 100 元
- 对企业来说,资产“存款”增加了 100 元,资产“现金”就减少了 100 元
第三章 利润的来龙去脉
假设有一所寺庙,会接受施主的现金捐款,也会给穷人施舍现金:
所有者权益包括:1.股本(所有者的出资)2.利润(在实际的资产负债表中将对利润进行分配和留存)
所有者权益发生变化的同时,资产也同步发生了变化,从而保持资产负债表的平衡
资产负债表
资产 | 负债
现金 | 所有者权益
--- |-----------
△| |
寺庙建筑物 | 利润 股本
---- | ---- ----
△| | |△ |△
所有者权益发生变化的形式:
- 左边(资产)增加,右下(所有者权益)增加
比如寺庙接受捐赠,左边资产增加,右边利润增加 - 左边(资产)没变化,右上(负债)减少,右下(所有者权益)增加
将负债(应付 XX 公司款项)转成所有者权益(股东入股)即是这种情况(债转股) - 右边(资产)减少,右上(负债)减少,右下(所有者权益)增加
有负债(应付 XX 公司款项 100 万元),首先用 20 万资产(现金)还债,剩余的 80 万元转换为所有者权益(股东入股)
利润的余额方向在右边,收入使利润增加,支出使利润减少
在会计中,利润可以分拆为“收入”和“支出”两个科目上。
常见的银行收入类科目:
- 利息收入
- 中间业务收入
- 租赁业务收入
- 系统内往来收入
- 营业外收入
常见的银行支出类科目:
- 利息支出
- 营业费用
- 减值损失
- 系统内往来支出
- 营业外支出
结转:将收入记录到利润里面。
(年终的时候把收入和支出清零,挪到利润上,本年利润=收入-支出)
支出结转:通过一对会计分录,将支出的余额(左边)转移到利润的左边,将收入的余额(右边)转移到利润的右边,对利润轧差就是计算利润。
在会计中,“结转”一般是指将某个科目的余额转入另一科目,涉及两个科目,前者是转出科目,后者是转入科目,一般来说转出科目结转后余额为零。
目的:
- 计算档期的“收入、支出”和“利润”的实现情况
- 保持会计工作的连续性,把本会计周期的期末余额结转到下一个会计周期
损益类科目:
收入和支出科目,损就是指支出,益就是指收入。
到年底的时候,需要进行年终结转,损益类科目清零,计算出本年利润。
利润表:
- 主体是损益类科目,将“结转”的过程进行表格化
- 出利润表不一定要进行“结转”处理
- 反映了从年初到当前的利润情况,但是会计中通常还需要计算当期的情况,本期利润=本年累计-上年累计
计算出来的本年利润为税前利润,企业所得税=税前利润*税率(亏损就没有所得税了)
所得税缴纳:
- 会计不能只记录一笔所得税,要进行复式记账
- 在会计中设计一个所得税科目(支出类),同时税务局也开一个税务存款账户
- 税务账户是负债类,所得税是支出损益类,到年终的时候要把损益类的值结转到本年利润,净利润=税前利润-所得税
- 当税金还没有真正到交付税务局的时候,可以提前计算出税金,显记录到应交税金科目,等到时间了再交付税务账户
交付制度:
- 收付实现制
货物已经卖出,但是客户没有付款,这时候不能算作公司的销售,要等到收钱的时候才算作销售 - 权责发生制
货物已经卖出,虽然客户没有付款,但还是算作销售出库了,记一笔“应收账款”
把应计的收入和费用都反映在留人表上,而在资产负债表上则部分反映为现金收支,部分反映为债权、债务
根据我国《企业会计准则》的规定,我国企业都采用权责发生制,但我国的行政单位仍然普遍采用收付实现制。
员工工资:
工资不是从净利润里面扣,而是从支出类的营业费用的基本工资和绩效工资里面扣除,也就是在税前利润里面扣
(如果从净利润里面扣,实际上要扣更多的企业所得税)
利润分配:
- 计算出净利润后,马上要结转到“利润分配——未分配利润”科目中
- 之后要从该科目中进行各种计提,如“提取盈余公积”
- 提取之后,未分配利润还有剩余,留到明年再用
盈余公积的用途:
派新股
假设从盈余公积离提取 120 万用来买股票,股票面值 100 万,但是成交价是 120 万(溢出 20 万),那么就在“股本”里面计 100 万,在“资本公积”里面计 20 万。但是这些股票不是真的买,而是直接送给股东(派新股),所以会计中的“所有者权益”即为公司的“股东”,可以分享公司的收益,区别于公司的“员工”,员工领取的是工资报酬,作为公司的费用支出。
从会计的角度来说,送股实质上是将公司的留存收益(包括盈余公积和未分配利润)转入股本账户,现在的上市公司一般只将未分配利润部分送股,实际上盈余公积的一部分也可以送股。转增股本则是将资本公积转入股本账户。
股本、未分配利润、资本公积、盈余公积同属股东权益类账户,都是公司的净资产,属于投资者所有。也就是说经过送股、转增股本后,上市公司的股东权益并没有改变,更不会影响公司的总资产、总负债。派股息
先到“应付股利”科目,然后再转到客户的账户上。转增资本
实收资本就增加了。补盈亏
假设本年利润算出来是负数,本年利润结转到“未分配利润”,与“未分配利润”期初余额(去年结余的)轧差,或正或负,当是负数时,再用去年的“盈余公积”来进行补亏。
但是在会计中需要再严谨一点,又新增了一个科目“未分配利润——盈余公积金亏损”。“盈余公积”不直接补亏“未分配利润”,而是先结转到“未分配利润——盈余公积金亏损”过度,再用来补亏“未分配利润”。这个科目是过渡的,余额是 0,主要作用是用来看发生额,与“提取盈余公积”类似。
第四章 资金流动
在商贸活动中,买家和卖家之间通过信息流、物流和资金流形成一个完整的供应链。
- <->信息流:买家和卖家交互信息
- -->资金流:买家支付
- <--物流:买家获得产品
其中银行比较关注资金流,而银行起到的作用是体系化,除了负责资金以外,还提供金融服务的工具,如票据服务(支票和汇票)、信用证服务(如由银行担保,卖家先发货再收款)等。
买家和卖家之间实现交易,银行提供的是“结算”工具,而资金在银行体系内的流动则是“清算”工具。
- 清算=算账(Clearing)
资金在银行体系里面流转,需要计算应收和应付之间的互相抵消情况,得出最终应该付款多少、收款多少。 - 结算=转账(Settlement)
执行清算的结果,利用金融工具完成相关交易的支付。
发报文:从付款行向收款行转资金
- 贷报:由付款行发起的报文,由付款行主动转移资金到收款行
- 借报:由收款行发起的报文,而付款行会反馈回执(成功或拒付)给收款行,如收款行代收水电费等
转账的记账方式:
同一银行甲网点客户A->乙网点客户B
甲网点增加一个应付现金的科目(负债类),乙网点新增一个应收现金的科目(资产类),通过两笔分录来记账实现转账的过程,到了一定时间再通过清算来解决。
在会计中,把这两个密切相关的应收科目和应付科目进行合并,称为“应收/应付现金科目”:
- 出大于入,余额记在右边,体现为负债类
- 入大于出,余额记在左边,体现为资产类
这类科目被成为“资产负债共同类”,不同的时间点表现为不同的性质(资产或负债)。
其中“应收/应付现金”科目也改名为“待清算辖内往来”科目。
共同类的科目特点:
- 跨越边界,两边对称地成对出现(如上述两网点交互点都有“待清算辖内往来”科目)
- 可信任,无需把钱取出来搬过去,只需记账即可(比如“外汇买卖等待清算类”科目)
异地汇款和同城转账的处理机制有所不同:
- 异地汇款
付款方和收款方是两个区域,两地各一个系统。两地系统之间是相对独立的,需要通过邮政系统的报文,将资金从一个系统的某账户汇至另一系统的另一账户。 - 同城转账
付款方和收款方在同一个区域,在同一个系统内(管辖内)将资金从一个账户转到另一个账户。
随着信息技术的不断发展,异地汇款中的两个区域的不同系统合为一体(数据集中工程)或与银行体系联接(逻辑上成为一个系统),同城转账中的系统扩大,包含更大的区域,所以现在不需要区分是汇款还是转账,统称为转账汇款业务(同城、异地、跨行转账)。
“资产共同负债类”科目实现甲乙网点之间的转账,而行内转账可以进一步细分为:
- 辖区内转账
通过“待清算辖区内往来”科目进行清算 - 跨辖区转账
通常每个辖区都设置一个对外出口,称为清算中心,由清算中心与其他核算网点进行清算,同样通过“待清算辖区内往来”科目
为了简化各辖区转账的体系,利用银行的层级结构,建立各层级的清算中心,形成三级清算体系。
(二级行清算中心->一级行清算中心->总行清算中心)
-
备付金模式
A 代 B 付款,B 要先放一笔资金在 A 这里备用,这就是备付金的意思,用于解决互相之间信任的问题。但是如果再加上 C,那么他们之间就需要互相存放资金备用,形成网状结构,非常复杂。
所以在银行体系中,通常采用下级行在上级行存一笔钱,用作备付金的模式,以此简化机构之间的备付金机制,即变网状结构为层级结构,且与组织的层级结构对应。
资金流向:- 跨省转账:A省核算网点->A省二级行清算中心->A省一级行清算中心->总行清算中心->B省一级行清算中心->B省二级行清算中心->B省核算网点
- 省内转账:A省X二级行核算网点->A省X二级行清算中心->A省一级行清算中心->A省Y二级航清算中心->A省Y二级行核算网点
注意事项: - 当备付金不足时,无法完成该笔分录,需要补充备付金。
- 备付金还会产生利息,作为下级行的收入。因此,存款用不完的分行,可以通过多放备付金的方式处理资金的出路。
-
资金池模式
备付金模式主要是为了解决信任的问题,实际上对于银行内部来说,因为目前是数据集中的体系,已经没有了信任问题,因此可以取消备付金模式。行内转账的清算采取“辖区内转账模式”,而不通过备付金模式。
所谓资金池就是总行将各层级下级行的存款资金逐层汇总(资金集中),形成一个动态的资金池,用于更加合理地分配资金(资金配置),以解决地区资金差异。比如一个贫困地区的存款很少,但是当地有一个大型项目要上线,需要提供一笔大额贷款,这就需要其他兄弟行提供资金援助。- 有些行存款很多,但是贷款很少(当地贷款需求少)
- 有些行存款很少,但是贷款很多(当地贷款需求大)
从资金池进行调配,需要资金的行就从资金池申请资金,但是要付出利息,称为“资金内部计价”,而付出资金的行业可以获得相应的收益。
总行根据总的资金池的情况,确定总的贷款额度,再根据各地的贷款需求情况,将这个总贷款额度分配到各地,不与当地的存款额度挂钩。
资金池模式围绕着存款(资金集中)和贷款(资金配置)两条线来进行管理,通过资金内部计价的方式,资金使用方将其贷款收入,分润一部分给资金提供方。
相比较备付金模式,资金池模式具有如下特点: - 资金池的资金,是各下级行逐层“汇”总上去的,而不是逐层“存”上去的
- 资金池的资金,是全行的所有存款,而备付金只是下级行的部分存款,因为下级行不会把所有的资金都上存上级行,大部分要用于放贷
- 假设在同一行内,A 地区与 B 地区之间的转账,并不影响全行整个资金池的资金总量,但是影响 AB 两地的存款额
- “备付金”也是一笔存款,也是有利息的,但是一般情况下,“资金内部计价”要比“备付金”便宜
但是这样的话,清算中心还是不能取消,因为涉及到跨行转账还是需要清算中心。
跨行转账:
需要通过央行清算系统实现,各银行都在央行存一笔钱,用于解决银行之间的资金信任问题。
(工行核算网点->工行清算体系->央行清算体系->建行清算体系->建行核算网点)
需要注意的是,在工行和建行内部的资金流转,可以取消“备付金模式”,所以也不再需要在行内设计二级行清算中心和一级行清算中心,但是跨行仍然需要“备付金模式”。
-
在转账的过程中,需要注意入账的次序,因为转账的时候有可能将对方账号写错,导致对方不能入账。而涉及到央行账户的变更需要等待对方执行成功的回执,所以工行需要等待央行的回执,而央行又需要等待建行的回执。
- 工行核算网点:“客户存款”->“待清算辖区内往来”
- 工行清算体系:“待清算辖区内往来”->“往账(待清算)”
- 建行入账过程
- 央行清算体系:受到建行回执后,“工行存放备付金”->“建行存放备付金”
- 工行清算体系:受到央行回执后,“往账(待清算)”->“存放央行”
如果没有央行作为支撑,比如支付宝跨行转账的原理就是反过来,由支付宝在各家银行都存一笔钱,以此解决各银行之间的信任问题。
银行跨行转账和支付宝跨行转账的不同点:
- 中心点不一致:银行跨行转账的中心是央行,支付宝跨行转账的中心是支付宝
- 存款位置不同:银行跨行转账是银行主动存放一笔钱到央行,支付宝跨行转账是反过来,由支付宝主动存放一笔钱到银行
- 支付宝中心有客户账,而央行中心没有客户账
第五章 外汇买卖
现钞现汇:
- 现钞:钞票(如美元实物)在我国境内
- 现汇:从境外汇入的外汇,其对应的钞票并未韵如境内
现汇:商品出口
境外和境内在不同的核算体系里面,必须通过银行的“同业存放”和“存放同业”进行中转。
(国内银行在国外银行开一个户,进口商买了货物,由对应的银行进行中转再给出口商。)
- 付钱:把钱给同业存放
- 收钱:从存放同业中拿钱
外汇管制:我国禁止外汇在国内流通
- 不能以外汇标价
不能直接用外汇来买卖东西,也不能以外汇标价 - 禁止用于结算
出口商受到的外汇,不能直接转给别人(根据外管局的规定,境内转账外币只能汇往直系亲属或者自己名字的同户名账户),因为如果可以随意转账的话,就等于可以用外汇来进行交易 - 企业使用外汇控制
企业如需使用外汇(超过了规定的自有额度)时,需要向外管局进行申请 - 个人出入境控制
个人出入境也要控制外币额度,限制金额,并且要申报
前两条是限制外汇流通,后两是限制额度,出口商受到外汇之后没有用处,所以就有了“强制结汇”,决定了外汇的流向。
(出口商->银行->央行)
- 出口商把外汇卖给银行(经国家批准,可经营结汇、售汇业务的金融机构,比如指定的银行)
- 银行拿着外汇也没有什么用处,最后卖给央行
当出口大于进口(贸易顺差),外汇余额就要流到国内银行体系中,最终流到央行,而央行要拿人民币来买这些外汇,形成“国家外汇储备”。
我国外汇储备多的原因:
- 出口顺差多,世界工厂产生的效果
- 政府强制外汇都流到央行,假设没有这个要求,外汇储备也不会多
外汇储备多导致人民币多(央行拿人民币买外汇),实际上,外汇储备已经变成了发行人民币的一种方式,会产生两点影响。
- 通货膨胀
- 流通过剩
由于贷款还存在放大效应,央行购买外汇所投放的人民币会进一步产生放大效应。
自贸区:
外汇使用起来较为麻烦,这也影响了企业的正常经营,为此国家进一步改革开放,局部地区放松外汇管制,这就创立了所谓的自贸区。
自贸区里面的企业有两个账户:
- 原有账户:与非自贸区进行交易,有外汇管制
- 新开的自贸区账户:可以与境外进行自由交易,没有外汇限制
自贸区账户其实就相当于在境外的企业,原有账户和自贸区账户是隔离的。
从 IT 设计角度进行考虑,需要实现两方面的内容:
- 实现隔离
从分账独立核算的角度,可以用两个地区,或者用同一个地区再加上标志来进行区分。 - 使用方便
从银行的业务操作人员的角度,一个单位开两个账户实际是当成两个地区来区分,同一个柜员做两个地区的事情,实际上是做了地区切换的操作,用同一个用户号登陆两个不同的地区。
人民币发行的会计过程,涉及到以下主角:
国内银行 A
国内出口商
央行
境外银行 B
境外进口商
出口商出口商品
国内出口商-->境内银行 A(存放同业)-->境外银行B(同业存放)把外汇卖给央行
国内银行 A 的外汇,实际上是存放在境外银行 B 的“同业存放”里面,所以如果要把外汇卖给央行,那么央行也必须在境外银行 B 开一个同业存放的户头,也就是说从国外银行 B 的“银行 A 同业存款”转到“央行同业存款”中。
通过外汇储备来进行人民币发行:
央行发行库
存放了从造币厂运来的人民币成品,等待进入流通领域。外汇占款
本国央行收购外汇资产而相应投放的本国货币。外汇储备
央行以存款的形式在境外银行的存款,这些境外存款大部分是短期存款,也可以被央行拿去买有价证券,比如美国国债,或者变成支付手段(支票、汇票等)。
好处:我国可以动用这些钱购买国外的资产。
坏处:人民币通货膨胀(内部风险)、汇率风险和政治风险(外部风险),比方美国一直要求人民币升值,而中国希望人民币贬值,主要原因是人民币升值不利于我国出口商品。
外汇占款和外汇储备要加以区分,比如央行用人民币来买美元,从央行溜出去的人民币就是外汇占款,进入央行的美元就是外汇储备。
以上仅是从基本原理和便于理解的角度进行分析,在实际操作层面,可能有比较大的差异。例如,实际上央行并不一定在境外银行开立存款账户,它可以由指定的商业银行代持(以给外汇贷款额度的形式,相当于央行将外汇贷给商业银行)。另外,外汇资产通常由境外存款转化为其他外汇资产(如国债、股票等),具体由央行的外管局旗下的公司进行相关操作。
外汇价格标价
直接标价法:把外币当作商品来标价,一件商品多少人民币,比如6.7人民币/1美元
间接标价法:分子分母反过来外汇买卖
自由货币之间的互换就形成了外汇买卖,人民币不属于外汇买卖的范畴。-
结售汇
结汇:银行买入外汇
售汇:银行卖出外汇前提:客户已经取得外汇,即客户在银行已经有外汇,才能进行结汇。
客户取得外汇的方式:
- 通过外汇存款的方式将境外存款汇入境内
- 在国际贸易中通过支付方式汇入
类比在国内,则是国际清算组织(或清算银行)相当于国内的人行清算中心的角色。
单纯结汇:
假设客户出口商品,得到外汇,了结客户活期外汇存款,做一笔分录使外汇为零,客户在这个过程中把外汇存款变成了人民币存款。
如果外汇和人民币汇率不是 1 比 1 的情况下,需要通过兑换科目进行中专过度。(分账法)非单纯结汇(商务连接):
假设客户出口商品,要求直接收到人民币,那就是说“活期外汇存款”这个分录没有了,变成了直接操作对应的“存放境外同业存款”。单纯售汇:
跟单纯结汇反过来的操作。非单纯售汇(商务连接):
客户的人民币存款减少,通过兑换户,相应的银行“存放境外同业存款”也减少。 -
外汇牌价
买入价 = 银行买入价 = 客户卖出价
卖出价 = 银行卖出价 = 客户买入价
中间价 = (买入价+卖出价) / 2现汇买入价:银行买入现汇时的牌价
现钞买入价:银行买入外币现钞时的牌价
实际交易中,现钞买入 < 现汇买入价,这是因为现钞是物理存在的物体,银行买入之后需要仓库存放,如果要拿到国外去用还要运输,需要成本,所以现钞的买入价更便宜。
但现钞卖出价 = 现汇卖出价。 分账法
在会计上设置的两个名称一样的过度科目“兑换”,把原来的一个核算体变成两个核算体,一边是人民币,一边是美元,使两边账目左右相等。
同一个核算网点,就相当于有两本账,一个人民币帐和一个美元帐,分录两边的数字都相等,符合会计体系。-
汇兑损益
由于汇率的浮动变化,表内的两个“兑换”科目通常不一致,但是做表合并相关科目时,需要这两项相消,需要引入一个新科目来平衡这个不平等,就是汇兑损益。表内汇总的美元兑人民币值 X 与当前汇率的美元兑人民币值 X' 比较。
- X > X',说明银行发生了亏损,并在汇兑损益中需要记一笔亏损分录来进行平衡,亏损记在左边。
- X < X',说明银行发生了盈利,并在汇兑损益中需要记一笔盈利分录来进行平衡,盈利记在右边。
汇兑损益科目的余额方向是不定的,它反映的是业务的盈亏。当发生了盈利记在右边作为收入,当发生了亏损记在左边作为支出,与“资产/负债共同类”的规则类似,并由此引入了“支出/收入共同类”的概念,类似的科目还有“贵金属买卖损益”等。
第六章 科目表
余额方向
余额方向实际上都是由“科目设计”引起的,涉及科目的“分拆”和“合并”,进而形成科目结构图谱。
科目的余额方向:资产类在左边,负债类在右边。会计科目
资产类:内债(所有者权益)和外债
负债类:
资产负债共同类:资产类、负债类、所有者权益、共同类、损益类科目编号
资产类是 1 开头,负债类是 2 开头。资产类
1010 现金
1020 短期贷款
102001 短期普通贷款
102002 短期项目贷款
121003 短期循环贷款
121006 短期并购贷款负债类
2010 单位活期存款
2030 活期储蓄存款所有者权益
3010 股本
3110 本年利润
3120 利润分配
312006 未分配利润共同类
4100 待清算损益类
5010 利息收入
5210 利息支出-
科目分级
通过科目分级形成科目的歪脖子树,对科目进行命名和编号,形成科目编号表。比如短期贷款下面可以分级为短期普通贷款和短期项目贷款,短期项目贷款可以继续分户到“xx三峡项目”。
在会计中细分的项目称为叶子,把这种细分的过程称为科目分级。
- 平时记账在叶子上
- 叶子的余额方向向上继承
- 余额向上汇总
通过科目分级可以设计出科目编号,通常把一级科目编号设计为 4 位编码,一级科目向下分级的二级科目为 6 位编码,并且前 4 位等于以及科目编号。而在 IT 程序设计中,在二级科目向上汇总的程序中,也通常截取二级科目的前四位作为一级科目。
-
附注
资产负债表是会计恒等式的表格反应,它的内容和数据包含了所有从会计恒等式中导出的科目。为了使其简洁明了,还需要对科目和数据进行合并、汇总等处理。
附注可以理解为子表,主要可以使资产负债表的主表简洁行数少,并且琐碎的内容放在子表,而主表主要是汇总数据,并为了披露的需要,使得不同银行(机构)的主表科目大致相同,以便进行横向比较。同时资产负债表的格式与表述需要依行业进行统一,各行的科目设置可能不一致,但资产负债表中客户存款的含义应该是一样的。- 科目汇总
- 机构汇总:二级行->一级行->总行
- 并表:涉及母子公司(比如工行的子公司工银亚洲),就按内可以有相互抵消的情况,比如相互间的应收应付账款互相抵消。
-
排序
按照资产的流动性从高到低来排序,资产流动性就是变现的能力。
- 现金
- 存放央行
- 存放同业
- 各类贷款:短期、中期
负债也是按照流动性来排序的,也就是紧迫性,比如 10 天后要换的债比一年后才还的更加紧迫。
- 隔夜拆借:一天就要还
- 各类存款:活期,定期,或者定期快到期了,附注里要说明一年以内到期的定期存款
- 各类应付账款
-
资金链断裂
收入 + 举债 < 支出 + 还债
银行的资金链断裂比较特殊,银行的还债体现在用户取款,大量用户取款也成为挤兑。避免挤兑的方法:
- 存款准备金:解决日常用户取款
- 存款保险:解决极端情况下的社会心理问题
-
资不抵债
平静情况下,资产等于负债,一旦追债来了需要变卖资产来还债,则资产的市场价值决定是否资不抵债。与资产变现相关的科目:
- 库存:账面有 100 万元,但是是库存,拿出去只卖了 50 万元,就会产生资不抵债
- 应收账款:如果应收账款收不回来,也会产生资不抵债
对于银行来说,库存就是贷款,应收账款就是应收利息。
若大批客户资不抵债,则会产生连锁反应,导致银行资不抵债,甚至破产。为了解决这个问题,就有了风险管理,其中风险拨备就是要留存一部分钱用来解决贷款的坏帐问题。 -
表内科目和表外科目
数据会通过汇总、结转等途径汇入到资产负债表中的科目为表内科目,除此之外为表外科目。表内科目:
- 资产
- 负债
- 所有者权益
- 共同类
- 损益类
表外科目:
- 或有事项:有可能会发生,比如开出信用证应收款或者应付款,主要是对或有事项进行管理
- 委托或者代理业务:比如个人住房公积金,委托贷款应收利息
- 备查登记:指一些事务的登记,比如重要空白凭证。
对表外科目均要采用单式借贷记账法记账,就是每一笔业务发生只用一个会计科目进行单方面登记的方法。当业务发生,增加时计入借方,减少时计入贷方,余额在借方,表示期末结存数额,表外科目应设立登记簿记载。
第七章 身边的业务
计提
计算提取,比如计提员工工资,计提应付利息,通常要涉及一个损益类科目。以计提员工工资为例,就是从损益类“业务管理费用——工资”提取到负债类“应付员工工资”。应收应付
以发工资的过程为例,工资属于“业务管理费用”支出类科目,先进行工资计提,到了真正发工资的时候还需要交个人所得税,扣除后剩余款项发放给员工,到了真正交税的时候,再从“应缴税——代个人——xx”转到税务局单位活期存款。-
固定资产的生命周期
- 购买
- 折旧
- 清理
-
固定资产折旧
折旧是一个支出类的费用科目,假设计算机原价 10 万元(即为原值),只能用 5 年,那么平均一年要用 2 万元损耗(折旧)。固定资产:原值
累计折旧:每年折旧费用加总(也是资产科目,但是其余额为负数)
固定资产净值:固定资产与累计折旧之和(产生相减的备抵效果) 固定资产清理
计算机用满 5 年,单位通常将计算机报废。通常是快折旧到 0 元的时候实施,具体方法是把累计折旧再结转到固定资产中,结转后固定资产剩余的余额称为“残值”,一般作为二手或废品卖掉。
假设固定资产有一个残值 1000 元,假设卖了 1200 元,多余的部分就是营业外收入,相当于意外之财,反之如果卖少了就是营业外支出。企业所得税
企业所得税 = 利润(收入-费用)× 税率
就费用而言,以固定资产折旧为例,假设税务局的折旧方法为平均折旧,而企业自己的折旧方法是先快后慢,年末计税时就会产生差异,以税务局的计算值为准,此时需要一个新的资产类或负债类科目来平衡差额,进行补差。
递延所得税资产:企业本次多交了税,就作为资产用于下次抵税。-
按揭房贷
- 等额本金:(单利)
每期本金是一样的,利息前面多后面少
每期要还的利息=剩余本金×当期利率 - 等额本息:(复利)
每期本息之和是一样的
本金的大部推迟还,遇上降息比较划算 - 剩余本金 = 贷款总金额 - 每期已经还掉的本金
- 利息调整:以剩余本金重新做还款计划,一般是次年生效
- 提前还款:以剩余本金重新做还款计划
- 等额本金:(单利)
第八章 贷款
贷款生命期
五级分类:正常、关注、次级、可疑、损失(后三个是不良贷款)-
贷款到期情况
- 未到期
- 展期:到期了之后客户还不上
- 逾期:展期之后客户还是还不上
- 非应计:逾期超过 90 天,不能再计算利息了,因为收不回来了
按合同逐笔核销:
同一家企业贷了两次款,应该要按协议(合同)分别开立贷款账户,不同的合同对应不同的账户,即使是同一还款人;还款的时候,也要分清楚是还 A 合同还是 B 合同。本息分开:
比如住房贷款,其利息和本金是分开计算的。 -
贷款类别
- 信用贷款:凭借信用(如工资单)或者用大数据计算信用等级(如工行的客户星级)
- 担保贷款:
抵押:银行不要所有权,比如房屋抵押,要抵押房产证
质押:银行要所有权,要把东西放在银行,比如票据
第三方担保:
基本上,抵押和质押看合同签署情况,一般来说逾期 1 个余额银行就有权没收抵押和质押的东西。 - 罚息:比如信用卡逾期
贷款发放
从会计的角度就是银行的资产科目新增了一笔贷款,而负债科目也新增了一笔存款。
需要注意的是,如果是抵押贷款,比如抵押了房产证,还要记一笔表外科目“收:代保管有价值品XXXX房产证”。贷款收回
收回贷款比发放要复杂,因为还要收利息,同时贷款收回一般是分期收回,每期偿还本金和利息。
与贷款发放类似,如果是抵押贷款,比如抵押了房产证,还要记一笔表外科目“付:归还有价值品XXXX房产证”。贷款利息
计息日:计提利息日,从利息收入计提到应收利息。一般计息日是每个季度末月的 20 日。
收息日:收息日不等于计息日,收息日取决于具体的合同约定情况。-
收息状态
已收到:
抵消了应收利息,确认了利息收入,也实现了利息计提和利息确认的解耦,因为应收利息有可能最终收不回来。
未收到:- 收到了一部分,那么应收利息就还有余额,没有清空。
- 没有收到(当期的全部或部分),延迟一定日期后,会把这些没有收到的利息变成应收未收利息,也就是说应收利息还是要清空。换一个科目,就相当于一个升级动作,然后在这个新科目里面再收,称为续收。
- 如果转到新科目,过了一段时间,还是没有收到,认为收不到了,视为没有这笔利息收入,但计提时算了收入,因此在会计上要用红字进行冲减,类似于计提利息的反交易(相同的分录,但是以原值的负值),未收回的利息纳入表外继续追讨。
(在会计上,“资产”的损失应通过对应的“损失准备”(备抵科目)来核销;“收入”若已计提但后来不能实现,则应通过红字冲减)。
收入确认
权责发生制:以合同为准,对应合同上的权力和责任,这样就有应收和应付
收付实现制:收了多少钱,就算多少收入-
收入冲减
按权责发生制,通过应收利息产生收入。但利息若收不回,需要通过红字冲减收入,未收回的利息纳入表外继续追讨。(认错,用红字更改)比如在某个计息日,计提利息收入为X,记两个分录,一个是损益类“利息收入”,一个是资产类“应收利息”。
在还息日,客户还了Y1,再记两个分录,一个是“应收利息”减去Y1,一个是“客户活期存款”减去Y1,但是客户并没有还清利息,还剩余X1“应收利息”没有还,再把X1结转到“应收未收”。
再到下一个计息日(分期还款,每一期的本金和利息都可能不一样),但是这一次和上一次的计息日就不一样了,利息收入要分为以下三个部分:
- 正常计提的本期利息
- 上期欠的“应收未收”的利息X1产生的复息
- 上期欠的“本金”产生的罚息
同样,客户又还了一部分,但是仍然没有还清,再次结转到“应收未收”,最终还剩余Z元确认无法归还。该如何解决?只能减少收入,将计提的收入减去未收到的收入,得到实际的收入。
还有如下几个注意点:
- 什么时候做红字冲减?会计规定是逾期90天
- 因为是逾期90天才做,所以X1里面并不是都逾期90天了,是一部分逾期90天,所以X1不等于Z
- 逾期90天从简了之后,还是要去向客户要,所以Z就放到了表外,再找人去催账。
- 一旦要回来还是作为利息收入,如果收回本金是作为营业外收入
-
贷款损失准备
准备用于抵消相关资产的损失,也称为风险拨备,用来进行不良贷款核销,当该笔贷款损失准备金用于核销后仍有多的,则将多余的进行转回。贷款损失准备在计提时产生,核销时使用。
当贷款逾期时,比如抵押贷款发生了损失,主要分为以下几个步骤:
- 客户可能已还了好几期,但是剩下的贷款还不上并且逾期了
- 剩下的贷款就结转到逾期科目里面要罚息,然后又收回了一些贷款
- 当逾期超过90天,再结转到非应计贷款里面,不计息,然后派人去催账,并且要处理一些抵押品,比如拍卖房屋
如果不是抵押贷款,而是信用贷款,没有抵押物,就有一个贷款损失准备的东西,实际上也是一个计提的动作,从贷款减值损失(损益类)计提到贷款损失准备(类似于累计折旧备抵科目),计提到该备抵科目的右侧,但是该科目又是资产科目,所以余额反应在左侧,且余额为负数),原由客户的存款户还的贷款,由于还不起(非应计贷款),改由“贷款损失准备”来还款。
有几个需要注意的地方:
- 贷款损失准备是资产类科目,对于资产类科目备抵,其余额方向在左边,且为负数
(各类“准备”科目都是相应资产类科目的“备抵科目”,它是“准备着用于抵消相关资产的损失”) - 核销了之后,并不是说这个贷款就不要了,还是要派人去催款,但是这个时候如果收回来款,就变成了“营业外收入”,可以说是意外之财
另外,损失准备是按照贷款五级分类的不同级别,计提不同比例的损失准备金,类似于之前的折旧,与“折旧率”类似也有“拨备率”。
再补充一种情况,当贷款企业的财务状况发生了好转,贷款的风险降低了,即原来计提的损失准备有点多了,则需要减少计提的金额,将原来的计提收回一部分,在会计上称为“回转”。
-
抵押物
以房贷为例,说明抵押物的“获得处置权”和“处置”的具体过程。如果有客户还不起房贷之后,银行取得了房屋的处置权:
- 【右边】要记录抵押贷款(未还本金),用于抵消贷款本金,使得抵押贷款清零
- 【右边】因为要处置,就会产生一些交易和费用,应交税费(诉讼,过户),注意这个过户是指贷款人过户给银行
- 【左边】那么这个抵押物,便哼了抵债资产,到底值多少钱需要由评估公司进行评估
- 【左边】然后是贷款损失准备(已计提的)
其中,左边是银行得来的,右边是银行要还的,两边进行抵消,如果左边多了就是“营业外收入”,如果右边多了就是“营业外支出”,最终两边是相等的,要么补收入,要么补损失。
取得处置权之后,有以下处置方法:
- 自用:比如变成营业厅,结转到固定资产中去了
- 出售:把抵债资产出售掉,出售涉及多项的多对多T字
-
贷款损失
正常贷款->逾期贷款->非应计贷款->贷款损失准备(核销贷款)
- 假设一笔贷款第一期的本金是X1,客户只还了一部分钱,还剩余Y1没有还,那么到期后就把Y1结转到逾期科目,而贷款本身的余额要清零
(贷款和逾期里面都要还利息,不同的是逾期里面还的是罚息) - 结转到逾期之后,客户需要继续还款,但还是没有还清,还剩余Z1没有还,那么如果超过90天的话,就把Z1再次结转到非应计贷款,而逾期本身的余额要清零
(非应计里面不计算利息了,因为本金都收不回,更不会有利息) - 结转到非应计之后,客户还要继续还款,但是这个时候客户还的钱是营业外收入。假设非应计贷款里面还剩下W1没有还清,那么就需要使用贷款损失准备来核销,而贷款损失准备的钱是从减值损失中计提获取的
(注意贷款损失准备是资产类科目,余额反映在左边且为负数,它是贷款科目的备抵科目)
其中计提的贷款损失准备是不断变化的,有以下三个影响因素:
- 每一期的本金不一样,所以计提的金额也不一样
- 借款人情况恶化,计提越来越多
- 借款人情况变好,计提越来越少
如何处理情况变化:主要看贷款的分级变化,如果要增加贷款损失准备就再次增加计提,如果要减少就要记录相反的分录,减少计提,称为转回。
- 假设一笔贷款第一期的本金是X1,客户只还了一部分钱,还剩余Y1没有还,那么到期后就把Y1结转到逾期科目,而贷款本身的余额要清零
-
派生存款
银行吸收公众存款后再进行放贷,而放出的贷款又被存放到其他银行作为派生存款并再次放款,从而形成了存款放大效应。存款准备金在其中发挥两方面的作用:
- 满足流动性要求,即应对客户的取款和资金的清算需要
- 控制信贷扩张,存款放大使得名义货币大于实际货币,如原始存款100万元通过乘数效应得到名义货币1000万元,即通过存款准备率来调节乘数。
乘数效应实际上是银行的信用在起作用,假如每个存款人都有一个存单,都相信他可以取回存单上所记录的金额,如果大家失去对银行的信用,都去银行取款,那就穿帮了,因此银行的信用是其存在的基石。
-
贷款规模
贷款是银行的资产,如果不受到任何控制,银行可以无中生有地方大嗲款(增加资产的冲动),但是这样风险很大,所以监管部门对银行贷款规模做了很多限制。- 巴塞尔协议:将贷款总量与银行拥有的资本量挂钩,巴塞尔协议规定银行的资本充足率必须大于8%,核心资本充足率必须大于4%。
- 存贷比:贷款作为分子,存款作为坟墓,这个值一般要求小于等于75%。
- 其他要求:贷款有短期中期长期,但是不能都是长期贷款,可能导致存款供不应求。
这些限制条件,对于银行整体而言必须满足,但是对银行内部的某个局部地区就可能不满足,这时候需要进行资金集中配置(比如局部可能有一个重点工程,但是局部经济不太发达,就向总行申请,但是要付内部利息价格,相当于分润处理)。
-
利息的特点
- 央行公布的基准利息:年利息,百分号为单位
- 贷款;一般为月利息,即年利息/12,一般单位是千分号
- 活期存款:一般是日利息,即年利息/360
- 月息3分:一个月3%
第九章 中间业务
-
银行所处的位置
- 传统模式:从资金供方吸收存款(银行是债务方),把资金贷给资金需方(银行是债权方),并从中赚取利差
- 中介模式1:资金供方与资金需方是直接的债权债务关系,银行只承担一个中介的作用,并从中收取手续费和佣金
- 中介模式2:在商品流通的时候,银行还承担另一种中介服务,并从中收取手续费和佣金,比如资金结算、支付、担保,银行担保商家会把钱付给下架,如果上家不付钱,由银行付钱
-
银行中间业务
银行作为中介开展的业务(上面的2和3),具有以下特点:- 银行承担了中间人的角色
- 钱没有经过银行的手,所以业务资金不体现在资产负债表里面,通常也把中间业务放在表外业务
- 收入是手续费和佣金
表外业务
比如发生中间业务时,银行不动用资金,故资产负债表不变,但可以需要银行出具一些保证之类的业务,对这些业务也要进行记录,就是使用表外科目记录。
表外业务不体现在资产负债表里面(因为没有动用资金),但是一旦产生收入(佣金)和损失(担保违约),还是要记录表内科目,只是没有在中途体现。
好处是没有监管的干扰,坏处是如果有问题不能在中途暴露。-
中间业务分类
- 支付结算类:主要是商贸流通,汇票、本票、支票
- 银行卡业务:信用卡
- 代理类:代发工资,代理证券、保险,代收代付水电费,其中很多代理业务已经不收手续费了,比如代发工资
- 担保类:承兑汇票、信用证、保函
- 承诺类:贷款承诺,银行承诺企业满足什么条件之后就可以贷款
- 衍生品交易:衍生品在我国是证券类,在国外证券类称为投行,现在我国商业银行称为投资部,比如期货
- 基金托管:养老金托管等
- 咨询顾问:充当一些财务公司的顾问
-
代发工资
假设单位有一笔单位活期存款,那么发功i就是从单位活期存款通过一借多贷转到个人活期存款,但是在实际系统设计和业务设计的时候,通常要再进入一个科目进行中专,称为代理业务——代发工资科目(内部户)。这样做的好处:
- 统计意义:从会计角度,直接看代发工资科目就知道代发了多少工资
- 容错角度,从容处理,即使个别人账户写错了,也不影响全部的
- 性能角度:对公和个人在主机上是分区的,跨区调用有性能问题
-
手续费及分润
再来看一个有手续费的代理保险。- 保费:从个人账户转账到保险公司
- 手续费:从保险公司转账到银行
- 分润:保险公司一次性批量把手续费发给银行的某个网点,但是实际上银行内部有很多网点都做了业务,需要把手续费从一个网点分给其他网点
对账
中间业务通常与第三方相关,由此衍生出对账的需求。-
对账的一般模式
银行与第三方对账通常分为两种模式:- 以银行为准对账:由银行提供对账明细给第三方,第三方以银行明细状态为准调整其明细状态,并进行相应处理
- 以第三方为准对账
-
对账的一般过程
一般带去先汇总核对再明细黑底的核对过程。- 我行多、对方少:账务冲正处理
- 我行少、对方多:补账处理
第十章 股票与债券
-
金融工具
本质是证明贷者与借者之间融通资金余额的证明。- 简介金融工具:银行存款、可转让存单、票据(银行作为金融中介)
- 直接金融工具:股票、债券、基金、认股权证
- 衍生金融工具:在原生既然弄产品的基础上派生出来的金融合约,主要包括远期合同、金融期货、金融期权和金融互换
-
金融资产
- (公允价值)以公允价值计量且其变动计入当期损益
- (摊余成本)持有至到期投资
- (公允价值)可供出售金融资产
- (摊余成本)贷款和应收款项
-
金融负债
- (公允价值)以公允价值计量且其变动计入当期损益
- (摊余成本)其他金融负债
公允价值法
参照外部市场(盯市)的虚拟价格。对持有的股票按市场价进行计量就是公允价值计量。摊余成本法
将资产或负债折价或溢价在续期内进行摊销的会计处理方法。-
股票发行
银行可以持有其他公司(或上市银行)的股票,也可以发行自己的股票(本身是股份银行或进行股份改造的银行),以发行的股票作为资本(所有者权益)。- 溢价发行、折价发行、平价发行
- 回购且注销、回购且库藏
第十一章 会计报表
-
基本财务报表
按照我国目前对企业财务信息的披露要求,企业需要编制四张基本的财务报表(非上市公司只提供前三张):- 资产负债表
- 利润表
- 现金流量表
- 所有者权益变动表
从程序设计的数据流角度,报表的数据流为:利润表->所有者权益变动表->资产负债表->现金流量表
-
余额归零
- 损益类:比如收入费用通过年终结转到本年利润,而本年利润的生命周期也很短,马上也为零了,通过利润分配到所有者权益
- 应收应付:按笔核销,比如发工资,从费用计提到应付员工工资,待工资发放之后,就把应付员工工资清零了
- 计提:如计提利息
- 清算:每一笔清算也要结转为零
- 贷款:贷款一般是分期部分清零,但是最后总的结果还是为零
- 其他:比如过渡户
利润表
反应企业一定会计期间(如月度、嫉妒、半年度或年度)生产经营成果的会计报表,也称为损益表。
根据“收入-支出=利润”的基本关系编制。所有者权益变动表
反应公司与所有者之间的交易,构成所有者权益的各组成部分当期增减变动情况的报表。资产负债表
反应企业在某一特定日期(如月末、季末、年末)的全部资产、负债和所有者权益情况的会计报表,是企业经营活动的静态体现。
根据“资产=负债+所有者权益”这一平衡公式,依照一定的分类标准和次序,将某以特定日期的资产、负债、所有者权益的具体项目予以适当的排列编制而成。现金流量表
分析企业在短期内有没有足够现金去应付开销,提供了企业经营是否健康的证据。
活动类型:经营活动、投资活动、筹资活动。试算平衡表
某一时点上检查借贷方是否平衡及账户记录有无错误的一种表。附注
对资产负债表、利润表、现金流量表和所有者权益变动表等财务报表中列示项目的进一步文字描述或明细资料,以及对未能在这些报表中列示项目的说明等,可以使报表使用者更加全面地了解企业的财务状况、经营成果和现金流量。-
其他
还有部分非披露要求的会计报表,但是企业需要报送监管机构。比如银监会的非现场监管报表。- G01资产负债项目统计表
- G03各项资产减值损失准备情况表
- S71银行业普惠金融重点领域贷款统计表
第十二章 账务设计
账号含义
地区号+网点号+应用号+顺序号+校验位-
分户账
昨日余额+今日右边发生额-今日左边发生额=今日余额- 明细表:记录每一笔明细交易,主要进行插入操作
- 余额表:记录账户当前最新余额,主要进行更新操作
公司账户
基本户:只能在溢价银行开,开了基本户之后,需要向人民银行备案
一般账户:可以在多家银行开,只有开了基本户之后才能开一般账户。一般账户不能取现,但是可以转账。个人账户
I类账户:全功能银行账户,可以办理存款、转账、消费缴费、购买投资理财产品等,使用范围和金额不受限制。个人的工资收入、大额转账、银行转账,以及缴纳和支付医疗保险、公积金等业务。
只要有卡有折有实物,就一定是I类账户,II类账户和III类账户都是建立在I类账户基础上的虚拟账户,没有卡或存折等实物介质。死锁
两个账户互相转账,互相等待死锁热点字段
在并发交易的过程中,部分字段使用频率很高,比如序号、流水号、余额、发生额等,称为热点字段热点事件
导致热点字段的额交易称为热点事件,比如淘宝双11,微信发红包热点账号
集中入账的账号,比如淘宝商家系统转账处理
先扣款再存款,必须保证付款方有足够的余额才能交易成功-
先借后贷
对于存款户而言,他是银行的负债:左记是减少客户的存款,右记是增加客户的存款。显然A转账给B的会计分录为:左记A户,右记B户。
假定两存款户A和B在同一数据库中,则一个数据库事务就可以搞定该会计分录,即可由数据库事务来保证业务事务。但是如果他们不再同一数据库中,特别是在分布式环境下,则需要两个数据库事务才能完成该会计分录,但这两个事务却是同一个业务事务,即从业务角度看,要么同时成功,要么同时失败。
两个数据库事务如何实现一个业务事务?两个数据库事务按照先后执行的次序,主控程序有三种情况:
- 第一个成功,第二个成功
- 第一个成功,第二个失败
- 第一个失败,第二个不做
显然1和3符合业务事务的要求,只需要考虑2,即这时要对第一个已成功的数据事务进行逆处理。
这两个数据库事务,哪一个会产生不可逆?
- 左记A户:减少客户A的存款,可逆(增加客户A的存款)
- 右记B户:增加客户B的存款,可能不可逆(例如客户B立马将其账户的钱全部转走)
为了避免这种不可逆的情况发生,考虑银行的中介角色,应该是左手拿到A的钱(左记A户),右手再交给B(右记B户),而不是相反,这也称为“先扣账,再入账”,扣账为左记,入账为右记。这就是“先左后右”,对应到一般会计书的表述即为“先借后贷”。
数据库事务什么时候会出现失败?
- 技术原因,如数据库挂了、网络不通等
- 业务原因,如账号错、余额不足等业务情况
-
日期敏感
银行是处理资金的企业,需要体现资金的时间价值,这就是“利息”。因此账务系统对日期(时间)也是敏感的。
-
日切
系统工作日期的切换,这个工作日期与自然日期不一样,自然日期过了24点即切换到第二天,但是银行工作日期可能凌晨1点才切换。
所以假设有一个人当天晚上11点存了一笔钱,到第二天凌晨2点取出来,因为刚好跨过了日切,只存了3小时,也能得到1天的利息。
系统日切之后,有以下几个方面需要重点关注:
- 初始化:全局时钟变量初始化,同时双日志也需要进行切换
- 签到:网点签到、柜员签到
- 初笔交易:会产生一条新纪录,把昨天的当日余额变成今天的当日余额,把主机送下来的最新工作日期填进去,交易之后会更新今天的当前余额。
-
积数与利率
日利率 = 年利率 / 360
利息 = 本金 * 天数 * 1/360 * 年利率
积数 = 本金 * 天数(单位元/天)
息余 = 积数 / 360
假设积数是N,可以有以下两种理解:
- 一元钱存了N天
- N元钱存了1天
为了方便计算利息,需要在余额表里面加上滚积数,滚积数 = 积数 + 余额。
(注意:元以下不计息。)
-
结息日
在结息日的时候,通过积数算出利息,如果利息不取出来,就继续存到本金里面(利息还需要交利息所得税)。
利息加到本金之后,对应余额表里面,积数要清零。
-
利率调整日
央行会对利率进行调整,而利率调整日一般不是结息日,所以如果发生利率调整,主要进行以下处理:
- 把当前积数用调整前的利率计算利息,然后把积数清零重新计算
- 需要在余额表里面再新增一个字段,用于存储利率调整以前的利息,一般是“应付利息”
- 在结息日的时候,除了正常计算的利息,还需要加上“应付利息”
-
客户销户日
除了本金,积数也要清零:计算上个结息日到销户日的利息。
-
总分核对
余额表的汇总至应该等于总账,如果对不上就是总分不平。
银行在进行联机交易的时候,后台系统主要做以下两部分工作:
- 做日志:记录每一笔交易的明细,比如活期转账记录转入转出方账户、柜员号等
- 记分户账:分户账中有一个余额表,记录每个客户当前余额
-
日中批量
从日志中计算总账。
日中批量需要耗时,而业务是24小时的,为了不影响联机日志记录,就有了“双日志设计”:
日终后,当天的联机日志停止联机,转入日终批量处理,启用另一个日志来接替记录联机交易信息,两张日志表A/B按日来回切换,互不影响,相当于轮班值班,保证联机系统24小时工作。
- 当前活动的日志:联机交易不断插入记录
- 不活动的日志:只有批量做读操作,批量完成后备份,最后删除信息
-
试算平衡
资产负债表的左右两边是否相等。
试算平衡表是在还未对相关账户调整前出的资产负债表,业务可以通过该表了解调整前的线管情况,该表除业务意义外还有查错作用。
另外,试算平衡只是一种处理方式,业务处理时需要遵循严格的审批流程和符合、授权等控制,相关的错账还会进行追责处理,保证银行会计是“铁账”。
假设发现左边小于右边,首先需要临时找一个科目把差额补起来,这个科目称为挂账科目(也称其他应收)。然后再查具体是哪个科目发生了错误,查到之后再从挂账科目结转到错误科目。如果是右边小,那么挂账科目就是“其他应付”。
-
错账处理
试算平衡发现存在错误,就要进行错误处理。一般来说有以下两种错误类型:
- 机器错误:一般是系统程序发生错误,需要发补丁变更解决
- 人工错误:比如柜员操作过程发生了错/漏/重复汇款等错误,一般人工错误需要用三要素核对:物、票、账
-
人工错误处理
- 抹账:也就是反交易,一般都是在当天进行反交易,反交易需要找到原交易,在日志里面把标志置为作废,然后再明细中减掉相关明细交易记录
- 冲账:不作废历史交易,作为一笔新的交易。
重复入账:比如重复汇款了两次,需要把其中一笔交易冲掉,采用双边红字修正(新增一笔原来一样的交易,但是数字的符号是反的)
遗漏入账:比如遗漏汇款,需要补一笔交易,采用双边蓝字(正常交易),但是要填以前的日期
汇错收款人:比如本来应该是A汇款给C,但是错误汇给了B,采用单边红字和单边蓝字
抹账反交易已经基本不用,因为存在漏洞隐患,比如上午存一笔钱然后开出一笔存款证明,到下午再反交易把这笔钱取消,但是证明已经开出来了,所以现在通常使用冲账代替抹账。
-
积数计算
- 加法:积数=积数+余额,需要每天日终批量都进行累加计算
- 乘法
- 可能积数法:每一笔动账的时候都要算
-
天数计算
分为三部分进行求和计算:
- 起始日期到当年年底的天数
- 两日期间整年的天数
- 终止日期到当年年初的天数