Zum Hauptinhalt springen

Odoo Grabber

What Is the Odoo Grabber?​

The Odoo Grabber is a zSYNC worker type whose sole job is to retrieve/read data from an Odoo system and then pass that data into a zSYNC pipeline as a structured JSON-like payload. It's the first active step in any import or sync pipeline that starts with Odoo as the source.

  • Data Source: An Odoo instance (local or remote).

  • Output: Structured data ready for mapping + transformation steps.

  • It does not write data β€” that's for "dumpers."

🧰 How It Works β€” Step by Step​

1️⃣ Pipeline Placement​

In any zSYNC pipeline, the Grabber is typically placed after the automatic start worker and usually before mapping and dumping steps.

start β†’ Odoo Grabber β†’ Mapper β†’ Dumper β†’ end


2️⃣ Configure the Odoo Grabber​

When you click on the Odoo Grabber in the pipeline UI, you'll configure:

βœ… Authentication
β€’ Local Odoo – uses the same Odoo where zSYNC is installed.
β€’ Remote Odoo – use credentials for another Odoo instance.

βœ… Data Model
β€’ Choose the Odoo model from which to fetch data (e.g., product.product, sale.order).
β€’ This tells zSYNC which datatype/records to retrieve.

βœ… Filters / Domain
β€’ Define a filter to limit records β€” for example, only records changed since the last run:
[('write_date','>=', last_execution_date)].


3️⃣ Output Format​

You choose how the Grabber structures the fetched data:

πŸ“Œ Browsable Data β€” efficient, returning only a collection of browsable odoo records, referenced by ID. Avoids pre-loading record field data.
πŸ“Œ Raw JSON β€” human-readable. Pre-loads record field data.


🧩 When You Use the Odoo Grabber​

Typical Use Cases​

πŸ“ Regular sync of changed records
Like pulling all products/orders changed since last run.
πŸ‘‰ Great for incremental updates.

πŸ“ Full data load
On the first run, you often fetch all records to seed a destination system.
πŸ‘‰ zSYNC handles large result sets via cron/queue.

πŸ“ Filtered data pipelines
You can apply domain filters to pull only specific subsets of records.


πŸ“Š Developer Notes​

What the Grabber Produces​

The Grabber's job is collections of Odoo records in structured data (JSON-like). This then feeds onward to:

πŸ”Ή The Mapper (field mapping + transformation)
πŸ”Ή The Dumper (pushing data to a destination system)

Inside zSYNC Architecture​

In zSYNC, workers are discrete units of logic:

WorkerFunction
GrabberReads data (like from Odoo, SQL DB, Excel, API)
MapperRe-shapes and renames fields
DumperWrites to a target (Odoo, API, DB, file)

This means the *Odoo Grabber is purely a data reader. It does not alter the data β€” only captures it for use downstream.


Summary​

βœ”οΈ The Odoo Grabber pulls data from your Odoo system into zSYNC.
βœ”οΈ It's like telling zSYNC what to read and when.
βœ”οΈ You specify what model and filters to apply so only relevant data comes through.
βœ”οΈ Works with both local and remote Odoo systems.
βœ”οΈ After grabbing, the data gets mapped and sent to its destination.

Examples:​