A Case of EDI Solution and Trading Partner On-Boarding

Background
The Company sells its primary products through its 3PL (3rd Party Logistics) business arrangement to its wholesale customers. The 3PL’s are actually the Company's suppliers.
In alignment with the general expectations of operations efficiency gain, more accurate data and real-time reporting, business requirements have come into formation in the areas of less manual processes, removed paper work and more electronic data processing. The EDI (Electronic Data Interchange) software implementation (Data Masons Vantage Point) has then been included as part of the core ERP implementation (Dynamics AX).
On the supplier side, because of the 3PL arrangement, sales orders need to flow to the 3PL supplier for Pick-Pack-Ship logistic processes. The high-level requirements include that pick lists are sent to 3PL, shipping confirmations are returned to the Company and the AX ERP records will be updated accordingly. These business requirements are translated into software requirements of exporting the sales order picking work from AX system to integrate into 3PL’s system and importing the packing slip from the 3PL’s system into AX. The specific EDI documents involved are 940 and 945.
On the customer side, many of the Company wholesale customers are chain stores, which traditionally use the EDI framework to exchange electronic data between the trading partners. The business requirements with the customers reside in the alignment of general business practice and the overall business ecosystem. The high-level requirements include automating the business document exchange covering sales orders, shipping documents, invoices and adjustments, and certain electronic messages. The EDI specific requirements potentially include the 850, 855, 856, 857, 810, 812, 864, and 997.
The EDI project started out with on-boarding a vendor as the EDI 3PL supplier. The chosen EDI vendor is Data Masons. There were some key challenges encountered. First, the vendor does not really have an ERP system in place on their side. Second, AX has the concept of product master with a new product dimension STYLE for the AX 2012 software. The Data Masons software could not handle the new product dimension out of box. This has to be customized in the EDI implementation. The vendor on-boarding was code complete and initial unit testing indicated it worked fine. However, solution review on the solution indicates the design for product master with product variants is incorrect. As analysis indicated that the current processes would be ok without using EDI for the vendor, the vendor on-boarding was put on hold.
The EDI project then focused on on-boarding main customers. Customer A was EDI-Live-Ready when the AX project went live in Aug of 2017. Customer B went live with EDI in December 2017. Customer C went live in April 2018. The vendor EDI is expected to go live around middle May 2018.
Solution Design
EDI Software
The Data Masons software that has been adopted includes 4 components:
Data Masons Vantage Point EDI
Data Masons EDI Workflow Scheduler
Data Masons Public Warehouse Automation System
Data Masons Trading Partner Maps
Vantage Point
There are many configurations that need to be done in Data Masons’ Vantage Point Software. Here is a list of configuration data elements that need to be defined:
EDI Network: This is the EDI VAN connection
Server configuration (see the section for Infrastructure Setup as well)
EDI Data Base (By Company – similar to Company in AX): vpEDI_PROD for Company 1
EDI Data Base Server (SQL Server for EDI): e.g. AXPSQL02\AXPSQL02
Directory Structure (Data, FTP, ERP, Shared): \\AXEDI01\DataMasons\vpEDI\...
Company info
Directory Structure (Data, FTP, ERP, Shared): \\AXEDI01\DataMasons\vpEDI\...
EDI Settings: ISA, EDI Id, Map Server
EDI Workflow Service Account: svc-dmsWorkflow
Mail – Notification Settings
SMTP Server: mail.company.com
Email from Address: EDI_ADMIN@company.com
ERP AX Data Base (Synonyms to access AX Data): vpEDI_PROD
Trading Partners
Trading Documents and Mapping Files: 850, 855, 856, 857, 810, 997, 812, and 864
Settings and Logic for Handling Raw EDI Files: Dates, Item Xref, Delimiters, etc.
User Defined Fields: e.g. Site, Warehouse , Location, Discount
EDI Scheduler
Jobs have to be created to automate the processes of EDI processing steps and EDI email notifications.
End-to-end automation of key EDI processes (Network send/receive, Accounting integration, data extraction from accounting and sending of documents to partners)
Email alerts when certain events happen (Documents fail) through distribution lists defined by business
Recommended email aliases for EDI email notifications:
EDI_ADMIN@company.com: Serving the EDI Admin purpose
EDI_NOTIFICATION_CUSTOMER@company.com: Customer related notifications
EDI_NOTIFICATION_VENDOR@company.com: Vendor related notifications
Infrastructure Setup
This is done only once. The overall topology for the EDI environment is set up initially to provide the environment to integrate with the EDI network via Data Masons’ network. The topology diagram is attached here.
Vantage Point client application is installed on both the RDP server (AXPRDP01) and the EDI Middle-Tier server (AXEDI01).
Vantage Point Data Bases are installed on the backend SQL Server (AXPSQL02\AXPSQL02). This is the 2nd SQL Server for the AX system environment. There are other data bases installed on this server as well including MR database and SSRS database.
3-Tier Architecture for Pokémon Production Environment

