Printcost.

Purchase orders for both materials and outwork can be automatically created from jobs using the estimated cost information. You can choose the supplier at the time of creating the purchase order, which allows you to shop around for the best price. An order planning function allows you group together jobs that require the same stock, or you can choose to create individual purchase orders for each job.

Bitnami