The four-level decision model
Automation projects fail in a predictable way. A team picks the most impressive tool first, then discovers the process was never stable enough to automate. The model below reverses that order. Start at level one and only move down when the level above cannot do the job.
| Level | What it is | Use it when | Example |
|---|---|---|---|
| 1. Standard Odoo | A feature that already exists | The process matches how Odoo works, or can reasonably change to match | Reordering rules that propose purchase orders when stock is low |
| 2. Deterministic rule | A configured rule: if this happens, do that | The decision can be written as a rule with no judgment | Route a purchase order for approval above a set amount |
| 3. Integration | A connection to a system you are keeping | Another system owns part of the process for a good reason | Field hours from a workforce app posting to projects in Odoo |
| 4. Bounded AI | A model that extracts, classifies, summarizes, drafts or suggests | The input is unstructured and a person reviews the output | Summarize a long quality report for a shift handover |
Each level costs more to build and to support than the one above it. Each also fails in less obvious ways. A standard feature is tested by thousands of companies. A rule does exactly what you wrote. An integration can fail between two systems. An AI step can be wrong while looking right. That is why the order matters.
Is the process stable enough to automate?
Automation makes a process faster. It does not make it correct. Before choosing a level, check the process itself.
- The process happens often enough to matter, at least weekly.
- Two people would describe the steps the same way.
- The inputs arrive in a consistent form.
- The rules can be written down, including who approves what.
- Exceptions are known and someone owns them.
- A mistake can be detected and reversed.
- You can measure it today: time taken, error rate or delay.
If you cannot tick most of these, fix the process first. Automating an unclear process usually moves its problems into another system, where they are harder to see. Our guide on how to choose an automation candidate turns this into a scorecard.
System of record: who owns each piece of data
Every automation moves data between places. The first design question is which system is the system of record for each record type. The system of record is the authoritative home. Other systems read from it or send updates to it, but they do not hold a competing copy.
A simple ownership table prevents most integration disputes:
| Record | System of record | Other systems | Direction |
|---|---|---|---|
| Customers and vendors | Odoo | E-commerce store, field app | Odoo to others, with new records proposed back |
| Products and prices | Odoo | E-commerce store | Odoo to store |
| Field hours | Field workforce app until approved, then Odoo | Payroll | App to Odoo |
| Invoices and payments | Odoo, or a retained accounting package | Reporting | One way, reconciled |
The table above is an illustration. Yours will differ. What matters is that every field has one owner, and that everyone knows what happens when two systems disagree.
Level 1 and 2: what Odoo can do without an integration
Approval routing
Purchase orders, expenses, time off and other documents can follow approval steps by amount, role or department. Approval is the most common first automation because the rule is clear and the audit trail is valuable. In our construction ERP case study, purchase and vendor bill approvals were routed by dollar threshold and role, replacing email and verbal sign-off.
Automation rules
Odoo automation rules trigger changes based on user actions, email events, time conditions or external events. In the Odoo 17 documentation, triggers include values being updated, email events, timing conditions such as a period after creation or last update, saving or deleting a record, and a webhook call. Actions include updating a record, creating an activity, sending an email or SMS, adding followers, creating a record, executing code, sending a webhook notification and running existing actions. The documentation places rule creation in Odoo Studio.
Scheduled actions
Some work should happen on a timetable, not in response to an event: a nightly check for overdue items, a weekly report, a daily reconciliation. Scheduled actions suit these. They need the same care as any automation: a clear owner and a way to see that the run happened.
Webhooks
A webhook is a message one system sends to another when something happens. Odoo can send a webhook notification as a rule action and can be triggered by an incoming webhook. Webhooks are fast and efficient, but they are fire and forget unless the receiving side confirms and retries. That is why production integrations add queues and logging, covered below.
Queues
A queue is a waiting line for work. Events are stored in order and processed one at a time, or at a controlled rate. Queues matter for three reasons. They absorb bursts, such as a promotion that sends thousands of orders in an hour. They make retries safe, because a failed item waits and is tried again without blocking the rest. And they give you a place to see what is pending.
If an integration will ever receive more events than the destination can process at once, or if losing an event would cost money, it should have a queue. Our multichannel fulfillment build is designed around this idea for marketplace orders.
What each level costs to own
Build cost is only part of the picture. Think about who looks after it afterwards.
| Level | Build effort | Ongoing ownership | Breaks when |
|---|---|---|---|
| Standard Odoo | Setup and training | Low. Carried through upgrades | The process stops matching the feature |
| Deterministic rule | Small. Needs clear conditions | Low to moderate. Review when the process changes | Someone changes a field or a stage the rule depends on |
| Integration | Moderate to large | Moderate. Monitoring, credentials, retesting at upgrades | Either system changes, or nobody watches the exceptions |
| Bounded AI | Moderate, plus a test set | Moderate to high. Review time, provider fees, re-evaluation | The model, the prompt or the input changes |
Level 3: integrating a system you are keeping
Integration is appropriate when a second system has a legitimate reason to exist. Field crews work in a mobile app. Customers order through a store. Finance keeps an accounting package it trusts. The integration's job is to keep both systems consistent without anyone re-typing.
A working demo and a supportable production integration are different things. A production integration needs all of the following.
| Control | What it prevents |
|---|---|
| Validation | Bad or incomplete data entering the system of record |
| Field mapping, written down | Disagreements about what a field means |
| Retries with limits | A temporary outage becoming lost data |
| Duplicate prevention | The same order, hour or payment being created twice |
| Permissions | The integration doing more than it needs to |
| Logs | Being unable to explain what happened |
| Monitoring and alerts | Failures that nobody notices for a week |
| Exception ownership | Errors that sit in a queue with no one responsible |
| Rollback | A bad change that cannot be undone |
| Support agreement | Nobody knowing who to call |
We use n8n, an automation platform, for many Odoo integrations. Its Odoo node works with contacts, opportunities, notes and custom resources, which lets a workflow read and write other Odoo models. The architecture, including queues, idempotency and the production-readiness checklist, is in our Odoo and n8n integration guide. How requests are prioritized after launch is in the Service Level Agreement.
Level 4: what AI is good at, and what it should not do alone
Current language models are useful for five kinds of task around an ERP.
- Extracting: pulling fields out of a document, such as a supplier invoice or an RFP.
- Classifying: sorting items into categories, such as the type of a support request.
- Summarizing: turning a long thread or report into a short brief.
- Drafting: writing a first version of an email or description for a person to edit.
- Suggesting: proposing a next step or a likely match, with the reasoning visible.
In all five, the model produces a proposal. A person or a deterministic rule decides what happens next.
AI should not act without human control when the action is financial, contractual, safety-related, compliance-related or hard to reverse. Posting a journal entry, approving a payment, changing a price, committing to a delivery date, releasing a production order and sending a contractual document are decisions for a named person. The model can prepare them. It should not complete them.
A useful test. If the step went wrong 1 time in 50, would anyone notice before it caused harm, and could it be undone? If either answer is no, the step needs a human review or a deterministic check in front of it.
Native Odoo AI and external models are different things
It helps to be precise about what is being proposed.
Native Odoo AI, in Odoo 19. Odoo 19 includes an AI application. According to Odoo's documentation, it provides an Ask AI agent that understands natural language and can answer questions, open views and improve content, and the standard Ask AI agent cannot make changes to the database. Custom AI agents are built from topics, tools and sources, where sources can be PDFs, web links, documents and knowledge articles. AI fields generate or suggest values from record context and can be refreshed by a person or filled by a daily scheduled action. AI server actions let a model choose which tool to run in a workflow. Odoo supports OpenAI and Google Gemini as providers. API keys are required on Odoo.sh and on-premise, and optional on Odoo Online. Odoo's pricing page lists agentic AI under its Custom plan.
Odoo's documentation is direct about the limits of AI server actions. The AI action does not enforce business rules or guarantee the correctness of the operation, and a tool called by it executes unless the tool's own code prevents it. In practice, this means the safeguards have to be written into the tool. That is a design task, not a setting.
External model integrations. A workflow outside Odoo, for example in n8n, can call a model, then write a proposed result into Odoo for review. This works across Odoo versions and lets you choose the model, but you own the prompt, the data sent to the provider, the logging and the cost.
Earlier Odoo versions have fewer native AI features. If a proposal mentions Odoo AI, ask which version it assumes and whether the feature is native, configured or custom. The ERP AI readiness checklist covers version, data and permission checks before any AI work starts.
Examples by industry
These are patterns, not promises of outcomes. Each one names the level it belongs to.
Manufacturing
- Level 1: reordering rules and make-to-order routes create purchase and manufacturing orders from demand.
- Level 2: a failed quality check creates an alert and notifies the planner.
- Level 3: a pricing engine or a machine data feed connected to production, where the plant needs it.
- Level 4: summarize quality issues for handover, or extract fields from supplier documents for review.
See the Odoo manufacturing ERP hub and practical AI use cases for manufacturing ERP.
Construction and contracting
- Level 2: purchase and bill approvals by threshold and role. Quantity and price checks flag bills outside expected ranges.
- Level 3: field time from a workforce app posts to the right project and cost code in Odoo. This is the pattern in our construction ERP case study.
- Level 4: draft a summary of site notes for a project manager to edit.
See Odoo for construction companies.
Engineering and RFP-driven firms
- Level 1 and 2: pipeline stages with submission, site-visit and review dates, and reminders before each.
- Level 4: extract dates and requirements from an RFP document into a draft record, with the source page shown and a named reviewer confirming it.
See Odoo for engineering firms and the engineering firm case study.
Fulfillment and multichannel retail
- Level 3: marketplace orders flow into one queue in Odoo, with duplicate prevention and reconciliation.
- Level 2: day-end matching of cash collected against parcels shipped, with mismatches listed for a person.
Our multichannel fulfillment build describes this design. Its outcome figures are projections and are labelled as such.
Readiness and measurement
Before building, write down four things.
- The baseline. How long does the process take today, how often does it go wrong, and how long do items wait?
- The target. What should change, in the same units?
- The owner. Who is responsible for the process, and who handles exceptions?
- The stop condition. What result would make you turn it off?
Then run a small pilot, compare against the baseline, and decide whether to extend it. Useful measures are cycle time, touches per item, error or rework rate, items waiting, and exceptions per week. Avoid measuring only hours saved. A process that is faster but wrong more often is not an improvement.
| Readiness question | Ready | Not ready |
|---|---|---|
| Is the process stable? | Steps and rules are written down | People describe it differently |
| Is the data reliable? | Key fields are complete and owned | Records are duplicated or stale |
| Is there an owner? | A named person handles exceptions | Errors would land in a shared inbox |
| Can it be measured? | A baseline exists | No one knows the current numbers |
| Can it be reversed? | A mistake can be found and undone | Actions are irreversible |
Common mistakes
- Starting at level four. A model is asked to do what a setting or a rule would do exactly.
- Automating a workaround. The step exists only because two tools are disconnected. Connect them, or remove the step.
- No owner for exceptions. The automation works until the first unusual case, then quietly stops being trusted.
- Two systems of record. Both sides can edit the same field, and they drift apart.
- Measuring only time saved. Speed improves while errors go unnoticed.
- Building several at once. Nobody can tell which change caused which result.
What working with NGYN on automation looks like
We start with one process, not a programme. We map it, agree which system owns each record, choose the lowest level that solves it, and define error handling before building. After launch we measure against the baseline and only then extend. The same person who scopes the work stays responsible for it.
Automation is one part of how we work. For the wider picture of implementation, migration and support, see the NGYN Odoo implementation overview.
Frequently asked questions
Should we automate before or after implementing Odoo?
Usually after the core records are in one place. Automation built across disconnected spreadsheets tends to be rebuilt once the ERP is live. A few integrations are part of the implementation itself, such as connecting a system you are keeping.
Do we need AI to automate our processes?
Mostly no. Approvals, notifications, document creation and data movement are handled by standard features, rules and integrations. AI is useful where input is unstructured, such as free text or documents, and where a person reviews the result.
Which Odoo version do we need for the native AI features?
The AI application described here is documented for Odoo 19. Earlier versions have fewer native AI features. External model integrations can work with earlier versions.
What happens when an automation fails?
In a production design, the failure is logged, retried within limits, and then placed in an exception queue with an alert to a named owner. If nobody would know about a failure, the automation is not ready.
Is our data sent to an AI provider?
With native Odoo AI or an external integration, the content you include in a request is processed by the model provider you configure. Decide which fields may be sent, check the provider's terms, and exclude sensitive data that the task does not need.
Next step
Choose one process that takes time every week and bring it to a free 30-minute ERP fit call. We will place it on the four levels and tell you plainly what it would take.
Sources and review
- Odoo automation rules, Odoo 17 documentation, for triggers and actions.
- Odoo 19 AI documentation, AI agents, AI fields, AI server actions and AI API keys, Odoo S.A.
- n8n Odoo node documentation, n8n.
- NGYN's published case studies for implementation examples, with their stated qualifications.
Published October 2026. Last reviewed October 2026 by NGYN Solutions Inc.. Product capabilities change between Odoo versions, so confirm version-specific details against the linked documentation before relying on them.