Odoo open-source ERP

Quotes, inventory, production, and bookkeeping all run on the same database. The open-source architecture keeps the data model and API fully open, so AI agents can read and write ERP records and master data directly. GN-AI builds and maintains the Taiwan regulatory compliance.

ODOO — Open Source ERP
Odoo Business Management System
GN-AI is an Odoo partner, providing deployment consulting, AI agent development and integration, custom development, module configuration, integration with existing systems, training, and annual maintenance.
80+ modules Phased modular deployment Open-source core API covers all data models Taiwan regulatory localization

What is Odoo

A modular management system that puts order-taking, inventory, production, and accounting into a single database.

ERP (Enterprise Resource Planning) is management software that links order-taking, purchasing, inventory, production, and bookkeeping in one database. Departments no longer need to maintain separate spreadsheets.

Odoo is developed by Odoo S.A. in Belgium and has been in development for over 20 years. It differs from traditional ERP in two ways, both directly useful when deploying AI:

  • Modular: split into 80-plus modules (apps) that can be enabled independently. You can start with just CRM or Inventory, then add Purchase, Manufacturing, or Accounting later. The deployment pace is set by user readiness, not an all-at-once rollout.
  • Open source: the core code and data model are public, so both the software and the data are portable. External systems and AI agents can connect by following the documentation, without waiting for the vendor to open an interface.

The release cycle is predictable: one major version a year, with minor versions roughly every quarter in between. Upgrade planning is part of the project scope from day one. Vendor version updates and security advisories are tracked continuously under annual maintenance. For the overall evaluation logic for ERP deployment and the AI deployment service scope, see ERP Business Management.

Why open source is an advantage in the AI era

With the data model and API fully open, AI agents don't need to wait for the vendor to open an interface, and no separate integration license is required.

The bottleneck in putting AI into ERP is usually not model capability, but not being able to read or write data. Odoo exposes its entire ORM as a public API, rather than opening a window onto a handful of tables. Table structures, field meanings, and method definitions are all readable in the source code. This is the main reason to choose Odoo.

Table structures are directly readable

Odoo runs on PostgreSQL, and both the code and table structures are fully public. A read-only replica can be set up for BI, RAG knowledge-base indexing, or data analysis, without affecting production performance. Field meanings can be checked in the source code rather than inferred.

API coverage is open by default

Any public method on any model can be called through XML-RPC, JSON-RPC, or the JSON-2 API; internal methods starting with an underscore are not exposed. Custom models and fields added through Studio get an API automatically as soon as they are created. There is no extra integration layer to build, and no waiting on the vendor's release schedule.

Interface documentation that generates itself

Odoo 19's External JSON-2 API provides a /doc endpoint that dynamically generates API documentation based on the modules and custom fields actually installed on that database. ir.model and ir.model.fields can also be queried to list models, fields, and types. For an AI agent, this is a tool list and schema source that stays in sync with the system.

Permissions are controlled by the ERP itself

External calls always run as the user bound to the API key, subject to model-level access rights (ir.model.access), row-level record rules (ir.rule), and field-level permissions. What an agent can see and change is configured entirely within Odoo. There is no need to build a separate permission layer on the agent side.

No indirect-access surcharge

Some closed-source ERPs charge a separate indirect-access license fee when third-party systems create records in them. An AI agent is by nature a high-frequency record creator, so this cost compounds over time. Odoo has no such charge.

Both the model and provider layers are extensible

Custom modules can be developed on Community and Enterprise on-premises deployments and on Odoo.sh; only Odoo Online (SaaS) does not allow custom code. On licensing, the Community core uses LGPLv3, which can be freely modified and redistributed; Enterprise modules use the vendor's proprietary license, which grants source code for your own modification but not redistribution. Local fields common in Taiwan, such as e-invoice number-track management, discounts and allowances, and supplementary premium calculation, can be built in-house. The AI provider layer can also be extended with a custom module pointing to a self-hosted endpoint.

Vendor built-in AI features

The following reflects the current feature set as documented in Odoo 19's official documentation. All of it is part of Enterprise modules.

AI app and Ask AI

From Odoo 19, AI is a standalone app that serves as the base for cross-module assistance. The AI button in the top right and the Ctrl+K command bar support natural-language questions, opening views, rewriting content, translating messages, summarizing conversation history, and suggesting next steps. The standard Ask AI only retrieves information; it does not change database content.

AI agents

