🧾 销售点 POS
开班收银、多种支付与关班对账
- 模块概述
- POS 适用场景
- POS 会话状态流转
- POS 订单状态
- 第一章:POS 系统配置
- 1.1 创建 POS 门店
- 1.2 配置支付方式
- 1.3 商品与价格配置
- 1.4 收据配置
- 1.5 员工登录配置(需安装 pos_hr)
- 1.6 硬件设备配置
- 第二章:日常收银操作
- 2.1 开班(开始新会话)
- 2.2 商品录入
- 2.3 收款流程
- 2.4 开具发票
- 2.5 退货处理
- 第三章:POS 高级功能
- 3.1 会员积分与折扣卡(pos_loyalty)
- 3.2 餐厅模式(pos_restaurant)
- 3.3 稍后发货(ship_later)
- 3.4 按重量销售
- 第四章:关班与对账
- 4.1 关班流程
- 4.2 关班报告
- 4.3 查看 POS 历史订单
- 第五章:POS 报告
- 5.1 销售报告
- 5.2 库存影响
- 附录:常见问题
- Q1:POS 网络断线怎么办?
- Q2:找不到产品?
- Q3:如何让不同员工有不同权限?
- 附录:关键字段速查
Odoo 19 企业版 销售点(POS)操作手册
适用版本:Odoo 19 Enterprise
涉及模块:point_of_sale(POS基础)+pos_restaurant(餐厅模式)+pos_hr(员工登录)+pos_loyalty(会员积分)
主角:收银员小红、门店主管陈经理、顾客张先生
贯穿场景:POS配置 → 开班 → 商品销售 → 多种支付 → 退货 → 关班对账
模块概述
POS 适用场景
Odoo POS 适用于:
├── 零售门店 ← 标准收银(本手册主要场景)
├── 餐饮/咖啡店 ← 需开启 module_pos_restaurant
├── 电商线下提货点 ← 与在线商城打通
└── 服务门店 ← 美容/修理等服务类结账
POS 会话状态流转
| 状态值 | 说明 |
|---|---|
opening_control |
开班控制:清点启动现金 |
opened |
营业中:正在处理订单 |
closing_control |
关班控制:清点实收现金 |
closed |
已关闭并过账:会计分录已生成 |
POS 订单状态
| 状态值 | 说明 |
|---|---|
draft |
新建(前端草稿) |
paid |
已付款(顾客完成支付) |
done |
已过账(关班时统一处理) |
cancel |
已取消 |
第一章:POS 系统配置
1.1 创建 POS 门店
操作路径:销售点 → 配置 → 销售点 → 新建
门店名称:明星科技上海展厅收银台
销售日记账:POS日记账
公司:明星科技有限公司
1.2 配置支付方式
操作路径:销售点配置 → "支付"选项卡
可用支付方式(至少选一种):
☑ 现金
☑ 银行卡(刷卡机)
☑ 微信支付(需配置支付服务商)
☑ 支付宝(需配置支付服务商)
代码字段:
payment_method_ids(Many2many)
快速支付设置(use_fast_payment = True):
选择"快速支付方式"(如:常用面值:¥10、¥20、¥50、¥100),在收银界面可一键选择金额完成收款。
1.3 商品与价格配置
价格表:
○ 关闭(固定售价)
● 开启价格表(use_pricelist=True) ← 支持会员价/批量价
允许折扣:☑(manual_discount=True,收银员可对行打折)
限制价格修改:☑(restrict_price_control=True,仅主管可改价)
1.4 收据配置
页眉:
明星科技展厅
地址:上海市松江区XX路XX号
电话:021-XXXXXXXX
页脚:
感谢光临!如有质量问题请拨打服务热线 400-XXX-XXXX
自动打印收据:☑(iface_print_auto=True)
1.5 员工登录配置(需安装 pos_hr)
开启员工登录:☑(module_pos_hr=True)
登录方式:PIN码 / 工卡条码
好处:记录每笔订单的收银员,便于绩效统计
1.6 硬件设备配置
| 设备 | 配置字段 | 说明 |
|---|---|---|
| 钱箱 | iface_cashdrawer |
收款后自动弹开 |
| 打印机 | iface_print_via_proxy |
通过 IoT Box 连接热敏打印机 |
| 条码扫描枪 | iface_scan_via_proxy |
扫描商品条码 |
| 电子秤 | iface_electronic_scale |
按重量计价商品 |
| 大触摸屏 | iface_big_scrollbars |
工业触摸屏使用大滚动条 |
第二章:日常收银操作
2.1 开班(开始新会话)
操作路径:销售点 → 选择门店 → "打开"按钮
2.1.1 清点启动现金
系统显示:启动现金清点
理论余额(上次关班结余):¥500
实际清点:¥500(收银员小红清点后确认)
差异:¥0
→ 点击"开始营业"
系统进入 POS 收银界面(浏览器全屏模式)。
2.2 商品录入
POS 收银界面布局:
┌─────────────────────────────────────────────┐
│ [商品分类列表] [收银员:小红] │
├──────────────────────┬──────────────────────┤
│ │ 订单摘要 │
│ 商品展示区 │ ─────────────────── │
│ (图片+价格+名称) │ MS-2000-A ¥6,500 │
│ │ 安装调试服务 ¥2,500 │
│ │ ─────────────────── │
│ │ 小计:¥9,000 │
│ │ 折扣(10%):-¥900 │
│ │ ─────────────────── │
│ │ 合计:¥8,100 │
│ │ [收款] │
└──────────────────────┴──────────────────────┘
录入方式:
| 方式 | 操作 |
|---|---|
| 点击商品图标 | 直接点击商品卡片 |
| 扫描条码 | 扫描商品条码自动加入订单 |
| 手动输入 | 搜索栏输入产品名称/编号 |
| 按重量录入 | 连接电子秤,自动读取重量 |
2.3 收款流程
订单确认后,点击"收款"按钮:
应收金额:¥8,100
选择支付方式:
现金:¥10,000(顾客给的)
找零:¥1,900(系统自动计算)
点击"验证"完成收款
组合支付(拆分支付):
应收:¥8,100
微信支付:¥5,000
现金:¥3,100
两种方式分别录入,系统合计验证
2.4 开具发票
顾客需要发票时,在订单完成后(或收款前)点击"发票"按钮:
客户:苏州宏达自动化设备有限公司
发票类型:增值税普通发票 / 专用发票
自动创建 Odoo 会计发票(out_invoice),可从后台打印或发送邮件
2.5 退货处理
操作路径:POS 后台 → 订单 → 找到原始订单 → "退款"
原始订单:POS/2025/00234
退货产品:MS-2000-A 传感器 1件
退款原因:产品颜色与需求不符
退款方式:原路退回(微信支付原路退)
→ 系统创建退款订单(负数),库存自动回补
第三章:POS 高级功能
3.1 会员积分与折扣卡(pos_loyalty)
前提:配置忠诚度计划
操作路径:销售点 → 产品 → 折扣与忠诚度
忠诚度计划:明星科技会员积分
奖励规则:
每消费 ¥100 积 10 积分
兑换规则:
100 积分 = ¥10 优惠券
收银操作:
输入顾客手机号 → 系统显示可用积分
顾客选择是否兑换 → 自动抵扣金额
3.2 餐厅模式(pos_restaurant)
适用场景:咖啡厅、餐厅、展示区茶水服务
开启方式:配置 → module_pos_restaurant = True
餐厅模式新增功能:
- 桌位管理:楼层图,显示各桌状态(空闲/就坐/待结账)
- 分单:同一桌不同顾客分开结账
- 厨房打印:下单后自动向厨房打印出单(KDS)
- 小费:支持小费输入
操作流程:
选择桌号(如A区05桌)→ 点单(扫码/手动)
→ 发送厨房 → 上菜 → 结账
3.3 稍后发货(ship_later)
展厅下单但产品需要从仓库发货:
顾客在展厅选购传感器,现场无货
→ 开启"稍后发货"选项
→ 填写收货地址
→ POS订单付款后,自动创建销售订单和发货任务
→ 仓库从库存发货
3.4 按重量销售
配置:POS → 商品 → 某产品 → 勾选"按重量销售"
操作:
收银员将商品放上电子秤 → 系统自动读取重量
→ 单价 × 重量 = 应收金额
→ 完成收款
第四章:关班与对账
4.1 关班流程
操作路径:POS 界面右上角 → 关闭会话
第一步:清点实收现金
系统显示理论现金余额:
启动现金: ¥ 500
本日现金收款: ¥12,340
现金退款: -¥ 800
理论余额: ¥12,040
收银员小红实际清点:¥12,020
差异: -¥20(找零失误或假币等)
备注:找零计算差错20元,已记录
第二步:确认关班
点击"关闭"→ 系统执行:
1. 所有订单状态从 paid → done
2. 自动生成财务日记账分录:
借:现金(或银行) ¥12,020
借:现金差异 ¥20
贷:POS销售收入 ¥12,040
3. 生成关班报告
4.2 关班报告
自动生成的关班报告内容:
2025年3月20日 上海展厅 收银员:小红 会话:#00234
─────────────────────────────────
订单汇总
总订单数: 47笔
总销售额: ¥52,840
退款: -¥3,200
净销售额: ¥49,640
支付方式明细
现金: ¥12,020(理论¥12,040,差异-¥20)
微信支付: ¥24,800
支付宝: ¥8,120
银行卡: ¥4,700
热销产品 TOP5
1. MS-2000-A传感器 12件 ¥78,000
2. 安装调试服务 8次 ¥20,000
...
─────────────────────────────────
4.3 查看 POS 历史订单
操作路径:销售点 → 订单 → 订单
按日期、收银员、产品筛选查询历史订单,可重新打印收据。
第五章:POS 报告
5.1 销售报告
操作路径:销售点 → 报告 → 销售
分析维度:
按产品:查看各产品销量和收入
按收银员:员工绩效统计
按支付方式:现金/移动支付占比
按时段:分析高峰/低谷时段
按日期:日/周/月销售趋势
5.2 库存影响
POS 销售直接扣减库存:
- 每笔 POS 订单完成,对应库存出库(来源库位=POS所在仓库的货架,目标=顾客库位)
- 关班时批量处理所有库存移动
- 退货时库存自动回补
附录:常见问题
Q1:POS 网络断线怎么办?
Odoo POS 支持离线模式:
- 断网后继续使用缓存数据(最近加载的产品和价格)
- 本地保存订单
- 网络恢复后自动同步到服务器
Q2:找不到产品?
- 检查产品是否设置为"在POS中销售"(产品表单 → 销售 → POS选项卡 → ☑在销售点中销售)
- 检查产品所属分类是否在POS可用分类中
Q3:如何让不同员工有不同权限?
- POS 管理员:可修改价格、开折扣、访问报表
- 收银员:只能按定价收款
- 通过"限制价格修改"和 pos_hr 员工角色控制
附录:关键字段速查
| 字段 | 模型 | 说明 |
|---|---|---|
state |
pos.session | opening_control/opened/closing_control/closed |
state |
pos.order | draft/paid/done/cancel |
payment_method_ids |
pos.config | 可用支付方式 |
cash_control |
pos.config | 是否开启现金控制 |
opening_notes |
pos.session | 开班备注 |
closing_notes |
pos.session | 关班备注 |
amount_total |
pos.order | 订单总金额 |
employee_id |
pos.order | 收银员(需pos_hr) |
文档版本:Odoo 19 Enterprise | 更新日期:2026-03-04