Dynamics GP next PO number is wrong
When a user types a purchase order number, that has not been used before, into the purchase order entry screen of Microsoft Dynamics GP, then exit the screen. GP will attempt to put that incorrect number back into the next number field in purchase order setup, for the next user to reuse. This would have been ok if the number had been auto-generated by GP, as it fills empty gaps in the number range. However we don't want manually entered numbers being used as new seeds for the next numbers. This will only happen if the number has not been used before.
1 User wants to edit PO 40955, so they type 04955 accidentally transposing numbers zero and four, then exit the PO entry window but because 04955 was unused, it gets written back to next PO Number settings table.
2 The next person entering the window will be provided with the PO Number 04955 rather than 40955.
The intention of this feature in GP, is to use up all PO numbers sequentially, without leaving gaps, but this leads to the number jumping for subsequent users, where the number was not one generated by GP. It will only happen if the number is unused, and is less than the existing next number.
Mariano covers this subject in his blog too the blog post describes a little how GP scans through 1000 records looking for next available number.
The next number is persisted in the purchase order processing setup window,
Microsoft Dynamics GP>>Tools>>Setup>>Purchasing>>Purchase order processing
The Professional Services Toolkit, which is an extra module for Dynamics GP, provides extra features for GP, it adjusts the behaviour of this. (Thank you to the co-worker that pointed this out, I had never registered in my head this was a feature before!)
Using PSTL (professional services tools library) to solve jumping purchase order numbers in Dynamics GP
Turn the feature on from the PSTL main window as shown,
You may need to restart workstations after enabling the feature.
Navigate to the additional menu of the Purchase Order Processing Setup window.
Then set a min number for both PO and Receipts or tell the system to never reuse a number, in that case the boxes gray out,
The full explanation follows from the user guide. This prevented the issue occurring again for the problem I was solving.
The guide from the PSTL user guide for this feature:
Using Minimum PO/Receipt Number
This tool adds the ability to prevent Purchase Order Processing from defaulting to the next PO Number or Receipt Number. You can set the default to a number before the current PO number when a previously existing PO number is deleted. You can also set the minimum PO Number default, so defaults will never go below the set amount.
To set a Minimum PO or Receipt number:
- To activate the new functionality that this tool offers, simply mark the second check box next to Minimum PO/Receipt # from the Professional Services Tools menu. Close the window.
- Open Microsoft Dynamics GP menu >> Tools >> Setup >> Purchasing >> Purchase Order Processing, and then choose Additional >> Minimum PO Number.
- Enter the minimum purchase order and receipt numbers.
- If you do not want to use previous PO or receipt numbers, select the check box to never default to a previous PO or receipt number.
The Minimum PO Number Default and Minimum Receipt Number Default fields will be disabled.
- Choose Save.
This functionality will only work for document numbers that are the same length. If the next PO Number field is not the same length as the Minimum PO Number entered, then the system will function as it did without the customization.