Agents can also be built in-house. Topics (renamed Skills from 19.4) define behavior scenarios and available tools; Tools are actions the agent can actually carry out in Odoo, such as creating a lead, opening a view, or editing a record; Sources specify what data can be referenced, including PDFs, URLs, Documents files, and Knowledge articles. Once source restriction is turned on, the agent only cites the specified data. Built-in scenarios include natural-language search, information retrieval, and lead creation.

AI fields and server actions

Fields whose value is suggested by AI can be created through Studio or property fields, covering text, multi-line text, HTML, integer, decimal, monetary, date, time, checkbox, relational, and tag types. The prompt can reference other fields on the same record with the /field command, and a scheduled action can fill in blank fields daily. AI server actions wrap a prompt into a server action attached to an automation rule for batch processing.

Natural-language search

Converts a query written in Chinese or English into an Odoo domain filter, applied directly to the list view. Users can pull up the records they want without first learning Odoo's filter syntax.

Email, documents, and live chat

Email templates can include an AI prompt, generating the body text dynamically from record content at send time, with drafting and copy-editing support. Documents can classify a file by prompt, file it automatically, and trigger follow-up actions. Website Live Chat can be handed to an AI agent for greeting visitors and collecting leads; from 19.4, a clickable card appears when a supported record is mentioned.

Voice transcription and release progress

Meetings are transcribed live and summarized; from 19.4, instructions can also be dictated directly to an agent. The same release adds MCP (Model Context Protocol) support, 30-day retention of AI conversations, uploading and linking files within a conversation, and a website assistant that generates web pages through conversation.

Provider and key setup. The official 19.0 documentation lists OpenAI (ChatGPT) and Google Gemini as inference providers: you enter your own key in the system, and cost follows the provider's pricing. Odoo.sh and on-premises databases must supply their own API key to use the vendor's AI features. So "Odoo runs in our own server room" and "AI inference stays in our own server room" are two separate things that need separate planning. See the next section for how to keep inference in-house too.

Developing AI agents on Odoo

Build agents on top of Odoo's API and permission model, and fit them into your existing approval workflow.

Integration methods

The traditional XML-RPC and JSON-RPC interfaces run through /xmlrpc/2/common and /xmlrpc/2/object, calling model methods with execute_kw, covering search, search_read, read, create, write, unlink, fields_get, and search_count. The External JSON-2 API added in Odoo 19 uses endpoints in the form POST /json/2/{model}/{method}, authenticated with an API key in the HTTP header. Each call runs inside its own SQL transaction: it commits on success and is discarded whole on error, which guarantees consistency for batch writes.

Permissions and auditing

An agent connects as its own dedicated Odoo user, never with an administrator key. Groups, model access rights, and record rules are set on a least-privilege basis, with visibility and write access limited to the models and rows actually needed. Every action is logged in that record's message history, so it can be traced afterwards: who wrote it, when, and from what source.

Fitting into the approval workflow

Writes always land in draft or pending-review status: a quotation stops at draft, a purchase suggestion stops at pending approval, a reminder email stops in the drafts folder. Actions that take external effect, such as confirming an order, posting, or sending an email, are still carried out by a person. The agent's job is to gather, compare, and fill in data. Decision points and the existing approval hierarchy stay unchanged.

Division of labor between on-premises and cloud models

Tasks involving financial figures, customer lists, pricing strategy, and payroll data go to an on-premises model. Lower-sensitivity tasks such as general copy rewriting can consider cloud models instead. On-premises inference has two routes: develop your own AI provider module and point Odoo's inference calls at a self-hosted compatible endpoint, or leave Odoo's AI module untouched and let an external on-premises agent read and write data through the API, with inference running entirely on your own GPUs. The second route needs no customization on the Odoo side, carries lower upgrade risk, and permissions still stay under Odoo's control.

Common agent use cases

  • Inquiry emails to draft quotations: reads the email body and spec attachments, matches part numbers against customer-specific price lists, generates a draft quotation, and replies to the source email. Sales confirms items and prices before finalising.
  • Three-way accounts payable matching: a daily scheduled job compares quantity, unit price, currency, and tax rate across the purchase order, goods receipt, and supplier invoice. Any discrepancy is written back to that invoice's message log and flagged for manual review. Accounting only looks at the exceptions.
  • Reorder points and purchase suggestions: estimates a suggested reorder quantity from current stock, quantity in transit, the past year's shipment history, and supplier lead time, then writes it back to the reordering rule or generates a draft purchase order. Purchasing places the order only after review.
  • Margin anomaly detection: compares selling price against actual cost. Orders with a margin below threshold, or a large gap from the same customer's historical price for the same item, trigger a notification to the sales manager before shipment. It only notifies; it never changes any figures.
  • Overdue receivables and risk summary: generates draft reminder letters and a suggested shipment-hold list graded by aging, alongside that customer's unshipped orders. Aging, unshipped exposure, and credit limit are shown on a single page.
  • Master data cleanup: compares similarity in tax ID, phone number, and address to find likely duplicate customers or suppliers, and lists the number of related records and the scope of impact for each. Merging is carried out by a person.
  • Natural-language queries on financial data: each answer includes the filter conditions and record count actually used, and links back to the original Odoo data for verification.

