安装

你可以前往 Python 官网 下载安装最新稳定版本(版本需要 >= 3.5)。Python 安装完成后,可以在命令行执行 python -V,如果正确输出 Python 版本信息;通常情况下,pip3 会随着 Python 一起安装,你可以 pip3 -V 查看 pip3 的版本信息。

在命令行执行 pip3 install beancount 来安装 beancount。如果因为网络原因无安装失败,可以使用国内镜像源,pip3 install beancount -i https://pypi.tuna.tsinghua.edu.cn/simple

参考:官方文档

基本概念

Account

账户表示账目变动的基本单位。
账户类型之间最重要的区别在于关心的是某一时间点,还是一个时间段。即余量或增量

例如,我们记账通常需要知道现在手里有多少钱可以花,这是一个余量的概念,即当前的总净资产。当然更多的是我们可能希望去了解本月在吃饭住行上各消费多少,来帮助了解自身的消费情况,这显然就是一个增量的概念,我们不希望去统计累计消费多少,而是指定的一个时间段。

对于这一区别,beancount 使用一些术语去定义不同的账户类型:

  • 表示余量的账户称为资产负债表账户。这种账户有两种类型:”资产“(Assets)和”负债“(Liabilities)。
  • 表示增量的账户称为损益表账户。同样,有两种:”收入“(Income)和”支出“(Expenses)。

符号标识(Normal Sign) 是账户的正负表示。复式记账中的账户往往是正负的金额,对于不同账户类型,有以下区分:

  • 对于资产负债表账户,资产通常为正余额,负债通常为负余额。
  • 对于损益表科目,支出通常为正余额,收入通常为负余额。

上述的概念性描述也许太抽象,下面就对不同的账户类型举例说明:

  • 资产。(+)资产帐户表示所有者拥有的东西,如银行账户,现金账户。通俗讲就是你有多少钱。投资也是资产的一部分(在这种情况下,它们的单位不是货币单位,而是基金或股票)。最后,如果你拥有实体资产(房子,车子),这些本身被视为资产(其市场价值随时间波动)。
  • 负债。(-)负债账户代表所有者所欠的款项。如信用卡。一般来说,银行提供的对账单将显示正数,但从你自己的角度来看,它们是负数。贷款也是负债账户。例如,如果你为房屋抵押贷款,这是你欠的钱,并且将被负金额的帐户记录。当你每月还清抵押贷款时,负数会上升,也就是说,其绝对值会随着时间的推移而变得越来越小(例如,-120000 -> -117345)。
  • 支出。(+) 这种类型的帐户很常见然:食物,饮料,衣服,租金,航班,酒店以及你通常将可支配收入用于的大多数其他类别的东西。但是,税收通常也由支出帐户记录:当收到一些工资收入时,在源头预扣的税款金额将立即记录为支出。可以将其视为支付你全年获得的政府服务费用。
  • 收入。(-)对于大多数有工作的人来说,这是他们时间的价值(工资收入)。具体来说,我们在这里谈论的是收入。例如,如果年薪为120000人民币,则该数字为120000人民币,而不是纳税后剩余的金额,即税前收入。其他类型的收入包括从投资中获得的股息,或从持有的债券中支付的利息。还有一些奇怪的东西,你可能会记录为收入,比如收到的奖励的价值,例如,从信用卡现金返还,或某人的金钱礼物。

在 Beancount 中,所有帐户名称都必须与前面描述的帐户类型对应。由于帐户的类型在其生命周期中永远不会更改,因此按照惯例,我们将使其类型成为帐户名称的一部分,作为前缀。除此之外,你还可以为帐户选择任何喜欢的名称。

如:餐饮支出可以定义为 Expenses:Food,第一个节点必须是该账户的类型(Expenses)。

281c7a6ed22a8168fc1094a1faa61f2b0fdd7ca3.png
参考:官方文档