“I’ve got an interesting little project for you,” Simon’s boss said as he stopped by Simon’s cubicle. He dropped a several-page document on desk and continued, “take a look at this letter we just got from EBS. We’d better jump on this soon.”

Dear Vendor, As I’m sure you’re aware, our primary focus at Enterprise Business Systems is to enable our clients to formulate key objectives through strategic initiatives to develop a comprehensive strategy that will provide the critical foundation for creating a proactive, synergy -driven directive for utilizing technological approaches to achieve cross-departmental -- snip -- As such, beginning October 1, 1993, all vendors must submit invoices electronically through EBS QuikBill™, the latest in our suite of EDI products. Invoices not received in this manner will be discounted 2% and extended 60-90 days. Please contact your procurement officer immediately to get set up with EBS QuikBill™. Sincerely, Accounts Payable Enterprise Business Systems

Although the October 1st deadline was over nine months away, Simon’s company wanted to make sure that every kink was worked out long before the deadline passed. After all, Enterprise Business Systems (as I’ll call them) accounted for over 30% of their revenue, and no one wanted any problems with that. As the company’s sole programmer, it was up to Simon to ensure that that the two company’s systems could talk.

Training Day

According to the EBS procurement officer, the first thing Simon would have to do is become “certified” in QuikBill. Apparently, this involved little more than attending a one-day class at the local EBS offices.

When Simon arrived at EBS, he was surprised to see how prepared they were. The receptionist handed him a “welcome kit” that included a namebadge, an official EBS lanyard, and a thick binder labeled “QuikBill 101.”

Simon was escorted to a medium-sized room with about fifty chairs facing a presentation screen. There was also a buffet of breakfast foods with everything from premium flavored coffee to an assortment of breakfast sandwiches to a gigantic fruit tray to several dozen Krispy Kreme doughnuts. Aside from that, the room was empty. But that didn’t surprise Simon, as he was fifteen minutes early.

As nine o’clock approached, seven other people had shown up for the class, all of whom were EBS customers that had not only purchased QuikBill, but that were also paying dearly to attend the class. More accurately, their employers paid dearly, but no one seemed to care about that; after all, there was a colossal amount of breakfast foods just begging to be conquered.

At precisely 9:00, the EBS trainer walked in and began his presentation. “Thank you all for coming,” the presenter started enthusiastically, “we’ve actually got a pretty decent turnout today!”

“I realize you’re all excited to learn about QuikBill,” said the presenter cheerfully and without even a hint of sarcasm, “but it’s pretty important to see how QuikBill fits in with our EDI suite.”

“As I’m sure you’re aware,” the presenter spoke as he advanced the slide in the presentation, “our primary focus at Enterprise Business Systems is to enable our clients to formulate key objectives through strategic initiatives to develop a comprehensive strategy that will provide the critical foundation for creating a proactive, synergy-driven directive for utilizing technological approaches to achieve cross-departmental…”

It took all of two minutes for Simon to completely zone out. While the several Krispy Kremes he had eaten earlier may have played some part in that, he primarily lost all desire to pay attention when he realized that the majority of the “training” was an incredibly long and drawn-out sales pitch for other EBS products and services. The good news was that, after four torturous hours, it was time for their lunch break.

As impressive as breakfast was, lunch put it to shame. EBS had brought in enough food to feed all eight attendees for a month, and had clearly spared no expense in preparing the food. Shrimp, chicken, strip steak – you name it, it was probably on the lunch table.

Though QuikBill hadn’t really discussed by the trainer yet, the entire group had already become evangelists: it was quite possibly the best training class ever for the best software ever produced by the best company ever. By the time lunch ended, everyone was excited to talk about QuikBill briefly and wrap-up the day a little early.

“I’ve got a quick question for you,” Simon asked the trainer during the Q&A session. “we’re not using the full EBS suite, but we do need to integrate our systems… how might we go about doing that?”

“Oh,” the trainer responded, “actually, all that API tech stuff is in the back of the binder.” That answer was quite possibly the only worthwhile bit of information Simon had gotten from the entire day. But it was worth it: at least now he knew where to start.

