28 September, 2009

PO Purchases Account Required during PO Entry

After collaborating with another consultant to develop a solution to make the PO Line Purchase Account required during Purchases Order Entry I decide to make this available for general use "AS IS" with no warranties.  You can download the .dll here.  This has only been tested with GP v10.

This wasn't as simple as just making the field required with Modifier since the Purchasing Item Detail Entry window, on which the field is located, does not have to be loaded during PO Entry.  We accomplished the same thing with VBA but decided that the Visual Studio Toolkit for GP was a better option. If you want the VBA code just shoot me an e-mail and I'll send that to you.

The customization works like this:

During PO Entry, before you lose focus from a PO Line for which a Purchases Account was not entered or for which there was not a default value the system will notify you accordingly and stop you from continuing.

This customization will open Purchasing Item Detail Entry and then prevent the window from being closed or the record from being saved until the Purchases Account field is populated.

It's pretty simple but there were a few challenges we had to overcome.  Now, you don't have to!  If you do use it or just check it out leave me a comment and let me know what you think.


Vaidy Mohan said...

Hi Michael,

This is quite simple yet critical for some businesses.

I have one query though. Is there any specific reason why you had to create a DLL for this, while we do have VBA to achieve this? I am not against VSTools to be honest, but would be great to know if there were any specific reasons behind choosing that.

Vaidy Mohan

MichaelJ2 said...


VBA worked fine for this as well as you know. I chose VSTools mostly to ease deployment. For example, I didn't want to deal with merging the VBA for this with any existing VBA code.

Check it out and let me know what you think.



Vaidy Mohan said...


That makes more sense. Now, I will also be aware of this point when I suggest some solutions to my clients.

Vaidy Mohan

test said...

Nice stuff.. i need to adopt this dll, am not a developer but i thought i could register this dll and test it, but looks like i'm missing something critical.. how do i incorporate the dll?

The intention is to force users to specify the purch account, and once in the item detail entry screen the specified account should have budget available for PO commitments. On save, if PO commitments validation fails, then user should not continue.

Reason: we want commitments check to happen before the PO is submitted for approval in workflow. by default you can submit PO into workflow even if commitments fail, but cannot release the PO.

please help advise how i can use your DLL.

Nyere Lovemore

MichaelJ2 said...


To use this .dll all you need to do is copy into the GP\Addins directory on each GP client. After, the system will force users to enter a Purchases Account for each PO Line if one doesn't automatically default in for them.

Currently, this doesn't check the budget for PO Commitments. It only forces the user to enter an account. If you'd like to discuss how this could be extended to meet your requirements please shoot me an e-mail.



DanP said...

I'm trying to write a report and want to include (actually select by) the Purchases Account on the Purchasing Item Detail Entry screen. Can anyone tell me what table it's in? I can't find the thing!
Dan P

MichaelJ2 said...


The PO Line Purchases Account is stored in POP10110.INVINDX:

select INVINDX, * from POP10110

I hope this helps.