---
title: "Odoo integration for CMMS, field service and CRM | attendo"
description: "Connect attendo to Odoo 19: customers, products, price lists, orders, projects and hours flow on their own, and Odoo still runs your accounting and invoices."
url: "https://attendo.me/en/integrations/odoo"
lang: "en"
---

# attendo + Odoo

Operations in attendo and accounting in Odoo, with nothing typed twice. Customers, catalog, documents, projects, hours and tasks travel area by area, in the direction you choose.

Status

- Odoo Online, odoo.sh or self-hosted
- You tick in Odoo what travels
- Odoo issues and numbers

attendo Odoo

- between attendo and Odoo, both ways **Customers, products and price lists** Each record is born in one place and reaches the other
- from attendo to Odoo **Quotes, orders and delivery notes** With their web quote and e-signature, from attendo
- from Odoo to attendo **Subscriptions and invoice number** Contracts and official data, coming back

## The report closed in attendo, typed into Odoo again

You create the customer in attendo and again in Odoo. The technician closes the service report and someone types the delivery note and the hours into Odoo. The catalog and price lists go stale on one of the two sides.

With the connector, each record has a place where it is born and reaches the other on its own. You choose, area by area, what travels, in which direction and which system wins if it changes on both sides. Odoo is still your accounting.

## What it does, piece by piece

There are 24 areas that you turn on one by one, each with its direction, its system of record and what happens if something is deleted. If a record changes on both sides, the system of record wins and it is logged as a conflict. They all start switched off.

### Customers, vendors and leads

Both ways, with their contacts. The initial load matches by tax ID, email or code, and doubtful cases are never linked on their own. After that, a company that arrives from Odoo and already exists in attendo is linked by its tax ID.

### Products, price lists and inventory

Products, categories, and sales and purchase price lists both ways. Taxes, variants, inventory and lots come from Odoo.

### Quotes sent by attendo

The quote goes out from attendo with its web quote, e-signature and deposit. When the customer accepts it, the order is confirmed in Odoo with the signed PDF.

### Sales and purchase documents

Odoo recalculates prices, taxes and totals and returns the official PDF. When it posts the invoice, its number and date come back to attendo.

### Projects, tasks and hours

Projects, tasks, field service orders, repairs, hours and appointments. Agent tasks go back and forth as Odoo activities, for the types and groups you choose in Settings.

### Subscriptions as contracts

Each product in an Odoo subscription arrives as a customer contract, with its annual price. If the subscription is canceled, the contract is closed.

With the “Sync with attendo” checkbox in Odoo, whoever works there chooses which customers, vendors, items and price lists travel. Unchecking a record stops syncing it without deleting it, and checking it again resumes with no duplicates.

## What travels, and in which direction

Changes in attendo go out within seconds, queued. Changes in Odoo arrive instantly through its automation rules and, as a safety net, in a check every 5 minutes.

What travels between attendo and Odoo, in which direction and when

| Data | Direction | When |
| --- | --- | --- |
| Customers, vendors, contacts and leads | between attendo and Odoo, both ways | Instantly |
| Products, categories and price lists | between attendo and Odoo, both ways | Instantly |
| Taxes, variants, inventory and lots | from Odoo to attendo | Instantly |
| Quotes, orders, delivery notes and invoices | from attendo to Odoo | Queued, or when you click the document’s button |
| Signature, acceptance and signed PDF | from attendo to Odoo | When the document is closed, if you turn it on |
| Official invoice number | from Odoo to attendo | When Odoo posts it |
| Projects, tasks, hours and appointments | between attendo and Odoo, both ways | Instantly |
| Subscriptions, as contracts | from Odoo to attendo | Instantly |

## How to get started

The connector works with Odoo 19. We get it live with you, area by area, and test it with your data before opening it to the whole team.

Status

### What you need

- Odoo 19, on Odoo Online, odoo.sh or self-hosted, reachable over HTTPS
- A technical user with permissions only on the apps being synced, and its API key
- The Odoo apps for each area: Sales, Purchase, Inventory, CRM, Project, Timesheets…
- To receive changes instantly, a few automation rules in Odoo, created during setup

**Typical effort.** It is not one click: it takes several working sessions with whoever administers Odoo, spread over a few days.

### Step 1 · Technical user in Odoo

With permissions only on the apps you are going to sync, and its API key.

### Step 2 · Connection and test

When you test the connection, attendo shows in red every permission missing in Odoo, before a single record moves.

### Step 3 · One area at a time

Customers first, then products, then documents. The initial load reviews matched and doubtful records, and doubtful ones are never touched on their own.

### Step 4 · Monitoring the first week

The log shows what traveled, what failed and why, with a retry button on each row.

## What it does not do

- **Your accounting**
  It does not sync journal entries, payments, bank reconciliation, fixed assets or payroll. Only documents.
- **Versions before Odoo 19**
  The connector uses the API that comes with Odoo 19.
- **Complex price lists**
  Rules by category, quantity or dates stay in Odoo. Rules for a specific product travel.
- **Several companies or currencies**
  Each connection works with one company and one currency.
- **Odoo tickets**
  Tickets from the Odoo help desk are not synced: customer service lives in attendo.

## What goes with it

- [attendo Field Service](https://attendo.me/en/field-service): Technician reports, hours and materials, never typed twice.
- [attendo After-Sales](https://attendo.me/en/after-sales-service): Quote, repair and delivery note, with the ERP up to date.
- [attendo CRM](https://attendo.me/en/crm): Leads, opportunities and web quotes connected to Odoo.
- [attendo + REST API](https://attendo.me/en/integrations/rest-api-and-webhooks): For whatever the connector does not cover.

[All integrations](https://attendo.me/en/integrations) Every connection, with its real status.

## Frequently asked questions

### Odoo Online or self-hosted?

Both, and odoo.sh too, always on version 19 and over HTTPS.

### Do I need to install a module in Odoo?

No. It is set up from Odoo with a technical user, its API key and a few automation rules.

### How often does it sync?

Changes in attendo go out within seconds. Changes in Odoo arrive instantly through its automation rules and, as a safety net, in a check every 5 minutes.

### What if Odoo is down?

Changes wait in a queue and are applied in order when it comes back.

### Do I have to bring over the whole catalog?

No. With the “Sync with attendo” checkbox, only what you tick travels.

### Who issues the invoice?

Odoo, with its own numbering. attendo is not an ERP or accounting software: it prepares the draft and receives the official number.

## Tell us how you work with Odoo

We will show you what would travel, in which direction, and how it is tested with your data before opening it to the team.

- With your operation, not a generic demo
- A real person from our team replies
- No cold calls afterwards

Would you rather talk first?

- Phone [+34 910 053 530](tel:+34910053530)
- Email [sales@attendo.me](mailto:sales@attendo.me)
- Monday to Thursday 9:30 AM to 6:30 PM and Friday 9:30 AM to 2:30 PM (Spain time)
