Odoo integrations and connectors

An integration is not a connection you install once and for all. It is a contract between two systems: each evolves on its own, at its own pace, according to its own update decisions, and the connector linking them must survive both trajectories. Treating an integration as a simple technical setting, done once and forgotten, is the most frequent cause of connectors that stop working without anyone noticing until a discrepancy in the figures reveals it.

As part of an Odoo implementation project or an evolution of a system already in place, the question of integration almost always arises: online shop, bank, office tools, dashboards, automation platforms, sector-specific business software. This page explains when an integration is justified, which mechanisms Odoo makes available, which questions must be settled before writing a single line of code, and why maintenance over time often weighs more heavily than the initial setup.

When to integrate, and when not to

The question to ask is not "can this system be integrated with Odoo?" — technically, the answer is almost always yes. The question is: does the gain obtained justify the design cost and, above all, the maintenance cost that runs for as long as the two systems coexist?

An integration is justified when the volume of data exchanged is regular and sufficient, when manual entry errors carry a real cost (stock error, invoicing error, delay in customer processing), and when both systems are meant to stay in place for several years. Conversely, a one-off flow, a third-party system with an uncertain future, or a volume too small to justify the effort of design, audit and testing, all argue for accepting manual entry. Double entry has a visible, constant cost; an ill-sized connector has a hidden cost that appears later, in the form of undetected discrepancies or hours of correction.

The decisive criterion is often the frequency of version upgrades on both sides. A third-party system that frequently changes its API, or a business planning to replace it in the medium term, makes investing in a deep integration riskier than useful.

Integration families

Online shop

Synchronisation between an online shop and Odoo typically covers the product catalogue, stock, orders and sometimes customers. The main point of vigilance is the direction of the flow: is stock managed from Odoo or from the shop? A dual source of truth for stock is a classic cause of overselling or needless blocking.

Bank and payments

Bank integration covers issuing payments, receiving statements and reconciling receipts. This is often the most standardised integration family, because it relies on standardised exchange formats rather than proprietary APIs — see the Swiss case below.

Office tools

Synchronisation with email, calendar or document-sharing tools generally aims to avoid re-entering contacts, appointments or attachments. These are low functional-risk integrations, but their real usefulness must be measured: a connector maintained for marginal use remains a permanent cost.

Business intelligence

Feeding Odoo's data into an external reporting or dashboard tool enables analyses the ERP does not offer natively. The choice generally lies between a scheduled extract (less responsive, more robust) and direct read access (more responsive, more sensitive to internal structure changes).

Automation platforms

Flow automation platforms (triggering an action in one system from an event in another) make it possible to build sequences without heavy development. They suit simple, low-criticality flows; for a financial flow or a high-volume flow, a dedicated connector, better equipped for error handling, remains preferable.

Sector-specific business tools

Some sectors use specialised software (production management, property management, technical project management) that needs to exchange data with the accounting or sales management held in Odoo. These integrations are the most bespoke: they rarely rely on an existing module and require a case-by-case analysis, often in connection with a bespoke development project.

The mechanisms available in Odoo

Odoo offers several technical mechanisms for exchanging data with the outside world, and the choice between them depends on the volume, frequency and criticality of the flow.

The Odoo API allows programmatic read and write access to the ERP's data; it is the most flexible mechanism, but also the one requiring the most design rigour, because it gives direct access to internal structures. Webhooks let Odoo notify a third-party system as soon as an event occurs, which suits responsive, low-volume flows well. Scheduled imports and exports (files dropped or retrieved at regular intervals) remain the most robust mechanism for high-volume flows or those with low time-criticality, because they are simple to monitor and replay in the event of an incident. Finally, the connector modules in the Odoo catalogue encapsulate a standard integration with a particular third-party system; they speed up setup but must be audited before use, particularly regarding the Odoo version and third-party system version they actually cover.

Questions to settle before starting

Before writing the first connector, several decisions must be made explicitly, because they shape the entire architecture of the flow.

Direction of the flow: does the data go from Odoo to the third-party system, the other way round, or both, with a round trip? A bidirectional flow is structurally more complex and more exposed to conflicts than a one-way flow.

The master system for the data: for each field exchanged, only one system should be considered the source of truth at any given time. Without this rule, the same contact or the same stock figure can end up with different values depending on where it is viewed.

Frequency: real time, hourly, once a day? The frequency chosen must match a real business need, not the technical maximum possible — a real-time flow is more costly to design and monitor than a scheduled one.

Error handling: what happens when a line fails? Should the flow stop, ignore the line, or hold it for manual processing? This answer must be written down before going into production, not discovered at the first incident.

Reconciliation: how is it periodically checked that the two systems remain aligned? A flow that appears to work can drift silently for months if no consistency check is in place.

Incident recovery: if the connector is down for three days, how is the backlog caught up without duplicating what was already transmitted before the outage? This recovery capability determines the flow's real robustness far more than its speed under normal operation.

The Swiss banking case

Bank integration illustrates well the difference between an ad hoc integration and one built on a standard. In Switzerland, exchanges with banks rely on the ISO 20022 standard: the pain.001 format for issuing payment orders, and the camt.053 and camt.054 formats for receiving account statements and advice notes. These formats are natively supported by Odoo once the Swiss localisation (l10n_ch module) is activated, which avoids having to develop a proprietary bank connector for this specific flow.

The QR-bill, the Swiss payment standard, follows the same logic of standardisation: the invoice carries a structured payment area, automatically readable by the debtor's bank, which simplifies reconciling receipts, whether on the fiduciary's side or the business's. Bank reconciliation itself — matching each payment received to the invoice it settles — remains the step requiring the most fine-tuned configuration, particularly when payment references are not consistently structured.

The point of vigilance on this flow is not the standard itself, which is well proven, but its configuration: each bank account, each bank, has its own file exchange arrangements, and a configuration error here has a direct financial impact.

Maintenance over time and the impact of version upgrades

An integration that works on the day it goes into production is not a finished integration: it is an integration beginning its life. Every Odoo version upgrade, and every change to the connected third-party system, is a moment when the connector can break silently.

A connector built on Odoo's official API and on stable exchange formats withstands version upgrades noticeably better than one that relies on undocumented internal behaviour. This is a criterion to build in from the design stage, not only at the time of migration: a fragile integration turns a normally manageable version upgrade into a risky project.

Ongoing monitoring of an integrated flow (an error log checked regularly, periodic consistency checks between the two systems) is part of the routine maintenance of an Odoo system in production, on the same footing as broader application support. Ignoring this monitoring does not make the risk disappear: it simply postpones the moment the discrepancy becomes visible, and generally more costly to fix.

What AX-Fiduciaire does

On an integration project, our role starts with assessing whether the envisaged flow is worthwhile: real volume, criticality, the manual-entry alternative, before any decision to build. Where the integration is justified, we analyse the mechanisms available on the Odoo side and the third-party side, settle the questions of flow direction, source of truth, frequency and error handling with you, then set up the connector with a documented monitoring and recovery procedure.

This work generally forms part of a broader set-up or evolution project for Odoo, in connection with the accounting or sales side depending on the flow concerned. We never present a connector as universal: every integration is assessed for your specific context, with a maintenance budget stated from the outset, not discovered afterwards.

Questions fréquentes

A flow to connect to your Odoo?

We assess with you whether an integration makes sense, and how to build it so it holds up over time.

+41 22 566 84 21