银行核心账务设计入门必读

要了解银行核心系统,需要从银行核心账务系统了解,实际上,银行的核心本质就是玩转账务。

常见基本概念

  • 客户: 这个比较简单,就是指实体,可以是个人、企业。
  • 账户: 用于记录和反映特定主体(如个人、企业、机构等)经济活动和资金状况的一种工具或载体。
  • 分户账: 一个实体可以开多个账户,每个账户也可以称之为分户,那么分户账简单理解就是账务明细和账户基本信息,如账户明细包含日期、摘要、借方发生额、贷方发生额,交易后余额等,账户基本信息包含账户开户日期、账户类型、客户信息等,以及一些其他相关的记录,如利息计算、账户状态变更等。
  • 明细账: 这个是和总账息息相关的,是对总账科目的进一步细分和详细记录,用于核算企业的各项经济业务,按明细科目分类,提供详细的会计信息,如应收账款明细账,会按不同客户设置明细科目,记录与各客户的往来款项。会计分录是明细账登记的依据,明细账是会计分录的详细反映。

分户账

账号

平时我们用的银行卡是账户吗?

null

答案是否定的!!!

虽然卡号和账户号有对应关系,但它们并不完全相同,不能相互替代使用。

举个例子: 一张借记卡可能同时关联着活期储蓄账户和定期储蓄账户,用户可以通过银行卡在不同账户之间进行资金划转等操作。

那针对不同的场景,可以在银行内部开设不同的账户,那账户号基本上都是有含义的,结构是一般如下:

null

账户号组成

一般情况下,账户号组成部分一般包含不变的要素,如客户号一般是不太变化的,是可以作为账户的一部分的,如开户行可能就不太适合了,毕竟银行网点可能会取消。

分户账

举个例子,你的活期账户某一天有动账,情况如下:

null

活期存款账户发生余额变动

根据上述信息,那么在2025-03-18日的余额为:
上日余额+今日贷方发生额-今日借方发生额=今日余额

即:1000+500+200-300-100=1300

为啥不是 上日余额+今日借方发生额-今日贷方发生额=今日余额;

因为站在银行的角度上,储户的活期属于银行的负债,负债类科目是借减贷增。

上日余额+今日贷方发生额-今日借方发生额=今日余额 ,这个账的记录就是分户账。在记录分户账的过程中,衍生出两个概念,账户明细和账户余额

null

交易分别记录到账户明细和账户余额表

(1)账户明细:记录每一笔明细交易,一般设计的字段有"账号,工作日期,发生额,借贷标志,对方账户",主要是进行插入操作。

(2)账户余额:记录账户的当前最新的余额,一般设计的字段有"账号,工作日期,昨日余额,当前余额"。其中"当前余额"到当天晚上就变成了"今日余额",到了第二天早上就变成了"昨日余额",主要是进行更新操作。

热点账户

热点账户是指短时间内有大量的资金收付,包括转账、汇款、支取现金等一种或者多种交易类型的多笔交易。使得账户频繁更新,为保证余额准确,更新前需要上锁,并发时造成等待,而演变成热点账户。

在银行系统中,比较常见的账户是内部户、一些客户账户。

内部户

举个例子,银行和银联对接,会涉及到待清算账户, 如果发生频繁交易,会导致这个待清算账户频繁发生更新,严重时可能导致系统不可用。

客户账

有些客户如存在发工资场景,也会频繁更新账户,使账户演变成热点账户。

缓冲记账

null

1、将交易先实时并行插入临时登记簿中。

2、后台起一个线程扫描临时登记簿中获取一批未入账 的记录,并锁定这些记录,然后汇总更新热点账户,最后再将锁定记录改成已入账,然后释放锁。

银行系统处理转账,一般都是先扣款,再存款,因为必须保证付款方有足够的余额,才能保证交易成功。

先借后贷

站在银行的角度上,先借后贷意味着先扣款后入账,上面也提到过,客户的存款属于银行的负债,所以A转账给B的时候,对应的会计分录逻辑是借为减贷为增,所以才有先借后贷的说法。

为什么要先借后贷?

假定两客户存款户 A 和 B 在同一数据库中,则一个数据库事务就可以搞定该会计分录,即可由数据库事务来保证"业务事务"。但是,如果两客户 A与 B 不在同一数据库中,特别是在分布式环境中,则需要两个数据库事务才能完成该会计分录。但它们却是一个"业务事务",即业务角度上,要么同时成功,要么同时失败。两个数据库事务如何实现一个"业务事务"?两个数据库事务按先后执行的次序,主控程序有三种情况:

(1)第一个成功,第二个成功;

(2)第一个成功,第二个失败;

(3)第一个失败,第二个不做。

第一种情况和第三种情况,在业务上是符合要求的,那我们只需要考虑第二种情况即可。

第二种情况,只需要对第一个成功进行逆处理就好了呀!道理是没错,但是要保证逆处理能成功才可以。

null

