当前位置:首页>python>用Python帮村里小卖部做了个进销存系统,老板娘说比收银机好用

用Python帮村里小卖部做了个进销存系统,老板娘说比收银机好用

  • 2026-09-02 20:34:38
用Python帮村里小卖部做了个进销存系统,老板娘说比收银机好用

村口小卖部的王阿姨找到我:"小伙子,听说你会电脑,能不能帮我做个记账的?"

我说:"可以啊,您想要什么功能?"

她说:"就是能记一下进货、卖货、库存,别太复杂,我不会用。"

一周后,我用Python给她做了一个进销存系统。

王阿姨用了一个月后说:"比我花3000块买的收银机好用多了!"

需求调研:听懂用户的话

第一天,我去小卖部观察王阿姨怎么工作。

她的工作流程:

  1. 早上进货(记在本子上)
  2. 白天卖货(用计算器算账)
  3. 晚上盘点(数库存)
  4. 月底对账(翻本子)

她的痛点:

  • 本子容易丢
  • 计算容易错
  • 盘点很费时
  • 对账很麻烦

她的需求:

  • 能记录进货
  • 能记录销售
  • 能查看库存
  • 能统计利润

她的限制:

  • 不会用电脑(只会用手机)
  • 不想花太多钱
  • 不想学复杂的操作

技术选型:简单实用

根据需求,我选择了:

后端: Python + Flask
数据库: SQLite
前端: HTML + Bootstrap(响应式)
部署: 本地运行

为什么这样选:

  • Python简单(我熟悉)
  • Flask轻量(不需要复杂框架)
  • SQLite免费(不需要安装数据库)
  • Bootstrap美观(不需要写CSS)
  • 本地运行(不需要服务器)

核心功能:只做必要的

1. 商品管理

功能:

  • 添加商品(名称、进价、售价)
  • 编辑商品
  • 删除商品
  • 查看商品列表

界面:

商品名称:[可口可乐]
进价:[2.5元]
售价:[3.0元]
[保存] [取消]

代码示例:

@app.route('/product/add', methods=['POST'])
def add_product():
    name = request.form['name']
    cost = float(request.form['cost'])
    price = float(request.form['price'])
    
    db.execute(
        'INSERT INTO products (name, cost, price) VALUES (?, ?, ?)',
        (name, cost, price)
    )
    return redirect('/products')

2. 进货记录

功能:

  • 记录进货(商品、数量、金额)
  • 自动更新库存
  • 查看进货历史

界面:

选择商品:[可口可乐 ▼]
进货数量:[24]
进货金额:[60元](自动计算)
[确认进货]

3. 销售记录

功能:

  • 记录销售(商品、数量、金额)
  • 自动更新库存
  • 自动计算利润
  • 查看销售历史

界面:

选择商品:[可口可乐 ▼]
销售数量:[1]
销售金额:[3元](自动计算)
利润:[0.5元](自动计算)
[确认销售]

4. 库存查询

功能:

  • 查看所有商品库存
  • 库存预警(低于10件提醒)
  • 库存盘点

界面:

商品名称    当前库存    进价    售价
可口可乐    23件       2.5元   3.0元
雪碧        5件 ⚠️     2.5元   3.0元

5. 统计报表

功能:

  • 今日销售额
  • 今日利润
  • 本月销售额
  • 本月利润
  • 畅销商品排行

界面:

今日销售额:156元
今日利润:28元
本月销售额:4680元
本月利润:840元

畅销商品TOP5:
1. 可口可乐 - 120件
2. 雪碧 - 98件
3. 矿泉水 - 85件

用户体验:让老人也会用

1. 大字体

所有文字都用18px以上,王阿姨不用戴老花镜也能看清。

2. 大按钮

所有按钮都做得很大,方便点击。

3. 颜色区分

  • 绿色:确认操作
  • 红色:删除操作
  • 黄色:警告提示
  • 蓝色:查看详情

4. 语音提示

每次操作成功,都会语音播报:

  • "进货成功"
  • "销售成功"
  • "库存不足"

5. 快捷操作

常用商品放在首页,一键销售:

[可口可乐 3元] [雪碧 3元] [矿泉水 2元]

点一下就完成销售记录。

部署上线:一台旧电脑

我用王阿姨的旧电脑部署:

配置:

  • CPU:Intel i3
  • 内存:4GB
  • 硬盘:500GB
  • 系统:Windows 10

部署步骤:

  1. 安装Python
  2. 安装依赖包
  3. 创建数据库
  4. 启动服务
  5. 设置开机自启

