Frequently Asked Questions for the Affordable Care Act (ACA) in Microsoft Dynamics GP


This article contain commonly asked questions for the Affordable Care Act (ACA) in Microsoft Dynamics GP.

*Please note that this will be an ever-changing article and will be continuously updated through to the end of the year, so be sure to check back periodically for any updates to the content below. 


The functionality added to Microsoft Dynamics GP is new and provided free of charge within Microsoft Dynamics GP. The information provided below will help you to understand how it works so you can better prepare yourself for the year-end. 


Q: Where can I find more information on how the new functionality for the Affordable Care Act works in Microsoft Dynamics GP? 

A: Information on this topic is provided in the following blog article and video link:

 Blog: Microsoft Dynamics GP Year-End Release 2016: Affordable Care Act (ACA) (Nov 9, 2016)

 Video: Check out the You Tube video for ACA (58 minutes) (FYI - This is the same video from last year and still applies.)

*Be sure to bookmark and watch for blog posts each year end on our Microsoft Dynamics GP Support and Services Blog.

Commonly Asked Questions:

Q1: When I print the 1095-C form for the 2016 year, it doesn't pick up from the 2015 records. Do I need to re-enroll the employee in the Health Insurance code again for January 1, 2016? 

A1: No. This issue was fixed in the 2016 Mid-Year Tax Update(released in June 2016) so it will look back to read 2015 dates and continue on from there when preparing the 2016 year-end wage file. You do not have to re-enroll employees in the Health Insurance code each new year. 

Note that 2016 Payroll Year-End Updateis now available for download and is all-inclusive of all the prior updates. Please see the 'ACA Living Document'in the blog link in Q2 to find all the information and blog links for each release.


If the UPR00905 table has the three records below for Ackerman, the 1095-C form for the 2016 year should look to the HEALTH1 code with ACA codes 2 and 3 with a cost of $40.00 for January through May, and codes of 3 and 3, and a cost of $100.00 from June to November (from the HEALTH2 code), and stop for December, since the ACA codes were removed in December. 

2015 ACKE0001 HEALTH1 2015-01-01, 2, 3, sa, 40.00
2016 ACKE0001 HEALTH2 2016-06-01, 3, 3, sa, 100.00
2016 ACKE0001 HEALTH2 2016-12-01, 0, 0, sa, 0.00

Q2: What are the requirements to get the ACA functionality?

A2: You must be on Microsoft Dynamics GP 2013 or higher version, and have the Human Resources module installed. Review the links in the below blog for general information. 

 Blog: Microsoft Dynamics GP Year-End Release 2016: Affordable Care Act (ACA) (Nov 9, 2016)

Q3: How is the information on the 1095-C form tracked and assembled?

A3: As you work during the year to enroll employees in health insurance plans, change ACA codes, etc, this information is tracked in the UPR00904 and UPR00905 payroll tables. At the end of the year, when you run the Year-End Closing routine for Payroll, the system will lay out that information in the year-end wage file tables (UPR10108/UPR10109/UPR10110/UPR10111).  The 1095C form will print from these year-end Wage file tables. 

Q4: Since I can't view the 1095C form before I run the year-end closing routine, what can I do before year-end to verify ACA information?

A4: It is recommended to review the information in the UPR00904/UPR00905 tables prior to running the Year-End Closing routine, to verify that the data tracked during the year is correct. (Hint: View the blog article in Q1 to find out how you can create Smartlists on these tables for users to view in the front-end.) 

Q5: If I use the Edit W2 window to edit my 1095C information, will this information be lost if I rerun the Year-End Closing routine?

A5: Yes, any edits done in the Edit W-2 information window for W2s, 1095C or Dependents will be lost if you rerun the Year-End Closing Routine. 

Q6: What should I do if I need to make changes to the 1095C form, but I cannot afford to rerun the Year-End Closing Routine and lose my W2 edits?