For the full AI deployment service chain (process review and feasibility assessment, data preparation, RAG knowledge-base build, agent development and integration, on-premises LLM deployment, training, and post-deployment tuning), see ERP Business Management. An on-premises GPU resource pool and model-serving platform can be paired with a hyperconverged cluster, keeping ERP and inference in the same server room. See Hyperconverged Infrastructure & VMware Alternatives for how.

Editions and deployment options

Map your customization needs, data residency requirements, and IT capacity to the right edition, plan, and deployment location.

Odoo Community

Open-source license, no per-user fee, and can be installed on your own server. Includes CRM, Sales, Purchase, Inventory, basic Manufacturing (MRP), Project, Invoicing, Website, and eCommerce. Suited to companies with in-house technical staff, or a proof of concept (POC, a small-scale trial) stage to confirm a process works. External AI agents can still connect through the API.

No license feeSelf-hostedAPI available
Odoo Enterprise

Commercial license, subscription-priced by number of users. Adds full accounting, a payroll engine, document OCR, spreadsheets and reporting, marketing automation, approvals, a knowledge base, advanced manufacturing features (shop-floor work order kanban, capacity scheduling), a mobile app, and vendor support, upgrade service, and built-in AI feature modules on top of Community.

Full accountingVendor upgrade serviceBuilt-in AI modules
Vendor cloud service

Works straight from a browser, with the vendor handling hosting, backups, and platform operations. Suited to companies whose processes are close to standard functionality and can be met with Studio tweaks; it is also the fastest starting point for a phased deployment.

Fastest to launchNo operations overhead
Vendor PaaS development platform

Supports custom modules, Git version control integration, and staging environments, while the vendor still operates the hosting. Projects that need custom modules, or code-level integration with local payment, logistics, or existing HR systems, typically fall here.

Custom modules supportedIncludes staging
On-premises, self-hosted

Installed on your own server or private cloud, keeping data on your side with the most customization freedom. This is also the only deployment option that lets ERP and AI inference stay in the same server room together. GN-AI provides architecture planning, build, upgrade assistance, and annual maintenance (business-hours support).

Data stays on your sidePairs with on-premises AI

Plan recommendation. Odoo's subscription plans split into Standard and Custom. Standard is enough for projects close to standard functionality, a single company, and no code-level integration. Custom is needed for Studio, external API, multi-company setups, or Odoo.sh and on-premises deployment. AI agent development needs the external API, so any project deploying AI should plan its edition, plan, and deployment location around Custom from the assessment stage. Licensing is subscription-based, priced by number of users. Contact us for an actual quote.

For selecting the underlying platform for on-premises deployment, see Hyperconverged Infrastructure & VMware Alternatives. If the ERP is opened up for external users or eCommerce front-end logins, that becomes an additional public-facing service; see Web & API Protection (WAF).

Module overview

Planning the deployment order around these five groups is the easiest way to align with each department.

Sales and customers

CRM (lead and opportunity tracking), Sales (quotation to order), Subscriptions (recurring billing), Rental, POS (retail and F&B checkout, can run offline).

Supply chain and production

Inventory (multiple warehouses, lot/serial numbers, barcode picking), Purchase (requisitions and suppliers), MRP Manufacturing (BOM, work orders, capacity scheduling), Quality (inspection), PLM (engineering changes), Maintenance (equipment upkeep).

Finance

Accounting (general ledger, receivables and payables, bank reconciliation, tax filing, and financial statements), Invoicing (issuing invoices and collecting payment), Expenses. Full Accounting is an Enterprise feature.

Internal management

Employees (staff records), Recruitment, Time Off, Appraisals, Project (projects and Gantt charts), Timesheets (hours convertible to billing), Helpdesk (support tickets), Planning (shift scheduling).

Online channels

Website Builder (drag-and-drop site editor), eCommerce (B2B/B2C), Blog, eLearning, Live Chat. Products, inventory, orders, and invoices share the same data as the ERP, with no integration needed.

The above is an overview of module scope. Advanced modules such as full accounting and financial statements, the payroll engine, appraisals, helpdesk, scheduling, quality inspection, and engineering changes are Enterprise features. Which modules sit in which edition, and which ones you actually need, gets confirmed item by item during requirements interviews.

