我的个人记账系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yaodao
V2EX    分享创造

我的个人记账系统

  •  
  •   yaodao 39 天前 3191 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个系统虽然比较简陋,但是真的很有用,我用它来帮助我和我媳妇一起管理家庭的收入支出情况。 因为微信的账单导出从 csv 变成了 xlsx 了,所以不得不改一下代码,但也趁着这个机会对这个系统做了一些重构

    两年前做这个系统,是因为尝试了很多 APP 都觉得很麻烦,尤其是一条条去记录,即使有微信和支付宝的导入功能也还是很麻烦。所以设计了一个适合自己并且还能查看自己搭子的简易的记账软件,非常适合一个家庭去记账。

    虽然两年过去了,但 commits 只有三十次,我确实也懒得维护它(因为对于一个 javaer 来说,用 VUE 实现好看的 UI 还是有点复杂的,但现在一切都变了Claude Code )

    记账页面: image

    微信和支付宝导出账单的导入页面: image

    image

    家庭收支统计页面(这个 UI 还比较简陋,但也能看哈哈哈) image

    之前这个服务让我挂载到服务器上了,但是因为资源消耗(需要 redis 、mysql 、ES )太多了,并且只有我和媳妇在用,所以就从服务器上下掉了,现在都是在我本地去运行。

    但反而更方便了,因为本地的电脑性能很高,也没有网络消耗,并且还可以利用 Mac 系统的 Automator 去建立 APP 图标,一键运行打开页面。后续我在考虑要不要写一个博客文章来分享这个过程呢,哈哈哈。

    image

    35 条回复    2025-09-04 17:28:55 +08:00
    chnwine
        1
    chnwine  
       39 天前
    能看出来是 AI 画的界面了,和我用 Trae 的界面如出一辙
    8820670
        2
    8820670  
       39 天前 via Android
    好奇怎么还要 es op 有开源想法嘛
    tyrad
        3
    tyrad  
       39 天前
    sqlite 不香吗 要啥 redis mysql
    DiamondYuan
        4
    DiamondYuan  
       39 天前
    我推荐你试试看 beancount


    https://github.com/beancount/beancount

    开源的复式记账软件

    你不需要自己开发 UI ,只需要把自己的账单数据转化为 beancount 的语法,
    tyrad
        5
    tyrad  
       39 天前
    ai 编程爆火之前我也写过一个。sqlite 够用了
    lavvrence
        6
    lavvrence  
       39 天前
    @DiamondYuan 我之前用的 Fava UI 。好几年前用 Beancount 记录了几个月,后来股票波动太多,懒得记了。。
    COOOOOOde
        7
    COOOOOOde  
       39 天前
    我写的还支持 pdf 流水导入, 自己做了招行 农行 青岛银行流水 pdf 的适配. 做了简单逻辑把可能的银行卡支出转账和支付宝微信的的记录进行合并标识. 但是自己连导入都懒得导入
    Stop
        8
    Stop  
       39 天前 via iPhone   1
    最终你会发现还是 excel 好用,完爆任何软件和网站
    nickwzy129
        9
    nickwzy129  
       39 天前
    ios 推荐一下貔貅
    zerzerheart
        10
    zerzerheart  
       39 天前
    @yaodao 楼主,请教下,支付宝和微信的导入是指用户自己在微信和支付宝导出了账单之后再自己导入进去吧,微信和支付宝应该没有开放的接口吧
    YFZZ
        12
    YFZZ  
    PRO
       39 天前
    @gynantim 我现在是用 APP ,excel 的话,是每天或者每周找一个固定时间在电脑前掏出手机把最近的支出都逐条记录到 excel 中么?
    cooldish
        13
    cooldish  
       39 天前
    不错哎,我觉得现在 vibe coding 最大的好处就是能够实现自己想做的功能。这些功能不必很完善,但只要能满足自己的需求,我觉得就挺好了。
    Stop
        14
    Stop  
       39 天前   1
    @xhslyf 那可能我们需求不一样。我不记支出,只记余额和收入。支出用余额差减去收入就得到了。然后有个预算表,算了大概每个月支出多少,就不去一笔笔记了。excel 的好处是我可以进行财务分析,比如算收益率,收入或者余额走势。还能实现一些复杂功能,比如多币种和不同时段汇率。照我的方法记账,就只需每个月最后一天抽点时间记一下余额就行了。我坚持记了五六年了。
    rrubick
        15
    rrubick  
       39 天前
    @DiamondYuan #4
    好像没看到客户端
    yaodao
        16
    yaodao  
    OP
       38 天前
    @chnwine 是的 最近在用 Claude CLI 重构页面 自己写的太丑了
    yaodao
        17
    yaodao  
    OP
       38 天前
    @tyrad 是的,我的博客系统放在服务器上 所以用的 sqlite ,这个一直本地启动就没搞
    yaodao
        18
    yaodao  
    OP
       38 天前
    @tyrad 是的 一开始用的是 mysql 所以就一直懒得改啦。底层的 db 层没做好抽象
    yaodao
        19
    yaodao  
    OP
       38 天前
    @gynantim 我就是从 Excel 过来的。之前和媳妇一直用石墨文档,在线一起记
    yaodao
        20
    yaodao  
    OP
       38 天前
    @cooldish 是的。你说的最大的好处 我非常认可
    yaodao
        21
    yaodao  
    OP
       38 天前
    @zerzerheart 我好像在其他软件看过绑定好支付宝微信就能同步进来,说明应该有相应的接口。但我用的是自己导出后再导入的
    awesomes
        22
    awesomes  
       38 天前
    为啥你们有这么多记账的需求
    yaodao
        23
    yaodao  
    OP
       38 天前
    @8820670 这个项目本身就是开源的 只不过比较简陋 https://github.com/here-tunan/my-life

    但最近我会考虑好好重构一下它的
    yaodao
        24
    yaodao  
    OP
       38 天前
    @8820670 ES 是为了做分词匹配的,比如之前你记录过一些账单,选择过某种分类,后面再输入描述差不多的账单,能通过历史信息推出分类。 这里其实可以用更轻量级的方式,或者用机器学习或者现在的 AI 去处理。但我暂时还没有搞。
    yaodao
        25
    yaodao  
    OP
       38 天前
    @awesomes 就是为了控制花钱,并且管理自己的收支,要不然总觉得花钱如流水 都不知道花去了哪里
    dingdangnao
        26
    dingdangnao  
       38 天前   1
    我自己写了个小垃圾系统是直接用快捷指令自动化读招行的短信,
    短信里有商家信息,可以直接判断收入支出的类型,除了新的商户要走 ai 判断一下类型之后检查,几乎不用动手操作
    顺便还能做一个 咖啡奶茶 这种统计看看一年能喝多少

    不过信用卡和花呗这种 就只能手动做了

    csh010101
        27
    csh010101  
       38 天前
    @dingdangnao 我觉得这个可以 开源吗?
    yaodao
        28
    yaodao  
    OP
       38 天前
    @dingdangnao 写的很不错
    tthem
        29
    tthem  
       38 天前
    @dingdangnao 牛哇,心动了,之前好多次都想自己写一个记账系统,但是一直懒得搞,看到楼主这个我有点手痒想 ai 搓一个出来了
    8820670
        30
    8820670  
       38 天前
    @dingdangnao 这个很棒
    8820670
        31
    8820670  
       38 天前
    @dingdangnao @yaodao 顺便想跟两位了解一下为啥不用钱迹 这类现有的成熟的优秀的记账软件。
    是自己的消费记录不想外泄 还是有其他是什么需求。
    我用了钱迹很多很多年。以前用 xposed 插件完成了自动记账,现在钱迹也支持了自动记账(需会员)。
    体验不错,所以想问一下还有咩需求是钱迹满足不了的。
    yaodao
        32
    yaodao  
    OP
       37 天前
    @8820670 1 是因为可能没遇到过这么非常好用的 2 是不喜欢在手机上记账(可能大部分人更喜欢在手机上记账) 3 是有些需求(比如我要同时看到我和我媳妇的账单和共同的账目分析)有些软件不能满足 4 是如果有些专属于自己的账单的特殊处理 我可以直接改自己的代码实现
    dingdangnao
        33
    dingdangnao  
       37 天前
    @8820670 一个是 记账软件太多了,懒得一个个去用,每个 app 的逻辑多少有点不一样,数据也很难自己控制。另外我用的 iPhone大多数记账的都是截图 ocr+ai 识别。如果像我这种直接转发短信的,又怕隐私泄漏。数据在自己手里,做统计什么的也方便,也不怕万一哪个 app 跑路了 数据丢了之类的。。。我也有时候想看看花钱的位置在哪,比如去小吃店,去没去过的咖啡馆等等,之后会忘,所以加了位置。。跟朋友出国旅游也可以直接把快捷指令发给他,可以接汇率的 api , 用他自己的 id 然后做一个我们两个都访问的账本看板。
    dingdangnao
        34
    dingdangnao  
       37 天前
    @csh010101 代码烂到爆炸不好意思开源
    michaelluang
        35
    michaelluang  
       37 天前
    考虑到数据安全、存储格式及长期维护等因素,我一直使用开源的 Beancount 进行复式记账(纯文本记账,没有数据库,没有服务器),为了提升体验和效率,最近基于 Beancount 做了客户端和 Importer ,导入支付宝或微信月度账单只需几分钟就可以搞定:



    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     928 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 19:14 PVG 03:14 LAX 12:14 JFK 15:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86