The purchase order module adds an extra payment method that allows customers on your site to check out using a PO number. You can restrict access to which users are allowed to checkout by purchase order with an access control permission called pay by purchase order. PO numbers are viewable at checkout and on all the order screens, and they are editable by administrators from the order edit screen. You will need to modify your invoice template to have the PO number show up, but you can do this simply by using the [po-number] tag.
The module defines a simple form used to look up orders by purchase order number. This page is located under the Orders menu in the Store administration menu.
This module may be used as an example module of how to implement a simple payment method. The functions have been documented and are fairly basic, so it would be a good starting point for anyone looking to do something similar on their site!
This module and issues are now supported through the project system at drupal.org. Please use the link below to download the module and report bugs.



Re: Purchase Order
Awesome. Just what I was looking for.
I've yet to test it out, but it sounds good.
Postgres support
The current version posted here does not have postgres support. I've added it in the install file. Postgres install patch included here.
*edit* this patch includes updates to the .module that had some issues as well.
Re: Postgres support
Added the Postgres patch and moved the module to http://drupal.org/project/uc_po.