A6: You can use the Edit W-2 Information window to make edits to the 1095C or Dependents. If you are unable to make the edits you want in this window, then make a backup of the live database and restore it to a test company. In the test company, you can make edits to the UPR00904/UPR00905 tables and rerun the Year-End Closing Routine in the test company and print your 1095C form from the test company.

Q7: Can I make edits directly to the UPR00904/UPR00905 tables in Payroll?

A7: Yes, it is recommended to ensure the information in these tables is correct before you run the Year-End Closing Routine. If you make changes in these tables after you ran the Year-End Closing Routine, you will need to rerun it (if you can afford to lose any edits) to pick up the new changes.  

Q8: Why doesn't the Effective Date in the UPR00904/UPR00905 tables match the Benefit Begins date in the Health Insurance Enrollment window?

A8: The system will populate the UPR00904/UPR00905 with the GP User Date for the Effective date that the employee was enrolled in the Health Insurance Code. (It does not use the Benefit Begins date in the Health Insurance Enrollment window.)
Q9: What is the correct way to enroll an employee in a Health Insurance code?

A9: These steps are recommended:
1. Go to Microsoft Dynamics GP | User date and set the user date to the effective date you need.

2.  Then go to Cards | Human Resources | Employee Benefits | Health Insurance and enroll the employee in the health insurance code. Enter the required information and fill in the Offer of Coverage Code, Safe Harbor Code and Lowest Cost Premium fields in the Affordable Care Act Info. section.  Save the record. (This populates the UPR00905 table.)

3. Follow the prompts to also save the corresponding benefit/deduction on the Payroll side as well. 

4. After enrolling all your employees in health insurance codes, be sure to change your GP user date back to the current date.

Q10: Why doesn't the 1095C form stop on the Benefit Ends date for the Health Insurance Enrollment for that employee?

A10: The system does not use the Benefit Ends date in the Health Insurance Enrollment window for that employee. The system will look to the UPR00905 table and look for a record for that code in which the ACA fields (OfferOfCoverageCode and SafeHarborCode) are 0. (See Q12.)

Q11: I changed the Benefit Status on the Health Insurance Enrollment window to inactive or terminated. Why does this code still print for the whole year on the 1095C form?

A11: The information used to populate the 1095C form is pulled from the UPR00905/UPR00904 tables.  So these tables must have a record signifying the system to stop on a certain date.  If the 1095C form prints for the rest of the year, then a record was not inserted into these tables as needed.  Simply changing the Benefit Status in the Health Insurance Enrollment window will not insert a record into this table. (See Q12.)

Q12: What is the correct way to 'end' a Health Insurance Enrollment for an employee to stop it on the 1095-C form?

A12: Be sure to know that simply setting the Health Insurance code to Inactive or populating the Benefit Ends date is not enough! To end the coverage for a Health Insurance code for an employee, a record needs to exist in the ACA table to signify that the ACA codes have been blanked out. This is how the system knows to stop the code. To end health insurance coverage for an employee, follow these steps: 

a. Click on Microsoft Dynamics GP | User date and change the system date to be the date that the coverage should end.
b. Now go to Cards | Human Resources | Employee Benefits | Health Insurance and select the Employee ID and Health Insurance Benefit code.
c. Set the Benefit Status to Inactive and fill in the Benefit Ends date. (Used for the payroll side.)
d. Set the Offer of Coverage Codes - Line 14 to None and Save Harbor Codes - Line 16 to None.
e. Save.
f. If your changes need to roll over to the payroll side, you will be prompted 'Do you want to set up the corresponding codes in Payroll so the integration is complete?" Click Yes.
g. Click OK. Review the Payroll Deduction code and click Save.
h. If prompted for a benefit, click OK . Review the Payroll Benefit code and click Save

NOTE: If you 'end' one code on a specific date, and 'start' another health insurance code on the same date in the UPR00905 table, you may want to make sure the valid record is dated one day later, as the system will read the 'last' valid record for a given month. For example, if you end one code on 8/1 and start a new code on 8/1, you may want to update the UPR00905 table to have the new code be dated 8/2 so the system will pick up this latter record for that month. If two codes have the same date, it could cause an issue.

