
PTE Timesheets Automatically Rejected in Microsoft Dynamics GP
Recently, I had a customer state that they opened a new fiscal year and were having a problem with PTE timesheets automatically getting rejected. We were able to narrow it down to just new projects created in the new fiscal year that were experiencing the problem. PTE timesheets for projects in the previous fiscal year would get approved successfully.
I ended up opening a ticket with Microsoft and here are the steps we went over:
Project >> Transactions >> Time and Expense >> Timesheet Entry
The employee completed their timesheet for the week and clicked Submit as normal.
Project >> Navigation List >> PTE Timesheets > Not Submitted
The approver could open up the transaction and attempt to approve it, however, it would automatically have a “Rejected” status.
Administration >> Setup >> Company >> Workflow >> Workflow Maintenance
We reviewed the workflow setup for project timesheets and confirmed it was set up correctly.
Microsoft provided a SQL script called ‘PTE Timesheet All Workflow.sql.’ In this script we could see the rejected timesheet had the error “Account index errors exist for PTE.” This script is located at the end of this blog. Back to the setup of the project we went.
Project >> Cards >> Project >> select the Project Number experiencing the issue >> Budget button
Click on the cost category that was entered on the timesheet and then click on the blue expansion arrow to open up the Budget Detail Entry window.
Click on the Accounts button to open the Budget Accounts window.
This cost category was initially setup to use “None” as the source for the Work in Progress account. When “None” is selected, it will not update the General Ledger. Regular project timesheets will allow this setting, but not when using PTE timesheets. Once the user changed the source from “None” to “Cost Category”, they were able to successfully process another PTE timesheet.
Project >> Setup >> Project >> Accounts button
To prohibit any new projects from being setup with the “None” source, we needed to change the overall project setup account window for the Work in Progress source from “None” to “Cost Category.”
Use The Following Script To Query Workflow Tables, PTE Work and History
/**ALL WORKFLOW 2.0**************************************************************************** ** This script will query the following Workflow tables along with PTE Work and History: ** WFI10002 - Workflow Instance Master ** WFI10003 - Workflow Step Instance ** WFI10004 - Workflow_Tasks ** WF30100 - Workflow History **/--------------------------------------------------------------------------------------------------------- DECLARE @SEARCHON as varchar(30) /**--------------------------------------------------------------------------------------------------------- Please Enter the PO number, Requisition Number, Project Timesheet, or Payroll Timecard Information in the @SEARCHON field below. This does search using a wild card, so you can search wide open on an employee id, or just a certain date or period or all employees as well. EXAMPLES: -Project Timesheet: EMPLOYEEID-TS-MMDDYY-X **/---------------------------------------------------------------------------------------------------------- SELECT @SEARCHON = 'BARR0001-TS-040117-2' print 'PTE10000 - Work PTE Header' print '==================================================================================' print '' Select * from PTE10000 where PTE_Timesheet_Number like '%' + convert(varchar,@SEARCHON,102) + '%' print 'PTE10001 - Work PTE Detail' print '==================================================================================' print '' Select * from PTE10001 where PTE_Timesheet_Number like '%' + convert(varchar,@SEARCHON,102) + '%' print 'PTE30100 - History PTE Header' print '==================================================================================' print '' Select * from PTE30100 where PTE_Timesheet_Number like '%' + convert(varchar,@SEARCHON,102) + '%' print 'PTE30101 - History PTE Detail' print '==================================================================================' print '' Select * from PTE30101 where PTE_Timesheet_Number like '%' + convert(varchar,@SEARCHON,102) + '%' print 'WFI10002 - Workflow Instance Master' print '==================================================================================' print '' Select * from WFI10002 where BusObjKey like '%' + convert(varchar,@SEARCHON,102) + '%' print 'WFI10003 - Workflow Step Instance' print '==================================================================================' print '' Select * from WFI10003 where WorkflowInstanceID in (select WorkflowInstanceID from WFI10002 where BusObjKey like '%' + convert(varchar,@SEARCHON,102) + '%') print 'WFI10004 - Workflow_Tasks' print '==================================================================================' print '' Select * from WFI10004 where WorkflowInstanceID in (select WorkflowInstanceID from WFI10002 where BusObjKey like '%' + convert(varchar,@SEARCHON,102) + '%') print 'WF30100 - Workflow History' print '==================================================================================' print '' select * from WF30100 where WorkflowInstanceID in (select WorkflowInstanceID from WFI10002 where BusObjKey like '%' + convert(varchar,@SEARCHON,102) + '%')