商品管理
商品页面管理网吧或电竞馆销售的商品目录,包括食品、饮料、零食、配件以及向顾客提供的其他实物商品。每件商品有定义的价格、分类、税率和库存水平。商品与订单系统集成,收银员可以创建订单、追踪销售并管理库存。
商品字段
每条商品记录包含以下信息:
| 字段 | 说明 |
|---|---|
name |
在订单界面中显示的商品名称。必须唯一(不区分大小写)。 |
category |
文本标签,用于分组相关商品(如"饮料"、"零食"、"配件")。用于筛选和报表。 |
unit |
库存追踪的计量单位(如"个"、"千克"、"升"、"罐"、"瓶")。 |
barcode |
可选的条码值,用于扫描器集成。收银员可以扫描商品条码快速添加到订单。 |
sale_price |
以货币最小单位(如分)表示的售价。这是向顾客收取的每单位金额。 |
vat_rate |
适用于此商品的增值税百分比(如 18 表示 18% 增值税)。用于计算每笔销售的税额。 |
stock |
当前库存水平(小数量)。在下单和记录库存采购时自动更新。 |
active |
控制商品是否在订单界面中显示的开关。停用的商品对收银员隐藏,但保留在数据库中用于历史报表。 |
description |
可选的文本描述,提供额外的商品详情。 |
启用/停用开关
商品可在启用和停用状态之间切换:
- 启用的商品在订单界面中显示,可以添加到新订单。
- 停用的商品在订单界面中隐藏,但保留在数据库中。包含该商品的历史订单保留其引用,以保存历史销售数据。
这对季节性商品、停产商品或暂时缺货不应向顾客提供的商品很有用。
库存追踪
HandyCafe 为每件商品维护动态库存计数。此值由系统自动更新:
- 销售:通过订单售出商品时,库存按订购数量减少。
- 库存采购:在库存页面记录收到新库存时,库存相应增加。
- 手动调整:收银员或管理员可以手动调整库存水平,用于核算报废、损坏、盘点差异或其他情况。
商品库存日志
商品库存水平的每次变动都记录在商品库存日志中,创建完整的审计记录:
| 原因 | 说明 |
|---|---|
sale |
因顾客订单库存减少。关联到具体订单记录。 |
purchase |
因库存采购库存增加。关联到具体库存条目。 |
adjustment |
收银员或管理员手动调整库存。 |
waste |
因报废、损坏或核销库存减少。 |
return |
因顾客退货或订单取消库存增加。 |
每条日志记录变动量(正数为增加,负数为减少)、变动后的新库存水平、操作者和可选的原因说明。
商品分类
商品通过自由文本字段按分类分组。常见分类包括:
- 饮料(汽水、矿泉水、功能饮料)
- 热饮(咖啡、茶、热巧克力)
- 零食(薯片、糖果、巧克力棒)
- 食品(三明治、卷饼、热餐)
- 配件(耳机、U盘、鼠标垫)
分类在订单界面中用于筛选。收银员可以在分类间快速切换找到所需商品。分类也用于销售报表中的分组。
没有单独的分类管理界面。分类在您为商品分配分类名称时隐式创建。要重命名分类,更新使用旧名称的所有商品的分类字段。
创建商品
向目录添加新商品:
- 从侧边栏导航到商品页面。
- 点击工具栏中的添加商品按钮。
- 输入名称(必须唯一)。
- 选择或输入分类。
- 选择计量单位。
- 设置售价(向顾客收取的金额,以货币最小单位计)。
- 设置增值税率(小数形式,如 0.08 表示 8%)。
- 可选输入条码用于扫描器支持。
- 如适用,设置初始库存水平。
- 点击保存。
编辑商品
从列表中选择商品以打开详情视图。可以更新任何字段,包括名称、价格、分类、增值税率、库存水平和启用状态。更改立即生效。更新价格后,新价格适用于所有后续订单。
历史订单不受价格变更影响。每个订单项目存储销售时的 unit_price 作为快照。
与订单的集成
当收银员创建订单并添加商品时:
- 商品当前的售价和增值税率作为快照复制到订单项目。
- 行总额计算为
unit_price * qty。 - 订单完成后,商品库存按订购数量减少。
- 创建
reason = 'sale'的库存日志条目,关联到订单。
如果订单后来被取消或退款,可通过退货库存日志条目恢复库存。