The principle
A job groups the sales order, manufacturing orders, specific purchases, time and down payments. The margin is read by comparing planned with actual, milestone by milestone.
- OrderBudget frozen
- PurchasesPrice variance
- ManufacturingActual cost
- DeliveryDown payments and balance
- InvoicingFinal margin explained

In Odoo Community
A project can be created from the sale, and manufacturing orders can be linked to it. Manufacturing costs feed the job’s analytic accounting.
Milestones to track
- Order confirmed: job budget frozen.
- Specific purchases committed: price variance visible.
- Manufacturing finished: actual cost compared with planned.
- Invoicing: final margin and explained variances.
Limits
The margin is only right if every purchase and every time entry is linked to the right job. Overheads and their allocation are decided with management control.