Jul 12

以前写的在线记账的网站文章,比较看重的我的钱呢,已被我pass掉,原因不说了。

又有一段时间不记账了,最近看sivan写的体验友商网的免费在线储钱罐文章,抱着无限期待去注册,失望,不是想要的。

不过记账的意念被激起,就不能停止。看到sivan提到单机版理财软件,于是就找了些,最后挑定了GnuCash。这个在linux上用的比较多的开源软件,可惜在大陆没有太多资料,也没人做汉化。《如何在Windows XP上汉化GnuCash软件》文章说的zh_CN.po 文件,至今没找到,囧。

直接用英文windows版,装好后,找了文章《开源的记账软件GnuCash 2.2.7便携版》,他也是借了台湾michaelr光,可惜michaelr的博客麥克星球 Linux Fedora 心得筆記所在的无名小站被墙,如何翻就不说了。

看Gnucash入門使用教學,学会了操作,可在按文章操作完信用卡部分后,发现问题。

这时已经是深夜,实在不行了,带着困惑睡去。

后找了本大陆用户编的gnucash使用手册,这位先生心是好的,估计也费了不少力气,可是除了把台湾那本做了繁变简字外,配图还不如前。

没办法自己读gnucash自带的帮助文档,全英文,那个辛苦呀。连爬带滚的主要把Chapter 6. Credit Cards和Chapter 7. Loans精读完了,其他章节只是略读。

总算是领略到GnuCash的博大精深呀,整个上了一天会计课,主要学习了复式记账法。

软件使用不难,很多人说难用,其实是说复式记账法。

台湾michaelr是个好人呀,可惜好人办错事也是常有,他教程在软件操作上是没错,可对复式记账的理解是错误的,造成了他的记账方式是错误的,特别是写信用卡部分,包括后来写的关于个人借贷部分。

gnucash自带帮助文档就很好,可没人翻译呀,我也不行。有个台湾朋友已在做,如果要学gnucash还是看他的文章吧,cclai999專欄:GnuCash使用介紹。他站也在墙外,翻吧,各位。可惜是只是刚刚开始翻译,也不知要等多久,才能搞完也。

在这里,重点说些我的体会,包括针对michaelr的错误。

用gnucash的核心一定要记住,那就是万物守恒定律,这也是复式记账的核心。钱这个东西,来来去去,最终都是一样的。

Assets – Liabilities = Equity + (Income – Expenses),这就是gnucash里的复式记账公式,你的帐记得对不对,用计算器算算,最后结果是不是相等的就明白了。

用gnucash,一切要从Equity开始,gnucash自己的定义就是 overall net worth.简单点说,就是净资产,净资产=资产总额-负债总额。大家应该看出来了,Assets – Liabilities就是资产总额-负债总额。大家可能发现问题了,公式后面多了+ (Income – Expenses)。其实在gnucash文档里,在Assets – Liabilities = Equity + (Income – Expenses)之前,先解释了Assets – Liabilities = Equity公式。

在gnucash软件里,其实Equity有两层意义,而且是上一层包含下一层,相当于 Equity = Equity + (Income – Expenses),右边那个Equity就是净资产的意思了,而左边的Equity其实是初始资产的意思,就是当你第一次用这个软件的时候,你手头有的钱,包括现金和存款,及其他。这笔钱你不要说明来源,只有这笔钱是在Equity和Assets类别里同时增加相同的数目,而其他类别不会有减少。

记住复式记账从后面开始,所有的钱都是要说明来源的,而且来源也是gnucash里就有的,也就是说这里加了100块,肯定有另一个地方减去了100块。

台湾michaelr教程就是这里没说清楚,他文章的添加数据的方法也很容易让人迷糊。其实如果你是刚用这个软件,我建议当你建立好符合你需要的帐号类别后,建立帐号类别还是比较简单和清楚的。这里我主要说的是,添加数据,也就是开始记账,往里添钱的时候。

记住复式记账,就是同时要记两个地方,而这个软件的核心流程就是,一切都源于Transfer。其实除了做类别的操作外,所有钱数的增减都可以用Action里面的Transfer来完成。

