用途
Odoo EDI Connector 用于在 Odoo 中实施 EDI(Electronic Data Interchange,电子数据交换),实现 B2B 单据的自动交换,包括采购订单、发票与 ASN(提前发货通知)。该技能帮助把 EDI 交易(ANSI X12 或 EDIFACT)映射到 Odoo 业务对象,配置贸易伙伴,并自动化入站与出站文档流。
主要能力
- 提供 EDI 交易集与 Odoo 对象的映射关系。
- 给出 EDI 段与 Odoo 字段之间的字段映射表。
- 提供用于解析入站 EDI 文件并创建 Odoo 记录的 Python 代码示例。
- 覆盖贸易伙伴配置与入站/出站文档流程自动化的实施引导。
EDI 与 Odoo 对象映射
- 850 Purchase Order → sale.order(入站客户 PO)
- 855 PO Acknowledgment → 确认邮件 / SO confirmation
- 856 ASN(Advance Ship Notice)→ stock.picking(delivery order)
- 810 Invoice → account.move(customer invoice)
- 846 Inventory Inquiry → product.product stock levels
- 997 Functional Acknowledgment → 自动回执确认
使用方式
- 激活:提及 @odoo-edi-connector,并指定 EDI 交易集与贸易伙伴。
- 映射:获取 EDI 段与 Odoo 字段之间的完整字段映射表。
- 自动化:获取用于解析入站 EDI 文件并创建 Odoo 记录的 Python 代码。
资料给出的 Python 示例使用 pyx12 与 xmlrpc.client,通过环境变量读取 ODOO_URL、ODOO_DB、ODOO_API_KEY、ODOO_UID,解析 X12 850 采购订单并创建 Odoo 销售订单;示例中包含幂等性检查(用 client_order_ref 查询是否已存在同一 PO 号)、从 N1 段提取买方伙伴名称并在 res.partner 中按名称查找、从 PO1 段提取 SKU/数量/单价并在 product.product 中按 default_code 匹配,最后创建 sale.order。另一示例展示如何生成 EDI 997 功能确认报文。
示例命令与依赖:pip install pyx12。
适用场景
- 零售伙伴要求通过 EDI 850(采购订单)与你开展业务。
- 货物发运时需要发送 EDI 856(ASN)。
- 从 Odoo 已确认交货自动生成 EDI 810(发票)。
- 为新贸易伙伴把 EDI 字段映射到 Odoo 字段。
最佳实践
- 处理前将每一笔原始 EDI 报文存入审计日志表。
- 收到报文后 24 小时内始终发送 997 功能确认。
- 上线前与贸易伙伴协商测试周期,使用测试 ISA 限定符 T。
- 不要在 Web 请求中同步处理 EDI 文件,应将其排队进行异步处理。
- 不要硬编码贸易伙伴限定符,应按伙伴存储在配置表中。
限制
仅在任务明确匹配上述范围时使用此技能。不要将输出视为特定环境验证、测试或专家评审的替代。如果缺少必要的输入、权限、安全边界或成功标准,应停止并请求澄清。资料未提供关于收费、价格或平台支持的更多信息。