1、账务相关知识
- 记账方法
- 单试记账:对发生的经济业务只做单方面登机(记账手续简单)
- 复试记账:对每一笔经济业务,都必须用相当的金额在两个或两个以上相互联系的账户中进行登记(有借必有贷,借贷必相等)
- 好处
- 能够全面反应经济内容和资金的来龙去脉
- 能够进行试算平衡,便于查账和对账
- 理论基础
- 会计恒等式:资产 = 负载 + 所有者权益
- 会计科目是按照经济业务的内容和经济管理的要求,对会计要素的具体内容进行分类核算的科目。每一个项目都规定一个名称,每一个会计科目都明确地反映一定的经济业务内容
- 账户:根据会计科目设置,用于分类反映会计要素增减变动情况及其结果的载体
- 好处
- 试算平衡原理:根据复式记账法和会计恒等式,通过对所有账户的发生额和余额的汇总计算和比较,来检查记账是否正确的一种方法
- 发生额试算平衡:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计
- 余额试算平衡:全部账户借方期末余额合计 = 全部账户贷方期末余额合计
- 发生额和余额试算平衡:期初余额 + 本期发生额 = 期末余额
- 会计日:将连续的经营过程划分为适当的时间段落,进行会计日的切割后,进行盘点、结算、对账、核算等操作
-
账户维度试算平衡
-
日结:对本期(一个会计日内)账户余额发生过变动的账户做试算平衡,检查账户余额更新是否正确,即 期末余额 = 期初余额 + 本期发生额(余额明细)
-
总账:即总分类账,是指按照总分类账户分类登记以提供总括会计信息的账簿。日终根据“期末余额=期初余额+期中发生额“登记的各科目期末余额,分为日总账、月总账、年总账
-
分户账:即明细分类账,是总账各科目的详细记录。日终根据余额表中各资金账户期末余额,按科目汇总登记的各科目期末余额
-
总分核对:总账各科目余额应与同科
-
2、账务重构
- 账户迁移
- 账务适配采用分布式定时任务,读取存量老账户信息,同步调用新账务系统
- 异步跟账
- 老账务成功交易通过异步消息的形式发送至账务适配,账务适配保成功调用新一代账务系统(验证新一代账务系统的可用性以及记账的准确性)(验证方式:比较这几个系统单据状态的一致性;比对T-1新老系统的发生额(科目维度))
- 余额同步:T-1日挂起消息,T日将余额信息同步至新帐务(T日期初余额同步到新余额表余额),T日重新消费异步消息(去除T-1的消息,避免重复更改余额),T+1日验证T日期末余额
- 同步记账
- 切部分账户以同步交易的形式调用新账务系统
- 全量同步(暂停老账务交易,待异步消息完全处理完&资产交换二阶段全部提交完(确保两边余额数据完全一致),切换到同步阶段)
3、老账务
- 记账
- 普通记账:直接变更余额
- 同步记账:reids分布式锁在内存中排队依次变更余额
- 异步入账:出账动作完成就返回,入账动作采用异步任务完成,入账操作异步化来解决热点账户问题(异步任务)
- 缓冲记账:不实时更新余额,而是每隔一定时间汇总更新余额;将多笔余额更新通过汇总更新来解决热点账户问题(临时余额明细)
- 缓冲规则:缓冲方向、缓冲间隔、告警余额、最低金额、最大金额、状态
- 账户管理
- 开户、冻结、解冻
- 数据库表
- 余额表:当前余额、会计日、上期期初、本期期初
4、会计
- 核对/稽核
- 日结:对本期(一个会计日内)账户余额发生过变动的账户做试算平衡,检查账户余额更新是否正确(期末余额 = 期初余额 + 本期发生额(余额明细-会计分录redis累加))
- 总账:根据科目维度,统计日结(期末余额)
- 分户账:科目维度,资金账户期末余额
- 总分核对:总账各科目余额应与同科目各分户账余额总和相同
5、TCC
- 一阶段
- 借记:校验余额是否足够、计算主事务/余额中内预流入、预流出、预冻结、预解冻金额
- 贷记:计算主事务/余额中内预流入、预流出、预冻结、预解冻金额
- 冲正:校验原交易、借/贷一阶段
- 二阶段
- commit:余额更新、预占余额更新
- cancel:预占余额更新