我经常能在 V2EX 上看到咨询日常记账软件或者推广资产管理软件的帖子, 但是在我看来通过常见的记账软件手工记账的方式, 对日常心智负担比较大, 一方面是容易漏记, 另一方面是无法同时实现对资产的管理.
我在年前开始有记账的想法, 先后用过诸多国产的记账软件, 以及 GnuCash, Beancount, 最后我遇到了我现在在用的 hledger, 已经记录了半年了, 平均一个月有 300+的交易记录:
Transactions span : 2020-11-30 to 2021-08-01 (244 days)
Last transaction : 2021-07-31 (0 days ago)
Transactions : 1353 (5.5 per day)
Transactions last 30 days: 332 (11.1 per day)
Transactions last 7 days : 84 (12.0 per day)
Payees/descriptions : 452
Accounts : 92 (depth 5)
Commodities : 2 (CNY, USD)
Market prices : 2 (USD)
我的使用体验是这样的:
目前我写的账单导入配置支持零钱通, 余额宝, 招商银行(信用卡 /储蓄卡), 广发银行信用卡, 光大银行信用卡, 民生银行信用卡. 新配置写起来也很容易.
我的整个端到端流程为: 访问银行网站下载账单 - 通过脚本导入 hledger -上传到 GitHub - 通过 GitHub Actions 生成 SQLite 文件 - 传到我 VM 里的 Superset 上进行分析.
整个流程全部为开源软件, 并且除了 hledger 以外都可以替换, 比如 SQLite 换成 MySQL 备份, 或者 Superset 换 QuickBI 等.
感觉目前 V2EX 甚至整个简中互联网上这块的内容还是相对较少, 所以发个贴问问要是感兴趣的人多可以做一个系列的教程放在 zhzy0077/hledger-accounting 里.
1
mitong3269 2021-07-31 17:42:49 +08:00 via iPhone
感兴趣
|
2
howencilx 2021-07-31 19:38:18 +08:00
感兴趣,能导入各类账单确实很好,期待
|
3
Rendex 2021-07-31 20:21:08 +08:00
感兴趣
|
4
peacelove 2021-07-31 20:28:47 +08:00 via iPhone 1
?这一到三楼是水军么?
|
5
IgniteWhite 2021-07-31 20:30:09 +08:00 via iPhone
感兴趣
如果能把这个流程和 Org-mode 结合会不会更强大 |
7
yunyuyuan 2021-07-31 21:11:59 +08:00
我一直用一个本子,正面写日记,反面记账。因为怕自己不会写字了
|
8
woctordho 2021-07-31 21:16:02 +08:00 via Android
感兴趣
|
9
callmemax 2021-07-31 21:26:56 +08:00
很实用的工具,star 了
|
10
zhzy0077 OP @mitong3269
@howencilx @Rendex @IgniteWhite @woctordho @callmemax 在正文提到的 repo 里写了个姑且算是教程, 有空可以看下, 哪里写的不好请提 issue |
11
luchong 2021-07-31 23:14:25 +08:00
我也有这方面的需求,起初我是想通过爬虫爬取各平台的数据来实现,但现在这些银行,金融平台做的安全系数都很高,爬虫不好搞,即使实现了,给其他人使用,也是存在安全隐患的。后来又想通过下载账单 excel 进行解析实现,但需要人工去下载这些 excel 也是麻烦,然后想使用微软的 PAD 去自动化处理,像支付宝,浦发银行这样的大概可以实现,但像微信这种只能在手机下载的就不好搞了,头疼极了,现在部分记账软件都是通过截取账单图片进行 OCR 识别,始终不满足需求,我想要真正解放双手,真正实现自动化,每天晚上或者每周自动处理更新
|
12
zhzy0077 OP @luchong 爬银行我是从来没想过, 感觉甚至有违法的风险, 现在我是手动下载账单 csv, 剩下的都是自动化了.
|
13
IgniteWhite 2021-07-31 23:24:25 +08:00 via iPhone
|
14
zhzy0077 OP @IgniteWhite GnuCash 也 有类似的, 但全都是国外的银行, 国外甚至有一些标准的交易数据协议. 但是对于国内的用户而言其实价值不大
|
15
IgniteWhite 2021-08-01 00:23:28 +08:00
@zhzy0077 原来如此,学习了
|
16
zyxyz123 2021-08-01 01:50:32 +08:00
分类是怎么解决的 靠各个平台自己分析的类别么
|
17
AX5N 2021-08-01 02:08:28 +08:00 1
其实还是只有爬虫才是真·解决方案,只是没办法分发,如果银行以及支付平台愿意开放 api 就好了。
|
18
huangmingyou 2021-08-01 15:36:01 +08:00
beancount 坚持了半年,但是每天有基金定投,然后每天基金有盈亏。每周做一次平衡。实在太繁琐,然后放弃。
|
19
zhzy0077 OP @zyxyz123 看这个文件 https://github.com/zhzy0077/hledger-accounting/blob/main/rules/payee.rules 绝大多数是正则匹配分类的
|
20
woctordho 2021-08-01 17:27:01 +08:00
感谢楼主,大家想看更多也可以去这个网站 https://plaintextaccounting.org/
|
21
ryh 2021-08-01 18:56:17 +08:00
@AX5N 国内银行只能对他们呵呵了,就 app 的 Face ID 登录都要用第三方服务商的,真的是 low 到爆,他们的开发能力真的有限
|
22
SimonOne 2021-08-02 10:40:02 +08:00 1
@huangmingyou #18 基金记份额,不要记钱,写个脚本每天自动获取每份的 price 。
|
23
zhzy0077 OP @SimonOne 我之前也这么做 后来发现不好算盈利 因为买入卖出的份额是一样多的 最后还要在卖的时候去找买入价 做减法
我现在就只记买了多少钱 在卖光之后多的都是收益 |
25
zhzy0077 OP @SimonOne 这个确实也是我一直没搞懂的一个点 顺便请教下
我在基金净值为 100 的时候买进 1 份: 银行卡 -100 基金 +1 份 @ 100 在 120 的时候卖出这一份: 银行卡 +120 基金 -1 份 @ 120 理财收益 -20 这个不是不平了吗 |
26
BlackCat02 2021-08-02 19:58:13 +08:00
我自己用记账软件最大的痛点是:
1. 识别重复记账:我的微信和支付宝都绑定常用的招行信用卡,日常消费从微信端,支付宝端(余额宝,花呗,信用卡),直接信用卡消费三种方式都有,在微信和支付宝支付时,如果走的是信用卡,那么该条消费记录会在支付宝和银行卡账单里出现两次。目前自动导入的账单应用,都没法轻易把这两条记录合并成一条。 2. 分期账单 |
27
zhzy0077 OP @BlackCat02 重复账单我体验下来做的最好的是 GnuCash 会根据金额日期备注算一个相似度 然后提醒重复记录。
但是在我的实践里其实这个比较少见,因为导入账单应该是从事实上付款的账户里进行,在你这个场景下应该是:零钱通,余额宝,花呗,信用卡。而不是微信或者支付宝的交易记录。 2 分期其实是个 应付账款 的交易,按照复式记账的逻辑来看其实没有和别的交易不同的地方。 |
28
BlackCat02 2021-08-02 20:30:16 +08:00
@zhzy0077 我再尝试一下哈哈
|
29
BlackCat02 2021-08-02 20:31:39 +08:00
@zhzy0077 之前不知道余额宝,花呗的账单还可以分别导出的
|
30
ghostsf 2021-08-03 10:00:15 +08:00
从银行网站下载账单这一步能自动化吗
|
31
Spoter 2021-08-03 10:03:24 +08:00
记账,我的感受是控制末端不如控制终端,所有的消费、支出都走某张卡是最方便的了。
比如我现在所有的消费都是走招商银行,它的记账功能也还行,能用 |
32
shyrock 2021-08-03 10:57:09 +08:00
@IgniteWhite #13 看到这里赶紧下载了一个,但是发现要连接银行接口需要先订阅,尼玛我都不知道我用的国内银行能不能连接,订阅个蛋啊。
|
33
AccK8623 2021-08-03 19:28:11 +08:00 via Android
|
35
daliu 2022-04-06 15:13:04 +08:00
把基金的价格做为单独的货币.基金里面只保留份数.
更新基金价格就行了 |
36
zhzy0077 OP @daliu 感谢 这里其实我感觉是 hledger 支持的不好 因为买 1 份 10 块钱, 卖一份 20 块, 如果是基金价格变化的话就没法算理财收益了
|
37
daliu 2022-04-06 21:07:22 +08:00
@zhzy0077 #36 beancount 是有一个获取历史价格的方法.或者自己写个脚本把每天的价格扒下来.这样就能算出收益率了.
|
39
daliu 2022-04-08 13:03:06 +08:00
@zhzy0077 #38 我现在用 beancount.看了下转 hledger 好像还行.
但是对多文件的支持好像不太行.想按月来分隔文件.官方文档说有两个特性会失败.这块多文件好像是比 beancount 差点.但是 emacs 的支持要相对好些. |
40
zhzy0077 OP @daliu 不知道指的是哪两个特性 我现在是按年分的 然后比如 2022.journal 开头就是 include 2021.journal 用起来没遇到什么问题
|
41
SaltyMouse 2022-04-18 14:52:31 +08:00
感兴趣,自己摸索下,出了教程麻烦踢踢
|