HandyCafe Docs
owner cashier

商品管理

商品页面管理网吧或电竞馆销售的商品目录,包括食品、饮料、零食、配件以及向顾客提供的其他实物商品。每件商品有定义的价格、分类、税率和库存水平。商品与订单系统集成,收银员可以创建订单、追踪销售并管理库存。

商品字段

每条商品记录包含以下信息:

字段 说明
name 在订单界面中显示的商品名称。必须唯一(不区分大小写)。
category 文本标签,用于分组相关商品(如"饮料"、"零食"、"配件")。用于筛选和报表。
unit 库存追踪的计量单位(如"个"、"千克"、"升"、"罐"、"瓶")。
barcode 可选的条码值,用于扫描器集成。收银员可以扫描商品条码快速添加到订单。
sale_price 以货币最小单位(如分)表示的售价。这是向顾客收取的每单位金额。
vat_rate 适用于此商品的增值税百分比(如 18 表示 18% 增值税)。用于计算每笔销售的税额。
stock 当前库存水平(小数量)。在下单和记录库存采购时自动更新。
active 控制商品是否在订单界面中显示的开关。停用的商品对收银员隐藏,但保留在数据库中用于历史报表。
description 可选的文本描述,提供额外的商品详情。

启用/停用开关

商品可在启用和停用状态之间切换:

  • 启用的商品在订单界面中显示,可以添加到新订单。
  • 停用的商品在订单界面中隐藏,但保留在数据库中。包含该商品的历史订单保留其引用,以保存历史销售数据。

这对季节性商品、停产商品或暂时缺货不应向顾客提供的商品很有用。

库存追踪

HandyCafe 为每件商品维护动态库存计数。此值由系统自动更新:

  • 销售:通过订单售出商品时,库存按订购数量减少。
  • 库存采购:在库存页面记录收到新库存时,库存相应增加。
  • 手动调整:收银员或管理员可以手动调整库存水平,用于核算报废、损坏、盘点差异或其他情况。

商品库存日志

商品库存水平的每次变动都记录在商品库存日志中,创建完整的审计记录:

原因 说明
sale 因顾客订单库存减少。关联到具体订单记录。
purchase 因库存采购库存增加。关联到具体库存条目。
adjustment 收银员或管理员手动调整库存。
waste 因报废、损坏或核销库存减少。
return 因顾客退货或订单取消库存增加。

每条日志记录变动量(正数为增加,负数为减少)、变动后的新库存水平、操作者和可选的原因说明。

商品分类

商品通过自由文本字段按分类分组。常见分类包括:

  • 饮料(汽水、矿泉水、功能饮料)
  • 热饮(咖啡、茶、热巧克力)
  • 零食(薯片、糖果、巧克力棒)
  • 食品(三明治、卷饼、热餐)
  • 配件(耳机、U盘、鼠标垫)

分类在订单界面中用于筛选。收银员可以在分类间快速切换找到所需商品。分类也用于销售报表中的分组。

没有单独的分类管理界面。分类在您为商品分配分类名称时隐式创建。要重命名分类,更新使用旧名称的所有商品的分类字段。

创建商品

向目录添加新商品:

  1. 从侧边栏导航到商品页面。
  2. 点击工具栏中的添加商品按钮。
  3. 输入名称(必须唯一)。
  4. 选择或输入分类
  5. 选择计量单位
  6. 设置售价(向顾客收取的金额,以货币最小单位计)。
  7. 设置增值税率(小数形式,如 0.08 表示 8%)。
  8. 可选输入条码用于扫描器支持。
  9. 如适用,设置初始库存水平
  10. 点击保存

编辑商品

从列表中选择商品以打开详情视图。可以更新任何字段,包括名称、价格、分类、增值税率、库存水平和启用状态。更改立即生效。更新价格后,新价格适用于所有后续订单。

历史订单不受价格变更影响。每个订单项目存储销售时的 unit_price 作为快照。

与订单的集成

当收银员创建订单并添加商品时:

  1. 商品当前的售价和增值税率作为快照复制到订单项目。
  2. 行总额计算为 unit_price * qty
  3. 订单完成后,商品库存按订购数量减少。
  4. 创建 reason = 'sale' 的库存日志条目,关联到订单。

如果订单后来被取消或退款,可通过退货库存日志条目恢复库存。