净值理财工具的多账本(多账簿)核心价值:把个人、家庭、投资、生意、旅行资金完全隔离,每个账本独立计算净值、持仓、账单、预算,同时支持查看全局总净资产。网上大量标注 “免费下载净值理财源码” 的 Demo,只是简单 UI 切换,账本之间数据没有隔离,净值计算互相干扰,只能演示,无法真实使用。
⚠️重要提醒:网上所谓 “全套免费下载源码” 很多是盗版转卖,存在后门、版权风险;开源项目要看清开源协议,开源不等于无条件商用,仅适合学习、个人自用,对外上线务必做代码审计。
一、多账本净值理财核心功能
1. 多账本核心能力
- 账本完全隔离 可创建多个独立账本:个人账本、家庭共用账本、基金投资账本、副业生意账本、旅游专项账本。 每个账本拥有独立:账户、持仓、交易流水、账单、预算、攒钱目标、报表;账本之间数据互不干扰。
- 全局总览视图 跨账本聚合:全部账本合并算出全局总资产、总负债、总净资产,只做统计查看,不修改子账本原始数据。
- 账本权限控制
- 个人自用:自己创建、切换账本;
- 家庭版:支持账本成员协作,不同成员只读 / 编辑权限。
- 账本快速切换 下拉切换账本,切换后页面所有数据自动切换为当前账本数据。
- 账本归档 旧账本支持归档隐藏,归档后数据保留,不再参与默认统计。
2. 净值理财配套模块(和多账本深度绑定)
- 资产净值计算 每个账本独立计算净值:持仓净值、浮盈浮亏、XIRR 收益率,基于账本内的交易流水;支持生成每日资产快照,查看净值曲线。
- 持仓 & 交易管理 基金、理财、存款录入;支持 CSV 导入交易记录;申购、赎回、分红流水归属对应账本。
- 账单预算模块 每个账本独立预算、独立收支账单,预算消耗只统计当前账本支出。
- 数据报表 分账本导出报表;也可以导出全局合并报表,Excel/PDF 输出。
- 备份导出 支持单账本备份,也支持全部账本整体备份。
- 自选基金、提醒消息 可设置:消息按账本归属,切换账本只看对应账本提醒。
❌劣质 Demo 常见坑:只是前端页面切换,底层共用一套数据表,新建交易所有账本都会看到,净值统计错乱。
二、项目目录结构
networth‑multi‑ledger‑source/
├── uni‑h5‑frontend # H5/小程序前端,账本切换、净值看板、持仓账单
│ ├── pages/ledger # 账本管理、账本切换页面
│ └── store # 当前账本ID全局状态管理
├── admin‑frontend # 管理后台
├── backend
│ ├── controller
│ ├── service
│ │ ├── ledger # 多账本核心业务:创建、归档、权限、数据隔离
│ │ ├── networth # 净值计算,强制绑定ledger_id账本ID
│ │ ├── bill # 账单每条记录携带账本ID
│ │ └── portfolio # 持仓交易绑定账本ID
│ ├── db/migration
│ │ ├── ledger.sql # 账本主表
│ │ ├── ledger_member.sql # 账本成员权限表
│ │ └── 业务表都携带ledger_id字段
│ └── task # 定时任务:各账本净值快照生成
├── docs # 搭建文档、多账本设计说明
└── readme.md
运行环境:云服务器 + MySQL,推荐 Redis;对外访问需要 HTTPS。
关键数据库设计:所有业务表(账单、持仓、预算)都必须携带
ledger_id账本 ID 做数据隔离,查询时强制带上该条件,防止跨账本数据泄露错乱。
三、完整搭建部署教程
步骤 1:源码准备
优先选择 GitHub 正规开源项目,核对开源协议;不要使用网盘来路不明的 “免费全套源码”,极易植入后门。
步骤 2:后端部署
- 服务器新建数据库,导入数据库脚本。
- 修改
.env配置,填写数据库、行情源配置。 - 上传后端代码,安装依赖,启动服务。
- 配置定时任务:定时生成每个账本的资产净值快照。
- 接口测试:创建账本,新增一笔持仓,校验数据携带
ledger_id。
步骤 3:前端部署
- 修改前端接口地址为自己服务器域名。
- 编译 H5、小程序代码包,部署管理后台。
步骤 4:必做联调测试(重中之重)
- 创建账本 A、账本 B;在 A 账本录入一笔持仓交易。切换到 B 账本,确认看不到 A 账本数据。
- 分别给 A、B 账本录入资产,打开全局总览,验证全局等于 A+B 资产总和。
- 账本 A 设置预算,录入支出,预算只消耗 A 账本;B 账本预算不受影响。
- 归档账本,归档后账本不再出现在默认列表,但历史报表依然可以查询。
- 导出单账本报表、全局报表,核对数据口径。
⚠️风险提示:源码仅为开发底座,不具备金融资质;上线对外服务需要遵守监管;净值测算仅供参考,不构成投资建议。
四、高频踩坑点
- 缺少 ledger_id 账本 ID 隔离 所有账本共用一套数据,切换账本只是过滤前端展示,接口可以越权拿到其他账本数据,安全与业务双重 bug。
- 全局总览直接修改子账本数据 全局只能做聚合查询,不能新增修改交易,否则子账本原始数据错乱。
- 净值没有按账本独立计算 把全部账本资产混在一起算收益率,各账本净值曲线失真。
- 定时任务遗漏 没有分账本生成净值快照,净值曲线无法查看历史变化。
- 备份没有区分账本 导出备份把全部账本混在一起,无法单独迁移某一个账本。
- 浮点数精度问题 金额计算出现多位小数,金融业务后端必须做金额精度处理。
五、适用场景
- 个人家庭净值理财工具,区分投资、日常消费账本;
- 家庭多人共用记账理财,不同账本分配不同权限;
- 小生意简单台账,把经营资金和个人资金彻底分开;
- 二次开发底座,复用多账本 + 净值计算整套逻辑;
- 技术学习:学习多租户式子账本隔离、资产净值快照业务设计。