EDI X12 855 采购订单确认
一、前言
上一篇文章中,我们讲了采购订单的结构及业务字段的解析,回顾来看,说的并没达到我的预期,特别是结构这一块,我对层级及校验说的不够详细,有些东西也没有说,当时写的时候就发现,其实不好说明,所以给大家分享了个地址,本篇,我着重介绍一下采购订单的业务回复X12 855
二、业务含义
EDI 855是采购订单确认。卖方使用它来确认收到买方的采购订单(EDI 850),无需打电话或传真确认。855还可以传达采购订单是被接受还是被拒绝,或者卖方对接受的订单进行了哪些更改。因此,像许多确认交易一样,855可以指示订单被接受、拒绝或接受,并有如下变化:
- 接受
- 拒绝
- 接受更改
- 接受所有行项目,更改运费或现金条款(即,仅主数据更改)
- 更改或拒绝一个或多个行项目,没有主数据更改
- 主数据更改,以及一个或多个行项目更改或拒绝
855也可用于直接向买方通知来自卖方的预先安排的商品装运。一旦产品发货,卖方通常会发送810发票。在某些情况下,必须在装运前提供856提前装运通知。
三、报文解释
报文示例
ST*855*010900987 BAK*00*AD*11200036533*20200331 PO1*27257497*10**183.79959****SE*90NB0IM0-R00122 ACK*IA*10*EA*139*20200427 SE*5*010900987
同样的,本次就不对Interchange Control、Functional Group Heade、Transaction Set这三个进行解释了
BAK Segment(Beginning Segment for Purchase Order Acknowledgment):这个是855的开始表示段落。这里面包含订单号码以及时间
BAK01:一般是00,代表首次确认,当然有首次就有二次,就是02了,但是不可能没完没了的确认,有一个约定,比如只能确认两次。
BAK02:确认的类型
AC:确认,订单内容有更改
AD:确认,订单内容无更改
AE:确认,订单异常
AH:确认,保存该订单状态
AK:确认,订单内容有更改
AP:确认,订单商品追加
AT:接受该订单内容,这个也是用的最多的
BAK03:订单号
BAK04:对应的采购订单日期
BAK05:采购订单编号
BAK08:对应850(采购订单)的客户编号
BAK09:采购订单确认(即855)的回复时间
TD5(Carrier Details (Routing Sequence/Transit Time)):货代的发货信息
N1:发送方接收方及货代的名称等信息
N101:
BT:付款人
SF:发送方
ST:接收方
N102:对N101的补充,比如N101=BT,N102的值就改放付款人的名字或者付款企业的名称
N103:付款人/发送方/接收方的联系方式比如N103=TE那么N104就是付款人的电话
校验规则:R0203,R0304
N3:地址信息
N301:地址信息
N302:地址信息补充
N4:地理位置信息,这些都不是一成不变的,都可以自定义,以下是常用的
N401:城市
N402:省份
N403:邮编
PO1:订单回复信息
PO101:订单的行项目号
PO102:数量
PO103:单位代码,以下是一些定义 BX:Box,CA:Case,CT:Carton,EA:Each,FT:Foot,LB:Pound,PC:Piece, PK:Package,RE:Reel,RL:Roll
PO104:价格
PO105:单位代码 HP:Price per Hundred,PE:Price per Each,PF:Price Per Foot,PP:Price per Pound,TP:Price per Thousand
PO106/PO107:产品或者业务ID,比如P106=BP,PO107的值就是买方ID等
PO108/PO109,PO110/PO111,PO112/PO113,PO115/PO115:同上
PO3:附加订单行项目信息
PO304:价格
PO305:单位
PO306:数量
PO307:数量单位
PO308:相关附加信息的描述
PID:产品描述
PID01/PID02:PID01=F,PID02为产品描述信息
ACK:针对每一行的订单确认信息
ACK01:订单行项目的状态代码
ACK02:数量
ACK03:单位
ACK04/ACK05:确认的时间类型及时间,比如ACK04=002,ACK05就表示发货时间等
CTT Segment:业务信息汇总
CTT01:所以的行项目汇总数量,PO1的个数
CTT02:指定数据的汇总加和,比如订单数量汇总,比如订单重量汇总
写到这里,也算是把基本的写完了,希望B2B行业能在国内有个好发展,大家工作机会会多起来。接下来就是订单修改及订单修改回复了,希望对大家有用。
原文地址:https://www.cnblogs.com/rgzngf/p/12617611.html
- Python基础原理:FP-growth算法的构建
- MFC中如何画带实心箭头的直线
- 非域环境下使用证书设置数据库镜像
- velocity模板引擎学习(3)-异常处理
- Oracle Coherence应用部署到Jboss EAP 6.x 时 NoClassDefFoundError: sun/rmi/server/MarshalOutputStream 的解决办法
- 推荐Visual Studio 2010新功能-IntelliTrace(智能跟踪)
- 搭建consul 集群
- Windows更新清理工具 (winsxs 清理工具)
- Windows NLB搭配IIS的ARR搭建高可用环境
- hadoop: hbase1.0.1.1 伪分布安装
- InstallShield 脚本语言学习笔记
- C++服务器开发之笔记三
- 分布式服务注册和发现consul 简要介绍
- ZooKeeper 笔记(3) 实战应用之【统一配置管理】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 深入解析Underscore.js源码架构
- python正向连接后门
- setTimeout和setImmediate到底谁先执行,本文让你彻底理解Event Loop
- emlog全版本CSRF加用户xsser.me模块
- 从发布订阅模式入手读懂Node.js的EventEmitter源码
- 手写一个Promise/A+,完美通过官方872个测试用例
- 浅析白盒审计中的字符编码及SQL注入
- JS做类型检测到底有几种方法?看完本文就知道了!
- HDwiki时间延迟盲注及利用代码
- JS作用域和变量提升看这一篇就够了
- 不知道怎么提高代码复用性?看看这几种设计模式吧!
- 框架源码中用来提高扩展性的设计模式
- 不知道怎么提高代码质量?来看看这几种设计模式吧!
- 手写React的Fiber架构,深入理解其原理
- emlog后台作者权限SQL注入