比如,当你按michaelr教程建立好银行账户后,我的是招商银行,现在里面有100块的存款,这是初始资产,有三种方法添加,其实都是一样的。

最清楚的方法,就是点击Action里面的Transfer。在Amount栏输入100.00,然后在Transfer From里面选择Equity下的Opening Balance,在Transfer To选择你添加的类别账户Bank下的CMB。然后点击OK就行了。

你再看看Bank下的CMB和Equity下的Opening Balance是不是同时增加了100.00块,而且都在Increase字段下,也就是增加的意思,而后面的Balance就是总金额的意思,会随着你的添加而累积的。

另外两种就如michaelr教程说的,你可以点击Bank下的CMB进入,在Increase字段下添加100.00,并且在transfer字段下选择Equity:Opening Balances,然后点击save保存,关闭后,你再去Equity下的Opening Balance去看看,软件帮你自动添加了对应的数据,也是Increase字段下100.00,只是transfer字段下变成了Assets:Bank:CMB。这就是互相标明对应关系。Assets:Bank:CMB里的100.00来自Equity:Opening Balances。反之亦然,你也可以只在Equity下的Opening Balance添加保存,另一边自动会对应添加。这就复式记账。

这也容易让人迷惑的地方,你可能在想那我在哪边添加好呢,其实一样。一边是Transfer From,一边是Transfer To。我倾向于Transfer To这边添加。如果你搞不清的话,那就直接用Action里面的Transfer来完成好了,简单明了,还不会出现填错字段位的问题。

说到这里大家应该都明白怎么用了吧。比如michaelr教程说的信用卡部分问题就出在这里,其实gnucash的Chapter 6. Credit Cards说的非常清楚了。

Credit Cards里面有两个字段位,一个是payment,一个是charge。如果大家看过信用卡账单的话就明白了。payment就是你还信用卡的钱,也就是你存入信用卡的钱,一般也就一月一次吧。charge就是你刷卡的费用,你刷了多少次就记多少次,每次多少消费了多少钱都记在charge字段下。

michaelr教程错就错在说信用卡的初始值那里,没讲清楚,没讲对。

为了清楚,还是用Action里面的Transfer来添加。比如,你刷卡买了100.00的肉,建立类别我就不讲了。点击Action里面的Transfer。在Amount栏输入100.00,然后在Transfer From里面选择Liabilities:Credit Card:CMB,在Transfer To选择Expenses:Credit Card:CMB。看清楚了,是Expenses类别了,不是Equity,Expenses就是开支的意思,刷卡消费可是开支了,不是资产了。这样软件自动在Liabilities:Credit Card:CMB下的charge字段下添加了100.00。当然同时自动在Expenses:Credit Card:CMB的Expense字段下添加了100.00。

就这么简单,还款也一样,还款当然是从Assets下拿钱还到Liabilites下来。操作跟上面一样,注意Transfer From和Transfer To的类别选择就行。

Assets总有用完的时候,这时就要往里面添钱,再添钱就别从Equity里搞了,你有收入吧,没收入可以借钱吧。这些就从Income来Transfer To Assets,比如发的工资,就是Income下的salary;从Liabilities来Transfer To Assets,比如从朋友借的钱,就是Liabilities下的loans。

其实如果第一次用这个软件的时候,如果你能说明你手头资产的来源的话,也不用从Equity来Transfer的。是收入就是收入,是借款就借款。如果是父母给的,算是收入还是借款,看你自己了。

这样gnucash就跑起来了,整个资金流动起来了,你身边钱的来来去去也就清楚了,如此循环往复,人生呀。

gnucash可以很复杂也可以很简单,就看如何用了,你可以记账记的很频繁很细节,也可以只积累着记,比如我记信用卡,就只是一个月记一次,就记一个月总的payment和charge,懒的搞那么细,反正也有电子账单在那。其实也可以用ofx文件批量导入,如果把电子账单转成ofx文件,请阅读《招行信用卡交易记录转换成OFX》的文章。

