A new Advanced Purchasing Authorizations extension package has just been released.
The Advanced Purchasing Authorization package adds comprehensive purchasing limits to the xTuple system and prevents the release and printing of purchase orders unless the user releasing the PO has sufficient authority to release those orders. Purchasing Authorizations are set up as a matrix of permissions and spending limits and can be as specific or general as you desire. Specific purchasing authorizations are known as purchasing levels. The purchasing matrix is set up for both physical Items or for non-Item Expense Categories.
So in the above example, user Anderson can purchase $1000 worth of Maintenance (services) but only from Vendor xTuple. The same user can purchase $100 of Office Supplies from anyone, or $100 worth of Items from anyone but only if that Item belongs to the PROD Planner Code.
Standard or Core xTuple allows just a single purchasing authorization around the Release of the Purchase Order There are no purchasing limits on what you can purchase, from whom and what your value purchasing limit might be. Furthermore, it is possible for anyone who can create a purchase order to print the order and send it to the external party thus creating a commitment against that external party. This package allows anyone to create a Purchase Order, but prevents the order from being released or printed until an Employee/User with authority releases the order.
If a user attempts to release a Purchase Order that they have insufficient authority for, an error is displayed and the Purchase Order is not released.
With the addition of this package, you can no longer print Un-Released Purchase Orders. They must first be released/approved by a user with a sufficient Purchasing Level.
The Advanced Purchasing Authorizations package is available for all versions of xTuple (including PostBooks®) from version 3.8 and above.