EDI Customization
The customization involves creating a set of custom views in the EDI Data Base to integrate with Data Masons Vantage Point. These views access the AX data and download them into the Vantage Point Data Base. For example, new items in AX, new item cross references in AX, new UPC codes in AX, etc. The data synch between Vantage Point and AX can be handled by the Workflow Scheduler jobs.
Here is a list of custom views:
EDICarrier: Carriers defined in AX
EDICustItem: Customer item cross references defined in AX
EDIInvoice: Customer invoices defined in AX
EDIItem: Item master defined in AX
EDIOutbondInvoices: Customer invoices from EDI database
EDIPurchaseOrderAck: Customer sales order from AX
EDIShipTo: Customer delivery to addresses defined in AX
EDIWMSCarton_R3_WMS: Shipment information from AX
EDIWMSOrder_R3_WMS: Shipment information from AX
EDIWMSShipment_R3_WMS: Shipment information from AX
Dynamics AX ERP
The Data Masons EDI solutions require certain configurations on the ERP side to ensure the end-to-end processes work smoothly. There are at least 4 areas of functional and technical configurations that are needed for the EDI solution design. These include Item Cross References, UPC Codes, Customer Addresses and AIF Ports. These are discussed in detail in the following sections.
Item Cross References
The item cross references have to be set up on the items between AX and the trading partners. In AX, item cross reference is set up at the product variant level, having an one-to-one relationship between an AX product variant and an external item number of a particular trading partner. AX won’t allow to have one-to-many or many-to-many relationship for the item cross reference.
To set up item cross references for customers, navigate:
Product information management > Common > Released products > Sell tab > Related information > External item description

Similarly, to set up item cross references for vendors, navigate:
Product information management > Common > Released products > Purchase tab > Related information > External item description

UPC Codes
The UPC codes for the traded items with trading partners are often used in the EDI data exchange. For now, the Data Masons EDI solution has not made this data element mandatory. However, it’s recommended to define the UPC codes in AX.
UPC codes are defined in AX at the product variant and the specific UOM (Unit of Measure) level. This means that for the same product variant with different UOM’s, different UPC codes will need to be defined.
For the Company's products, UPC codes are usually defined at 2 levels: EA and CS (Case). The UPC code for EA is set up for the retail item sale and is usually defined with a Configuration B (for Bulk). This UPC code is usually included in the customer’s 850 EDI files. The UPC Code for CS is primarily used for warehouse movements.
To set up item bar codes, navigate:
Product information management > Common > Released products > Manage inventory tab > Warehouse > Bar codes

Customer Addresses
Customer addresses in AX need to be defined in a way that EDI software can process accordingly. Vantage Point requires that customer delivery to address have a contact record of the type “Telex” to indicate the Location Id of the delivery to address. The Telex field needs to have the format of “xxxxxx~”. This field stores the customer delivery to location ID.
To set up customer delivery address for EDI, navigate:
Sales and marketing > Common > All customers > Addresses FastTab > Edit

AIF Ports
Inbound ports need to be defined in AX to import external data into AX. Outbound ports need to be created for the AX data to be exported out to external systems. As of this writing, the EDI project only needs to define the inbound ports.
To define an inbound port, navigate:
System administration > Setup > Services and Application Integration Framework > Inbound ports

