To manage purchases by project you should use the analytic accounts. You can set an analytic account on each line of a supplier order. The analytic costs linked to this purchase will be managed by OpenERP from the goods receipt and confirmation of the supplier invoice.
The hr_timesheet_invoice module lets you reinvoice the analytic costs automatically using parameters in the analytic accounts such as sale pricelist, associated partner company, and maximum amount.
So you can put an invoice order with a defined invoice workflow in place based on the analytic accounts. If you're working Make to Order, the workflow will be:
Procurement order on Supplier,
When re-invoicing based on costs you'd get the following workflow:
Enter the customer contract conditions from the analytic accounts,
If you want several analysis plans you should install the module purchase_analytic_plans. These let you split a line on a supplier purchase order into several accounts and analytic plans. Look back at 辅助核算 for more information on the use of analytic accounts.