从单式记账到复式记账

近日被老婆问及,为什么放着大把的记账 app 不用,要用 Ledger CLI 这么奇葩的东西来记账?其实,这个问题从本质上可以变成:为什么要用复式记账?于是,我用了几个简单的例子向老婆做了解释,顺道在此记录一下。

本文不从专业的会计角度,而是通过生活中记账的实际需求出发,来阐明复式记账的含义及优点。不求全面专业,但求简明易懂。

从单式记账开始

我们记账的目的之一是追踪资产的变动。所以一般的流水账(单式记账)都是从资产的角度出发的。比如,11 月 18 日我在超市买了一盒巧克力,花了 30 元,刷的超市卡。那么,可以记录如下:

日期 备注 超市卡
  期初余额 200
11.18 超市买巧克力 -30
  结余 170

同理,我们也可以为现金、银行卡等资产建立相应的账户,以方便我们随时了解资产状况,查询支出。比如第二天我又去超市买了一块香皂,花了 5 元,付的现金。那么,我们可以在原来的表格上加上一笔记录:

日期 备注 超市卡 现金
  期初余额 200 100
11.18 超市买巧克力 -30  
  结余 170  
11.19 超市买香皂   -5
  结余   95

像这样的流水账方式在记录上一点问题也没有,但当我们需要统计支出的时候就麻烦了。比如,我希望知道这个月我在“食品”上花了多少钱,我要一条条去找记录,把用在食品上的钱拎出来加总,记录少倒还好,一旦记录多了不仅费时费力而且容易遗漏。不过,办法也是有的,就像众多的记账 app 所做的那样,加一栏支出类别。于是,上面的表格可以变成这样(为了方便整月统计,暂且去掉结余行):

日期 备注 支出类别 超市卡 现金
  期初余额   200 100
11.18 超市买巧克力 食品 -30  
11.19 超市买香皂 生活用品   -5

这样我们统计支出的时候相对来说就方便了点,只要把相同的类别相加即可。但如果有许多条记录,而且无序穿插着各种类别,若不借助电子表格的自动筛选功能,依然是十分低效的。要知道,几百年前可没有电脑,前人可就是用表格形式记在纸上的!要在几百条记录中筛选出相同的类目进行统计,这显然并非最佳方案。于是,前人再次用智慧改进了记录方式。

把支出做成账户

既然资产账户可以做为一列,为什么支出不能做为一列呢?

日期 备注 超市卡 现金 食品 生活用品
  期初余额 200 100    
11.18 超市买巧克力 -30   30  
11.19 超市买香皂   -5   5

把表格弄成这样是不是方便多了呢?我要统计某一类别的支出,直接在该列上竖向加总就行了,根本不用一条一条去筛选了!这办法真是妙啊!

没错!这就是传说中的复式记账!它的特点就是,凡事皆账户(会计专业术语里叫会计科目),有增必有减,且增减金额相等。

形象一点可以理解成,钱从一个账户跑到了另一个账户,钱总是在账户之间跑来跑去。比如买巧克力就是有 30 元钱从超市卡跑到了食品,买香皂就是 5 元钱从现金跑到了生活用品。

想不到对表格做这样的一个改进就让我们从单式记账跨越到了复式记账,真的是太神奇了!

那么,一笔收入该如何记录呢?聪明!增加一列收入呀!任何想要统计的类目都把它列成一列就可以了。

你可能会觉得,这样子不是每次都得记两次吗?明明只花了一个 30 元,却要填两次金额,多麻烦!反正借助电子表格或记账 app 可以很方便地将相同类别的支出筛选出来,还是用回原来的方法好了。这么想也对,但遇到下面这种情况,单式记账就不好处理了。

合并支付的问题

举个例子,11 月 20 日我去超市同时买了一块蛋糕和一支牙膏,共花 18 元,其中蛋糕 10 元,牙膏 8 元,一并刷的超市卡。这种情况用流水账该怎么记?我相信这是绝大多数记账 app 用户经常会遇到的问题。如果分开记,那么超市卡的消费记录和实际不符,对账时会造成干扰;如果一并记,那这 18 元的支出应该归到哪个类别?而采用复式记账就能完美处理这种情况,我可以这样记:

日期 备注 超市卡 现金 食品 生活用品
  期初余额 200 100    
11.18 超市买巧克力 -30   30  
11.19 超市买香皂   -5   5
11.20 超市买蛋糕和牙膏 -18   10 8

这样,既能如实记录超市卡的资金变动,又可以分别统计支出类别。

对!在复式记账里,一笔交易可以涉及多个账户的变动(确切来说必须不少于两个),只要增加和减少的总额为零即可。

如何开始记录

不知道你怎么想,反正仅合并支付这一项就让我坚定不移地走上了复式记账的不归路。如果你也打算这么干,那需要注意的是,在开始记录的时候,不能直接填入期初余额,因为在第二部分说过,复式记账有增必有减,钱是从一个账户转移到另一个账户,不会凭空增加和消失。即便是期初余额,也要有一个来源,这就需要引入一个特殊账户 Equity。一般情况下,它只在开始记账的时候用到一次,用来分配各个账户的期初余额。所以,上面的表格正确应该是这样:

日期 备注 Equity 超市卡 现金 食品 生活用品
  期初余额 -300 200 100    
11.18 超市买巧克力   -30   30  
11.19 超市买香皂     -5   5
11.20 超市买蛋糕和牙膏   -18   10 8

复式记账里的每一行都要确保有增必有减,且增减金额相等。每一行所有数字相加的和都是零,如果哪一行不是,那就是账不平,就是有错误。

理论上,我们可以根据自身统计需要设置许多账户,比如吃、穿、玩、工资、外快等,然后一列一列地列出来。但是为了避免把自己搞晕,我们还是老老实实地根据会计规则把账户分成 5 大类,即资产、负债、收入、支出和 Equity。然后再根据需要设置子账户。

另外,复式记账的记法有两种,一种是正负记账法,一种是借贷记账法。正负记账法就像本文的例子一样,哪里增加了哪里就减少了,比较好理解。不过,这种方法会让负债的增加和收入的增加显示为负值,一开始可能会不习惯。这种方法 5 大基本账户之间满足 资产 + 负债 + 收入 + 支出 + Equity = 0 这样的等式关系,就是刚才说的每一行数字相加都是零。而如果是借贷记账法,它们之间的关系则是 资产 - 负债 = 收入 - 支出 + Equity

复式记账名字听着挺专业,其实把原理弄明白了,也就是那么回事儿。最后强烈建议进一步阅读这篇极具启发性的文章 Tutorial on multiple currency accounting

就说到这,我要记账去了。

时间: 2024-08-03 02:55:04

从单式记账到复式记账的相关文章

财务复式记账和平行登记有什么区别

财务复式记账和平行登记有什么区别? 一.复式记账是相对于单式记账而言的.单式记账是一种较为简单.不完整的记账方法,一般只记录现金的收付以及人欠.欠人的事项:复式记账是一种比较科学的记账方法,它要求对发生的每一项经济业务,都要以相等的金额在两个或两个以上的账户中记录,它完整地反映了企业经济业务的全貌.复式记账法的种类有借贷记账法.收付记账法.增减记账法等. 二.复式记账法是以资产与权益平衡关系作为记账基础,对于每一笔经济业务,都要以相等的金额在两个或两个以上相互联系的账户中进行登记,系统地反映资金

3.会计等式与复式记账

第一节 会计等式 (一). 1.会计恒等式 资产=权益(静态模式) 资产=负债+所有者权益 资产与权益在任何一个时间点都必然保持恒等的关系. 企业的资产来源于投资者的投入资本和债权人的借入资金及其在生产经营过程中所产生效益的积累,分别归属于投资者和债权人.归属于所有者的部分形成所有者权益,归属于债权人的部分形成债权人权益(即企业的负债) 1.对"资产=权益"等式的影响 (1)资产与权益同时等额增加 例:甲企业收到投资者追加的投资100000元,款项存入账户. (2)资产方等额有增有减,