Building the EBS Bridge

After flipping through the QuikBill implementation manual, Simon had a pretty good idea of how it worked.

The Windows-based “QuikBill Client” was an incredibly simple application that monitored a directory and processed whichever files were placed in that directory. Processing involved nothing more than translating the file from their fixed-column format to EDIFACT, and then dialing the server’s modem and uploading the EDIFACT-formatted file.

EDIFACT was (and is today) a widely-used industry standard for transmitting messages in a simple, text-based format between two parties. It’s like XML, except that it’s actually useful on its own: the standard defines virtually every message type and format imaginable within the domain of Administration, Commerce, and Transportation. The Invoice message (INVOIC) is just one of many.

However, since Simon’s company’s billing software was on Unix, he wasn’t exactly able to run the QuikBill client. Instead, he wrote a simple program that created an EDIFACT message that described their invoice and dialed in their server to upload the file.

Simon was somewhat surprised that it worked, and that the whole process had been incredibly simple. They’re Unix-based client was up and running several months before the deadline.

Simon’s Bridge is Falling Down

Nearly a year had passed, and Simon’s company and EBS had been exchanging invoice messages (and most importantly, payments) without any issue. On an unrelated call to EBS, Simon just happened to mention that their billing system was Unix-based, and that they actually had built a simple Unix program to communicate with QuikBill.

“Wait a minute,” the EBS rep halted, “did you say… Unix? With QuikBill!?”

“Err, yes,” Simon responded, “it’s actually pretty simple, since you’re really just converting to EDIFACT, I thought—”

“Whoa, whoa, whoa,” he interrupted, “did you say… EDIFACT?!?! You can’t use that!”

“Well, I mean,” Simon paused, not exactly sure how to respond, “your technical manual showed exactly the EDIFACT format that the client uses, and it’s an industry standard, so I just figured—”

“No! You can’t,” the EBS rep was speechless, “you can’t use EDIFACT! That’s for system-to-system communication only! This is why we have the whole fixed-column text file to import!!”

Simon timidly responded, “but… we don’t have Windows. And if you’re using EDIFACT on your en—”

“No, no,” the EBS rep abruptly cut in, “no… you can’t… no, you just… no, we don’t… ugh!!! Okay, this is a serious problem, I can’t talk about this now. Look, we gotta get this resolved… I gotta go. We’ll… uhh, let you know.”

Within the hour, EBS had completely locked out Simon’s company’s QuikBill account. There was only one way for them to get their access back: an EBS “integration engineer” would have to certify their “QuikBill integration solution.” And this time, EBS wasn’t going to pay for it.

Fixing the Bridge

Within a week, an EBS “integration engineer” was flown out to Simon’s company to “monitor the development of and certify their solution.” What this meant was that Simon would be sharing his cubicle for a few days.

The EBS integration engineer was a pretty nice guy, but had about as much development, engineering, and integration experience as a chair. It was a good fit as all the engineer did – to the tune of $200/hr – was sit in the chair and read various magazines.

After about three days, Simon had finally developed a solution. He set up a Windows server and modified the invoice exporter to create a file in their fixed-width format and then send it to the Windows server, which would allow the “real” QuikBill to convert the file to EDIFACT and send it to their server.

The integration engineer was satisfied with the solution, and EBS switched the system back on for them.

At the End of the Path

After a short while, the QuikBill debacle was quickly forgotten and everyone had gotten back to work. In fact, a few years had passed since Simon last thought of it. That is, until his trip to EBS’s corporate office on the other side of the country.

On a tour of the offices, Simon got a chance to see how the accounts payable department worked. When a QuikBill client sends a bill over the modem, the server translates the EDIFACT message to a fixed-column formatted file and saved to disk. A printer then picks up the formatted file and prints the invoice on a form. From there, an accounts payable clerk takes the form off the printer and types it in to their voucher system to be paid.

Well, Simon kept saying to himself, at least they pay so many of the bills.