复式记账法

在会计学中,复式簿记(又称为复式记账法)是商业及其他组织上记录金融交易的标准系统。

该系统之所以称为复式簿记,是因为每笔交易都至少记录在两个不同的账户当中。每笔交易的结果至少被记录在一个借方和一个贷方的账户,且该笔交易的借贷双方总额相等,即“有借必有贷,借贷必相等”。

例如,如果A企业向B企业销售商品,B企业用即期支票向A企业支付货款,那么A企业的会计就应该在贷方记为“销售收入”,在借方记为“現金”。相反地,B企业的会计应该在借方记为“進貨”,并在贷方记为“银行存款”。

借方项目通常记在左边,贷方则记在右边,空白账簿看起来像个T字,故账户也被称为T字帐。

<!-- more -->

为什么需要复式记账法

相比传统的流水账,复式记账法可以提供更多的统计信息。

使资产更易于掌控。

比如,同样是从银行卡转去的两笔钱,一笔钱作为餐饮费支付给了餐厅,另一笔购买了一台电脑。在流水帐里,这应该算作两笔支出。但是,第一笔钱显然属于消费,第二笔钱则属于购置实体资产。通过复式记账本,我们可以将购置的电脑也存在记账本上,并定期对其进行估值;将来,如果我们将电脑二手卖掉,还可以根据资金的流动来计算中间折损了多少钱。

通过账户分类,快速了解自己的负债情况和现金。

现在的生活中,除了信用卡车贷房贷,花呗白条等这些互联网金融产品都有可能发生小额消费从而产生账单。通过复式记账本,我们可以很快了解自己当前欠了多少钱,判断是不是还有账单没有还。同样的,通过统计现金账户,也可以快速了解当前自己有哪些钱是可以立即使用,而无需变现后才能动用,如,股票,期权等。

理财投资分析。

投资理财中,需要良好地配比低中高风险投资比例。外币,定期存款,基金,股票…各种投资类目的出现,以及其市值的变化,都会使记账变得繁琐起来。通过复式记账本,再加上软件辅助获取当前实时市值,我们得以迅速地计算出当前投资类资产的总值,以及他们在风险配比中分别占了多少。

总的来说,这种记账方式给了我很大的帮助(虽然自己手上钱不多,越算越伤心T_T),但是记账理财可以提升对自我的认识和财务风险防控能力。

Beancount

Beancount是一个对程序员友好的理财软件,用Python就能记账。我用了快两年了,好处主要有这几点:

Beancount的推荐文章很多,这张图来自知乎专栏
(记账神器Beancount https://zhuanlan.zhihu.com/p/87377967)

复式记账的核心是账户,Beancount在系统中对帐户预设了5个分类。

例如,我的信用卡账户,显然应该属于负债类型的账户;午餐消费,就属于支出类型的账户;工资,则属于收入类型的账户。

比如:

某天,我发生了这些开销和收入

1. 使用信用卡支付午餐70元
2. 抢红包得到了100元
3. 使用存款偿还信用卡账单70元

那么,在Beancount里就会记为

1. 支付午餐
    信用卡  -70元
    午餐     70元
2. 抢红包
    红包收入  -100元
    存款       100元
3. 还信用卡
    信用卡    70元
    存款     -70元

此时,借助软件辅助,可以核算出我的存款有30元,信用卡欠0元,红包收入-100元,午餐支出70元。这些数额加起来的和总是0元。

Manim演示动画

<video src=“https://github.com/plusplus7/solutions/blob/master/logs/2021/miscs/DEB2.mp4”></video>

手机App

但是不管怎么说,记账还是一种很容易让人因为一时冲动而开始,但是很快就放弃的事情。每天记账虽然工作量不大,但如果某天忘记了,就会堆到下一天。如果连续堆了好几天,那么就很容易出现账目太多,出现理不清的情况,于是就放弃。

Beancount在电脑上操作很方便,但是并没有对应的开源手机App。于是我自己学了一点Flutter,打算自己手工开发一个简单易用的。

目前功能还在开发,激情内测(踩坑)中,快来一起玩(bu