I’m learning something new – xml.
Phase II of the ACA / 1094-1095C reporting is to electronically send the data to the IRS. But the electronic submission can’t be just any ol’ submission. The information needs to be in xml. So, I have been doing a lot of reading and experimenting to see how I can transform my Excel file into xml.
There’s a couple of things you need to do before you can send the data. One, at least 2 responsible officers and 2 contacts need to register in e-Services (responsible officers can be contacts). Once registered, these folks will then receive via post office a confirmation code, which is used to enter in e-Services. Only after everybody enters their confirmation code in e-Services do you get to apply for TCC codes. You may get one or two TCC codes, depending on the roles, which can be issuer, transmitter, and/or software developer.
Only then can you even then begin to think about submitting your data. But first…
You need to test your software, either purchased or developed. There will be a couple of tests, the number again depending on your role. When you pass all of the requisite tests, only then will you be able to submit your data.
Or you may choose to get someone else to transmit the data for you; hence, the transmitter roles.
We’re in the process of investigating whether to pursue someone transmitting for us, in case I can’t pass the tests, or to pursue a waiver.
In the meantime, I’m learning about xml. Xml is kind of machine language (? for lack of a better terminology) which instructs your application what kind of data, in what order, and what formats the data should be in. Xml is supposed to enable different applications and platforms to send data to each other and over the web. There’s xml and there’s xsd. Typically, xml is just a document with data laid out per instructions and xsd is the instruction or schema (xml schema) detailing the instuctions. Sometimes you can use xml as the schema, especially in Excel.
But there is a limitation with Excel: you can’t have parent-child relationships or list of lists which apparently the government programs have. (The IRS has placed out on their website xml and xsd files that we can use.) I was trying to use the government’s schemas to create a xml file out of my Excel but Excel won’t let me. So now I’m working on an alternative to get me there.
In order to conform to the rules in the schemas without actually using them in Excel, I’m using the Crosswalk files provided by the IRS to make sure my data is set to the right type: string, decimal, dates, etc. So the first thing I did was to make sure the data conforms to the rules. I also made sure that the data did not have any “illegal” characters that would cause the upload or data transfer to abort. And finally, I’m setting my field headers to match exactly like those listed in the government files.
I’m still using Excel to create xml files out of my data but instead of using the government’s schemas, I’m trying to develop a simple xml document that will line up the data in the proper order. I’m hoping that if I set the data types (string, integer, date, etc) correctly upfront, then all the xml document has to do is determine the field headers and order for my data. So I have managed to set up a rudimentary xml file for the 1095C forms.
Now I’m in the process of validating my rudimentary xml against the government forms and making corrections.