Electronic data interchange (EDI) is used by businesses to electronically exchange standard business documents. EDI standards help reduce cost of processing email or mail-in orders and can speed up business by simplifying communication between two companies. Amazon, Walmart and many other companies use established EDI standards to process their orders securely.
Supply Chain Insights published a study showing that 55% of customer orders are received via EDI, placing EDI on the #1 spot of multi-party business exchanges. Integrating EDI with your FileMaker solution can automate your order processing and allow you to connect to large retail partners using this technology.
Handling EDI can be tricky when there’s multiple standards in play and with retailers having different sets of fields they require in order to process requests. EDI platforms like SPS Commerce can help you figure out the required fields for a particular document and industry, and translate a simpler XML format provided by the platform to the actual standard’s format.
To illustrate how complex a standard’s format can be, and why platforms like SPS Commerce provide XML versions of these complex formats, below is an example of a purchase order written in EDIFACT EDI standard.
UNB+UNOA:1+US::US+50138::THEM+140531:0305+001934++ORDERS' UNH+1+ORDERS:91:2:UN' BGM+220+A761902+4:20140530:102+9' RFF+CT:EUA01349' RFF+AAV::C' TXT+THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... ' NAD+BY++OUR NAME PLC::::+++++EW4 34J' CTA+PD' COM+01752 253939:TE+01752 253939:FX+0:TL' CTA+OC+:A.SURNAME' COM+2407:EX' CTA+TI+:B.BROWN' COM+0:EX' CTA+SU' COM+0161 4297476:TE+01752 670633:FX' UNT+15+1' UNZ+1+001934'
And below a purchase order document like above but written in XML format:
<PurchaseOrders> <PO> <ID>123</ID> <date>4/3/2018</date> <customer>DB Services</customer> <firstName>Gayoung</firstName> <lastName>Moon</lastName> <email>email@example.com</email> <item>Sunglasses</item> <price>200</price> <quantity>1</quantity> </PO> <PO> <ID>234</ID> <date>4/4/2018</date> <customer>DB Services</customer> <firstName>Test</firstName> <lastName>Customer</lastName> <email>firstname.lastname@example.org</email> <item>Desk</item> <price>400</price> <quantity>3</quantity> </PO> </PurchaseOrders>
Not only is the XML version easier to read and follow, it’s much easy to program, especially considering that one EDI document can have thousands of possible fields to pick from, as EDI is used across almost every industry.
General Approach to EDI Integration as a Vendor
EDI platforms like SPS will require that you read or write XML files from an FTP server they provide. In the case of handling purchase orders from a retailer like Target, your FileMaker system will need to periodically scrape the FTP server’s purchase orders folder for all new PO documents, import them into your FileMaker system, and delete them from the folder. Then you will parse each PO XML document in FileMaker and create or update purchase orders in your database. For example, you could use the xmlGetElement function from the demo file to parse the purchase order XML.
Set Variable [ $ID ; Value: xmlGetElement ( $eachPO ; "ID" ) ] Set Variable [ $date ; Value: xmlGetElement ( $eachPO ; "date" ) ] Set Variable [ $customer ; Value: xmlGetElement ( $eachPO ; "customer" ) ]
If your retailer requires it, you will also create an purchase order acknowledgement notice XML file and upload it to the FTP server in a different folder. The insert from URL cURL options would look something like this:
"--user " & $user & ":" & $pwd & " --ftp-ssl" & " --upload-file $xmlfile --header \"Content-type: application/xml\""
As your employees process new purchase orders, statuses of each purchase order will change and your FileMaker system will need to create another type of EDI XML document with all active purchase order status and shipping information. This document will then be uploaded to the corresponding location on the FTP server.
In addition some retailers require frequent updates on your inventory levels, which is another type of EDI document, called an inventory query document, that you will need to create create and upload to the FTPS server.
Check out the demo file below to see simple EDI examples. The file uses the native FileMaker Insert from URL script step to connect to FTP and BaseElements plugin to parse XML documents.
If you want to work with retailer giants like Walmart, Target, etc, you will be required to process orders using EDI. And handling orders this way can allow your company to work on them real time and cut down on time spent manually communicating your inventory and order status. Contact us if you need help with integrating your FileMaker system with an EDI platform.