一个面向本地单机使用的小型进销存/开单系统,当前重点覆盖消防器材门店的日常销售开单、退货、客户账款、商品与客户资料管理、打印和本地数据保存。
v0.8.0
GitHub Releases:https://github.com/Astyyym/simple-erp/releases
- 企业 ERP 风格工作台、分组侧边栏、统一表格/表单样式
- 界面毛玻璃层次(顶栏/卡片/面板等);顶栏固定,正文独立滚动
- 左侧业务栏实色
#012121 - 销售单/退货单支持“一键清空”,默认保留一行空白明细
- 关闭浏览器对开单字段的历史自动填充,保留 ERP 字典联想
- 账款页聚合查询客户余额
- 销售单、退货单共用录入界面
- 单号:
MD+ 八位日期 + 四位流水(如MD202607120001) - 销售/退货共用当天流水
- 新建日期默认当天可改,单号随日期重算;重编辑保号保日期
- 保存后可直接打开打印 PDF;退货单列表标红
- 销售清单面向 241×140mm 实体二联纸;PDF 使用标准 A4 横向(297×210mm),单据固定在上方居中,左右各留 28mm、下方留白
- Nantian PR2 Plus /
NantianPR-LQ:241mm 长边先进,选 A4 横向、实际大小/100%、不要缩放;细调可在设置页偏移 - 桌面版打印预览尽量在壳内打开
- 支持按年 / 按月到月(可跨年) / 按日到日
- 支持全部 / 只看销售 / 只看退货
- 客户采购统计:唯一客户出图、多客户提示、空客户全店
- 导出货款汇总表(PDF 预览,多客户分段)
- 导出销售单 / 退货单 Excel(按明细一行,可跟随筛选)
- 增删改、模糊查询
- Excel/CSV 模板下载与批量导入(同名跳过)
- 客户 / 商品列表支持导出 Excel
- 客户价 / 常规价
- 按客户与日期筛选订单
- 余额:期初 + 销售 - 退货 + 调整 - 收款
- 旧账款入口保留
- 永久免登录:打开即可使用,无需账号密码
- 本机/店内单机场景;能访问服务端口即可进入系统
/health公开,返回auth: disabled(便于打包冒烟)
- 侧栏「系统 → 设置」
- 公司名称一处修改,同步顶栏、销售/退货/账款汇总 PDF 抬头与系统名称
- 界面缩放 100% / 125% / 150%(仅网页界面)
- 主题:浅色 / 深色 / 跟随系统(不影响打印 PDF)
- 打印单文案可改:订货电话、地址、主营、备注、制单人、收货人;支持预览
- 打印位置校准:横向/纵向毫米偏移 + 缩放(真实打印机相对预览偏了时在这里调)
- 修改设置后切换页面会询问是否保存
- 数据目录:显示当前/默认路径;可浏览文件夹(桌面版)或粘贴路径后一键迁移
- 复制
dist\简单ERP文件夹,双击简单ERP.exe - 推荐:业务数据放在「文档\简单ERP数据」或设置里自选目录(与程序文件夹分离,升级只换程序)
- 路径记忆:
%LOCALAPPDATA%\简单ERP\data_location.json(只记路径,不是订单库) - 旧安装若仍把数据放在程序旁
data\erp.db,升级时不要覆盖该data文件夹
.
├── README.md / CHANGELOG.md / VERSION
├── app/ # 业务源码
├── tests/ # pytest
├── docs/ # 长期文档
│ ├── README.md # 文档索引
│ ├── 开发说明.md
│ ├── Windows桌面版打包说明.md
│ ├── 需求/ # 需求文档
│ └── 复盘/ # 复盘与纪律
├── 开发短计划/ # 当次可执行短计划
├── desktop_app.py # 桌面版入口
├── 简单ERP.spec # PyInstaller 规格
├── 打包Windows桌面版.bat
├── 启动系统.bat / 启动系统.vbs / 停止系统.bat
├── 启动系统-WSL版.bat / 停止系统-WSL版.bat # 可选的 WSL 交叉测试入口(5001)
├── setup.bat / dev_start.bat
├── config.json
└── requirements.txt
运行期/构建期目录(不提交):
data/ logs/ temp_pdf/ backups/ imports/
dist/ build/ .venv/ .venv-win/ __pycache__/
唯一源码位于 Windows:D:\wenjian\Hermes\简单ERP。Windows 负责日常开发、桌面流程、打包和最终验收;WSL 通过 /mnt/d 访问同一仓库,仅用于按需交叉测试,不另建长期源码副本。
Windows 源码运行:
setup.bat
启动系统.bat可选的 WSL 交叉测试与开发预览:
cd '/mnt/d/wenjian/Hermes/简单ERP'
ERP_PORT=5001 PYTHONPATH=app .venv/bin/python app/app.py也可从 Windows 双击 启动系统-WSL版.bat。WSL 预览固定使用 5001,Windows 正式 EXE 使用 5000,避免命中错误实例。
cd '/mnt/d/wenjian/Hermes/简单ERP'
PYTHONPATH=app .venv/bin/python -m pytest tests/ -q打包Windows桌面版.bat产物:
dist\简单ERP\简单ERP.exe
dist\简单ERP-Windows桌面版.zip
dist\simple-erp-windows-vX.Y.Z.zip
说明见:docs\Windows桌面版打包说明.md
- 先退出简单ERP
- 备份当前数据目录(设置页可查看路径;常见为
文档\简单ERP数据\data或程序旁data) - 用新版覆盖 程序文件(
简单ERP.exe、_internal等) - 不要用安装包里的空库覆盖正在用的
erp.db - 若数据已在独立目录,整夹覆盖程序一般丢不了单 设置页用法:侧栏「设置」→ 改公司名/主题/打印文案后点「保存设置」;改数据目录用「浏览文件夹」或粘贴路径后「一键迁移并切换」。