An Odoo implementation quote should be built from your business processes, not from a list of apps. A complete quote states the scope by process, lists what standard Odoo doesn't cover and how each gap will be handled, and prices data migration, training and support after go-live as separate lines. Licences are a separate cost again, billed by Odoo. Compare quotes line by line: when two totals differ widely, the gap is almost always in what one of them leaves out.
This guide explains how a quote is put together, what each line means, and the questions that show whether a quote is complete. For what each line typically costs, see what an Odoo implementation costs in India.
How an Odoo quote is built
A credible quote comes out of a short requirements review, not a first meeting. The usual sequence:
- Process walkthrough. You describe how work moves today: from enquiry to invoice, from purchase to payment, from raw material to dispatch. The implementer notes volumes, users, branches and the reports you rely on.
- Fit check. Each process is mapped to standard Odoo. Most fit as standard or with configuration. The rest become gaps.
- Gap decisions. Each gap gets an answer: change the process, configure it with Studio, or build a custom module. Each answer has a different cost now and at every upgrade.
- Estimate. Hours are estimated per process, per gap, for migration, training and project management, then priced.
- Written quote. The scope, assumptions and exclusions are written down with the price, so both sides agree on what the number buys.
The lines a complete Odoo quote contains
| Line | What it should say | Why it matters |
|---|---|---|
| Scope by process | Each process in plain language, the Odoo app that runs it, and what is out of scope | Stops "we assumed that was included" arguments later |
| Gap list | Each requirement standard Odoo doesn't meet, the proposed answer and its estimate | The biggest source of price differences between quotes |
| Edition and hosting | Community or Enterprise, plan, and Odoo Online, Odoo.sh or on-premise, with the reason | Decides which apps you can use and what you pay every year |
| Data migration | Which data, from which system, who cleans it, and how it is checked | Often left out, then added back as a change request |
| Plan and milestones | Phases with dates, decisions you must make, go-live acceptance criteria | Shows whether the timeline is realistic |
| Your team's time | Named key users and the hours expected of them | Projects slip when this isn't planned |
| Training | Who is trained, on what, when, and how | Users trained only in go-live week struggle |
| Support after go-live | What's covered, for how long, response times, cost after that | The first month after go-live is when most questions come |
| Commercials | Fixed price or rate, payment schedule, how change requests are priced | Decides who carries the risk if scope moves |
Licences are a separate cost
The implementation quote covers services: analysis, configuration, development, migration, training and support. Odoo Enterprise licences are a different cost, billed under your Odoo subscription per user. Odoo publishes those prices on its pricing page. A clear quote shows licences on their own line, or says plainly that they are not included, so you can see what you are paying for services alone.
If you plan to run Odoo Community, there are no licence fees, but some apps and features are Enterprise-only. Our Community vs Enterprise comparison covers what that changes in the scope.
Fixed price or time and materials
Both work. The choice depends on how well the scope is known.
- Fixed price suits a well-defined scope. The implementer carries the estimating risk, so the price includes some margin for it, and the scope is held firmly. Anything new is a change request.
- Time and materials suits projects where requirements are still being found. You pay for hours used, so the budget is in your hands and you need to track it.
- The middle path is common: a paid analysis phase on time and materials, then a fixed price for the build once the gaps are known.
Whichever you choose, agree in writing how a change request is raised, estimated and approved before work starts.
Why two Odoo quotes differ so much
Two quotes for the same company can differ several times over. The usual reasons:
- Different answers to the same gap. One quote changes a process; another builds a custom module for it. The module costs more now and again at each upgrade.
- Migration included or not. Moving masters, opening balances and open items is real work. A quote without it isn't cheaper; it has moved the work to you.
- Training depth. One session at the end costs less than role-based training during the project, and delivers less.
- Support after go-live. A quote that ends on go-live day looks cheaper than one that includes the first weeks of support.
- Assumptions. Number of users, companies, warehouses, reports and integrations. Read the assumptions before the total.
Warning signs in an Odoo quote
- Yes to everything. If nothing in your requirements needs a process change or custom work, the requirements haven't really been read.
- No gap list. Every business has some. A quote without one will find them later, at your cost.
- Customisation as the default. Every custom module has to be ported at each upgrade. A quote heavy with modules is a quote for higher running costs.
- No exclusions. A quote that doesn't say what's out of scope leaves it open to argument.
- Code you can't access. Custom modules should sit in a repository you can see, so you are never locked in.
Questions to ask about any quote
- Which of our requirements are met by standard Odoo, which by Studio, and which by custom code?
- What data will you migrate, and who cleans it?
- Who will do the work, by name?
- What does support cover after go-live, and for how long?
- How is a change request priced?
- Who owns the custom code, and where is it kept?
Ask for the answers in writing and attach them to the quote. Before you sign, read why Odoo implementations fail: several of the causes are decided at this stage.
Questions we get asked
What does an Odoo implementation quote include?
A complete Odoo implementation quote includes the scope by business process, a gap list showing how each unmet requirement is handled, the recommended edition and hosting, data migration, a plan with milestones, the time expected from your staff, training, support after go-live, and commercial terms covering rates, payments and change requests. Odoo licences are a separate cost and should appear on their own line.
Why do Odoo implementation quotes vary so much?
Odoo quotes vary mainly because they cover different work. One may handle a gap by changing a process while another builds a custom module. One may include data migration, role-based training and post-go-live support while another leaves them out. Different assumptions about users, companies and integrations also change the price. Compare quotes line by line and read the assumptions before comparing totals.
Should I choose a fixed-price or time-and-materials Odoo quote?
Choose fixed price when your scope is well defined: the implementer carries the estimating risk and holds firmly to the scope. Choose time and materials when requirements are still unclear and you can track hours closely. Many businesses combine them, paying for a short analysis phase by the hour and then agreeing a fixed price for the build once the gaps are known.
Are Odoo licences included in an implementation quote?
Usually not. Implementation quotes cover services such as analysis, configuration, development, migration, training and support. Odoo Enterprise licences are billed separately under your Odoo subscription, per user, at the prices on Odoo's pricing page. A clear quote either shows licences on a separate line or states that they are excluded, so you can compare the cost of services on its own.