EDI X12 867:POS 销售、退货与产品流向报告

Published On: 2026年8月12日Categories: 帮助文档, 知识库Views: 23

© All rights reserved. • 西安知行软件有限公司 • 陕ICP备09022277号

在常见的采购业务中,供应商会接收 EDI 850 采购订单,再向采购方发送 EDI 856 发货通知和 EDI 810 发票。

但产品交给经销商或零售商后,品牌商还会关心 POS(Point of Sale,销售终端)环节产生的实际销售和退货数据,以及产品在渠道中的后续流向:

  • 产品最后卖给了谁?
  • 卖了多少?
  • 退了多少?
  • 产品是否在仓库、门店或其他地点之间转移?

这些信息可以通过 EDI X12 867 传递。销售、退货等业务数据通常来自 POS、ERP、订单系统、库存系统或经销商的其他业务系统,再通过 EDI 867 按照双方约定的格式,定期发送给品牌商或制造商。

一、EDI 867 是什么?

EDI X12 867 的全称是 Product Transfer and Resale Report,中文通常称为“产品转移与转售报告”。

它主要用来报告:

  • 产品从一个地点转移到另一个地点;
  • 经销商或零售商向终端客户销售产品;
  • 产品退货;
  • 实际需求超过可销售数量时产生的流失订单;
  • 与渠道返利、Ship and Debit 差价补偿有关的销售数据。

在常见的渠道销售业务中,867 通常由经销商、分销商或零售商发送给品牌商或制造商。

可以简单理解为:

EDI 850 告诉供应商“我要买什么”,EDI 867 告诉品牌商“这些产品后来卖到了哪里、卖了多少、退了多少”。

二、EDI 867 常见的使用场景

1. 上报 POS 终端销售数据

经销商或零售商从品牌商采购产品后,再通过门店、柜台或其他销售终端将产品卖给客户。相关交易通常先记录在 POS 系统中,包括销售时间、门店、商品、数量、金额和退货等信息。品牌商只看原始采购订单,无法了解这些实际销售结果。

经销商或零售商可以从 POS 系统提取相关数据,经过汇总和格式转换后定期发送 867,上报:

  • 终端客户或收货地点;
  • 销售日期;
  • 产品编号;
  • 销售数量和退货数量;
  • 计量单位和相关金额。

品牌商可以根据这些 POS 销售数据了解各地区、门店和客户的实际销售情况,并用于渠道分析、返利核算和补货预测。

2. Ship and Debit 差价补偿

这是 867 的典型应用之一。

例如,某产品的经销商采购价是 100 元。为了拿下指定客户,品牌商批准经销商按 80 元销售。经销商完成销售后,通过 867 上报客户、产品和实际销售数量。品牌商审核后,再补偿每件 20 元的差价。

在部分实施指南中,可以使用以下 PTD 段表示 Ship and Debit 销售:

PTD*SD~

这里的 SD 表示 Ship and Debit Sale。

需要注意:867 主要用于上报销售事实和数量,并不是价格调整单。如果需要修改价格或处理借记、贷记,应按照双方约定使用 810、812 等合适的报文。

3. 上报发货和退货数量

同一个报告周期内,可能同时存在发货、销售和退货数据。867 可以使用不同的数量代码分别上报,但发货数量不等同于终端销售数量,具体代码必须与实际业务含义一致。

例如,某交易伙伴的实施指南可能使用:

QTY*39*100*EA~
QTY*76*5*EA~
  • 39:Shipped Quantity,发货数量;
  • 76:Returns,退货数量;
  • 100  5:实际数量;
  • EA:计量单位,表示“件”。

这组数据表示发货 100 件、退货 5 件。如果双方约定退货数量可以在同一报告周期内从发货数量中扣减,业务系统可以计算出净数量为 95 件;否则应分别记录和处理,不能直接相减。

不同交易伙伴对数量代码的要求可能不同,实际项目必须以对方提供的 867 实施指南为准。

4. 上报产品转移

产品从一个仓库调拨到另一个仓库,或者从配送中心转移到门店时,也可以通过 867 上报:

  • 从哪里转出;
  • 转移到哪里;
  • 什么时候转移;
  • 转移了什么产品;
  • 转移了多少。

这样,品牌商不仅能看到最初的出货记录,也能了解产品在渠道中的后续流向。