访问方式:

  • 电脑浏览器:http://localhost:5000[1]
  • 手机浏览器:http://192.168.1.100:5000[2]

王阿姨主要用手机操作,很方便。

使用效果:超出预期

一个月后,我去回访。

王阿姨的反馈:

1. 省时间

以前:

  • 记账:每天30分钟
  • 盘点:每周2小时
  • 对账:每月半天

现在:

  • 记账:实时记录
  • 盘点:一键查看
  • 对账:自动统计

节省时间:每月10小时

2. 少出错

以前:

  • 算错账(每月2-3次)
  • 漏记账(每月5-6次)
  • 库存不准(经常)

现在:

  • 自动计算(不会错)
  • 实时记录(不会漏)
  • 库存准确(实时更新)

减少损失:每月200元

3. 更清楚

以前:

  • 不知道哪个商品好卖
  • 不知道每天赚多少
  • 不知道库存还有多少

现在:

  • 畅销商品一目了然
  • 每日利润清清楚楚
  • 库存情况实时掌握

经营更有数

4. 更方便

以前:

  • 要翻本子
  • 要用计算器
  • 要手工盘点

现在:

  • 手机就能操作
  • 自动计算
  • 一键盘点

操作更简单

后续优化

根据王阿姨的反馈,我又加了一些功能:

1. 会员管理

记录常客的赊账:

张三:欠款50元
李四:欠款30元

2. 过期提醒

食品快过期时提醒:

⚠️ 方便面还有3天过期,剩余10包

3. 进货建议

根据销量自动建议进货:

💡 可口可乐库存不足,建议进货50件

4. 数据备份

每天自动备份数据到U盘。

成本分析

开发成本:

  • 时间:7天(业余时间)
  • 费用:0元(免费技术栈)

运行成本:

  • 硬件:0元(用旧电脑)
  • 软件:0元(开源免费)
  • 电费:每月5元

对比收银机:

  • 购买:3000元
  • 维护:每年500元
  • 功能:不如自己做的

王阿姨的评价: "花3000块买的收银机,功能还没这个好,还要每年交维护费。你这个免费的,还能根据我的需求改,太好了!"

技术总结

这个项目虽然简单,但让我学到了很多:

1. 需求比技术重要

不要:

  • 炫技(用最新技术)
  • 过度设计(做太多功能)
  • 忽略用户(不考虑使用场景)

要:

  • 理解需求(用户真正需要什么)
  • 简单实用(够用就好)
  • 用户友好(让用户会用)

2. 简单就是美

技术栈:

  • 不需要React(HTML够用)
  • 不需要MySQL(SQLite够用)
  • 不需要云服务器(本地够用)
  • 不需要微服务(单体够用)

原则:

  • 能简单就不复杂
  • 能免费就不花钱
  • 能本地就不上云

3. 用户体验是关键

设计原则:

  • 大字体(老人能看清)
  • 大按钮(方便点击)
  • 少输入(能选择就不输入)
  • 多提示(操作有反馈)

4. 持续优化

不要:

  • 一次做完所有功能
  • 闭门造车
  • 不听用户反馈

要:

  • 先做核心功能
  • 上线后收集反馈
  • 持续迭代优化

写给程序员的话

如果你也想做一个小项目,我的建议是:

1. 从身边开始

不要:

  • 做大而全的项目
  • 做没人用的项目
  • 做自己不懂的项目

要:

  • 解决身边人的问题
  • 做有人用的项目
  • 做自己熟悉的领域

2. 简单开始

不要:

  • 追求完美
  • 过度设计
  • 使用复杂技术

要:

  • 先做MVP(最小可用产品)
  • 快速上线
  • 收集反馈

3. 持续迭代

不要:

  • 做完就不管
  • 不听用户反馈
  • 不做优化

要:

  • 持续维护
  • 根据反馈改进
  • 不断优化

最后的话

这个小卖部进销存系统,虽然简单,但很实用。

它让我明白:

技术的价值,不在于多复杂,而在于解决了什么问题。

如果你也想做一个小项目,欢迎关注我。

如果你有好的想法,欢迎留言分享。


我是乡野码圣,S302省道的程序员。

这是我用Python帮村里小卖部做的系统。


互动话题

留言告诉我:

  1. 你做过什么实用的小项目?
  2. 你身边有什么问题可以用技术解决?
  3. 你想学习哪方面的开发?

我会认真回复每一条留言。


关注公众号【乡野码圣】
回复"Python"获取完整代码
回复"项目"看更多实战案例
回复"教程"学习开发技巧

引用链接

[1]http://localhost:5000

[2]http://192.168.1.100:5000

最新文章

随机文章