# 个体户简易记账软件 **Repository Path**: wangqin.tracker/Bookkeeper ## Basic Information - **Project Name**: 个体户简易记账软件 - **Description**: 个体户简易记账软件 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个体户记账系统 专为 **TK 跨境电商 + 软件开发** 双业务个体户设计的桌面记账工具。 支持内嵌 SQLite(开箱即用)和 MySQL(线上部署)双数据库后端,可在应用内一键切换。 ## 功能特性 - **经营总览** — 月度/年度收支利润、应收应付、活跃项目一览 - **收支记录** — 多币种(CNY/USD/EUR 等)、汇率换算、分类管理 - **项目管理** — TK 带货 / 软件外包 / SaaS 项目利润核算 - **应收应付** — 发票管理、到期提醒、部分收款跟踪 - **报表统计** — 月度趋势图、分类占比饼图、项目利润对比 - **数据导出** — CSV 交易导出、JSON 全量备份 - **双数据库** — 内嵌 SQLite 默认可用,可切换到远程 MySQL ## 快速开始 ### 方式一:直接运行(推荐) 下载 [Releases](../../releases) 中的 `Bookkeeper.exe`,双击运行即可。 > 无需安装任何数据库,默认使用内嵌 SQLite,数据保存在 `~/.bookkeeper/data.db`。 ### 方式二:源码运行 ```bash # 安装依赖 pip install pymysql pywebview # 运行 python desktop.py ``` ## 数据库切换 启动后点击左侧导航栏 **「⚙️ 数据库设置」**: | 模式 | 说明 | 适用场景 | |------|------|---------| | **内嵌 SQLite** | 无需安装,数据存本地文件 | 单机使用、个人记账 | | **MySQL** | 连接远程/本地 MySQL 服务器 | 多设备同步、团队协作 | 切换数据库后,新数据将存储在新选择的数据库中。可通过「导出备份」功能手动迁移旧数据。 ## 界面预览 | 经营总览 | 收支记录 | |---------|---------| | 仪表盘卡片 + 月度趋势图 + 分类饼图 | 多币种交易列表 + 筛选 | | 项目管理 | 数据库设置 | |---------|-----------| | 项目利润核算 + 状态跟踪 | SQLite/MySQL 一键切换 | ## 项目结构 ``` bookkeeper/ ├── desktop.py # pywebview 桌面入口 ├── mysql_db.py # 业务 API(双后端适配) ├── db_backend.py # SQLite/MySQL 连接抽象层 ├── bookkeeper_mysql.html # 前端界面(单文件 HTML) ├── config.json # 数据库配置(运行时自动生成) ├── bookkeeper/ # 旧版 CLI 模块(可忽略) ├── .gitignore ├── LICENSE # MIT License └── README.md ``` ## 技术栈 - **后端**:Python 3 + pymysql + sqlite3 - **前端**:单文件 HTML + Chart.js - **桌面框架**:pywebview (Edge WebView2) - **打包**:PyInstaller(单文件 exe,约 15 MB) ## 从源码构建 ```bash # 安装 PyInstaller pip install pyinstaller # 构建 exe pyinstaller --onefile --windowed ^ --name Bookkeeper ^ --icon bookkeeper/icon.ico ^ --add-data "bookkeeper_mysql.html;." ^ --hidden-import webview ^ --hidden-import webview.platforms.edgechromium ^ --hidden-import pymysql ^ --hidden-import mysql_db ^ --hidden-import db_backend ^ desktop.py ``` 构建产物在 `dist/Bookkeeper.exe`。 ## 运行环境要求 - **Windows 10/11**(x64) - **Edge WebView2 运行时**(Win10/11 已内置,无需额外安装) - 使用 MySQL 模式时需确保目标 MySQL 服务可达 ## 许可证 [MIT License](LICENSE)