家庭记账本的记账功能实现

此处只放相关部分,如有需要,请参考同名下本人的其他博客 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit

会计等式与会计记账

会计等式与复式记账 会计等式:反映会计要素之间平衡关系的计算公式,是各种会计核算方法的理论基础.6大要素之间关系的才是会计等式,也就是前一章讲的资产,负债,所有者权益,收入,费用,利润之间关系的等式 等式1: 资产=负债+所有者权益 (产权关系和基本的财务状况),其中所有者权益和债权人权益合称权益. 因此,资产和权益之间就存在着相互依存的关系,即资产不能离开权益而存在,权益也不能离开资产而存在:没有无权益的资产,也没有无资产的权益 权益代表资产的来源,而资产则是权益的存在形态,二者实际上是企业资

支付系统中,账户体系的设计与记账处理

账户体系和会计的设计是整个支付系统的底层基础,是支付系统在基础支付服务的基础上,为个人用户及企业商户提供的对于资金收.付.管的服务.本文所说的账户体系定义所有的操作均以交易的形式发生,但从金融核心系统的发展来看,将由以交易驱动转变为以用户为中心的按照产品进行管理的账户体系. 一. 交易模型 前文说道,本文所说的账户体系定义所有的操作均以交易的形式发生,即账户的变动均基于交易而发生.对于账户的处理,需要依据业务,结合相应的产品体系,建立交易模型. 如下: 产品:如B2C网银.B2B网银.快捷支付.

记账凭证

/** * 记账标记0未记账 1 已记账 * @param string $vno_id * @param string $falg */ public function signBookFlag($vno_id,$falg) { if (isset($falg)&& isset($vno_id)){ $this->db->where('vno_id',$vno_id); $this->db->update($this->table,$flag); $affe

个人记账软件 共享及有条件开源

哎,看到这个就感叹我一天天的钱都花哪了,咋就剩不下钱呢.2015年刚开始,老婆就说要记账,这一天天的不知道钱都花哪去了,好吧.我就加班加点,通过2个星期终于搞了一套出来,虽不近完善,但基本能用了. 共享他是让他变的更好,非常希望有需要的朋友可以抽时间用用,再抽时间给补充补充建议; 个人记账系统 开发工具:vs2010 + dotnet2.0 + sqlite 本软件仅为个人免费软件且有条件开源 索取源码需求:   对本软件提出合理化建议或发现bug;   本系统使用了自己的ORM框架和部分控件的

记账依据

一.账务部门账簿 1.总账P35 涉及岗位:主办会计 记账依据:科目汇总表: 凭证字号:汇XXX 2.日记账.明细账P36: 涉及岗位:出纳.主办会计.购进账组.销售账组.费用账组 记账依据:记账凭证: 凭证字号:记XXX 二.其他部门辅助账簿 1.商品账组<库存商品明细账> 2.仓储组<仓储保管账> 3.总务<备查簿> 4.总务<零售商品账> 记账依据:原始票据 凭证字号:取票据名称一个字表示,如: “入XXX”.“出XXX”.“收XXX”.“销XXX”

金蝶kis记账王录入凭证的几个技巧

凭证又称会计凭证,是指能够用来证明经济业务事项发生.明确经济责任并据以登记账簿.具有法律效力的书面证明.它可以分为两大类:即原始凭证和记账凭证.记账凭证又称记账凭单,是会计人员根据审核无误的原始凭证按照经济业务事项的内容加以分类,并据以确定会计分录后所填制的会计凭证.它是登记账簿的直接依据.因此,凭证对会计来说非常的重要,下面我们来给大家介绍一下金蝶记账王录入凭证要注意的几个问题? 金蝶kis记账王在录入凭证的过程中首先要打开凭证录入界面 在这个界面 有几个重点需要强调一下, 1).顺序号是按年