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. 


You can find more information on how functionality for the Affordable Care Act works in Microsoft Dynamics GP using these resources: 

      • Blog: Microsoft Dynamics GP Year-End Update 2018: Affordable Care Act (ACA) (Dec 14, 2018)

      • Video: Check out the You Tubevideo for ACA (58 minutes) (FYI - This links to the first video made for 2015 year and still applies today.)

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

Commonly Asked Questions:

Q0: Do I have to install the 2018 Year-End Update in order to do ACA 1095C forms for 2018?

A0: The 2018 Year-end update is needed only if you print the ACA forms out of Microsoft Dynamics GP.  The name fields were rearranged on the form, and some instructions changes on the bank and small alignment changes on the front of the form.   (You do need to be past the 2018 January Hot fix version.)


Q1: The employee is enrolled in the health insurance code in a prior year.  Do I need to set my system date to January 1 and re-enroll them in the code again each new year? 

A1: No, if you are on a recent update.  (This issue surfaced last year with the 2017 year-End Update (#91963) not reading back so that was the work-around last year and was fixed in the 2018 January Hot fix.)  For the 2018 year, it should look back and work correctly (If you are past the 2018 January hot fix).  

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 2018: Affordable Care Act (ACA) (Dec 14, 2018) 

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 to find out how you can create Smartlist Designer reports 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. (You could then insert/DTS the UPR10108/UPR10109/UPR10110/UPR10111 tables back over to the live company if preferred.)

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 in Partner Center 

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. Greenshades and Integrity data will allow you to track ACA in Microsoft Dynamics GP and just do the electronic filing for you at a lower cost option:
Greenshades -
Integrity Data -

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

A19: Changes were made last year that if an employee has code '2A' in Box 16 for all 12 months, then the 1095-C form will not print.  It will still be compiled in the Year-end Wage Process, in case you need to edit it, but when you go to print, it will not print.

Alternative work-around:  For older versions, we supplied the script below to remove employees from the ACA year-end wage file tables where they have '0' across all months.  This was used if you were in a scenario where you could not rerun the Year-end wage file (and then need 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='2017'

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/2017 and stopped on 8/1/2017, and code B started on 8/1/2017 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.  (We don't use it in Part II, but we do utilize it in Part III on the form.)

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/2017 if they didn't have any coverage in the 2018 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. 

You can also set the code to '2A', which means the employee is not employed during the month. The ACA form will not print if they have code '2A' in Box 16 across for all 12 months. 

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.

Q28:  When are the 1095-C forms due?

A28:   Visit the IRS website for more information on due dates. 


Q29:  How do I get health insurance codes for multiple plans (such as DENTAL and VISION) to NOT print on the ACA form?

A29:  If you do not want the Health Insurance code to be picked up by the ACA form at all (or ever), set the main Health Inusrance Setup level to 'None' and 'None'. 

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

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!