Replies: 10 comments 1 reply
-
|
很好的问题 👍 分享下我处理这类问题的思路和方式,不一定是最佳实践,欢迎复式记账法爱好者一起交流: 1. 一次交易会在多个地方出现这是不可避免的问题,类似的还有银行卡之间转账带来的重复记账问题。这类问题一般有两种解决方式,一种是记成多次记录,另一种是规则去重。 多次记录因为在支付宝和银行的视角,这确实各有一次交易,对应的记录在 Beancount 中也是可以理解的,可以视为支付宝有一个隐式的账户,资金流为银行卡 -> 支付宝隐式账户 -> 商户,支付宝的隐式账户余额永远为 0。 银行卡侧账单: 支付宝侧账单: 对应的生成器规则:银行卡侧识别到是通过支付宝支付的,就记录成到支付宝隐式账户的转账;支付宝侧识别到是银行卡支付,就将支出账户记录为隐式账户。 这种方式的优点是:
缺点:
规则去重这种方式只记录一条数据: 对应的生成器规则:在一侧设置忽略记录,在另一侧记录。 我的选择一般来说,常规的消费类交易,我会选择规则去重,我并不追求在 Beancount 账本中还原所有的原始账单信息。 对于银行卡之间的转账,包括储蓄卡还款信用卡,我会选择多次记录,因为流向不固定,规则很难写,且两边信息一般都差不多。并且银行卡之间互相转账和消费不一样,各自记录一条就行了,不需要手工补记录。 |
Beta Was this translation helpful? Give feedback.
-
感觉我们思路差不多,请问如何在一侧设置忽略记录呢?比如在京东中忽略掉使用微信支付来付款的那些记录呢? |
Beta Was this translation helpful? Give feedback.
-
2. pdf 等格式账单难以转换成 beancount 账单的问题其实是可以解析的,只要 pdf 里不是图片,而是真实的文本,适配工作量一般来说并不大。 正好给我们进行中的项目打个广告,还在 WIP 阶段,已经支持了多种银行账单了: 但因为我手上没有中行的账单文件,目前还不支持中行。 另外其实是有一些付费订阅制服务的,例如 https://bankstatementconverter.com/ ;以及使用 LLM AI 应用构造好提示词,应该也可以做到。如果不介意付费和隐私问题,可以考虑这两个方案;如果介意,还是推荐上面进行中的项目 😄。 |
Beta Was this translation helpful? Give feedback.
-
3. double-entry-generator 支持打印忽略的记录我也有类似的诉求,如果没有日志,总是有点担心遗漏了什么。 |
Beta Was this translation helpful? Give feedback.
-
我现在还没使用京东的账单,我给个我银行卡侧的忽略规则示例吧,其实很简单: cmb:
rules:
# 支付工具出入帐忽略,在支付工具那边记账
- item: 支付宝
ignore: true
- item: 财付通
ignore: true
|
Beta Was this translation helpful? Give feedback.
-
|
2025-03-30 * "支付宝接收银行卡支付" 2025-03-30 * "支付宝购买商品" 最终 Equity:Transfers:alipay 始终为0 并不需要手工增加,比在银行卡侧忽略掉重复账单要好实现自动化记录。 |
Beta Was this translation helpful? Give feedback.
-
我也是采用这种方式。优先使用为微信/支付宝的记录(交易信息更详尽),如果银行也有相同记录,则在对应银行卡的转换中设定相关的 |
Beta Was this translation helpful? Give feedback.
-
|
考虑到此贴并不是描述问题,我将该 issue 移动至 discussion 中。 |
Beta Was this translation helpful? Give feedback.
-
|
从账单里拉出交易时间,交易时间精确到秒,合并在一起,对相同时间的交易金额进行比对,时间和金额都一致的就是重复,进行去重。可以参考下这个思路,代码我不知道怎么写🤷♀️ |
Beta Was this translation helpful? Give feedback.
-
|
我看你们之前讨论的是不同来源的重复账单,那同个来源的重复账单有没有好的解决方案呢? 例如每月1号在微信导出最近一个月的账单,那么1号这天的账单就会生成重复的记录,目前我只能在fava手动过滤1号当天的日记账,然后删掉重复记录,不知道有没有其他更好的解决方法是我不知道的,毕竟我刚用这个程序来转换账单没多久。 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
举个例子,我在微信上使用京东的小程序进行购物,那么生成账单时,京东的账单和微信的账单都会对这次购物生成 beancount 的记录,即生成了重复的记录,想问一下各位是怎么处理这个问题的?
支付宝与银行卡账单好像也会存在同样的问题。
对于个人而言,理想方法应该是只针对银行卡账单生成 bean 文件,但是由于主力银行卡是中行,其账单格式是 pdf,难以转换成 bean 文件,因此退而求其次,根据日常的消费途径,分别从支付宝、微信、美团、京东的账单生成 bean 文件,剩下的银行卡直接付款的消费很少,就手动记录了,但是也难免碰到上面说的重复问题,目前都是手动删除其中一个重复的记录。
不知道本项目能否支持在账单转换过程中,如果在 config.yaml 中找不到对应的支付方式,即忽略该条账单记录,并在终端中输出对应提示?
Beta Was this translation helpful? Give feedback.
All reactions