● 网络版已部署上线 · 单机版可本地运行

书店进销存系统

一套覆盖采购、销售、库存、会员与账务的完整进销存解决方案。服务端 + 网页 + 微信小程序 + 手机 App 四端共用同一套接口,同时提供 Microsoft Access 单机版本。

19张数据表
31个接口
4个客户端
在线演示 账号 101(店长,全部权限) 密码 123456
演示账号101
密码123456
进入在线版 →
另有 102 收银员、103 采购员、104 库管三个账号,密码相同,登录后可见功能按岗位权限自动裁剪。

四端协同架构

服务端统一对外提供 REST 接口,四类客户端调用同一套接口,业务逻辑只在服务端实现一次,避免了各端重复开发与数据不一致的问题。

🖥️

Web 管理端响应式网页

浏览器直接打开即可使用,无需安装。适配桌面与手机屏幕,包含全部业务模块。

  • 登录验证与岗位权限
  • 进货单、销售单主子表录入
  • 库存查询、预警与盘点
💬

微信小程序移动端轻量查询

面向日常移动场景,提供库存查询、销售录入与经营日报的轻量化操作。

  • 首页经营概况卡片
  • 扫码 / 选择图书快速录单
  • 库存不足消息提醒
需在微信开发者工具中运行
📱

Android App原生移动端

与 Web 端功能对齐的移动端应用,通过 HTTP 访问服务端接口。

  • 单据列表与详情
  • 库存台账
  • 与网页端数据实时同步
打包为 APK 安装
🗄️

Access 单机版桌面离线运行

完整的桌面数据库应用:19 张表、13 个查询、16 个窗体、4 张报表与 3 个 VBA 模块。

  • 不联网也能完整做账
  • 进货 / 销售单自动过账改库存
  • 日清月结一键生成
Windows + Access 打开

业务流程

📝

录单

主表 + 明细录入

🔍

校验

库存 / 金额一致性

✅

过账

锁定单据改库存

📅

日结

逐日滚存结存

📊

月结

盘点比对盈亏

功能模块

模块主要功能权限要求
基础资料图书档案、图书分类、供应商、客户、会员、员工与岗位店长 / 采购 / 库管
进货管理进货单录入与明细计价,过账后自动增加库存采购员 / 店长
销售管理销售单录入,会员折扣自动计算,超卖即时拦截收银员 / 店长
库存管理库存台账、低于下限自动预警、盘点并按实盘调整库管 / 店长
日清月结生成日结滚存表、月结汇总表并自动比对盈亏店长
会员管理等级折扣、消费累计积分、会员消费明细收银员 / 店长
统计报表销售汇总按图书 / 客户、进货汇总按供应商、提成明细店长
系统管理账号与密码、岗位权限矩阵、操作日志店长

数据库设计

共 19 张表,全部以自增 ID 为主键,单据采用「主干表 + 明细表」一对多结构,主从之间设置级联删除,保证删单不留孤儿数据。

岗位员工模块岗位权限 图书分类供应商图书客户 会员提成方案提成方案明细 进货单主干进货单明细销售单主干销售单明细 图书日结图书月结库存盘点操作日志
三条一致性规则

安全设计

常见问题

在线版的数据是真实的吗?
不是。在线版中的图书、客户、单据均为课程演示数据,可自由增删改,仅用于功能验证与演示。
单机版和网络版的数据互通吗?
不互通,两者是各自独立的实现:网络版数据存于服务端 SQLite,单机版是本地 Access 文件。但两者的表结构、业务流程与校验规则保持一致,可以对照学习。
为什么不同账号看到的功能不一样?
系统按岗位划分权限。店长拥有全部模块权限,收银员侧重销售与会员,采购员侧重进货与供应商,库管侧重库存与盘点。登录时按权限矩阵动态裁剪菜单。
销售时提示库存不足怎么办?
这是系统的超卖拦截在起作用。先补录进货单并过账增加库存,或者修改销售数量后再试。
说明 本系统为课程学习作品,用于个人学习与技术交流,不涉及任何经营活动,也不对外提供商业服务。