上图中的情况一,如果B先入账,A后扣账,B入账成功,A扣账失败,如果这时候对B入账进行逆处理,但是B提前把钱提取走了,逆处理就会失败,这就造成了资损,这在银行是红线!!!

总分核对

总分核对是会计核算中确保总分类账(总账)与明细分类账(明细账)金额一致性的关键步骤,主要目的是验证账账相符,避免记账错误。

总分类账(总账) :按一级会计科目(如 "银行存款""应收账款")汇总登记所有经济业务的账簿,反映资金变动的总括情况。

明细分类账(明细账) :按二级或更详细科目(如 "银行存款 --- 工商银行""应收账款 --- 客户 A")记录具体交易的账簿,提供详细数据

银行在进行联机交易的时候,后台系统主要做两部分工作:记分户账&记日志。

null

记分户账

null

记日志

总账数据怎么来的?

总账是从日志中计算出来的,把日志中的活期记录进行汇总,相应科目的科目数据。总账的每个科目,每一天都记一条记录。

null

总账结构

null

总分核对过程

图中的日志A和日志B的设计,叫做双日志设计,实线是当前在用的日志,虚线是昨日日志,每日日终切换,这样设计目的有2点,一是提升性能,二是批量汇总不影响联机交易。

也许你有疑问,这个有什么可核对的呢?不就平的吗?

是的,理论上,这个是平账的,但是也会有不平的情况,一是网络异常等系统原因导致的不平,二是认为故意的不平(试想:我直接操作数据库给自己加一笔钱,是不是太可怕了)

总分核对的本质是 "数据传递链的校验" ,而非重复劳动。即使数据理论上同源,手工操作误差、系统缺陷或人为舞弊仍可能导致账账不符。通过定期核对,企业可确保财务数据的准确性,强化内控,为决策提供可靠依据。

试算平衡与差错处理

试算平衡是会计核算中的一项核心程序,用于验证所有账户的借方总额与贷方总额是否相等,以确保记账过程的准确性。其本质是通过数学平衡原理,检查分录编制、过账及汇总环节是否存在方向性错误。

null

试算平衡的原理

借贷记账法规则:

每笔分录的借方金额必须等于贷方金额。
恒等式:

全部账户借方发生额合计 = 全部账户贷方发生额合计

全部账户借方余额合计 = 全部账户贷方余额合计

试算平衡的步骤

步骤 1:编制试算平衡表

null

试算平衡表

列出所有总账账户(如库存现金、应收账款、应付账款等)。记录每个账户的期初余额、本期借方发生额、本期贷方发生额及期末余额

步骤 2:验证平衡关系

检查发生额:

总借方发生额是否等于总贷方发生额。

检查余额:

总借方余额是否等于总贷方余额。

步骤 3:差错处理

如借方发生额小于贷方发生额,差额是 Δ,那么首先需要临时找一个科目把 Δ补起来,这个科目称为挂账科目(也称其他应收)。然后再查具体是哪个科目发生了错误,查到之后,再从挂账科目结转到错误科目

null

差错处理

如果借方发生额大于贷方发生额,则临时科目为其它应付。

差错处理方式

(1)抹账 :也就是反交易,一般都是当天进行反交易,反交易需要找到

原交易,在日志里面把标志置为作废,然后在明细中减掉相关明细交易记录。

(2)冲账 :冲账不作废历史交易,其实就是一笔新交易,冲账分为以下

几种情况。

重复入账 。比如重复汇款了两次,需要把其中一笔交易冲掉,采用双

边红字修正。所谓红字修正,就是新增一笔原来一样的交易,但是数字的符

号是相反的。

遗漏入账 。比如遗漏汇款了,需要补一笔交易,采用双边蓝字,蓝字

就是正常的交易,但是要填以前的日期。

汇错收款人。比如本来应该是 A 汇款给 C,但是错误汇给了 B,采用单边红字和单边蓝字。

东边有耳:一个大龄码农,先后在支付公司、电商公司、银行工作,对于支付业务和银行业务有一定的理解,有兴趣的小伙伴可以一起交流成长。

往期回顾:

深度解析小额支付系统

深入讲解中国大额支付系统

深度解析中国支付清算体系

相关推荐
coderSong25683 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
Mr_Air_Boy4 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
打码人的日常分享5 小时前
物联网智慧医院建设方案(PPT)
大数据·物联网·架构·流程图·智慧城市·制造
咖啡啡不加糖5 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
白水baishui5 小时前
搭建强化推荐的决策服务架构
架构·推荐系统·强化学习·决策服务·服务架构
何双新5 小时前
第23讲、Odoo18 邮件系统整体架构
ai·架构
雪碧聊技术5 小时前
将单体架构项目拆分成微服务时的两种工程结构
微服务·架构·module·project·工程结构
大鸡腿同学5 小时前
纳瓦尔宝典
后端
从零开始学习人工智能6 小时前
Doris 数据库深度解析:架构、原理与实战应用
数据库·架构