In this particular case, Step 5 in the article was the exact cause...
5. View the CM20200 table in Query Analyzer
SELECT * FROM CM20200 WHERE SRCDOCNUM ='XXXX'
SRCDOCNUM is the check number used in payroll. For the check you are trying to void, the below columns need to have this type of status for the check to appear in the payroll void window. For example, if the RECONUM column is 1.00000, then it will not appear in the void window.
RECONUM = 0
Recond = 0
The transaction was a direct deposit, and it had been reconciled (the client reconciles daily) when it was initially pulled from the bank but then it bounced and was later placed back in to their account. A simple fix in the future, they plan to adjust the time at which they do the bank reconcilation on direct deposit days to catch the bounces after (not before) they happen. And to correct this case, they can enter a negative manual check (Transactions-Payroll-Manual Checks) to adjust out the check before reprocessing the payroll for the employee with a live check.
Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.