You run a small business, let's say an online store on Shopify. Several of your suppliers have EDI capabilities, and it's obvious to you that some of your processes can be automated if you just knew what EDI is.
EDI is short for "Electronic Document Interface", and it's an accurate description. EDI is a system for exchanging documents between companies in a clear, precise format that eliminates errors and misunderstandings. EDI can be easily automated. However, EDI must be done correctly, or it can be a nightmare.
Imagine you have a small company that sells custom laptops to consumers. Amazon does your shipping for you, so everyday you send dozens of laptops to the Amazon warehouse, and you take orders on your Amazon store and website. Currently, everytime you sell a laptop, you have to enter the information into a form to send it to Amazon. Not only is this system prone to data entry errors, it's time consuming. You decide to automate this, so you hire someone to create an EDI file and send it to Amazon. What you have to realize about EDI is it's automated. Nobody is looking to make sure the data is correct before it's sent to your trading partner. In this case, what if every order gets tripled? What if some orders are never sent? If the orders get tripled, how long can you stay in business if Amazon ships 3 of every laptop you've sold? how many customers will you lose if the order gets lost? When you setup EDI, your system needs to have a mechanism to be 100% sure every order is sent once, and only once. Thankfully, automated EDI makes a LOT fewer mistakes than manual data entry, and eventually automated EDI will make zero mistakes if you maintain it properly. Amazon will of course send back a 997 for every order in an EDI file. The 997 will tell you whether the information you sent was accepted by Amazon. However, your system has to be capable of matching the incoming information from Amazon to the data in your system.
Although an EDI document is simply a text file in EDI format, EDI is MUCH, MUCH MORE than that. EDI is a document management system that specifies how to manage your files, keep track of which documents were received by your trading partner, whether the data was successfully extracted by the EDI system, and whether the data was successfully used. No other document does all that. If you combined a very good document management system and then integrated a file format into it, and then consulted with every major industry on what information they need to share, that's what EDI is.
The EDI file format has wrappers that if properly used, keeps track of not only the file in question, but the files that came before it.
Here's a small checklist of what your EDI system has to do (using the example above). Note that creating the actual EDI file is only a small part of the total.
- Pull the data for all new orders once an hour, or once a day (whatever your timeline is)
- make sure to ONLY pull the information for paid orders
- check for missing information. EDI should NEVER send incomplete information
- notify staff if there are orders completed, but still missing information
- using the data pulled, format it into EDI formats
- Compose the EDI file
- Store the EDI file in long term storage
- put a copy of the EDI file in a directory you will send from
- Start the sending system so the file gets sent to your trading partner
- Verify the file was sent properly, AND received by the trading partner
- Check to see if there are any reply files that need to be read
- for every reply file, match the data to your data and update the entries
- Close down properly without any memory leaks
Note that composing the EDI file is about halfway in the total process and there are a lot of things to be done BEFORE and AFTER the file is actually composed