什么是APERAK?

APERAK(Application error and acknowledgement message)是由消息接收方发出的应用程序错误和确认信息。其目的是:

a) 通知消息发送方他的消息已经被消息接收方收到,由于业务系统在处理过程中遇到错误,已被拒绝。
b) 向消息发送方确认消息已被接收方收到。

APERAK 报文中主要包含哪些信息?

主要包含的信息如下:

  • 文件错误日期
  • 错误描述
  • 发票日期/发货日期
  • 发票号/发货编号
  • 名称以及地址信息
  • 自由文本

APERAK 报文结构如下:

位置标记名称 SR

 
0010    UNH消息头 M 1    
0020    BGM信息开头 M 1    
0030    DTM日期/时间/周期 C 9    
0040    FTX自由文本 C 9    
0050    CNT控制总量 C 9    
 
0060        ----- 段组 1 ------------------ C 99----------+
0070    DOC文档/消息详细信息 M 1 |
0080    DTM日期/时间/周期 C 99----------+
 
0090        ----- 段组 2 ------------------ C 9------------+
0100    RFF参考 M 1 |
0110    DTM日期/时间/周期 C 9------------+
 
0120        ----- 段组 3 ------------------ C 9------------+
0130    NAD名称和地址 M 1 |
0140    CTA联系信息 C 9 |
0150    COM通讯信息 C 9------------+
 
0160        ----- 段组 4 ------------------ C 99999------+
0170    ERC应用错误信息 M 1 |
0180    FTX自由文本 C 1 |
                                                                     |
0190        ----- 段组 5 ------------------ C 9----------+|
0200    RFF参考 M 1 ||
0210    FTX自由文本 C 9------------++
0220    UNT消息尾部 M 1

APERAK常见的几种应用场景

1.针对DESADV发货通知发出的APERAK

如果A公司发给B公司的DESADV被B公司的应用系统检测到数据错误,B公司将会给A公司发送一个APERAK。这将意味着此DESADV发货通知还没有加载到B公司的应用系统中,A公司需要确认是否提交一份更正的DESADV发货通知。

2.针对INVOIC发票发出的APERAK

如果A公司发给B公司的INVOIC发票被B公司的应用系统检测到数据错误,B公司将会给A公司发送一个APERAK。这将意味着此INVOIC发票还没有加载到B公司的财务系统中,A公司需要更正并重新发送带有相同发票号的INVOIC发票。

示例报文

APERAK for DESADV failure:

UNB+UNOA:1+SENDERID:1+RECEIVERID:1+150715:0115+1++APERAK

UNH+1+APERAK:D:97A:UN
BGM+:::APPLICATION ACKNOWLEDGEMENT+20150715+11
DTM+97:20150714:102
RFF+SI:22222222
DTM+11:20150714:102
NAD+SF+123456CITY00
NAD+ST+123
ERC+012::116
FTX+AAO+3++ERROR DESCRIPTION
UNT+10+1
UNZ+1+1

对于DESADV发货通知可以通过RFF字段进行识别,根据发货单号方便定位到具体的某一个DEASDV发货通知:

RFF+SI:22222222

APERAK for INVOIC failure: :

UNB+UNOA:1+SENDERID:1+RECEIVERID:1+150720:1002+1++APERAK

UNH+1+APERAK:D:97A:UN
BGM+:::APPLICATION ACKNOWLEDGEMENT++11
DTM+97:20150719:102
RFF+IV:99999999
DTM+3:20150719:102
NAD+SF+123456
NAD+ST+CBS
ERC+830::116
FTX+AAO+3++ ERROR DESCRIPTION
UNT+10+1
UNZ+1+1

对于INVOIC发票可以同样通过RFF字段进行识别,根据发票号方便定位到具体的发票:

RFF+IV:99999999

以上信息中,需要注意 ERC 应用错误信息字段,在上述两个示例中,ERC01分别取值如下:

ERC+012::116
ERC+830::116

其中 012和830为应用错误信息代码,其代表的含义分别为:

  • 012 Invalid Combination无效组合
  • 830 Refused By Payee 被收款人拒绝

ERC01字段的可能取值还包括:

  • 003 Duplicate Billing重复计费
  • 007 Missing Data 缺少数据
  • 008 Out of Range超出范围
  • 009 Invalid Date 无效日期
  • 010 Total Out of Balance结余总额
  • 011 Not Matching 不匹配
  • 013 Duplicate ASN重复ASN
  • 802 Invalid Debit or Credit Flag Code 无效的借记或贷记标志代码
  • 848 Incorrect Data 数据不正确
  • CUR Invalid Currency Code 无效的货币代码
  • INC Incomplete Transaction 未完成的交易
  • IQT Invalid Quantity 无效数量
  • P Missing or Invalid Item Quantity 缺少或无效的项目数量
  • POI Purchase Order Number Invalid 采购订单编号无效
  • Q Missing or Invalid Item Identification 缺少或无效的物品标识
  • QTY Quantity 数量
  • UNP Invalid Unit Price 无效单价

注意事项

1.APERAK 遵循EDIFACT国际标准,而在X12标准中,扮演类似角色的是 EDI 824报文。
2.APERAK有时会和 CONTRL相互混淆,CONTRL 报文会告知发送方其文件的语法是否正确,而 APERAK 则告知发送方消息是否已被内部应用程序或 ERP 系统正确处理。

解决方案

作为发送方,可以将已有的Excel、CSV格式转换为APERAK报文,如图所示,是一个生成APERAK报文的工作流:

edi

以Excel方案为例,用户可以填写好Excel格式的报文信息,直接将其作为附件发送至指定邮箱,知行之桥EDI系统将会抓取该邮箱下的附件,进入EDI系统后,将数据解析为XML格式,并进一步转换成符合EDIFACT国际标准的APERAK报文,通过AS2或者SFTP等方式上传至交易伙伴的EDI系统中。

作为接收方,知行之桥EDI系统可以将接收到的APERAK报文转换为可读性更强的文件格式,或者是直接将数据传输至企业的业务系统中。如图所示,是一个解析APERAK报文进入中间数据库的工作流:

edi

我们以通过AS2接收文件为例,首先需要通过AS2与交易伙伴搭建好EDI传输通道。接下来通过EDIFACT 端口将接收到的APERAK报文解析为XML,通过XMLMap端口转换至数据库XML,最后通过数据库端口即可将数据插入至数据库,供后端系统使用。

如果大家有关于EDI的任何疑问或者希望了解更多的EDI相关信息,欢迎联系知行软件。

更多EDI信息,请参阅: EDI电子数据交换全解指南

posted @ 2022-12-22 16:27  EDI电子数据交换  阅读(107)  评论(0编辑  收藏  举报