I've been silent on my progress on sending electronically the ACA information and that's because I didn't want to jinx it.
I'm in the testing phase and I just completed and received the accepted notices for all 3 Scenarios.
But there is one thing about the testing phase: after you have finished and received Accepted notices from the system, you have to call the help desk to get confirmation and for them to update your software as approved! We called in on Friday and after waiting about 40 minutes, provided all of the information, including the software TCC, software id and all of the receipt ids, and they ended up telling us that it would take them up to 7 days to confirm line by line and send us the approval, or not, by email.
Huh?!? All of that validation and testing and you still have that additional human layer to pass? It sounds inefficient. It also sounds like they don't trust their testing system - maybe the testing system wasn't fully completed but they had to move along to get it out to the public.
As a matter of fact, on May 26, the government posted an update to the issues file which makes me think the testing system doesn't cover everything. One of the issues is that the production system is coming back with messages that the submissions/transmissions contain errors because they don't include name controls, even though name controls are an optional item. The suggested solution was to provide the name controls as part of the submission.
Uh, oh. My files don't contain name controls which means I will have to go back and start over to add in the name controls. The testing phase I just wrapped up did not flag the lack of name controls as an issue.
So, to wrap up this post, here are a couple of things I learned during the testing phase:
Note: Data Form file is the file containing your 1094 and 1095 Forms.
- If you are having problems with the Manifest file for the UI channel, go to this site (Stack Overflow) to retrieve a full example of the Manifest file that passes the test. I copied this example but I must have copied it wrong the first time because the test system still flagged my Manifest as containing a threat issue. But after copying the sample Manifest header again and filling in with the appropriate information for my company, it worked. One thing to note though: company EIN is 9 digits long, not 10. And don't include the hyphens in the EIN.
- There is replacement and there is correction method. Use replacement when your transmission is rejected and you don't receive a receipt id; otherwise, it looks like you use the correction method.
- With replacement method, there is an OriginalReceiptId element that you use in the Manifest header (if I'm remembering correctly). Read the small guidelines, not the large one strictly for the software developers, on which elements to use in the Manifest header and which ones to exclude in the Data Form File. The IRS is very specific about that.
- If you use a Microsoft machine, powershell commands to generate the checksum and GuidGen commands to generate the UUID both work.
- I would first finalize your Data Form file and once you save it, immediately look at its properties to retrieve the time down to the seconds. This time will become part of your naming convention of the Data Form file. Personally, I would follow the government's naming suggestion just so that the government can find your file (remember, they have to do the final check).
- Then get the byte size and the checksum of your Data Form file. Once you get the checksum, you can't change anything in the Data Form file. If you do, you will have to re-do the checksum and possibly the byte size and the time of modification of file.
- Once you have the checksum and the byte size of the Data Form file, you can update those elements in the Manifest file as well as rename the Manifest file to match that of the Data Form file.
- Generate the UUID and put that in the Manifest file.
- Finally, get the GMT time and enter that as the time stamp in the Manifest file.
- Every time you do a correction, you will have to check on the checksum and bytes of the Data Form file, rename the Data Form file, get its date and time from the properties, and update all of the information in the Manifest file. Also, you will have to retrieve a new UUID and time stamp each time you do a transmission.
- After transmitting, be sure you capture your Receipt Id. The transmission may be quick or it may take a while. If the transmission bombs out in the middle before you receive the Receipt Id, I would re-do the transmission with a new UUID and time stamp. One of my transmissions aborted in the middle and I tried again with the same UUID and the system rejected it because the UUID was not new.
- Receiving acknowledgements of acceptance could take up to an hour. If you get a return response back too quickly, the system probably rejected your transmission. It seems that if the testing system takes upwards to an hour, the odds of acceptance increases.
- Once all of your testing transmissions have been accepted, you still have to call the help desk to receive confirmation that you passed the test.
- Finally, just because you passed the testing system doesn't mean you will pass in the production system. I just learned that name controls are required, despite being labelled as optional elements. There may be more things required that I don't know about at this stage.
Okay, now I wait to see if I really passed the testing phase. In the meantime, I need to start over and add in the name controls.