About/Contact

Steve Trefethen

Steve Trefethen is a Director of Engineering at Reply. Contact me

View my LinkedIn profile


Powered by discountASP.NET
referal ID: sdtref
Why recommend discountASP.NET?
$720 in referrals so far!


Calendar

<<  February 2012  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Disclaimer

The posts on this weblog are provided AS IS with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.



Using CruiseControl.NET to manage EDI Invoice processing

December 10 2007 7:07AM
A few months ago I started working in an area I previously knew little about, EDI. EDI stands for Electronic Data Interchange and it defines standards for how businesses communicate with one another electronically. The basic flow of information for what I’m working on looks like this:

  EDIDiagram
The document numbers above correspond to the following:

  • EDI 850 = Purchase Order (PO)
  • EDI 810 = Invoice
  • EDI 997 = Functional Acknowledgement

My client represents the seller’s side of this diagram and I’m specifically working on the lower half of this picture, the invoicing portion, as there is existing software which handles PO’s. As indicated in light red there is a trading partner involved which brokers various services between buyers and sellers including providing EDI services. The EDI "documents" are cryptic delimited text files exchanged via numerous transport mechanisms though FTP is used in this case.

The Flow

Basically, there is a system which polls the trading partner, again via FTP, looking for new purchase orders. When one is found the file is downloaded, validated, processed and an acknowledged (EDI 997) is transmitted back to the trading partner. Eventually, the order works it’s way through the system and an invoice is generated at which point, an EDI 810 is generated and transmitted to the trading partner, validated and again acknowledged with an EDI 997, a mirror image of the EDI 850 processing. For brevities sake I’m glossing over parts of this process but you get the gist of what’s going on.

When I first was assigned to start working on EDI invoicing I had a lot of things to learn including EDI, the current processes involved in invoicing and the software that handled purchase orders among others. I quickly learned via not so subtle hints that the existing software which handles PO’s wasn’t considered maintainable and is badly in need of replacement.

Using CruiseControl.NET

Once I got my feet grounded I realized this system closely resembled a continuous integration process and started investigating using CruiseControl.NET as the primary engine to drive invoice handling. I already knew CruiseControl.NET brought a number of interesting features to the table including:

  • Open Source
  • Polling architecture for trigging task execution
  • Open plug-in architecture for things like source control providers and task execution
  • Easily configured using XML (ccnet.config)
  • A customizable web based portal for monitoring projects
  • Email publishing for notifications
  • Logging

Basically, you can envision CruiseControl.NET as the two blue circular arrows in the middle of the above diagram. In a future, post talk more about the specific implementations of ISourceControl and ITask that I’ve written to manage this EDI process.

FacebookDel.icio.usDigg It!

Comments (3) -

3/3/2008 10:19:06 PM #

re: Using CruiseControl.NET to manage EDI Invoice processing
Hi Stephen...googled into yr blog on above while EDI researching.  I'm now at same spot you were in 12/07 with EDI - new to me, researching, etc. - but on the opposite trans. set: working on 850 to seller, 997 from seller.  Wow, it's an interesting mish-mash of 'standards' , systems, VAN's etc etc

Some questions: Did your CruiseControl.NET solution go to production yet? Does it touch / format the data in anyway to facilitate trading network or customer processing? Or, was it strictly to moniter/move/log native files around & between parties/apps?

Great blog entries....thanks Fred M.

Frederick Martin

3/4/2008 8:51:54 AM #

Hi Fred,
  Thanks for the comment. Funny you should ask this very question today. The system www.stevetrefethen.com/.../...sIntoProduction.aspx">went online today (March 3, 2008).

Steve Trefethen

4/11/2010 7:50:50 AM #

Just thought I should bring this to your attention. This is truly good website. I have a couple of myself. I really like your design. I know this is off subject but,did you make this layout yourself,or purchase from somewhere?

Alfredo Adams United States

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading