本文着重讲述Kroger EDI项目中,Kroger发给供应商的X12 850 报文(采购订单)。
在此前的文章 如何读懂X12 中,我们对X12已经做了详细的解读,接下来让我们以 Kroger EDI项目中对X12 850采购订单的处理为例深入了解X12 850采购订单。
下图为Kroger 通过EDI发给供应商的原始的850 X12格式 及经过知行之桥 EDI 系统转换后的XML格式的结果对比图:
Kroger X12 850 示例订单详解
Kroger通过EDI给供应商发送 标准的 X12 850 采购订单订单,示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
ISA*00* *00* *08*925485US00 *ZZ*KELLUS *210727*2300*:*00501*100000005*0*T*>~ GS*PO*925485US00*KELLUS*20210727*2300*100000005*X*005010~ ST*850*0046~ -850:采购订单 -0046:交易集控制号 BEG*00*NE*900000012622**20210804~ -00:原始订单 -NE:采购订单类型代码 -900000012622:采购订单编号 -20210804:采购订单创建日期 PER*BD*Buyer Name*TE*933-516-8148~ -BD:买方联系人编码 -Buyer Name:买方联系人名称 -TE:买方联系人电话限定符 -933-516-8148:买方联系人电话 FOB*PP~ -PP:卖方预付运费 ITD*05*15*0.1234**7**10*****NET 10~ -05:付款条款类型代码:折扣不适用编码 -15:货物接收编码 -0.1234:条款折扣百分比 -7:折扣天数 -10:条款净天数 -NET 10:发票总额到期前的天数 DTM*064*20210816~ -064:最早交付时间限定符 -20210816:最早交付时间 DTM*063*20210816~ -063:最晚交付时间限定符 -20210816:最晚交付时间 TD5****T~ -T:最佳运输方式(托运人选项) N9*PO*900000012622~ -PO:采购订单编号限定符 -900000012622:采购订单编号 MTX**bf79ca68-a52e-4542-b6a4-411a2b823711 1. SEND INVOICE TO ATTN ACCOUNTS PAYABLE.~ -bf79ca68-a52e-4542-b6a4-411a2b823711 1. SEND INVOICE TO ATTN ACCOUNTS PAYABLE.:描述用文本数据 MTX**2. NOTIFY OUR TRAFFIC MGR IF UNABLE TO MAKE DELIVERY. 3. SHOW PO. NO. ON INVOI~ -2. NOTIFY OUR TRAFFIC MGR IF UNABLE TO MAKE DELIVERY. 3. SHOW PO. NO. ON INVOI:描述用文本数据 MTX**CE AND ALL SHIPPING DOCUMENTS. 4. DELIVER BY APPOINTMENTS ONLY, CALL AT LEAST 2~ -CE AND ALL SHIPPING DOCUMENTS. 4. DELIVER BY APPOINTMENTS ONLY, CALL AT LEAST 2:描述用文本数据 MTX**4 HOURS IN ADVANCE.5. SUBJECT TO STANDARD KROGER P.O. CONDITIONS. ADDRESS CHAN~ -4 HOURS IN ADVANCE.5. SUBJECT TO STANDARD KROGER P.O. CONDITIONS. ADDRESS CHAN:描述用文本数据 MTX**GES - PLEASE SUBMIT VIA SUPPLIER HUB REPAYMENT REQUESTS AND/OR PAST DUE INVOICES~ -GES - PLEASE SUBMIT VIA SUPPLIER HUB REPAYMENT REQUESTS AND/OR PAST DUE INVOICES:描述用文本数据 MTX**- PLEASE VISIT LAVANTE PORTAL~ -- PLEASE VISIT LAVANTE PORTAL:描述用文本数据 N1*ST*DC90797 KROGER - Monroe*9*1178579681001~ -ST:收货方限定符 -DC90797 KROGER - Monroe:收货方名称 -9:收货方邓白氏编码限定符 -1178579681001:收货方邓白氏编码 N3*6266 Hamilton Lebanon Rd~ -6266 Hamilton Lebanon Rd:收货方地址 N4*Monroe*OH*45044*US~ -Monroe:收货方所在城市名称 -OH:收货方所在州或省编码 -45044:收货方邮政编码 -US:收货方国家编码 N1*BT**9*1178579680000~ -BT:付款方限定符 -9:付款方邓白氏编码限定符 -1178579680000:付款方邓白氏编码 N3*KROGER (KRG LLC) - RASC*P.O. BOX 305103~ -KROGER (KRG LLC) - RASC:付款方地址 -P.O. BOX 305103:付款方地址 N4*Nashville*TN*37230-5103*US~ -Nashville:付款方所在城市名称 -TN:付款方所在州或省编码 -37230-5103:付款方邮政编码 -US:付款方国家编码 N1*VN*Supplier Name - Live*92*425406~ -VN:供应商限定符 -Supplier Name - Live:供应商名称 -92:由买方或买方代理人指定的供应商限定符 -425406:供应商编号 PO1**24*EA*2.23**UP*073731004199*PI*100281448~ -24:数量 -EA:数量单位 -2.23:单价 -UP:订单识别编码限定符 -073731004199:订单识别编码 -PI:买方订单编码限定符 -100281448:买方订单编码 PID*F****ITEM1 DESCRIPTION 8CT 20 OZ~ -F:订单格式说明 -ITEM1 DESCRIPTION 8CT 20 OZ:物料描述 PO4*12~ -12:包装描述 SAC*A*B010******-0.18****02***100122~ -A:津贴 -B010:美分 --0.18:以指定货币面值表示的汇率 -02:发票外津贴/收费编码 -100122:发票外津贴/收费 PO1**22*EA*1.53**UP*073731003299*PI*100231854~ -22:数量 -EA:数量单位 -1.53:单价 -UP:订单识别编码限定符 -073731003299:订单识别编码 -PI:买方订单编码限定符 -100231854:买方订单编码 PID*F**** ITEM2 DESCRIPTION 24CT 16 OZ~ -F:订单格式说明 -ITEM2 DESCRIPTION 24CT 16 OZ:物料描述 PO4*22~ -22:包装描述 PO1**30*EA*3.56**UP*073731071099*PI*100431695~ -30:数量 -EA:数量单位 -3.56:单价 -UP:订单识别编码限定符 -073731071099:订单识别编码 -PI:买方订单编码限定符 -100431695:买方订单编码 PID*F**** ITEM3 DESCRIPTION 8CT 12 OZ~ -F:订单格式说明 -ITEM3 DESCRIPTION 8CT 12 OZ:物料描述 PO4*15~ -15:包装描述 SAC*A*B010******-0.1****02***628445~ -A:津贴 -B010:美分 --0.1:以指定货币面值表示的汇率 -02:发票外津贴/收费编码 -628445:发票外津贴/收费 CTT*3*76~ -3:行项目数 -76:指定数据值之和 AMT*TT*193.7~ -TT:交易总额编码 -193.7:货币金额 SE*36*0046~ GE*1*100000005~ IEA*1*100000005~ |
通过上述报文解读可以看到,Kroger发送的 X12 850 报文可读性较差,无论是企业的业务人员还是 IT 人员都很难从以上订单中直接获取到有效的业务信息。因此需要对此 X12 850 订单进行格式转换。本文将以转换为自定义的XML格式为例:
EDI 系统转换效果
利用知行之桥 EDI 系统可以将X12 850报文转换为可读性更强的XML 格式文件,以便进一步处理,转换效果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
<?xml version="1.0" encoding="UTF-8"?> <EDI_850 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Version>1.0.0</Version> <Mode>T</Mode> <!-- 原始订单 --> <TsetPurposeCode>00</TsetPurposeCode> <!-- 采购订单类型代码--> <POTypeCode>NE</POTypeCode> <!-- 采购订单编号 --> <PONumber>900000012622</PONumber> <!-- 采购订单创建日期 --> <PODate>20210804</PODate> <Contact> <!-- 买方联系人编码 --> <ContactFunctionCode>BD</ContactFunctionCode> <!-- 买方联系人名称 --> <Name>Buyer Name</Name> <!-- 买方联系人电话 --> <TelephoneNumber>933-516-8148</TelephoneNumber> </Contact> <ShipmentTransportationInstructions> <!-- 卖方预付运费 --> <ShipmentMethodOfPayment>PP</ShipmentMethodOfPayment> </ShipmentTransportationInstructions> <TermsOfSaleOrDefferdTermsOfSale> <!-- 付款条款类型代码:折扣不适用编码 --> <TypeCode>05</TypeCode> <!-- 货物接收编码 --> <BasisDateCode>15</BasisDateCode> <!-- 条款折扣百分比 --> <DiscountPercent>0.1234</DiscountPercent> <!-- 折扣天数 --> <DiscountDaysDue>7</DiscountDaysDue> <!-- 条款净天数 --> <NetDays>10</NetDays> <!-- 发票总额到期前的天数 --> <Description>NET 10</Description> </TermsOfSaleOrDefferdTermsOfSale> <DoNotDeliverAfterDateTimeInfo> <!-- 最早交付时间 --> <Date>20210816</Date> </DoNotDeliverAfterDateTimeInfo> <DoNotDeliverBeforeDateTimeInfo> <!-- 最晚交付时间 --> <Date>20210816</Date> </DoNotDeliverBeforeDateTimeInfo> <CarrierDetails> <!-- 最佳运输方式(托运人选项) --> <TransportationTypeCode>T</TransportationTypeCode> </CarrierDetails> <PurchaseOrderNumber> <!-- 采购订单编号 --> <RefId>900000012622</RefId> <Text> <!-- 描述用文本数据 --> <TextualData>bf79ca68-a52e-4542-b6a4-411a2b823711 1. SEND INVOICE TO ATTN ACCOUNTS PAYABLE.</TextualData> </Text> <Text> <!-- 描述用文本数据 --> <TextualData>2. NOTIFY OUR TRAFFIC MGR IF UNABLE TO MAKE DELIVERY. 3. SHOW PO. NO. ON INVOI</TextualData> </Text> <Text> <!-- 描述用文本数据 --> <TextualData>CE AND ALL SHIPPING DOCUMENTS. 4. DELIVER BY APPOINTMENTS ONLY, CALL AT LEAST 2</TextualData> </Text> <Text> <!-- 描述用文本数据 --> <TextualData>4 HOURS IN ADVANCE.5. SUBJECT TO STANDARD KROGER P.O. CONDITIONS. ADDRESS CHAN</TextualData> </Text> <Text> <!-- 描述用文本数据 --> <TextualData>GES - PLEASE SUBMIT VIA SUPPLIER HUB REPAYMENT REQUESTS AND/OR PAST DUE INVOICES</TextualData> </Text> <Text> <!-- 描述用文本数据 --> <TextualData>- PLEASE VISIT LAVANTE PORTAL</TextualData> </Text> </PurchaseOrderNumber> <VendorInfo> <!-- 供应商名称 --> <Name>Supplier Name - Live</Name> <!-- 供应商编号 --> 425406 </VendorInfo> <ShipToInfo> <!-- 收货方名称 --> <Name>DC90797 KROGER - Monroe</Name> <!-- 收货方邓白氏编码 --> <DUNS4>1178579681001</DUNS4> <AddressInfo> <!-- 收货方地址 --> <Address>6266 Hamilton Lebanon Rd</Address> </AddressInfo> <GeographicLocation> <!-- 收货方所在城市名称 --> <CityName>Monroe</CityName> <!-- 收货方所在州或省编码 --> <StateOrProvinceCode>OH</StateOrProvinceCode> <!-- 收货方邮政编码 --> <PostalCode>45044</PostalCode> <!-- 收货方国家编码 --> <CountryCode>US</CountryCode> </GeographicLocation> </ShipToInfo> <BillToInfo> <!-- 付款方邓白氏编码 --> <DUNS4>1178579680000</DUNS4> <AddressInfo> <!-- 付款方地址 --> <Address>KROGER (KRG LLC) - RASC</Address> <!-- 付款方地址 --> <Address2>P.O. BOX 305103</Address2> </AddressInfo> <GeographicLocation> <!-- 付款方所在城市名称 --> <CityName>Nashville</CityName> <!-- 付款方所在州或省编码 --> <StateOrProvinceCode>TN</StateOrProvinceCode> <!-- 付款方邮政编码 --> <PostalCode>37230-5103</PostalCode> <!-- 付款方国家编码 --> <CountryCode>US</CountryCode> </GeographicLocation> </BillToInfo> <BaselineItem> <!-- 数量 --> <QuantityOrdered>24</QuantityOrdered> <!-- 数量单位 --> <UOM>EA</UOM> <!-- 单价 --> <UnitPrice>2.23</UnitPrice> <!-- 订单识别编码 --> <UPCConsumerPackageCode1551>073731004199</UPCConsumerPackageCode1551> <!-- 买方订单编码 --> <PurchaserItemCode>100281448</PurchaserItemCode> <ProductDescription> <!-- 订单格式说明 --> <DescriptionType>F</DescriptionType> <!-- 物料描述--> <Description>ITEM1 DESCRIPTION 8CT 20 OZ</Description> </ProductDescription> <ItemPhysicalDetails> <!-- 包装描述 --> <PackQuantity>12</PackQuantity> </ItemPhysicalDetails> <ServicePromotionAllowanceOrChargeInfo> <!-- 津贴 --> <AllowanceOrChargeIndicator>A</AllowanceOrChargeIndicator> <!-- 美分 --> <ServicePromotionAllowanceChargeCode>B010</ServicePromotionAllowanceChargeCode> <!-- 以指定货币面值表示的汇率 --> <Rate>-0.18</Rate> <!-- 发票外津贴/收费编码 --> <AllowanceOrChargeMethodOfHandlingCode>02</AllowanceOrChargeMethodOfHandlingCode> <!-- 发票外津贴/收费 --> <Description>100122</Description> </ServicePromotionAllowanceOrChargeInfo> </BaselineItem> <BaselineItem> <!-- 数量 --> <QuantityOrdered>22</QuantityOrdered> <!-- 数量单位 --> <UOM>EA</UOM> <!-- 单价 --> <UnitPrice>1.53</UnitPrice> <!-- 订单识别编码 --> <UPCConsumerPackageCode1551>073731003299</UPCConsumerPackageCode1551> <!-- 买方订单编码 --> <PurchaserItemCode>100231854</PurchaserItemCode> <ProductDescription> <!-- 订单格式说明 --> <DescriptionType>F</DescriptionType> <!-- 物料描述 --> <Description> ITEM2 DESCRIPTION 24CT 16 OZ</Description> </ProductDescription> <ItemPhysicalDetails> <!-- 包装描述 --> <PackQuantity>22</PackQuantity> </ItemPhysicalDetails> </BaselineItem> <BaselineItem> <!-- 数量 --> <QuantityOrdered>30</QuantityOrdered> <!-- 数量单位 --> <UOM>EA</UOM> <!-- 单价 --> <UnitPrice>3.56</UnitPrice> <!-- 订单识别编码 --> <UPCConsumerPackageCode1551>073731071099</UPCConsumerPackageCode1551> <!-- 买方订单编码 --> <PurchaserItemCode>100431695</PurchaserItemCode> <ProductDescription> <!-- 订单格式说明 --> <DescriptionType>F</DescriptionType> <!-- 物料描述 --> <Description> ITEM3 DESCRIPTION 8CT 12 OZ</Description> </ProductDescription> <ItemPhysicalDetails> <!-- 包装描述 --> <PackQuantity>15</PackQuantity> </ItemPhysicalDetails> <ServicePromotionAllowanceOrChargeInfo> <!-- 津贴 --> <AllowanceOrChargeIndicator>A</AllowanceOrChargeIndicator> <!-- 美分 --> <ServicePromotionAllowanceChargeCode>B010</ServicePromotionAllowanceChargeCode> <!-- 以指定货币面值表示的汇率 --> <Rate>-0.1</Rate> <!-- 发票外津贴/收费编码 --> <AllowanceOrChargeMethodOfHandlingCode>02</AllowanceOrChargeMethodOfHandlingCode> <!-- 发票外津贴/收费 --> <Description>628445</Description> </ServicePromotionAllowanceOrChargeInfo> </BaselineItem> </EDI_850> |
如下,经知行之桥 EDI 系统转换之后的 XML 文件清晰显示了每个字段的业务含义,这样的文件可读性更强,并且更方便进行下一步数据处理,比如集成业务系统。
工作流示例
通过上述的讲解想必大家已经了解了 Kroger X12 850 采购订单在知行之桥 EDI 系统中的转换流程了,以下是上述工作流示例,您可以下载知行之桥EDI系统,导入【示例工作流】以及【Kroger_850_Sample】,进行实战操作。
在知行之桥 EDI 系统中导入上述工作流以及测试文件。
如下图所示:
①先点击右上角的工作区齿轮图标,选择创建工作区,命名为Kroger_850(可自定义)。
②然后选择导入工作区,导入示例工作流:Kroger_850.arcflow。
导入示例工作流后,在工作区可以看到示例,其中包含两个功能端口:
Kroger_X12ToXML端口:是一个X12端口,将原始X12 850转换为标准的XML文件;
Kroger_Mapping850:XML Map端口,沟通设置字段映射关系,将Kroger_X12ToXML端口输出的标准的XML文件转换为自定义XML文件。
③点开Kroger_X12ToXML端口,进入输入页面,在 更多里点击上传文件,上传示例文件:Kroger_850_Sample.x12。
④点开Kroger_Mapping850端口,进入输出页面 ,点击 Kroger_850_Sample_100000005.xml 文件名即可下载文件,看到转换后的结果。
以上是对接收 Kroger X12 850 采购订单报文的解读以及转换的详细介绍,了解更多 Kroger 的 EDI 报文信息,欢迎联系知行软件。
更多 EDI 信息,请参阅: EDI 是什么?
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。