默认条码命名规则

条码命名 定义了条码如何被识别和分类。当扫描条码时,系统会关联到第一个匹配模式的规则。模式语法在 Odoo 的命名列表中使用正则表达式描述,若条码的前缀和/或长度符合规则定义,Odoo 即可成功读取条码。

例如,在 销售 > 销售点 <../../../sales/point_of_sale> 站点,使用欧洲商品编码(EAN)格式的产品重量条码,其以 [21] 开头并包含五位数字表示重量,用于称量商品并生成包含重量和价格的条码。[21] 与五位重量数字构成的条码模式用于识别该条码,可自行定制以确保 Odoo 正确解释业务所需的所有条码。

::: note 注意
条码也常与 Odoo 的 库存条码 应用一起使用。 :::

Odoo 条码 支持 EAN(欧洲商品编码)UPC(通用商品码)GS1 <gs1_nomenclature> 格式。本文仅聚焦于 默认命名规则列表 <barcode/operations/default-nomenclature-list>,该列表使用 UPC(通用商品码)EAN(欧洲商品编码) 编码。

::: important 重要
要在整个供应链中使用 UPCEAN 条码唯一标识产品,必须 从 GS1 购买获取条码)。

在 Odoo 中可以定义自定义条码模式以识别公司专属条码。如果仅在公司内部使用(如 示例 <barcode/operations/product-weight> 中的条码采用 EAN 格式),则不必购买条码。 :::

使用默认命名规则,请进入 库存应用 --> 配置 --> 设置。在 条码 部分,勾选 条码扫描器 复选框,即会在数据库中安装 条码 应用。

随后,在 条码命名 字段中确保选择 默认命名,然后点击 保存

{.align-center}

安装 条码 模块并选中 默认命名 后,UPCEAN 条码(详见 默认命名列表 <barcode/operations/default-nomenclature-list>)即可使用,系统会自动处理 UPC/EAN 的相互转换。

为了说明条码命名如何在 Odoo 中识别产品,下面的示例使用 EAN 格式的重量条码,使 销售点 <../../../sales/point_of_sale> 能自动打印条码并根据商品重量计算价格。

设置称重商品的条码规则如下:

规则名称条码模式Odoo 中对应字段
重量条码(3 位小数)(21)\....{NNDDD}产品表单的 Barcode 字段

::: example 以条码 2112345000008 为例:

  • 21:标识该条码为称重商品的前缀。
  • 12345:五位数字(表中用 [.....] 表示),标识具体商品。
  • 00000:五位数字(表中用 {NNDDD} 表示),表示商品重量。重量值必须写成 5 位,前两位为整数位,后三位为小数位。例如,13.5 克在 {NNDDD} 格式下写作 13500
  • 8:用于 211234500000校验位校验位计算器)。

上述组成一个 13 位的 EAN 条码。 :::

Pasta Bolognese 配置条码时,在产品表单的 Barcode 字段填写 2112345000008(称重商品的 EAN 条码),并将计量单位设为 kg

{.align-center}

当顾客点的一碗意面重量为 1.5 kg 时,系统生成新的条码 211234501500(重量部分为 1500),其校验位为 2,完整条码为 2112345015002

{.align-center}

验证条码是否可正常扫描:进入 条码应用 --> 操作,选择任意操作类型(如 收货),点击 新建 创建草稿库存移动,扫描条码 2112345015002,若出现对应产品,则条码配置成功。

{.align-center}

::: important 重要
对于 Odoo 默认列表中未包含的 UPCEAN 格式,需要手动添加新规则,否则系统无法读取未知字段的条码。

创建新规则后,Odoo 字段不会自动填充相应信息,需要 自定义开发联系开发者)实现该功能。 :::

创建规则的步骤:

  1. 启用 开发者模式
  2. 前往 库存应用 --> 配置 --> 条码命名,选择 默认命名

在此页面,可配置以下可选字段:

  • UPC/EAN 转换:决定在匹配其他编码规则时是否自动转换 UPC/EAN 条码。选项包括 Always(默认)、NeverEAN-13 to UPC-AUPC-A to EAN-13
  • 是否 GS1 命名:确保 勾选此复选框,因为 默认命名 使用 UPCEAN 编码,而非 GS1 编码。

{.align-center}

默认命名 页面底部点击 添加行,弹出 创建规则 窗口。

  • 规则名称:内部用于标识该条码代表的含义。
  • 序列:规则的优先级,数值越小优先级越高。
  • 类型:系统能识别的信息分类,如 PackageLotLocationCoupon 等。
  • 编码:条码使用的编码类型,仅当条码采用该编码时规则生效。可选 EAN-13EAN-8UPC-AGS1-28
  • 条码模式:系统识别字母或数字序列的方式,常用 [.] 表示任意字符数,[N] 为整数位,[D] 为小数位。

::: example [1\...] 表示以 1 开头的任意 4 位数字。
[NNDD] 表示两位整数加两位小数,例如 14.25 写作 1425。 :::

填写完毕后,可点击 保存并新建 继续创建其他规则,或 保存并关闭 返回规则列表。

以下表格列出了 Odoo 的 默认命名 规则,条码模式采用正则表达式书写。

规则名称类型编码条码模式
价格条码(2 位小数)定价商品EAN-1323.….{NNNDD}
折扣条码折扣商品任意22{NN}
重量条码(3 位小数)称重商品EAN-1321.….{NNDDD}
客户条码客户任意042
优惠券与礼品卡条码优惠券任意043|044
收银员条码收银员任意041
位置条码位置任意414
包裹条码包裹任意PACK
批次条码批次任意10
磁条信用卡信用卡任意%.*
产品条码单品任意.*

::: note 注意
条码模式 包含 .* 时,表示可以包含任意数量或类型的字符。 :::

::: seealso gs1_nomenclature :::