gnucash还有很多功能,基本都是公司用的,作为家庭和个人来说,比如我,基本用到Asset,cash,bank,libaility,equity,expense,income,credit card这些类型,其他几项都用不着。michaelr用A/ Receivable类型来做个人借贷的教程,是错误的,应该是用libaility类型的。我估计他都没看gnucash帮助文档的Chapter 7. Loans这章写的几个例子,很不错的,还包括如何管理按揭贷款,房贷车贷什么的,还自带利率计算器。怎一个强字了得。

我就写到这里,精疲力尽,更多功能留待以后发掘吧。

cclai999專欄:GnuCash使用介紹

written by panhezeng \\ tags:

©panhezeng for 阿潘道, 2006-2018. 原文地址:http://apsay.com/2009/07/12/to-spend-a-weekend-get-gnucash/
本文遵循署名-非商业性使用共享协议,转载请注明。

14 Responses to “花了一个周末,搞定GnuCash之信用卡和个人借贷”

  1. domecc Says:

    看了好几遍michaelr的文章,没看出来错误在哪里。
    你的文章中也没有直接指出其错误所在。

    [Reply]

  2. domecc Says:

    学过会计就知道,Tranfer的“From”也就是credit(贷),“TO”也就是debit(借)。

    GnuCash的Preference中可以设置是否“Use formal accouting labels”,如果选择了使用,那么明细中的“payment、charge”字段,以及其他会计科目的不同表示字段,都会统一显示为“debit(借)”和“credit(贷)”。

    [Reply]

  3. domecc Says:

    michaelr的录入方法确实不易让我们清楚区分credit和debit,但我想这仅仅是对会计新手来说有点模糊而已,并不是错误。

    你的文章中也没有清晰、直接地指出其错误所在,望明示。

    [Reply]

  4. domecc Says:

    关于汉化,简体中文的一直都有,只不过翻译质量实在太差而已,最典型的:talbe、label等翻译混淆成一团,真不知道之前翻译的人英语四级过了没有。我都是自己看到错误就直接修改了,更多的时候是直接切换到英文版下使用。

    zh_CN.po最新版(目前是2.3.5)的你可以从这里下载:http://svn.gnucash.org/repo/gnucash/trunk/po/

    其他各种版本的可以从这里选择进入:http://svn.gnucash.org/repo/gnucash/tags/, 如稳定版2.2.9的:http://svn.gnucash.org/repo/gnucash/tags/2.2.9/po/

    [Reply]

  5. domecc Says:

    我发现是你的错误,而不是michaelr错了:“比如,你刷卡买了100.00的肉,建立类别我就不讲了。点击Action里面的Transfer。在Amount栏输入10o.00,然后在 Transfer From里面选择Expenses:Credit Card:CMB,在Transfer To选择Liabilities:Credit Card:CMB。”

    我认为正确的是:“Transfer From”选择“Liabilities:Credit Card:CMB”,而“Transfer To”选择“Expenses:Credit Card:CMB”

    [Reply]

  6. panhezeng Says:

    谢谢你哈,我一直找不到汉化包。我说的michaelr的错误,是根据gnucash帮助文档给的示例做出的判断,同样是关于Loans或者Credit Cards的操作,michaelr使用的流程和方法明显和官方的帮助文档不一样,你说我该相信哪个。

    当然关于Transfer的使用,我没有细读文档中这部分的说明。理解确实有偏差和不全面。

    如果有时间,可以合作翻译gnucash的帮助文档。我想会比我的文章更能帮助大家使用gnucash。

    [Reply]

    domecc Reply:

    终于看到你的回复了:) 关于合作翻译完全可以啊,有兴趣,可惜今天gmail好像被和谐了,本想加你gtalk的。

    不过,第五个评论,“刷卡买100元肉”的案例确实是错了吧?

    [Reply]

    panhezeng Reply:

    谢谢啦,已经修改,写反了,笔误啦。哈哈。见谅。

    [Reply]

  7. Gourhu Says:

    我觉得gnucash简体中文项目组的成员可能没什么人会会计吧,被他们翻译的好差,我想加入翻译组,可是要disclaim copyright,很麻烦,于是就给项目组长发了邮件,让更正,我现在想用英文界面的,请问我怎么才能切换过来?

    [Reply]

    panhezeng Reply:

    切换?没用过中文,应该是卸载现版本,下载官方新英文版安装就行了吧。这是windows系统,Linux可以直接设置。卸载前保存账户文件,装好新的,导入就行了,用过一段时间portable版,不知何原因,启动超慢,还是换回安装版了。

    [Reply]

    domecc Reply:

    既然会英文,看文档吧,切换很简单的。

    [Reply]

  8. skywolf Says:

    一直没搞懂中文状态下在现金里记录消费记录的时候,总是有一个字段叫“未清算”,点击后还能改成“已清算”,不知道具体是什么意思,英语太差买找到相关的帮助。另外如果我到月底发现钱少了,有些项目忘记了,但也想不起来,或者说盘亏了100元钱,这又该如何处理呢?能否给个建议,谢谢啊。

    [Reply]

    panhezeng Reply:

    不知你说的现金是不是,cash in wallet即钱包,这是软件自带类别,如果是你自建的类别,并自定义了里面的栏目项,我就无能为力了。

    在cash in wallet里主要是最后三栏,跟钱数有关,依次是receive,send,balance.
    receive是进账,比如你从卡里取了100现金到钱包,就是在这栏显示或操作。send是开销,比如你花了100买鞋,就在这栏显示或操作。最后的balance,我估计就是中文的清算,如果你切换语言不方便,可以用portable英文版对照一下,portable版和安装版不冲突。balance在这是余额的意思,这栏是随着你前面两栏数据的变化而自动变化的。receive则加,send则减。

    关于你说的对不上账的问题,其实我也经常遇到,哈哈,因为犯懒,有时候几天忘了记账,或者某天琐碎的花销太多,回来也不能一一对上。

    其实这个问题很随意,怎么弄的行,如果你还想用gnucash记账的话,就想办法,把现在的钱数对上就行,哈哈,就跟做假账一样的,比如,我钱包里面已经只剩10块了,而软件里的钱包类别项的钱,还有100,那一定是我花90块,却忘了记了。

    怎么办,只能作假了,想想大概是花在哪方面了,如果吃饭为主,就直接Transfer到Expenses:Dining,如果实在太杂了,就扔到Expenses:Miscellaneous的算了,就是杂费的意思。

    哈哈,我比较懒,一般能用软件自带的类别,就用自带的,实在没有的才自建类别,但基本上不会自建里面的栏目项,都是用自带的。

    一般来说,只要养成晚上睡前,把账记一下,应该就不会出现这些问题了,哈哈,如果确实手边没电脑,那就用个纸笔记下来,回去补上就行了,如果花费太琐碎,只记个总数其实也行,就看自己了。如果是出门几天,还要记下日期。这样回来都能一一对应上了。

    在这正好补充个心得,就是关于银行手续费的问题,比如我取了500,收了5块手续费(囧,银行真黑),500是Transfer到Assets:cash in wallet,但是手续费则应该是Transfer到Expenses:Bank Service Charge的。

    [Reply]

  9. Michaelr Says:

    在這裡感謝阿潘指出了我的問題,雖然隔了那麼久我才看到這篇文章,話說阿潘也真不夠意思,既然都翻牆出來了,也不留個言告訴我問題。不過關於你提到的我信用卡的操作和幫助文檔的操作流程不同,我實在看不出來那裡不同耶,你是參考文檔中的Entering Payments這篇嗎?
    關於信用卡初始值的部份的確是有點不清楚,其實如果一篇篇照著操下來,應該會注意到設定初始值是在新增帳號頁面中的另一個頁面中,在那裡設定信用卡初始值,系統會自動把他歸到 Equity:Opening Balances。所以還是會符合您提到的公式的,不用擔心的。致於信用卡初始值的設定,我想,等我工作有空檔的時候,我再修改一下好了。記得來留言哦!!

    [Reply]

Leave a Reply