5. 销售分析和补货预测

品牌商可以汇总不同经销商和门店发送的 867 数据,用于:

  • 查看不同地区的销售情况;
  • 找出畅销和滞销产品;
  • 预测采购和生产需求;
  • 核对销售、退货和库存数据;
  • 计算返利、佣金或销售奖励。

三、EDI 867 的基本结构

一份 867 通常包括三部分:

部分 主要内容 常见段
头部 报告编号、报告日期、交易双方 ST、BPT、DTM、REF、N1
明细 客户或地点、产品、数量、单位、金额 PTD、N1、QTY、LIN、UIT、AMT、PID、REF、DTM
汇总 明细数量、汇总金额、报文结束信息 CTT、AMT、SE

不同交易伙伴和 X12 版本的要求可能不同。哪些字段必填、使用什么代码、每个段可以出现几次,都要以交易伙伴提供的实施指南为准。

四、常见字段说明

ST:报文开始

ST*867*0001~
  • 867:表示这是一份产品转移与转售报告;
  • 0001:交易集控制号,需要与 SE 段中的控制号保持一致。

BPT:报告基本信息

BPT 是 867 的头部核心段,通常用来说明:

  • 这是原始报告、更正报告还是替换报告;
  • 报告编号;
  • 报告日期;
  • 报告类型。

DTM:日期

DTM 可以表示报告开始日期、结束日期、销售日期、发货日期或退货日期。

DTM 中的日期代码决定了这个日期的具体含义,因此不能只看日期值。实际使用什么代码,应以交易伙伴实施指南为准。

N1/N3/N4:公司、客户和地址

这些段用来标识业务中的参与方和地址,例如:

  • 报告发送方;
  • 品牌商或供应商;
  • 经销商或分销商;
  • 终端客户;
  • 收货方;
  • 门店或仓库。

PTD:一组转移或销售明细

PTD 表示一组产品转移或转售数据的开始。一个 867 中可以有多个 PTD 循环,用来报告不同客户、地点或业务类型的数据。

QTY:数量

QTY 用来传递发货、销售、退货或转移数量。

  • QTY01:说明这是什么数量;
  • QTY02:实际数量;
  • QTY03:计量单位,部分实施指南会使用。

同一个 PTD 循环中可以出现多组 QTY,用来上报不同产品或不同类型的数量。

LIN:产品编号

LIN 用来标识具体产品,可以传递:

  • 制造商产品编号;
  • 供应商产品编号;
  • 买方产品编号;
  • UPC、EAN 或 GTIN。

双方需要提前确认使用哪一种产品编号作为匹配依据,否则可能出现产品无法识别、销售数据无法入账的问题。

UIT:单位和单价

UIT 可以传递计量单位和单价等信息。

例如,经销商按“箱”销售,但品牌商按“件”管理时,双方必须提前确认一箱有多少件,避免销售数量或返利金额计算错误。

AMT:金额

AMT 可以传递销售金额或汇总金额。金额是否必填、是否含税、使用什么币种,都要以交易伙伴的要求为准。

REF:参考编号

REF 可以传递:

  • 采购订单号;
  • 发票号;
  • 经销商销售单号;
  • 合同或协议号;
  • 返利授权号;
  • 门店或项目编号。

在 Ship and Debit 业务中,授权号非常重要。品牌商可以用它确认这笔销售是否符合已经批准的特价政策。

PID:产品描述

PID 可以补充产品名称、规格或描述。系统通常仍应使用 LIN 中的产品编号进行匹配,PID 更适合人工查看和排查问题。

CTT 和 SE:汇总与结束

  • CTT:通常用于记录明细数量;
  • SE:表示交易集结束,并记录段数量和交易集控制号。

SE 中的控制号必须与 ST 一致,段数量也必须正确。

五、简化报文示例

下面的示例以 Ship and Debit 业务为例,上报经销商的发货和退货数量,用于帮助理解 867 的基本结构,并非通用的 POS 销售数量示例。该示例不能直接用于实际项目,真实项目必须按照交易伙伴的 X12 版本和实施指南调整。