An example is presented here to define the inbound port for EDI sales order creation pertaining to the EDI document of 850.
The file system adapter is used to import the XML files generated by the Data Masons Vantage Point software.
The file directories need to be set up for the 850 XML files and the response files from AIF document services.
It’s also recommended to use AX Admin user as the owner of the File System Adapter, not using a specific AX user account as the owner.
For the Service operations, find and use the SalesSalesOrderService.create method for creating EDI sales orders (Clicking the Service operations button).
The Data policies control the data elements for the created EDI sales order. See the attached screen shot for the data elements defined for Family Dollar.
A few of the data elements are built-in required fields for the AIF document service SalesSalesOrderService (AX 2012 R3 CU 9), such as MarkupCode (Header and Line – related to charges), Value (Header and Line – related to default dimensions). These data elements cannot be disabled. The good thing is that these data elements don’t need to be included in the XML file.
Other data elements may be mandatory depending on the specific configurations of the customer and the items. Optional data elements can be included as well as long as Vantage Point is configured to provide the corresponding data fields (This will need to be included in the Data Masons UDT mapping tool to add the data elements to the generated XML files). One example of these optional data elements is Sales type. Sales orders of type Journal or Sales order (normal type) can be created depending this Sales type data element.
Other Considerations
EDI solution as a piece of software plays important role in the connected commerce. The key difference between EDI software and ERP system is that the EDI software is an integration middleware. With this in mind, the best practice is to design an EDI solution as simple as possible. Complex business rules and business processes should be avoided as much as possible in designing EDI solution. These rules should be implemented on the core ERP side. It will save a lot of efforts in maintenance and upgrade on EDI and business systems when the solution is designed.
EDI Trading Partner On-Boarding
EDI Network Setup
EDI vendor Data Masons has its own infrastructure in connection to the EDI trading community. There are 3 components in setting up the EDI connection between the Company and its Trading Partner: Trading Partner Network Connection, Company Network Connection and Data Masons’ hosting infrastructure.
Trading Partner Network Connection
Usually the Trading Partner (TP) is already on EDI VAN. If this is the case, the only action that’s needed is to obtain the TP’s connection information. This information will be used by Data Masons in setting up the connection with the TP in Data Masons’ infrastructure. The following table provides an example of connection information for a TP.

Company Network Connection
The Company uses nuBridges/Liaison VAN. The AS2 connection has already been established with the help from Data Masons. The detail connection information may be needed by TP for setting their VAN connection with the Company. Other EDI information as a Trading Partner has also been included in the above table.
Data Masons Network Broker Role
As an EDI software vendor, Data Masons has the necessary infrastructure and platform to establish VAN connections and configure EDI software for its customers. On-boarding new Trading Partners would need Data Masons’ assistance to set up the connection, map out the specific EDI documents and create needed scheduled jobs for EDI process automation.
Since the Company's EDI network connection is managed by Data Masons, every time a new Trading Partner is on board, the Company would need Data Masons to define the new Trading Partner and set up the new Trading Partner for EDI connection. This should be included in the new trading partner on-boarding Statement of Work with Data Masons.
Trading Partner EDI Configuration
Trading Partner Setup
Setting up new Trading Partner is performed in Vantage Point software. There may be multiple trading partner records for the same trading partner if the trading partner has multiple connections, e.g. Test and Production.

Company A
From Company A’s perspective, there is only one item that it orders from The Company. Company A does not distinguish the different releases of the same product. It has only one item number, even though the items shipped from the Company may be for different releases of the same product. For simplicity purpose, the Company has decided to freeze the UPC code (0820650805042) for its different releases of the same product for Company A until it has other business need to change it. This is not the industry best practice but it does simplify the business process when trading with Company A. This unique arrangement results in a requirement that one external item number (Frozen at 20184302) would cross reference to multiple item numbers in the AX system.
The solution to meet the requirement is to define only one item cross reference. All the later releases of the same product would use the user defined fields on the Trading Partner Kit level to reference the same external item number.
When the 850 comes in to the EDI software, it is downloaded and converted into an AX sales order with the defined AX item using the item cross reference (163-80504 : C : EN : 18 : ) and the UOM of CS. This item can be shipped to Company A with the UPC code of 0820650805042 and will be invoiced as the external item number 20184302 in UOM of EA. In this scenario, the item cross reference is used to perform the mapping and unit conversion.
Alternatively, the converted AX sales order can be updated to split into or switch to other AX items. The items will be shipped to Company A with the UPC code of 0820650805042 and will be invoiced as the external item number 20184302 in UOM of EA. In this scenario, the user fields defined at the Trading Partner Kit will be used to perform the mapping and unit conversion.
These two scenarios are displayed in the following two screen shots.
Item Cross Reference (Only one item xref needed):
External Item Number – 20184302
AX Item Number (Sales Variant) - 163-80504 : C : EN : 18 :

User Fields on the Trading Partner Kit
CB Item #: 20184302
UP Item #: 0820650805042
OUT810 Factor: 600

Company B
The Trading Partner Kit setup for Company B is similar to that for Company A. The main difference is that Company B has a blank discount of 1% for all orders.
Item Cross Reference (Master Item Xref used for All Orders)
User Fields on the TP Kit

