Industries
Engineer-to-order
You design the product after the customer has signed. Engineering, purchasing, production, finance and service then work on the same order for months, sometimes years. That only holds together in one integrated system.
Engineer-to-order (ETO) is the most individual form of make-to-order manufacturing: machine and plant building, special-purpose vehicles, process equipment and bespoke installations. Every order has its own drawings, its own bill of materials and its own schedule, and much of its cost is committed before anything is built.
The order is a project
In engineer-to-order, a customer order is not a line in a sales report. It is a project with a budget, milestones, a critical path and a margin that has to survive until acceptance. Project management and project-based accounting are therefore the backbone of the business, not an add-on.
Every engineering hour, purchase order, production order and service call posts to the same project, so the forecast at completion is always current.
- One project structure from quotation to warranty, with a budget per phase
- Actual costs by cost type as they occur: hours, material, subcontracting and overheads
- Estimate to complete and expected margin, reviewed every month rather than after acceptance
Long lead times, many dependencies
An engineer-to-order project runs for months and is made of dependencies: design approval before procurement, factory acceptance before shipping, site readiness before commissioning. A delay in one discipline moves all the others.
Long-lead items (Langläufer) are the classic case. Purchased components with very long delivery times set the pace of the whole order, so they are ordered from the preliminary design, long before the final bill of materials is released.
The system has to reserve them for the project, match them to the released bill of materials when it arrives, and never order them a second time.
Engineering starts long before production
Weeks or months of engineering come before the first production order: concept, design, calculation, approval drawings and change requests. That work is a cost of the project and often one of its largest.
It has to be planned against capacity, recorded against the project and, where the contract says so, invoiced as a milestone.
Changes continue after release. Every change to a released design has to reach purchasing and the shop floor, with a record of which revision was actually built.
Deep, order-specific bills of materials
An engineer-to-order product is a structure, not a list: assemblies, sub-assemblies and purchased parts over many levels, partly standard and partly designed for this order alone.
The bill of materials grows as engineering progresses and is released in stages, so that purchasing and production can start on finished assemblies while others are still on the drawing board.
It has to come from CAD or PLM without being typed in again, stay linked to the project, and roll up costs that finance can reconcile.
Work in progress across reporting periods
Because an order runs over several reporting periods, much of its value sits on the balance sheet as work in progress: unfinished goods and unbilled work for long stretches of time.
At every period end, finance needs to know what each order has cost so far, valued at manufacturing cost, and whether the expected result still covers it. Under each of the frameworks below, an expected loss on an order has to be recognised as soon as it is foreseeable.
Revenue recognition depends on the accounting standard
The same order produces different income statements depending on the framework it is reported under. Often a system has to support more than one at once: a Swiss or German entity reports locally while the group reports under IFRS.
| Framework | When revenue and margin are recognised | What sits on the balance sheet until then |
|---|---|---|
| German Commercial Code (HGB) | As a rule, on delivery and acceptance of the whole order (completed-contract method), under the realisation principle of § 252 (1) no. 4 HGB. Partial realisation requires separately accepted parts of the contract. | Work in progress at manufacturing cost (§ 255 (2) HGB), with no margin before acceptance. |
| Swiss Code of Obligations (OR) | Not regulated in detail. The completed-contract method is accepted, and so is the percentage-of-completion method where payment for work performed is secured. | Work in progress at cost, or at a lower net realisable value (Art. 960c OR). |
| Swiss GAAP FER 22 | Percentage-of-completion method when its conditions are met, including reliable estimates of revenue, cost and stage of completion. Otherwise completed-contract. | The contract at its stage of completion, including the proportionate margin. |
| IFRS 15 and US GAAP (ASC 606) | Over time if a criterion in IFRS 15.35 is met; for engineer-to-order typically an asset with no alternative use and an enforceable right to payment for work done. Otherwise when control passes to the customer. | A contract asset or contract liability for each contract. |
The system therefore needs costs by project and cost type, a reliable stage of completion where the framework requires one, and invoicing kept apart from revenue: an advance payment is not revenue under any of these frameworks, and a milestone invoice is revenue only where the milestone itself meets the recognition criteria. Where local and group reporting differ, it needs both valuations from the same postings.
After delivery: service, spare parts and maintenance
Acceptance does not end the order. Commissioning, warranty, spare parts, maintenance contracts, retrofits and service calls can run for the whole life of the installation.
Service only works if it knows exactly what was delivered: the as-built bill of materials, serial numbers, revisions and documentation of this particular installation.
That information is created in engineering and production, so service has to read it from the same system, not from a folder on a file share.
Why it takes one integrated system
Every topic on this page crosses a departmental boundary. The project plan depends on engineering, engineering on purchasing, purchasing on the bill of materials, work in progress on production, revenue on work in progress, and service on everything that came before.
If each department runs its own tool, the order exists several times over and the only integration is a spreadsheet at month end. An integrated ERP gives you:
- One order, one project and one bill of materials, shared by sales, engineering, purchasing, production, finance and service
- Costs that post to the project as they occur, so work in progress and margin are known at every period end
- Long-lead items and engineering changes that reach purchasing and the shop floor straight away
- Revenue recognition set up per legal entity and framework, instead of recalculated in a spreadsheet
- An as-built record that service can rely on for years after acceptance
How we test it in an evaluation
Every vendor can show a project module and a manufacturing module. What matters is whether they work together on your order. In our evaluations, each shortlisted system has to run one of your orders from end to end, with your data:
- Quotation, order and project structure, with a budget per phase
- Engineering hours, and a long-lead item ordered before the bill of materials is released
- A staged release of the bill of materials, a production order and an engineering change after release
- A period close with work in progress and, where required, revenue by stage of completion, in each set of books you report
- Delivery, acceptance, final invoice and a warranty call against the as-built installation
Not slides. Transactions.
Engineer-to-order, from quotation to service
Choose a step of the value chain. Its subprocess opens underneath across the full width; choose an activity to see the business requirement and how the platforms score on it.
Core process
-
01Quote and winScope, estimate, plan
-
02EngineerDesign, release, change
-
03ProcureOrder, receive, reserve
-
04ProduceBuild to the project
-
05Deliver and commissionShip, commission, accept
-
06Close the periodEvery month
-
07Service and maintainFor the installation's life
Subprocess · 01 of 07
Quote and win
The order is priced as a project: engineering and material are estimated, phases and milestones planned, and the payment plan agreed.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Project structure, budgets and milestonesOdoo3 · StandardNetSuite3 · Standard
-
Milestone and advance billingOdoo3 · StandardNetSuite3 · Standard
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 02 of 07
Engineer
Weeks of engineering come before the first production order, and long-lead items are ordered from the preliminary design.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Project structure, budgets and milestonesOdoo3 · StandardNetSuite3 · Standard
-
Stock movements costed to the projectOdoo3 · StandardNetSuite2 · Add-on
-
Multi-level BOMs and production ordersOdoo3 · StandardNetSuite3 · Standard
-
Engineering change controlOdoo3 · StandardNetSuite2 · Add-on
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 03 of 07
Procure
Material for released assemblies is bought, received and reserved for the project, with its cost on the project from the start.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Stock movements costed to the projectOdoo3 · StandardNetSuite2 · Add-on
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 04 of 07
Produce
Production orders come from the released BOM and stay linked to the project, so hours and material land in its profitability.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Multi-level BOMs and production ordersOdoo3 · StandardNetSuite3 · Standard
-
Stock movements costed to the projectOdoo3 · StandardNetSuite2 · Add-on
-
Production orders and their costs on the projectOdoo3 · StandardNetSuite2 · Add-on
-
Project structure, budgets and milestonesOdoo3 · StandardNetSuite3 · Standard
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 05 of 07
Deliver and commission
Delivery ends with the customer's acceptance, which under the German Commercial Code is, as a rule, when revenue is realised.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Stock movements costed to the projectOdoo3 · StandardNetSuite2 · Add-on
-
Field service and maintenanceOdoo3 · StandardNetSuite2 · Add-on
-
Milestone and advance billingOdoo3 · StandardNetSuite3 · Standard
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 06 of 07
Close the period
Each period end values the work in progress, updates the estimate to complete and, where the framework requires it, recognises revenue by stage of completion.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Project structure, budgets and milestonesOdoo3 · StandardNetSuite3 · Standard
-
Revenue by stage of completionOdoo2 · Add-onNetSuite2 · Add-on
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
Subprocess · 07 of 07
Service and maintain
Warranty, maintenance and spare parts run against the as-built record of this installation.
Requirements in this step
Choose an activity with a gold dot to see its business requirement.
No specific system requirement at this activity.
-
Field service and maintenanceOdoo3 · StandardNetSuite2 · Add-on
-
Milestone and advance billingOdoo3 · StandardNetSuite3 · Standard
How the platforms score
Axes this step touches are in bold; the gold point is the selected requirement.
How the platforms compare for engineer-to-order
Every system we compare handles projects and billing. The difference is whether stock, production and service belong to the same project, or live somewhere else.
Meets 9 of 9
Meets 6 of 9
| Requirement | Needed | Odoo | NetSuite |
|---|---|---|---|
| Project structure, budgets and milestones | 3 | 3 · Standard | 3 · Standard |
| Milestone and advance billing | 3 | 3 · Standard | 3 · Standard |
| Revenue by stage of completion | 2 | 2 · Add-on | 2 · Add-on |
| Field service and maintenance | 2 | 3 · Standard | 2 · Add-on |
| Engineering change control | 3 | 3 · Standard | 2 · Add-on |
| Multi-level BOMs and production orders | 3 | 3 · Standard | 3 · Standard |
| Production orders and their costs on the project | 3 | 3 · Standard | 2 · Add-on |
| Stock movements costed to the project | 3 | 3 · Standard | 2 · Add-on |
| A current web interface for daily work, with mobile apps and shop-floor screens | 3 | 3 · Standard | 3 · Standard |
Scores are our assessment of each platform as named here: Odoo 19 Enterprise, and NetSuite on its Manufacturing edition with SuiteProjects. 3 included, 2 add-on module, SuiteApp or a partner's app listed for the current version, 1 workaround, 0 not offered. The dashed outline is what an engineer-to-order business needs; hatching marks the gap.
Odoo: the whole chain in one system
Stock pickings and manufacturing orders carry the project in the standard product, so material and production costs land in project profitability. Revenue by stage of completion is not in the standard product: partner apps for Odoo 19 post it from a stage of completion recorded on the project, or we set it up as period-end entries. Shop Floor (Odoo Enterprise) gives operators a screen for their work orders, and the web client runs on phones as an app.
NetSuite: strong parts, loose links
Projects, work orders, routings and billing are mature. A work order can name its project, but the project profitability report does not count work orders or assembly builds. Partner SuiteApps collect stock and production costs on the project; in our implementations we map every project to a custom segment. Cost-to-cost completion needs a separate SuiteApp. Manufacturing Mobile, included with Manufacturing, gives operators a screen on the shop floor.
Where to go next
Walk us through one of your orders.
From quotation to the first service call. We will show you where an integrated system changes the result, and where it does not.