本文着重讲述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 采购订单订单,示例如下:
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 格式文件,以便进一步处理,转换效果如下:
<?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 是什么?
标签:编码,850,Kroger,EDI,订单,限定符 From: https://www.cnblogs.com/edi-ka/p/17086673.html