ST*867*0001~
BPT*00*RPT20260810*20260810*SS~
N1*SU*BRAND COMPANY*92*SUP001~
PTD*SD~
N1*ST*END CUSTOMER*92*CUST001~
QTY*39*100*EA~
LIN**VP*ITEM001*UP*123456789012~
UIT*EA~
QTY*76*5*EA~
LIN**VP*ITEM001*UP*123456789012~
UIT*EA~
CTT*2~
SE*13*0001~

这份示例表示:

  • 报告编号是 RPT20260810
  • 报告日期是 2026 年 8 月 10 日;
  • 业务类型是 Ship and Debit;
  • 终端客户编号是 CUST001
  • 产品编号是 ITEM001
  • 发货 100 件,退货 5 件;
  • 如果双方约定退货数量可以在同一报告周期内从发货数量中扣减,业务系统可以计算出净数量为 95 件;否则应分别处理。

示例中的 00SSSD3976SUST92VP  UP 都是 X12 代码。实际项目不能直接照搬,必须先确认交易伙伴是否接受这些代码。

六、实施 EDI 867 前需要确认什么?

1. 多久发送一次?

需要先确认是每笔销售发送,还是按日、周或月汇总发送。

2. 按什么范围汇总?

需要确认是按客户、门店、仓库、地区还是产品汇总。

3. 销售和退货怎么表示?

退货可能使用独立的数量代码、负数数量或单独的 PTD 类型。必须按交易伙伴的要求处理。

4. 使用哪一种产品编号?

双方要确认使用供应商料号、客户料号还是 UPC/GTIN,并提前建立产品编号对应关系。

5. 计量单位是否一致?

需要确认 EA(件)、CA(箱)、PK(包)等单位,以及不同包装之间如何换算。

6. 如何防止重复处理?

系统可以根据报告编号、销售单号、日期、客户和产品等信息检查重复数据,避免重复计算销售数量或返利。

7. 哪些数据需要校验?

建议至少检查:

  • 客户和产品编号是否存在;
  • 销售和退货数量是否合理;
  • 日期是否在报告周期内;
  • Ship and Debit 授权是否有效;
  • 单位、价格和币种是否符合约定;
  • 汇总数据是否与明细一致。

七、EDI 867 与其他常见报文的区别

报文 主要用途 与 867 的区别
850 采购订单 说明需要采购什么,不是终端销售报告
846 库存查询或通知 重点报告库存,867 重点报告产品转移和销售
856 提前发货通知 说明一批货如何发运,867 说明产品后续如何转移或销售
810 发票 用于开票和结算,867 主要提供销售或转移数据
812 借记或贷记调整 用于财务调整,867 不能直接代替价格调整报文

八、总结

EDI X12 867 用来连接“上游出货”和“下游 POS 实际销售”。POS 系统记录门店或经销商发生的销售与退货,EDI 867 负责将这些数据按照约定格式传递给品牌商。品牌商由此可以了解产品卖到了哪里、卖了多少、退了多少,以及产品在不同地点之间如何转移。

实施 867 时,最重要的不是简单完成格式转换,而是先把业务规则说清楚:

  • 谁发送,谁接收;
  • 多久发送一次;
  • 按什么范围汇总;
  • 销售和退货如何表示;
  • 使用哪一种产品编号和计量单位;
  • Ship and Debit 授权如何匹配。

这些规则明确后,867 才能稳定进入自动化处理流程。

为什么选择

知行之桥®?​

根据企业规模与集成需求,提供从本地部署到云端托管的灵活选择

可视化 EDI 工作流

基于拖拽式图形化设计器,零代码构建完整 EDI 业务流程,满足复杂供应链自动化场景。

Odette & Drummond 认证

通过 Odette(OFTP) 与 Drummond(AS2) 权威认证,确保与主机厂安全合规、高可靠的数据交换。

多系统集成能力

提供数据库、REST/SOAP、FTP/SFTP 等标准化接口,实现 ERP、WMS、MES 等系统的双向数据自动同步。

数据映射格式转换

内置可视化 Mapping 编辑器,零代码实现 EDI 报文与企业内部数据格式(XML/JSON…)的映射转换及复杂规则处理。

实时监控预警机制

全流程可视化监控报文状态,支持邮件、钉钉、企业微信自动预警,保障 JIT 交付的稳定性与及时性。

多工厂支持

支持集团级多组织、多工厂架构,实现数据隔离与权限管控,统一平台集中运维,满足大型制造企业多地点协同需求。