Finally made progress
Nov. 30th, 2006 08:53 pmI have a new interface for transmitting electronically filed tax returns (in this case, corporate, partnership, and exempt organizations). It's a web service.
I'd coded up 3 web service transaction scripts this summer, and even the first one I did, where I didn't really know anything about coding web services, took only about 4 hours. I should mention that I didn't use any libraries to do it, I coded the whole thing in Perl using just print statements, and used curl as my transport. Easy Peasy. It's running in command line linux, and it's just trivial to whip these things up.
So I figured starting in August for something that needed to be done by November was plenty of time. I could whack this puppy together in an afternoon.
Problem is, it turns out the IRS didn't write the server code, they contracted IBM to do it. As a result, the IRS contact didn't really have the ability to help me, beyond setting up conference calls with the contractor, or pointing at the useless docs. And the web interface uses different assumptions than everything else the IRS has written and I'm used to interfacing with.
It took them 2 months to get around to telling me that I was using the wrong user ID, even though every one of the dozen emails I'd sent them contained the clearly wrong user id.
It took another month after that for them to tell me that I was required to use a tag in the multipart/form-data package which the RFC CLEARLY states is optional, and that if absent the receiver is required to make an assumption that would have worked fine.
Waited another 3 weeks, then finally got some better doc (from a different IRS branch) that indicated that I had to use a different time format; not the one that the IRS uses for EVERYTHING ELSE ON THEIR SYSTEM; no, a different one. Just for this one thing. They didn't even tell me this, I had to winnow it out of the docs, which I just got 2 days ago.
Total time spent by me: 8 hours. Real time to get project working: 4 months.
Yargh. All I can say is, thank foo for whoever went in and made the doc they've been distributing for the last 3 years finally have useful information in it. It grew from 3.7 to 6.2 megs in this latest revision, and it's now something that, had I had it in the first place, I would have probably been done after the first (2 month) round. Sadly it still doesn't address the multipart/form-data thing since that's in the http headers, and they only address body content.
I'd coded up 3 web service transaction scripts this summer, and even the first one I did, where I didn't really know anything about coding web services, took only about 4 hours. I should mention that I didn't use any libraries to do it, I coded the whole thing in Perl using just print statements, and used curl as my transport. Easy Peasy. It's running in command line linux, and it's just trivial to whip these things up.
So I figured starting in August for something that needed to be done by November was plenty of time. I could whack this puppy together in an afternoon.
Problem is, it turns out the IRS didn't write the server code, they contracted IBM to do it. As a result, the IRS contact didn't really have the ability to help me, beyond setting up conference calls with the contractor, or pointing at the useless docs. And the web interface uses different assumptions than everything else the IRS has written and I'm used to interfacing with.
It took them 2 months to get around to telling me that I was using the wrong user ID, even though every one of the dozen emails I'd sent them contained the clearly wrong user id.
It took another month after that for them to tell me that I was required to use a tag in the multipart/form-data package which the RFC CLEARLY states is optional, and that if absent the receiver is required to make an assumption that would have worked fine.
Waited another 3 weeks, then finally got some better doc (from a different IRS branch) that indicated that I had to use a different time format; not the one that the IRS uses for EVERYTHING ELSE ON THEIR SYSTEM; no, a different one. Just for this one thing. They didn't even tell me this, I had to winnow it out of the docs, which I just got 2 days ago.
Total time spent by me: 8 hours. Real time to get project working: 4 months.
Yargh. All I can say is, thank foo for whoever went in and made the doc they've been distributing for the last 3 years finally have useful information in it. It grew from 3.7 to 6.2 megs in this latest revision, and it's now something that, had I had it in the first place, I would have probably been done after the first (2 month) round. Sadly it still doesn't address the multipart/form-data thing since that's in the http headers, and they only address body content.