# Odoo Connector: volledige gids

> De Odoo Connector synchroniseert uw producten, voorraad, bestellingen en klanten in realtime en in beide richtingen tussen PrestaShop en Odoo. Deze gids behandelt de installatie, de verbinding met Odoo, de…

- Pagina: <https://www.datafirefly.com/nl/documentation/connecteur-odoo/>
- Taal: nl
- Bijgewerkt op: 2026-08-26
- Andere talen: [fr](https://www.datafirefly.com/documentation/connecteur-odoo/index.md), [en](https://www.datafirefly.com/en/documentation/odoo-connector/index.md), [es](https://www.datafirefly.com/es/documentation/conector-odoo/index.md), [de](https://www.datafirefly.com/de/documentation/odoo-konnektor/index.md), [it](https://www.datafirefly.com/it/documentation/connettore-odoo/index.md), [pl](https://www.datafirefly.com/pl/documentation/connecteur-odoo/index.md), [pt](https://www.datafirefly.com/pt/documentation/connecteur-odoo/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

De **Odoo Connector** synchroniseert uw producten, voorraad, bestellingen en klanten in realtime en in beide richtingen tussen PrestaShop en Odoo. Deze gids behandelt de installatie, de verbinding met Odoo, de keuze van de synchronisatierichting, de initiële synchronisatie, de cron, de inkomende webhook en de probleemoplossing.

## Vereisten

- PrestaShop 8.0 tot 9.x.
- PHP 7.4 tot 8.3 met de cURL-extensie actief.
- Een Odoo-instantie 14 tot 18 (online of zelfgehost), via HTTPS bereikbaar vanaf uw PrestaShop-server.
- Een Odoo-gebruiker met een API-sleutel en rechten op de modellen Verkoop, Voorraad en Contacten.

De module communiceert met Odoo via **JSON-RPC**. De PHP-extensie `xmlrpc`, die uit PHP 8 is verwijderd, is niet nodig.

## Installatie

1. Open in de backoffice _Modules > Modulebeheer_, kies _Een module uploaden_ en upload het bestand `dfodooconnect.zip`.
2. Open na de installatie de configuratiepagina via de knop _Configureren_ of het tabblad _Odoo Connector_ in het beheermenu.

## Een API-sleutel genereren in Odoo

1. Log in bij Odoo met het serviceaccount dat voor de synchronisatie is bestemd.
2. Open _Voorkeuren > Accountbeveiliging > API-sleutels_ en genereer een nieuwe sleutel.
3. Kopieer de sleutel: ze vervangt het wachtwoord in de configuratie van de module.

Maak een eigen Odoo-gebruiker aan (bijvoorbeeld "PrestaShop Sync") in plaats van een persoonlijk beheerdersaccount te gebruiken. Zo behoudt u een duidelijk auditlogboek aan Odoo-zijde.

## Verbinden met Odoo

Vul op de configuratiepagina de vier velden van het blok _Odoo-verbinding_ in:

- **Odoo-URL**: het volledige adres van uw instantie, bijvoorbeeld `https://mijn-odoo.com`.
- **Database**: de exacte naam van de Odoo-database.
- **Gebruiker**: de login van het serviceaccount.
- **API-sleutel**: de sleutel die u in de vorige stap hebt gegenereerd.

Klik op **Verbinding testen**. Bij succes toont de module de gedetecteerde Odoo-versie en het gebruikers-ID (uid). Sla op en vink daarna **Synchronisatie inschakelen** aan.

Zolang het vakje _Synchronisatie inschakelen_ niet is aangevinkt, wordt er geen enkel gegeven naar Odoo verzonden, ook niet als de verbinding geldig is.

## Entiteiten en synchronisatierichting kiezen

Er worden vier entiteiten beheerd. Voor elke entiteit schakelt u de synchronisatie in of uit; voor producten en voorraad kiest u bovendien de richting.

- **Klanten**: PrestaShop naar Odoo (contacten `res.partner`).
- **Producten**: PrestaShop naar Odoo, Odoo naar PrestaShop, of bidirectioneel.
- **Voorraad**: PrestaShop naar Odoo, Odoo naar PrestaShop, of bidirectioneel.
- **Bestellingen**: PrestaShop naar Odoo (verkooporders `sale.order`).

Twee opties vullen het gedrag van de bestellingen aan: **De bestelling automatisch bevestigen in Odoo** (zet de offerte om in een bevestigde verkooporder) en **De Odoo-factuur genereren**.

## Initiële synchronisatie

Voordat u de realtimestroom inschakelt op een bestaande winkel, vult u Odoo met uw huidige gegevens via het blok _Initiële synchronisatie_:

1. **Alle klanten exporteren**: plaatst elke klant in de exportwachtrij.
2. **Alle producten exporteren**: nodig vóór de voorraad en de bestellingen, want de bestelregels en de voorraadaanpassingen steunen op de productkoppeling.
3. **Alle bestellingen exporteren**: te starten na de klanten en de producten.

Respecteer de volgorde klanten → producten → bestellingen. De module handelt ontbrekende afhankelijkheden automatisch af (hij plaatst een niet-gekoppeld product in de wachtrij voordat hij de bestelling opnieuw probeert), maar de juiste volgorde beperkt het aantal herpogingen.

## Configuratie van de cron

De cron leegt de wachtrij (herpogingen van mislukte verzendingen) en importeert de voorraad uit Odoo wanneer die richting is ingeschakeld. Plan de URL uit het blok _Endpoints_ in, elke 1 tot 5 minuten:

```
curl "https://uw-winkel.com/module/dfodooconnect/cron?token=UW_TOKEN"
```

Het token wordt bij de installatie automatisch gegenereerd en in de configuratie getoond.

## Inkomende webhook (Odoo naar PrestaShop)

Om wijzigingen in Odoo in realtime terug te laten stromen, maakt u in Odoo een **Geautomatiseerde actie** aan (serveractie van het type webhook) die een POST JSON-request naar de webhook-URL van de module stuurt.

Voorraadupdate:

```
{ "token": "UW_TOKEN", "entity": "stock", "odoo_id": 42, "qty": 17 }
```

Statuswijziging van een bestelling:

```
{ "token": "UW_TOKEN", "entity": "order_state", "odoo_id": 99, "state": "cancel" }
```

De herkende statussen zijn `cancel`, `sale` en `done`, aan PrestaShop-zijde gemapt naar respectievelijk Geannuleerd, In voorbereiding en Geleverd.

Het `token` van de webhook moet identiek zijn aan dat in de configuratie. Een request zonder geldig token wordt geweigerd met code 403.

## Dashboard en logboek

Het dashboard toont permanent vier wachtrij-indicatoren (_In afwachting_, _Gesynchroniseerd_, _Fout_, _Opgegeven_), het aantal koppelingen per entiteit en een activiteitenlogboek met tijdstempels. Er zijn twee onderhoudsacties beschikbaar: **Wachtrij nu verwerken** en **Voorraad importeren uit Odoo**.

## De veerkrachtige wachtrij

Elke wijziging in PrestaShop wordt eerst in een wachtrij geplaatst en daarna direct naar Odoo verzonden op basis van "best effort". Is Odoo onbereikbaar, dan blijft de taak in de wachtrij en speelt de cron hem automatisch opnieuw af. Na het geconfigureerde aantal pogingen (standaard 5) gaat een definitief mislukte taak in quarantaine (_Opgegeven_) om de rest van de wachtrij niet te blokkeren.

Dit mechanisme garandeert dat een storing bij Odoo nooit het bestelproces van uw klanten blokkeert.

## Gesynchroniseerde velden

### Klanten

Naam, e-mail, bedrijf, referentie, standaardadres (straat, plaats, postcode, telefoon), btw-nummer en land. De anti-duplicaatkoppeling gebeurt op e-mail.

### Producten

Naam, interne referentie, verkoopprijs, inkoopprijs, gewicht, barcode, korte beschrijving en actieve status. De anti-duplicaatkoppeling gebeurt op referentie.

### Voorraad

De beschikbare aantallen worden doorgegeven via een voorraadaanpassing op de geconfigureerde Odoo-locatie (of de eerste interne locatie als er geen is opgegeven).

### Bestellingen

Partner, klantreferentie, bestelregels (product, aantal, eenheidsprijs exclusief btw) en verzendkosten. De klant wordt direct meegesynchroniseerd als dat nog niet is gebeurd.

## Testmodus (dry-run)

Schakel **Testmodus** in om de mapping te valideren zonder iets in Odoo te schrijven: elke operatie wordt in het logboek geregistreerd met de vermelding DRY-RUN, maar er wordt geen enkel gegeven aangemaakt of gewijzigd. Ideaal voor een acceptatietest vóór de productiestart.

## Probleemoplossing

- **De verbindingstest mislukt**: controleer de URL (met https), de exacte databasenaam, de login en de API-sleutel. Zorg dat de PrestaShop-server de Odoo-instantie uitgaand kan bereiken.
- **Een bestelling blijft in afwachting**: waarschijnlijk is een product van de bestelling nog niet gekoppeld. De module plaatst het product in de wachtrij; klik na enkele seconden opnieuw op "Wachtrij nu verwerken".
- **De voorraad komt niet terug in PrestaShop**: controleer of de voorraadrichting Odoo naar PrestaShop omvat en of de cron draait.
- **Duplicaten aan Odoo-zijde**: zorg dat de productreferenties en de klant-e-mails zijn ingevuld; dat zijn de koppelingssleutels.

## De-installatie

De de-installatie verwijdert de koppelings-, wachtrij- en logboektabellen van de module. **Uw gegevens in Odoo worden niet geraakt.** Voor een simpele update volstaat het vervangen van de bestanden: het schema en de koppelingen blijven behouden.
