# accounts **Repository Path**: xlongwei/accounts ## Basic Information - **Project Name**: accounts - **Description**: 记账,个人记账:solon + uniapp,家庭报表,出入报表。使用logserver输出日志,使用deploy在线发版 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://115.28.229.158:8085/ - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2025-01-11 - **Last Updated**: 2025-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: solon, uni-app, 记账 ## README # accounts 简约记账 ## why 1. 想要根据科目、账户查看报表:例如查看所有信用卡的月支出报表,查看水电气的月支出走势等 1. 想要查看家庭成员的收支报表,以及与自己记录合并后的家庭收支报表 ## how 1. 后端使用solon框架,数据存储可选h2、mysql,在线 [api](http://115.28.229.158:8085/admin/api.html) 1. 前端计划用uniapp,参考 [uni-info](https://gitee.com/lightgrp/uni-info) ## what ### 记账循序渐进 1. 简约记账:日常记账以支出较多,登录后填入金额即可“记一笔”支出,偶尔记收入再选中收入框即可(科目和成员默认即可) 1. 登记已有:比如现金、医保等账户已经有余额了,记一笔收入即可 1. 支出想区分衣食住行等:再选择“转账”右边的科目即可,收入也类似 1. 水电气话ETC:家庭记账时水电气ETC可以挂其中一人,话费多张卡时可添加账户例如:话费151、电信等 1. 人情往来:收支科目都有人情,还可以记录成员维度,可按需添加成员 1. 有房贷:将房贷余额记一笔支出,还房贷时选择“转账”+“还款”,金额填还款本金,此时会出现“利息”框,填入支付利息即可,点“记一笔”后会出现两条记录:转账还款,利息支出。等额本息可以将本金+利息总额记一笔支出,每月还款固定金额即可。等额本金可以记一笔支出=每月还款本金×剩余期数,每月还款本金不变,每月利息=每月还款本金×剩余期数×年化利率÷12。 1. 有信用卡:登录[admin/api](http://115.28.229.158:8085/admin/api.html)调用account/create新增账户,type选择2,账户示例:“交卡”、“交卡2”、“交卡2/27”,数字2表示账单日,27表示还款日 1. 有借贷:借贷记转账,坏账记收支。亲人借贷可以记“现金”转账到“理财”,可以看作定期存款。如果是代为贷款,可以新建银行账户(例如建行),记“建行”转账到“理财”,后面还款给银行时就记“现金”转账到“建行”,有利息的话记支出。收回借款时记“理财”转账到“现金”,钱就收回来了。如果是借银行钱,就记“建行”转账到“现金”,现金用完了还不上,就记一笔“收入”到“建行”,“建行”账户就可以余额归零了。 #### 功能简介 1. 四项功能:记一笔,账户历史,收支报表,账户余额;点“accounts”和“👷”进行切换 1. 家庭特色:记一笔、账户余额,勾选“爱人”可以查看对方账本;收支报表还支持查看两人合并后的报表 1. 数据隔离:每个家庭可以配置单独的数据源,相互之间数据分开,微信18810761776即可免费试用1年 ### record 流水表 #### 记录收支 1. day,日期(经考虑不精确到时分秒,某天内的记录不会太多,并且界面上选择时分秒也更麻烦) 1. ledgerid,科目:收入、支出、转账(充值可以有红包收入,还款可以有利息支出) 1. accountid,账户(转账分accountid_out、accountid_in) 1. amount,金额(备注remark单独一张表,要求权限user.level>1) #### 记录维度 1. ledgerid,基础科目:1收入 2支出 3转账,可自定义 1. accountid,账户默认:1现金,可自定义(type=2信用卡 name=交卡2/27,账单日2,还款日27) 1. memberid,成员默认:1自己,可自定义 #### ER设计 1. 记账核心就是t_record流水表,t_user用户用于登录,t_account账户+t_ledger科目+t_member成员对应三个维度,t_extra单独存备注 1. t_record流水记录可以自由更改(不支持删除),报表和余额都是动态计算,记账和实际对不上时直接修改或新增流水即可 1. t_record每条记录大约32字节,家庭每年大约记4K条流水(日均11条),记账20年大约10万条流水,支持h2、mysql等数据源 ![ER设计](./docs/imgs/ER设计.jpg) ### 功能特色 1. 报表支持家庭partner两人合并查看,便于查看家庭收支月度和年度报表 1. 报表支持多维度分组,便于查看所有信用卡的支出月报表,或水电气支出月报表 1. 记账支持家庭partner两人独立数据源,便于从各自数据源备份全量数据 1. 支持查看指定日期时的报表和余额状态,支持查看某年度的报表(默认显示所有年度报表) ### 功能说明 1. 记一笔填错了怎么办:点击记录前面的“📝”进行更新,想要“删除”可以将金额修改为0.01,或更新为下一笔记账内容 1. 账户余额对不上实际值怎么办:可以简单记一笔收入或支出,从而“校准”余额,“余额”是计算值只能通过记账来“调整” 1. 不同于水电气可以其中一人缴费记账,房贷可能双方轮流还款,解决办法是将房贷余额分摊到双方(比如初始化时由其他一方记支出20万,调整为双方各支出10万,只要总额对得上就行),每月谁还款就谁记账,由于房贷是公共账户(accountid相同,userid=0),点击“爱人”就可以看到对方的还款流水,在报表页面选择“家庭”则可以看到房贷账户的整体余额 1. 信用卡账单对不上怎么办:可以对比账户历史,或者勾选账户查询流水,通常是某天的某笔支出记成了现金支出,这时勾选日期查到这笔支出,修改支出账户更新即可,账单金额会重新计算,误差不超过1元即可(信用卡小额支出可记可不记,还款记账时记现金转账单金额到信用卡即可) 1. 不计收支如何记:暂不打算实现不计收支的功能,可以暂记金额0.01,实际金额记备注 ### 功能示例 1. 记账流水:支持记一笔、查询、更新,点击“accounts”切换至收支报表 1. 收支报表:分组可选科目ledger、账户account、成员member、用户user,自己切换为“爱人”时可用查看partner的收支报表 1. 家庭报表:自己切换为“家庭”时,可以查看合并后的家庭报表,分组选择用户user时可以对比自己和爱人的收支 1. 水气支出:accounts选择水费和气费,可以查看水气的月支出走势,分组也选择账户account时可以分别列出水费和气费走势 1. 账户历史:流水页点击“👷”切换,查询账户的“余额”变动历史,例如信用卡或借还记录 1. 账户余额:报表页点击“👷”切换,查询账户列表及“余额”,可看作简约版的资产负债表 1. 更多功能:[admin/api](http://115.28.229.158:8085/admin/api.html),支持科目账户成员自定义、账户余额和历史查询等 ![流水和历史](./docs/imgs/流水和历史.jpg) ![报表和余额](./docs/imgs/报表和余额.jpg) 其他图片: [记账流水](./docs/imgs/记账流水.jpg) [收支报表](./docs/imgs/收支报表.jpg) [家庭报表](./docs/imgs/家庭报表.jpg) [水气支出](./docs/imgs/水气支出.jpg) [账户历史](./docs/imgs/账户历史.jpg) [账户余额](./docs/imgs/账户余额.jpg) ### 微信公众号记账介绍 - 图一:微信扫码,关注公众号(有记账文章合集) - 图二:浏览器扫码,访问登录(可自动注册) - 图三:钉钉扫码,加入组织(工作台有记账入口) ![公众号二维码](./docs/imgs/公众号二维码.png) ![记账网址扫码](./docs/imgs/记账网址扫码.png) ![记账钉钉组织](./docs/imgs/记账钉钉组织.png) 记账介绍: [快速上手](https://mp.weixin.qq.com/s/BDNOoVtyAmazHzNzzsJ5MA) [记一笔](https://mp.weixin.qq.com/s/N4qZCZbxoZ1HI5eno1-B8w) [报表](https://mp.weixin.qq.com/s/iKDQbmoWBU9P7QIz2KBFwQ) [水电气话费](https://mp.weixin.qq.com/s/SPy3_8kTRXigmlyo1Ug5IQ) [灵活转账](https://mp.weixin.qq.com/s/5HMYGNFFGWj8L1gu36ATPQ) [批量更新](https://mp.weixin.qq.com/s/v5rS4c0tGzAVqCPTpWxyyQ) [出入报表](https://mp.weixin.qq.com/s/ruz8jNIWTR0-nEgVC_dEEA) [流水报表](https://mp.weixin.qq.com/s/LbJyUnNWcrfZh4bYSq-iTQ) ### 独立数据源及vip设计 - 数据源支持mysql和h2两种类型,可以只用其中一种,也可以两种都用 - 默认accounts为公共数据源,vip为独立数据源;mysql需手动配置,h2支持自动创建 - t_vip为跨数据源的客户聚合,通过vip.ds=mysql指定数据源,方便客户维护 - 支持4种部署方式,根据具体需求和硬件条件选择和配置即可 ![vip客户聚合](./docs/imgs/vip.png)