跳至内容

Odoo 19 出站自动化:失败告警与人工重放台账

出站自动化:失败告警、幂等键与人工重放台账
2025年10月28日
Odoo 19 出站自动化:失败告警与人工重放台账

销售确认、库存完成、发票过账后触发的出站 Webhook/自动化,一旦静默失败就会丢单。Odoo 19 要用自动化动作或服务器动作写出站,并把请求体、响应码、耗时落到可查询台账;禁止 try/except: pass。本文说明台账字段、告警阈值、重放校验与财务类出站的人工闸门。

台账字段建议

至少记录:业务模型与 res_id、外部幂等键、请求摘要、响应码、响应摘要、重试次数、状态(pending/success/failed/replayed)、最后错误、操作人。可挂在专用模型,或结构化写入 mail.message(勿只写不可检索的自由文本)。

告警

连续失败 3 次或 15 分钟内失败 ≥5 次推送邮件/企业微信/Discuss。告警带单据链接、payload 摘要、上次成功时间。区分「网络超时」与「HTTP 200 但业务拒绝」——后者要解析响应体,不能当成功。

人工重放

重放按钮先校验幂等键,避免外部重复建单。每次重放记操作人、时间、结果。付款通知、开票类出站默认人工确认,不做无限自动重试。自动化上下文常用管理员:注意权限与真实用户审计差异。

常见坑

  • 超时当成功。
  • 重放改了 payload 却未改幂等键,外部仍拒收。
  • 在管理员上下文写入了业务员不可见的数据。

验收标准

  • 人为断外网能在约定时间内告警。
  • 重放成功后台账有操作人与时间。
  • 同一幂等键二次重放被拒绝或标记幂等成功。

出站台账的最小可用模型字段

若自建模型,建议字段:res_modelres_ididempotency_keyrequest_payloadresponse_coderesponse_bodystateretry_countlast_errorreplay_user_idreplay_time。列表视图默认过滤 failed;表单上放「重放」按钮(服务器动作)。 与自动化动作联动时,把台账 id 写回单据 chatter,方便业务人员从订单跳进失败记录。

出站失败若涉及客户承诺时效,告警同时抄送业务负责人,而不仅是运维频道。

重放权限与财务闸门

重放按钮只给集成运维组;财务类出站(付款通知、电子发票)另加「会计确认」字段,未确认禁止重放。 告警聚合:同一下游连续失败合并通知,避免刷屏。把台账 state 与业务单据状态对照: 业务已取消的出站应标记 skip 而不是无限重试。自动化动作调试时在预生产打开, 确认管理员上下文写入的消息对业务员可见性符合预期。

季度演练:断开下游,观察告警时效;恢复后按台账批量重放,核对幂等键无双单。

出站台账保留周期与个保要求对齐,过期归档而非直接物理删。

预生产勾选表需覆盖文章编号 317 全部验收点后再约生产窗口。

将文章编号 317 的配置变更记入发版说明,便于回滚对照。

将文章编号 317 的配置变更记入发版说明,便于回滚对照。

将文章编号 317 的配置变更记入发版说明,便于回滚对照。

将文章编号 317 的配置变更记入发版说明,便于回滚对照。

台账保留与审计

出站台账保留周期按个保与财务要求设定,过期归档。重放双人复核适用于付款类。 告警聚合防刷屏。业务取消的单据自动 skip 后续出站。预生产每月演练断网告警与批量重放, 核对幂等键。台账列表过滤 failed 作为集成运维日常首页。

中国Odoo网|对照 Odoo 19 企业版出站自动化实践:可告警、可检索、可重放,财务出站加人工闸门。

Odoo 19 出站自动化:失败告警与人工重放台账
2025年10月28日
存档