EDI X12 Implementation with C#

arunes picture arunes · May 23, 2013 · Viewed 19.4k times · Source

Our company is selling medical supplies, we have a website that we sell our products online. We are working with suppliers, who sends products to our customers when we receive new order. Currently we are handle this manually. We receive order in our website and phone / fax / email order to product supplier, they sends products to customer, and notify to us with shipping information and we notify customer.

This process is getting hard to handle lately. We are not using any B2B solution so far, but we need implement an EDI solution now. Our biggest supplier is using EDI standarts.

As far as i understand, process will be like below;

  1. When we recieve an order, we create X12 document, and send this document via FTP, SFTP or VAN.
  2. Our supplier receive X12 document and process it. And send a invoice formatted as X12.
  3. We receive invoice and parse it to our system.
  4. Our supplier sends shipping information formatted as X12 when they ships products to customer.
  5. We receive shipping information document and parse it.

I have some questions about this process.

  1. First and most important question: Am i understand right? :)
  2. What programs / tools i need to as a developer?
  3. I know its not wise thing to write our own X12 parser. We need an external application. But what kind an application we need? Do we need a big application like BizTalk? or some helper libraries like
  4. Our supplier supports FTP, SFTP and VAN for data communication, which communication we should choose? which one is simplier and fast to understand?

Sorry, i know, i have lots of questions :) Any help will be appreciated.

Answer

Babelabout picture Babelabout · May 29, 2013
  1. The description of your process looks OK. 1/ Following the order from your customer, you create and send an X12 850 (Purchase Order) to your supplier. 2/ Your supplier might send you an X12 855 (Purchase Order Acknowledgment) to confirm your order, this is an interesting (business) information that you might "forward" to your customer. 3/ Finally, together with the actual shipping of the goods to your customer, your supplier will send you an X12 856 (Ship Notice/Manifest), as well as an X12 810 (Invoice). This is a fairly simple/classic EDI flow.

  2. BizTalk would be the Microsoft-world recommendation, but it might be quite expensive/over-sized for such a flow. If you are a .NET developer and like to do things on your own, generating 850, and reading 855, 856 and 810 is not as complex as it might seem ;-) I have personally developed a way to parse/serialise X12 to/from XML using XSLT scripts (that can be run easily from almost any programming language, including the .NET ones) and I hope it demystifies X12 syntax ;-) If you can share the MIGs (Message Implementation Guidelines) from your suppliers, I can have a look and check if my technique could suit your needs. The XML representation should be yours, following the data model of your application, and should then allow you to develop the functionality around the EDI documents as usual!

  3. See above ;-)

  4. You are lucky!!! Your supplier supports FTP, it's the simplest one, easier/cheaper to implement! Think about the way you are doing it today - i.e. email - you do not need high security... What you need is AUTOMATION, please stay focused on that and don't be distracted by high security needs! My advice ;-)