Skip to content

项目简介

收支管理系统是一个自托管的个人收支管理应用,用于把分散在支付宝、微信、美团、银行等平台的账单汇总到一处,统一分类、打标签、统计收支,并通过自定义规则与 AI 能力减少手工整理的工作量。

解决什么问题

日常消费分散在多个平台:扫码用微信/支付宝、外卖在美团、大额消费走银行卡。各平台账单格式不同、导出入口不同,手动记录既繁琐又容易遗漏。本系统提供:

  • 多来源账单导入:支付宝(CSV)、微信(xlsx)、美团(CSV)、招商银行(CSV/PDF)、交通银行(xls),支持加密 zip 压缩包;解析预览后再确认导入,按交易号去重。
  • 自动归类:自定义规则按关键词、收支类型、金额区间自动匹配分类与标签;AI 可对已有记录批量给出分类/标签建议。
  • 统计与图表:月度汇总、分类占比、收支趋势、支付方式占比,支持自定义时间范围与多维度筛选。
  • 自动化提醒:按周期提醒导入新账单;也可通过 IMAP 监听邮箱自动拉取账单邮件。

核心功能

模块能力
收支记录增删改查、分页与多条件筛选、批量设置分类/标签、批量删除、计入统计开关、备注隐藏、导出 Excel
分类与标签收入/支出分类与标签的增删改查,新用户自动获得默认数据,AI 推荐 Emoji 与颜色
统计图表月度收支、分类占比、收支趋势、支付方式占比,支持按日/周/月/季/年粒度
账单导入五类账单解析、zip 解密、解析预览、按交易号去重、规则建议
自定义规则关键词/收支类型/金额区间组合,优先级排序、启用停用,导入时自动应用
AI 能力分类标签建议、自然语言查询、自然语言记账、分类/标签生成、Emoji/颜色推荐、用量统计
邮箱账单多邮箱 IMAP IDLE 监听、发件人规则识别账单类型、待处理列表先预览再导入
定时通知每天/每周/每月提醒,邮箱 SMTP 与 Server 酱渠道,发送日志
系统日志访问日志、登录日志、运行日志在线查看,运行日志实时推送,自动清理
账号与多语言JWT 登录、注册开关、运行时数据库配置(SQLite/MySQL)、中/英/日三语

技术栈

层级技术
后端Spring Boot 3.3.6 + Java 21 + MyBatis-Plus 3.5.12 + MySQL / SQLite
前端Vue 3 + TypeScript + Vite + Naive UI + ECharts + Pinia
构建Gradle 8.13(后端)/ npm(前端)
认证JWT
对象映射MapStruct 1.6.3
账单解析EasyExcel 4.0.3 + PDFBox 3.0.3 + Zip4j 2.11.5
AI 能力DeepSeek
通知渠道邮箱 SMTP / Server 酱
多语言中文 / 英文 / 日文(vue-i18n)
API 文档Knife4j(OpenAPI 3)

适用场景

  • 个人或家庭希望把多平台账单集中管理、统一统计。
  • 希望按自己的习惯自定义分类、标签与自动归类规则。
  • 希望借助 AI 快速完成分类打标、自然语言查询与记账。
  • 希望私有部署,数据保存在本地 SQLite 或自有 MySQL 中。

下一步

基于 Spring Boot 3 + Vue 3 的个人收支管理系统