Taiwan localization build

The vendor provides a chart of accounts and a value-added-center e-invoicing module (Taiwan's government-mandated e-invoice system). Direct Ministry of Finance integration and payroll regulatory rules are built and maintained by GN-AI under current law.

The vendor's Taiwan financial localization package has four modules: l10n_tw (Taiwan chart of accounts), l10n_tw_reports (Taiwan local financial report templates), l10n_tw_edi_ecpay (issuing e-invoices through the ECPay value-added service center, including B2B/B2C, credit notes, and voiding), l10n_tw_edi_ecpay_website_sale (automatic invoicing on eCommerce payment completion). That is where the vendor's scope ends. Whether Odoo actually works in Taiwan comes down to the four build items below.

E-invoice path one: value-added service center

Using a Ministry of Finance-approved value-added service center such as ECPay lets you use the vendor module directly. GN-AI handles account integration, issuing and voiding workflows, carrier and credit-note setup, and automatic eCommerce invoicing, for the shortest deployment time. Message spec revisions, platform integration changes, and certificate maintenance are handled by the value-added center. The company only needs to confirm data was sent and a success response was received.

E-invoice path two: direct Ministry of Finance Turnkey integration

The Ministry of Finance provides the transmission software free of charge; GN-AI develops the Odoo-side integration: MIG 4.1 XML message generation, invoice number-track allocation and remaining-number management, exchange directory and response file parsing, voiding and credit-note workflows, lottery and carrier information handling, and monitoring and alerts for the certification deadline (48 hours for a non-business buyer, 7 days for a business buyer). Invoice data flows only between the company's server room and the Ministry of Finance platform, never through a third party. MIG spec and transmission software version updates are tracked continuously under annual maintenance.

Payroll regulatory build

Odoo's official payroll localization does not cover Taiwan. GN-AI builds the salary structure and payroll rules under current law: labor insurance and employment insurance, occupational accident insurance, health insurance contribution grading, labor pension contributions (employer contributes at least 6% of wages monthly), the second-generation health insurance supplementary premium (employer and individual portions), income tax withholding and overtime pay calculation, and enrollment, withdrawal, and change filing files for labor insurance, health insurance, and labor pension. Rates, contribution grades, and withholding thresholds follow the competent authority's annual announcements. Maintained every year as the minimum wage and regulations change.

Chart of accounts and local financial reports

The chart of accounts is mapped to your existing bookkeeping structure, business tax settings, local financial report formats, and account mapping that ties in with filing work. As soon as a custom local field is created, it appears automatically in the API and dynamic interface documentation, so AI agents can read and write it directly with no extra intermediary layer. Accounting and tax practices are confirmed jointly with a partner professional accounting and tax advisor.

How to choose between e-invoice paths. Three questions decide it: how many invoices you issue a year, whether you have staff or a vendor to operate the server and certificate, and whether invoice data is allowed to pass through a third party. The value-added center is billed by service, with low upfront cost. Turnkey direct integration software itself is free, but the cost is in integration development, the server and certificate, and keeping up with the spec each year. You can also start with the value-added center for a fast launch, then migrate to direct integration later as invoice volume grows or security requirements rise. The invoicing data model on the Odoo side can be shared.

Division of responsibilities

It is set out clearly upfront who is responsible for deployment, localization, and ongoing maintenance.

Deployment and development
Requirements interviews and process alignment, module deployment and configuration, custom module development, and AI agent development and integration are carried out by GN-AI engineers. Integration with existing HR, logistics, payment, and database systems is also handled by GN-AI engineers.
Taiwan regulatory implementation
The e-invoice path build, payroll regulatory rules, chart of accounts, and local financial report formats are built by GN-AI and maintained every year. Accounting and tax practices are confirmed jointly with a partner professional accounting and tax advisor, so system settings match actual accounting practice.
After go-live
Training and document handover, an annual maintenance contract (business-hours support, troubleshooting, regular health checks, vendor renewal handling), and tracking of vendor version updates and security advisories. Once the system is live, someone is there to support it.

Custom development

Five steps that turn a non-standard process into a standalone module that stays maintainable long-term.

1
Requirements analysis and alignment with standard features
First confirm whether standard functionality or Studio can do the job. Anything that can be solved with configuration stays out of the development scope, saving development hours for the differences that are actually worth building.
2
Spec confirmation
The custom scope is written into a spec document, confirming screens, fields, workflow, and acceptance criteria item by item, with sign-off from the user department before development starts.
3
Module development
Built as a standalone module without changing Odoo's core. As soon as a custom model or field is created, it automatically has an API and appears in the dynamic interface documentation. AI agents and external systems can read and write it directly.
4
Testing
Run through a staging environment with real data, with the user department operating it for acceptance, confirming the workflow and permission settings match day-to-day work.
5
Go-live and handover
Data migration, cutover, and handover of the custom module's source code and technical documentation. Ownership of the database and code stays with the customer.

Upgrade planning is part of the project scope from day one: customizations are always built as standalone modules, anything standard functionality can do is solved with configuration, a full run-through in staging happens before each version update, and annual maintenance keeps tracking vendor versions and security advisories. This is what keeps the system upgradeable, instead of getting stuck on one version.

Deployment methodology and timeline

Five phases, each with clear deliverables and a named party for acceptance.

1
Requirements interviews and scoping (about 2-4 weeks)
Interview each department on current practice, confirm which modules go in first, take stock of existing systems to integrate with, and flag process steps that could be automated as candidates for a later AI agent.
2
System build and configuration (about 2-6 weeks)
Environment build, module activation, chart of accounts and tax setup, permissions and approval workflow, and Taiwan localization module configuration.
3
Custom development, integration, and agent build (depends on scope)
Custom module development, integration with existing HR, logistics, and payment systems, e-invoice path build, and AI agent permission design, tool definitions, and draft-write workflow.
4
Data migration and testing (about 2-4 weeks)
Existing master data and transaction data are imported, with the user department accepting them in staging. At this stage, agent output is fully reviewed by hand.
5
Training and go-live support (about 2-4 weeks)
Role-based training, document handover, cutover, and initial hands-on support, with prompts and automation thresholds adjusted based on actual usage.

These are indicative ranges. The actual timeline depends on the number of modules, the scope of customization, and the resources you can commit; a phased deployment can usually shorten the first stage. See Services for the full service content.

FAQ

The six questions most often asked when evaluating Odoo, answered here.

Does open source mean free?

Community has no per-user license fee. Full accounting, vendor support, upgrade service, and AI feature modules commonly used in production are part of the Enterprise subscription. Deployment consulting, custom development, and training are labor costs. We recommend putting licensing, operations, and labor on the same worksheet before choosing an edition.

Does Community have AI features?

The vendor's AI modules are part of Enterprise. On Community, an external agent can still read and write data through XML-RPC or the JSON-2 API, with inference done outside Odoo. This path also works with on-premises models.

If Odoo runs in our own server room, does AI inference still go to the cloud?

Plan deployment location and inference location separately. To use the vendor's AI features, on-premises and Odoo.sh databases need their own OpenAI or Google Gemini key, and inference runs at that provider. To keep inference in your own server room, there are two options: develop your own AI provider module pointing to a self-hosted compatible endpoint, or have an external on-premises agent read and write Odoo through the API, with inference running entirely on your own GPUs. See Hyperconverged Infrastructure & VMware Alternatives for the on-premises GPU resource pool and model-serving platform.

How much of Taiwan e-invoicing and payroll does the vendor support?

The vendor provides a Taiwan chart of accounts, local financial report templates, and a module for issuing e-invoices (Taiwan's government-mandated e-invoice system) through the ECPay value-added service center. Direct Turnkey integration with the Ministry of Finance's e-invoice platform, and Taiwan payroll rules for labor insurance, health insurance, labor pension, and income tax withholding, are outside the vendor's scope. GN-AI builds and maintains these under current regulations, updated annually.

Can we take our data with us?

Odoo runs on a PostgreSQL database. Both the database and the custom module source code can be handed over in full. Switching consultants means taking the whole system with you, not just an export file.

How long does it take from start to go-live? How many people do we need on our side?

A small-scope deployment of a single module typically takes two to three months. Cross-department projects with customization and integration usually run around six months. For staffing, assign one decision-making contact for each module being deployed (usually a department head), plus one project lead to coordinate cross-department decisions. A dedicated IT headcount is not required; day-to-day server tasks for on-premises deployment can be covered under annual maintenance.

Want to work out whether Odoo fits your company, which module to start with, or which processes suit an AI agent? Start with a single requirements interview and scoping session.

Contact us See the ERP solution

Other brands: Hitachi JP1 | All brands | Insights

Odoo is a trademark or registered trademark of Odoo S.A. GN-AI is an independent systems integrator.

Contact us about Odoo deployment, customization, and AI agent development

Leave your contact details and a description of your needs, and an engineer will get in touch to help assess deployment scope, deployment option, localization build items, and annual maintenance content.

Send an enquiry
LINE Ask us on LINE