When debating what subject to cover in this blog posting in regards to Dynamics GP there wasn't much doubt as to is the most common 'urgent' case issue we see at the support desk, which is how to recover from failed US payroll processing.

This doesn't mean you should be expecting payroll processing issues using Dynamics GP, it just indicates that when something occurs that causes employees not to get paid it understandably becomes the very most pressing issue to our end users and we do our very best to treat each such incident with the urgency and care needed to get the checks in the hands of the employees asap (EVERYONE loves that!).


In this direction, it is probably not surprising that one of our post popular KB articles, 851664,  remains the following:

Error message when you select a batch in the Build Payroll Checks window in Microsoft Dynamics GP

This article outlines how to re-set an erring payroll Batch in the system so it can be reprocessed and incorporates the following steps to do so:

- Clearing the payroll 'work' tables from past and present processing to ensure they are accurate and not causing issue with the current pay run materials.  Note that this process can also be accomplished by running the Maintenance | Clear Data | Payroll | Payroll Check Work option in Dynamics GP but as the activity tables aren't cleared in this manner the SQL approach is recommended.

- Removing 'Temp' files that may be affecting performance at the PC used to process payroll.

- Performing Check Links to reset (and possibly correct) any unknown data condition that may have caused issue during the failed pay run.

- Rebuilding the payroll batch, which will re-fill the payroll 'work' tables for the payroll print/post activity needed to complete the check run.

Although each payroll posting interruption would be unique to the build/environment, referencing and following the basic format outlined in this article usually helps the end user recover from such events and would be the recommended first-step activity outside of establishing a support case to review.

 
As far as what tables are updated with successful payroll posting activity the following would be the very best article to reference:

The windows and the tables that are updated when you process a pay run in Payroll in Microsoft Dynamics GP

When you have a payroll posting issue, there are 2 options to consider:

1. Restore from a back up prior to the pay run being processes and run it again

2. Clear the posted payroll from the below payroll tables like it never happened, import your payroll batch and process the payroll again.

The All Payroll Script will give you results for an Audit Trail Code where a posting interruption occurred in Payroll.  The results are to help you and/or the support engineer analyze the data to see what the next steps will be to resolve the situation.

This article can be very helpful if you are SQL savvy as if you do see issue with a posted pay-run you can use SQL to explore the outlined tables by Audit Trial Code (Batch ID) value to help you better determine how the window values have been populated to arrive at the payroll values currently displayed in Dynamics GP.

Similarly, if you wanted to remove a complete pay run the following SQL scripting can be utilized

delete UPR30100 where AUCTRLCD='XXX'
delete UPR30300 where AUCTRLCD='XXX'
delete UPR30401 where AUCTRLCD='XXX'

delete UPR30200 where AUCTRLCD='XXX'
-- Payroll Tax Liability

delete UPR30400 where AUCTRLCD='XXX'
-- Payroll Distribution History Header

delete from UPR30301 where year1=2020
--Payroll Transaction Summary that will be repopulated with reconcile from UPR30300


After the SQL removal you will want to run the Tools | Utilities | Payroll | Reconcile process so the summary information that includes the incorrect payroll amounts will be updated to the correct values before processing the replacement check materials.

Perform the reconcile process in GP:

  1. Click on Microsoft Dynamics GP >> Tools >> Utilities >> Payroll >> Reconcile.
  2. Select the appropriate year.
  3. Include all employees.
  4. Mark the box next to ‘Reconcile’.
  5. Click Process.



Please note that neither process will back out the associated check amounts in the GL and/or Bank Rec modules from the initial posting, so such amounts would need to be looked at individually in order to be backed out/adjusted prior to the replacement check materials being posted in order for the final account values to be accurate.

Note that as any and all SQL work would be performed at your complete discretion we would strongly recommend performing such an option in a TEST environment prior to performing in the LIVE and ensuring you back up the LIVE company db prior to performing ANY SQL work upon it.

Regarding db backups, they are always a recommended activity from the Dynamics GP support desk for obvious reason, but they are specifically encouraged regarding payroll processing activity as a surprisingly large amount of the payroll cases we do see do not have such a backup in place and could have been corrected much faster if the erring db was available to restore at the point where the pay run is already ready for review and/or printing activity accordingly.

As such, if you do have the option to back-up the company db immediately prior to printing every pay run it is strongly recommended.


Other useful links to review similar to this topic would be the following:

US Payroll User-Guide materials:
https://docs.microsoft.com/en-us/dynamics-gp/payroll/payrollus

How to create a test or historical company in Payroll or in Canadian Payroll in Microsoft Dynamics GP
https://support.microsoft.com/en-US/help/885542

Order that Canadian Payroll is updated during Update Masters for Microsoft Dynamics GP
https://support.microsoft.com/en-us/help/2462948/order-that-canadian-payroll-is-updated-during-update-masters-for-micro


Jeff Grant
Microsoft Dynamics GP Support