Q13: Why can't I edit the Health Ins. Coverage field for Covered/Not covered for the SELF record in the HR Employee Dependents window?

A13:  The SELF record for the employee cannot be edited in this window, and will default from the Health Insurance Enrollment window based on whether the health insurance code has ACA codes assigned to it or not. You can only edit the Health Ins. Coverage field for Covered/Not covered  for the Dependents in the HR Employee Dependents window. For the self record this is an informational field only in this window. The report will pull from the actual benefit record and ACA codes attached to it.

Q14:  Why does the employee show as 'Covered' in the HR Dependents window when the status on the Health Insurance Enrollment window is set to Inactive? 

A14: The Covered/Not Covered status in the HR Dependents window for the SELF record will only change based on whether the code in the Health Insurance Enrollment window has ACA codes assigned to it or not. However, for the employee, the impact is not great since it uses the Effective Dates and ACA codes on the Health Insurance Enrollment code for the employee instead of using this Covered/Not Covered status for the SELF record. See Q5 above for more information on how to signify that a code has stopped so it prints correctly on the 1095-C form. 

Q15: Where does the 'Employee Share' or 'Lowest Cost Monthly Premium' on the 1095-C form pull from? 

A15: When the Lowest Cost Premium amount field is populated on the Health insurance Enrollment for the employee (Cards | Human Resources | Employee Benefits | Health Insurance), it is stored in the UPR00905 table and the 1095C form uses the amount from the UPR00905 table. (Note that you can also roll down the Lowest Cost Premium field from to all employees enrolled in the health insurance code too from the HR Health Insurance setup window, instead of updating each employee individually.)

Q16: Can the ACA codes or Lowest Monthly Premium amount be edited on the 1095-C form?

A16: Ideally, you should verify that the Lowest Cost Premium amount is correct in the UPR00905 table before you run the Year-End Closing Routine. However, after you performed the year-end closing, you can also use the Edit W2's window to edit this amount on the 1095C form itself. (But you may also want to update the UPR00905 table so it is correct next year.)

*IMPORTANT: Be advised that recreating the Payroll Year-End Wage file will un-do all the edits made in the Edit W2's window. 

Q17: Will 1094-B and 1095-B forms be supported?

A17: Microsoft Dynamics GP does not support 1094-B and 1095-B forms at this time. You can inquire to the ISV's below for this funtionality:
Greenshades -
You can also search for solutions at  -

Q18: Will electronic filing be supported for 1094-C and 1095-C forms?

A18: Unfortunately, electronic filing is not supported in Microsoft Dynamics GP at this time. Below are some ISV’s that have worked in the ACA area and my offer these services, no particular order:
Aim-Technologies  -
Greenshades -
Integrity Data -
You can also search for solutions at  -

Q19: Why are 1095C forms printing for inactive employees with no activity?

