EDI X12 Parser
Parse and extract structured data from EDI X12 transaction sets.
Supported Transaction Sets
- - 810 -- Invoice
- 850 -- Purchase Order
- 856 -- Advance Ship Notice (ASN)
Parsing Approach
EDI files use ~ as segment terminator, * as element separator, and > or : as sub-element separator (check ISA-16).
Envelope Structure
CODEBLOCK0
Key ISA Fields (1-indexed)
- - ISA-05: Sender qualifier (
12=UCS, ZZ=mutually defined, 08=UCC) - ISA-06: Sender ID (left-padded to 15 chars)
- ISA-07: Receiver qualifier
- ISA-08: Receiver ID
850 Purchase Order
| Segment | Key Fields |
|---|
| BEG | BEG-03=PO Number, BEG-05=PO Date |
| DTM |
DTM-01=Qualifier (002=Delivery, 010=Requested Ship), DTM-02=Date |
| N1 | N1-01=Entity (ST=Ship-To, BY=Buyer, SF=Ship-From), N1-02=Name |
| PO1 | PO1-02=Qty, PO1-04=Unit Price, PO1-07=UPC/SKU |
| PID | PID-05=Description |
810 Invoice
| Segment | Key Fields |
|---|
| BIG | BIG-01=Invoice Date, BIG-02=Invoice#, BIG-04=PO# |
| REF |
REF-01=Qualifier (IA=Vendor#, BM=BOL#), REF-02=Value |
| N1 | N1-01=Entity (ST=Ship-To, RE=Remit-To) |
| IT1 | IT1-02=Qty, IT1-04=Unit Price, IT1-07=UPC |
| TDS | TDS-01=Total invoice amount (cents, divide by 100) |
856 ASN
| Segment | Key Fields |
|---|
| BSN | BSN-02=Shipment ID, BSN-03=Date |
| HL |
HL-03=Level (S=Shipment, O=Order, P=Pack, I=Item) |
| REF | REF-01=Qualifier (BM=BOL, IA=Vendor#, LO=Load#, AO=Appointment) |
| PRF | PRF-01=PO Number |
| MAN | MAN-02=SSCC-18 barcode |
| LIN | LIN-03=UPC |
| SN1 | SN1-02=Qty Shipped, SN1-03=UOM |
Walmart-Specific Notes
- - Walmart ISA receiver: qualifier
08, ID INLINECODE8 - REFIA = Walmart vendor number (required on 856)
- REFLO = Load number (new requirement)
- N1ST with
UL qualifier = GLN for ship-to location - MANGM = SSCC-18 (required per pallet on 856)
Output Format
When parsing, output a clean table:
CODEBLOCK1
For bulk parsing, output CSV with one row per line item.
EDI X12 解析器
从EDI X12交易集中解析并提取结构化数据。
支持的交易集
- - 810 -- 发票
- 850 -- 采购订单
- 856 -- 提前发货通知(ASN)
解析方法
EDI文件使用~作为段终止符,*作为元素分隔符,>或:作为子元素分隔符(请检查ISA-16)。
信封结构
ISAQQ发送方IDRR接收方ID日期时间:版本控制号确认请求模式子分隔符~
GS功能代码发送方代码接收方代码日期时间组控制号标准版本~
ST交易集控制号~
... 段 ...
SE段计数控制号~
GE交易计数组控制号~
IEA组计数交换控制号~
关键ISA字段(从1开始索引)
- - ISA-05:发送方限定符(12=UCS,ZZ=双方定义,08=UCC)
- ISA-06:发送方ID(左填充至15个字符)
- ISA-07:接收方限定符
- ISA-08:接收方ID
850 采购订单
| 段 | 关键字段 |
|---|
| BEG | BEG-03=采购订单号,BEG-05=采购订单日期 |
| DTM |
DTM-01=限定符(002=交货,010=请求发货),DTM-02=日期 |
| N1 | N1-01=实体(ST=收货方,BY=买方,SF=发货方),N1-02=名称 |
| PO1 | PO1-02=数量,PO1-04=单价,PO1-07=UPC/SKU |
| PID | PID-05=描述 |
810 发票
| 段 | 关键字段 |
|---|
| BIG | BIG-01=发票日期,BIG-02=发票号,BIG-04=采购订单号 |
| REF |
REF-01=限定符(IA=供应商编号,BM=提单号),REF-02=值 |
| N1 | N1-01=实体(ST=收货方,RE=汇款方) |
| IT1 | IT1-02=数量,IT1-04=单价,IT1-07=UPC |
| TDS | TDS-01=发票总金额(美分,除以100) |
856 ASN
| 段 | 关键字段 |
|---|
| BSN | BSN-02=发货ID,BSN-03=日期 |
| HL |
HL-03=层级(S=装运,O=订单,P=包装,I=物料) |
| REF | REF-01=限定符(BM=提单,IA=供应商编号,LO=装货号,AO=预约) |
| PRF | PRF-01=采购订单号 |
| MAN | MAN-02=SSCC-18条码 |
| LIN | LIN-03=UPC |
| SN1 | SN1-02=发货数量,SN1-03=计量单位 |
沃尔玛特定说明
- - 沃尔玛ISA接收方:限定符08,ID925485US00
- REFIA = 沃尔玛供应商编号(856必需)
- REFLO = 装货号(新要求)
- N1ST 使用UL限定符 = 收货地点的GLN
- MANGM = SSCC-18(856每托盘必需)
输出格式
解析时,输出清晰的表格:
12 / 1234567890 |
| ISA接收方 | 08 / 925485US00 |
| 采购订单号 | 0123456789 |
| 发货日期 | 2026-02-16 |
| 物料 | 16个行项目 |
批量解析时,输出CSV,每行对应一个行项目。