EDI Documents
EDI documents are configured in Vantage Point, right under the trading partner. An example is provided here on Company B’s EDI documents.
There are total 5 EDI documents configured for Company B, including 850 for PurchaseOrder, 810 for Invoice, 812 for CreditDebitAdjust, 864 for TextMessage, and 997 for FunctionAck. The key EDI documents here are 850 and 810. 997 is a standard acknowledgement document with no need for specific configuration. 812 and 864 are like acknowledge documents. They are only received and there is response back to trading partner.
The key for EDI document configuration is the mapping doc. For 850, this is the map AX2012AIF_DMS_SO7_ _TEST, which provides the detail mapping of data elements needed by AX AIF to create the sales orders. This map is generated by a Data Masons tool called UDT (Universal Data Translater). The UDT tool is a developer tool that would require in-depth expertise to be able to use it efficiently. Currently the Company has not acquired any license to this tool. The mapping work requires Data Masons’ help to complete.
EDI Workflow Scheduler
Like Vantage Point, EDI Workflow is a piece of software from Data Masons. This tool is used to create EDI workflows to automate the EDI processes. The work of creating the EDI workflow may be accomplished internally without the assistance from Data Masons.

There are 3 notifications that are needed for Company B and should be done in the EDI Workflow Scheduler. These are the recommendations proposed in the Section for EDI Workflow Scheduler, namely,
Recommended EDI email notifications:
EDI_ADMIN@company.com (for EDI process issues)
EDI_NOTIFICATION_CUSTOMER@company.com (for Customer side statuses)
EDI_NOTIFICATION_VENDOR@company.com (for Vendor side statuses)
Dynamics AX Configuration
Item Cross References and UPC Codes
When on-boarding a new trading partner, all the trading items and related item cross references and UPC codes should be configured accordingly. The details of how this should be performed has been described in the Sections for Item Cross References and UPC Codes.
Customer Locations
This is another area that should be done to on board a new trading partner. All the EDI ship to locations should be configured correctly. The delivery to address should have a “Telex” field populated with an EDI location ID in the format of “xxxx~”.
AIF Ports
This is one of the tricky ones for on boarding a new trading partner. The configuration of AIF ports depends on if a similar AIF port already exists. If there is any difference in the EDI document data structure, a new AIF port may be needed. The new AIF port would need to include new data elements to meet the requirements for the difference. The detail steps of how to configure AIF ports have been described in the Section for AIF Port.
Test, Validation, Signoff and Go Live
After all the configurations are performed for on boarding a new trading partner, we are ready for testing, signoff and go live. The test and validation would include working together with Data Masons to make sure the required EDI documents provided by the trading partner have gone through the end-to-end process. This may occur for many iterations. When ready, next step would be to test with the trading partner. This is real test with the real VAN connections. This process may occur many iterations as well. When the trading partner is good on the final results, the trading partner will provide signoff. At this time, we will need to get signoff from the Company SME’s as well. Any acknowledgement EDI documents should be accepted by the functional users from the Company side. Once all the signoffs are obtained, we are then ready for Go Live. The testing cases and scenarios should include all the original EDI documents provided by the trading partner. This list is highlighted in the Section for Test Plan.
Testing Plan
Testing and validation are the critical steps of the EDI project and the Trading Partner on-boarding. Test cases should cover all the EDI documents submit by the Trading Partner. Typically, these should cover the following test cases and scenarios:
850 Sales Order Import
Connect the right EDI network in Vantage Point
Check inbound queue of the incoming EDI files
Download the EDI files to Vantage Point
Send the downloaded customer PO to AX ERP
Check the AX AIF job completes successfully
Validate the sales orders created correctly in AX
Validate the functional acknowledgement sent to the Trading Partner
856 ASN Export
Process the sales orders in AX and make sure they are in Delivered status in AX
Receive the sales orders using Sales order ID’s to Vantage Point
Send ASN to the Trading Partner
Receive the functional acknowledgement from the Trading Partner
810 Customer Invoice Export
Process the sales orders created in AX and make sure they are in Invoiced status in AX
Receive the invoices using the invoice ID’s to Vantage Point
Send invoices to the Trading Partner
Receive the functional acknowledgement from the Trading Partner
997 Functional Acknowledgement
Verify the functional acknowledgement is received or sent after other EDI documents are received or sent
Validate the received functional acknowledgement included in the EDI notification email
812 Credit and Adjustment
Connect the right EDI network in Vantage Point
Check inbound queue of the incoming EDI files
Download the EDI files to Vantage Point
Validate the 812 document received in Vantage Point with the needed data elements
Validate the 812 document is sent to the alias EDI_NOTIFICATION_CUSTOMER@company.com
864 Test Message
Connect the right EDI network in Vantage Point
Check inbound queue of the incoming EDI files
Download the EDI files to Vantage Point
Validate the 864 document received in Vantage Point
Validate the 864 document is sent to the Pokemon alias EDI_NOTIFICATION_CUSTOMER@company.com
EDI Workflow Scheduled Jobs
Login to the EDI01 server where the Scheduler is installed
Check all the automated steps are executed successfully
Check all the notifications are sent successfully