A19: If an employee is inactive and doesn't have any activity for the year, a 1095C form should not print if you are on the 2016 Payroll Year-End update with the latest code. If you still get one in 2016, you can use the script below to remove it from the YE wage file tables if you can't rerun the YE wage file (and do the steps in Q26 so you don't run into this again next year). But if you can re-run the year-end wage file, then do the steps in Q26 first and then re-run the year-end wage file. )
delete from upr10111
where (MonthofCost_1='0' AND MonthofCost_2='0' AND MonthofCost_3='0' AND MonthofCost_4='0'and
MonthofCost_5='0' AND MonthofCost_6='0' AND MonthofCost_7='0' AND MonthofCost_8='0' AND
MonthofCost_9='0' AND MonthofCost_10='0' and MonthofCost_11='0' AND MonthofCost_12='0' AND
MonthofCoverage_1='0' and MonthofCoverage_2='0' and MonthofCoverage_3='0' and MonthofCoverage_4='0'and
MonthofCoverage_5='0' AND MonthofCoverage_6='0' AND MonthofCoverage_7='0' AND MonthofCoverage_8='0' AND
MonthofCoverage_9='0' AND MonthofCoverage_10='0' AND MonthofCoverage_11='0' AND MonthofCoverage_12='0')
and YEAR1='2016'

Q20: On the 1095C form, why isn't the 'All 12 Months' box marked for the employee in Part II, instead of populating all 12 months across the form if each month is the same?

A20: Microsoft Dynamics GP will print in all 12 months across for the employee in Part II as a standard practice, as marking the 'All 12 Months' checkbox is not a requirement. (Note that the 'Covered all 12 months' checkbox is used in Part III for dependents.)

Q21: In Part III on the 1095C form, how do you get the Covered Individuals or dependents to print out?

A21: In the Print W2 Forms window, be sure to mark the checkbox at the bottom for Employer provided self-insured coverage, and this will result in the dependents printing in Part III on the form. 

Q22: In Part III on the 1095C form, how do you get both the SSN and DOB to print for a covered dependent?

A22: Only one or the other needs to be printed on the form. DOB will only print if the SSN is not available.

Q23: My employee had two health insurance codes during the year. Code A was effective 1/1/2016 and stopped on 8/1/2016, and code B started on 8/1/2016 and should continue through for the rest of the year. Why does my 1095C form only show Code A for January through July and is blank for August through December? 

A23: If you stop a code on the same date in the UPR00905 table as you started the new code, the system will not pick up the new code. You will need to update the Effective Date on one of them directly in the UPR00905 table, so the dates are different. Below is a SQL script you can modify to update the Effective date directly in the table. Please note that the system picks up the latest record in the month, so to resolve this issue, you could update the record for the newer health insurance code to have an effective date of 8/2 instead. Then rerun the year-end wage file to pick up the new date and now the 1095C form should populate now through to the end of the year. 
update UPR00905 set Effective_Date ='YYYY-MM-DD' where DEX_ROW_ID = X
--update the effective date and dex row ID for the record you are modifying

Q24: In Part II on the 1095-C form for the employee, why isn't the 'All 12 Months' box being utilized and each month is filled in?

A24: Using the 'All 12 Months' box is not required, so GP is designed to fill in the box for each month across. This is the current design in 2016.

Q25: In Part III for Covered Individuals, why isn't both the SSN (Social Security Number) and DOB (Date if Birth) populated on the 1095-C form?

A25: Both the SSN and DOB fields are not required to be filled in. If the SSN is filled in, then the DOB will be blank by design. Since both fields are not required to be filled in, the code was updated to only print one of these fields and not both. This will help reduce potential fraud opportunities should the user misplace the printed form. 

Q26: If an employee is set to 'Inactive' status on the Employee Card, is there anything else I should do in regards to ACA? 

A26: It is best practice to set the GP user date to the last date of coverage (such as 12/31/2015 if they didn't have any coverage in the 2016 year), and change the ACA codes to 'None' and 'None' on the health insurance code(s) assigned to the employee and save the record. This will create a record(s) in the UPR00905 table to tell the system to stop on that date for that code. (ie. the 1095C form won't print past that date for that health insurance code.) We also recommend to change the dependents to 'not covered' too. Remember to change the GP user date back when finished. 

Q27: The IRS does not want blank boxes in Part II of the 1095C form. What codes should I put in Part II?

A27: Below is a link to the IRS instruction document for the 1095-C form and the ACA codes are listed on pages 12-13 for your review. If any further questions on what specific codes to use, please consult the IRS directly for guidance. Microsoft is unable to advise on what codes you should be using.

More Information

*Be sure to bookmark and watch for new blog posts at the end of each calendar year on our Microsoft Dynamics GP Support and Services Blog


Article ID: 3106180 - Last Review: Nov 22, 2016 - Revision: 1

Microsoft Dynamics GP 2016, Microsoft Dynamics GP 2015 R2, Microsoft Dynamics GP 2015, Microsoft Dynamics GP 2013 R2, Microsoft Dynamics GP 2013, Payroll - U.S, Payroll - U.S., Payroll