• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:复式记账Beancount入门

python 搞代码 4年前 (2022-02-20) 24次浏览 已收录 0个评论
文章目录[隐藏]

原文地址:https://segmentfault.com/a/1190000039353992
作者:Fw恶龙
本文首发于:思否

一、前言

最早是从大学开始记账的,因为过后惟一的支出是每个月的生活费,为了能够买本人想要的货色,只能通过记账以缩小不必要的开销。过后用的是Timi记账,整体格调还是挺喜爱的,始终用到了当初。然而个别的记账app记的都是流水账(单式记账),对于一些简单场景无奈做到很好的记录,构想以下场景:

场景1:从银行卡别离转1000元到支某宝和微某信

或者你会认为当成银行卡的总金额就好,然而这样银行卡只会记录转出了2000元,而这2000元在支某宝和微某信里具体怎么花的你并不分明,支某宝和微某信的收益率也不一样,这时候把支某宝和微某信别离当成一个账户或者是更好的办法,这样在定期对账时,账目才好对上。

这里波及到外部转账(即:银行卡->支某宝/微某信),这是单式记账无奈记录的。

场景2:同学一起进来吃饭,由你先垫付,其他同学示意后续再转账给你

假如共付了500(共5人,每个人100),你记账收入500,而后同学还你的时候再别离记账支出100,这样在后续统计时会发现自己多收入了400,尽管支出也会多出400,然而在比拟几个月的收入时会发现这个月收入得特地多,数据间的比拟意义不大。

当然还有更多简单的场景(买房、二手买卖、基金、股票…)

为什么流水账(单式记账)不可能满足记账需要?:从单式记账到复式记账

对于Beancount介绍的文章曾经十分多了,想要理解的能够见文末的相干链接,本文次要记录Beancount的装置以及初步应用。

二、Beancount装置步骤

1. 装置Python

其实我很早就想试试复式记账了,然而过后看到还须要装置Python,就认为还须要学习这门语法,间接劝退。最近又被安利复式记账,所以再次尝试搭建环境,后果会发现其实不必学习Python(当然高阶玩法可能还是须要)。

谬误记录

  • win10 cmd下运行python弹出windows利用商店

2. 装置Beancount

命令行执行如下代码,装置速度视网络状况而定,以下工夫仅供参考

pip install beancount (10分钟左右)
pip install fava(10分钟左右)

谬误记录

  • NameError: name ‘pip’ is not defined 应用pip时报错:起因是无需在python环境中运行
  • pip版本太低:执行以下代码将pip版本更新至最新
python -m pip install --upgrade pip

3. 新建账本 moneybook.bean

参考右侧链接文章的“账本示例”:记账神器 Beancount 教程

;【一、账本信息】
option "title" "我的账本" ;账本名称
option "operating_currency" "CNY" ;账本主货币

;【二、账户设置】
;1、开设账户
1990-01-01 open Assets:Card:1234 CNY, USD ;尾号1234的银行卡,反对CNY和USD
1990-01-01 open Liabilities:CreditCard:5678 CNY, USD ;双币信用卡
1990-01-01 open Income:Salary CNY ;工资收入
1990-01-01 open Expenses:Tax CNY ;交税
1990-01-01 open Expenses:Traffic:Taxi CNY ;打车生产,只反对CNY
1990-01-01 open Equity:OpenBalance ;用于账户初始化,反对任意货币

;2、账户初始化
2019-08-27 * "" "银行卡,初始余额10000元"
    Assets:Card:1234           10000.00 CNY
    Equity:OpenBalance        -10000.00 CNY

;【三、交易记录】
2019-08-28 * "杭州出租车公司" "打车到公司,银行卡领取"
    Expenses:Traffic:Taxi        200.00 CNY
    Assets:Card:1234            -200.00 CNY

2019-08-29 * "" "餐饮"
    Assets:Card:1234           -1100.00 CNY
    Liabilities:CreditCard:5678 1100.00 CNY

2019-08-31 * "XX公司" "工资收入"
    Assets:Card:1234           12000.00 CNY
    Expenses:Tax                1000.00 CNY
    Income:Salary

4. 启动我的项目

fava moneybook.bean

5. 浏览器查看我的项目:http://localhost:5000/

三、备忘

1. 类型

  • Assets 资产
  • Liabilities 负债
  • Equity 权利(净资产)
  • Expenses 收入
  • Income 支出

2. 正当填充+定期断言

平时可能存在一些收入遗记记录,或者是比拟小的金额(如:群红包)没有记录的状况,工夫一长会导致记账总金额和账户总金额对不上的状况,所以须要定期校对。

正当填充:

2021-02-28 pad Assets:Wechat Income:MoneyManagement

定期断言:

2021-03-01 balance Assets:Wechat      1000.00 CNY

四、相干链接

  • Beancount复式记账:接地气的Why and How
  • Beancount —— 命令行复式簿记
  • 应用 Beancount 记录证券投资
  • Beancount复式记账(一):为什么
  • 记账神器 Beancount 教程
  • beancount 繁难入门指南:具体到日常的一些我的项目的命名

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:复式记账Beancount入门

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址