Data to AI™ / Copilot/Odoo

Connect Odoo to Microsoft Copilot

Sales, operations and finance staff ask a Teams agent about Odoo invoices and orders from your own instance, while finance controls which models the agent can reach.

Less tokens, better answers.

  • Lower AI costs for the same work
  • More accurate, reliable answers
  • Read-only
  • Uses the Odoo data you already sync
  • SOC 2 Type II certified
Microsoft 365 Copilot
Connected to Dataddo

On which day last week did our invoice records change the most?

Copilot Answer · Odoo

Monday 21 Sep was the busiest day, with 64 invoice records Created On and 118 Last Updated On. Updates outnumbered new records on each day shown.

DayRecords by Created OnRecords by Last Updated On
Mon 21 Sep Odoo Table Replication 64118
Tue 22 Sep Odoo Table Replication 4187
Wed 23 Sep Odoo Table Replication 3872

Counted on one replicated model filtered by Last Updated On, the date range field the docs recommend against Odoo pagination duplicates.

source
Odoo · as of Mon 06:40 UTC
covers
21-27 Sep 2026
Example answer · fictional account and figures
Odoo in Copilot

Questions Copilot can answer from your Odoo data

Odoo is an open-source ERP with modules for accounting, inventory, sales, CRM and HR. Dataddo replicates whole Odoo models: you pick a model from your instance and its columns, including custom fields, so the fields match your setup.

Invoice status in the sales channel

Ask Copilot

@Odoo Ledger Which invoice records for the customer I name were Last Updated On this week, and what is their monetary total?

Account managers mention the Odoo agent in Teams before a customer call, so finance stops answering the same invoice status questions one message at a time.

Monthly forecast versus actual

Ask Copilot

@Odoo Ledger Total the monetary amount of invoice records per month this year in a table I can set against our forecast.

The FP&A lead asks the agent in Microsoft 365 Copilot for invoiced totals by month and discusses the gaps to forecast with budget owners in the same thread.

Typed Odoo models in VS Code

Ask Copilot

Use the dataddo tools to describe the Odoo sales order entity and generate a TypeScript interface with each field and its type.

A developer building finance reports asks GitHub Copilot in Agent mode for the real fields of this instance, so the code covers custom fields too.

Odoo datasets you can use in Copilot →
Pricing

Free during private pre-release.

Data to AI™ is free while in private pre-release. We onboard teams in waves and shape the product with their feedback. At launch, it will be priced like the AI assistants your team already uses. Need tailored contracts or volume pricing? Talk to us about Enterprise.

Data to AITM

Serve governed business data to Claude, ChatGPT and other AI tools over MCP.

Private pre-release

Free during pre-release

Enterprise

Flexibly deploy Dataddo in any cloud or hybrid environment.

Custom

We have a payment model that works for you

See all plans and features →
With vs. without

Odoo in Copilot, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Invoice questions in Teams Account managers ask finance in chat whether a customer was invoiced, and someone looks it up in Odoo by hand. A Copilot Studio agent published to Teams answers from the replicated invoice model when it is mentioned with @. Status answered in the channel
Which models the agent reaches Sharing Odoo exports in a Teams chat gives everyone in it every column of every model in the file. The agent only sees the models and columns finance attached, and the server description says when to call Dataddo. Finance sets the scope
Group companies Each company is exported separately after switching company in Odoo, and the agent never sees the group picture. A custom filter on the source pulls more than one company, so the agent can answer per company or for the group. One agent for the group
Developer access to fields Developers ask for sample exports to learn which datetime and many2one fields a model holds in this instance. GitHub Copilot in VS Code describes the replicated entities through .vscode/mcp.json, with every field type included. Types from the real schema
Token consumption Copilot spends tokens exploring raw Odoo columns, sampling rows and retrying until it understands the data. Field definitions and relations are supplied up front, so the model skips the exploration and goes straight to the answer. Less tokens per answer
Answer quality Prone to wrong joins, invented fields and numbers that are hard to check. Answers grounded in defined fields. In the Dataddo benchmark, 78.5% of questions were answered correctly, against 65.5% with plain CSV files. Better answers
Datasets

Odoo datasets you can use in Copilot

The Odoo datasets finance and RevOps teams use most, with their real field names. Copilot queries them by name through the Dataddo semantic layer.

Odoo Table Replication (one model per source)

  • model
  • columns
  • language
  • date_range_field
  • custom_filter

Date range fields

  • Created On
  • Last Updated On

Replicated field types

  • monetary
  • float
  • date
  • datetime
  • many2one
  • selection
  • char

Dataddo metadata columns

  • dataddo_hash
  • dataddo_extraction_timestamp

Runs on your schedule. Each run reads a relative window on the date field you choose, such as Last Updated On, and a full data re-sync loads older records.

Odoo connector →
Benchmark

More right answers. Half the confident mistakes.

We asked 43 pre-registered questions of three real datasets - Google Search Console, HubSpot deals and Google Ads - and delivered the same rows to the same model in four ways. Only the data layer changed.

78.5%

of questions answered correctly - the best of the four delivery methods tested

2x

fewer confidently wrong answers - 14.0% of runs against 24.0% and 26.3%

2.8x

more correct answers on messy CRM data - better on 8 questions, worse on none

Answered correctly All 43 questions - higher is better
Wrong, but stated as fact Share of runs - lower is better

Same model, prompts and rows in every condition; 759 graded runs, ground truth frozen before any run. On Google Search Console alone, documented CSV files did as well as Data to AI™ - the advantage comes from messier data such as HubSpot deals.

Read the benchmark →
FAQ

Odoo and Copilot: FAQ

How do I connect Odoo to Copilot?

Replicate the Odoo models you need, for example invoices and sales orders, as Dataddo sources and attach the flows to a Copilot destination or AI Model. In Copilot Studio, add a Model Context Protocol tool with https://headless.dataddo.com/mcp-data, choose OAuth 2.0 with Dynamic discovery and publish the agent to Teams and Microsoft 365 Copilot.

How does a Teams user get answers from Odoo?

Through a Copilot Studio agent with Dataddo Data Access as its MCP tool, published via Channels > Teams and Microsoft Copilot. The agent reads replicated Odoo data, never Odoo itself.

What server description works for an Odoo agent?

Name the Odoo models you replicate, for example invoices and sales orders from Odoo. The agent uses the description to decide when to call Dataddo instead of answering from its own knowledge.

Can GitHub Copilot read our Odoo models?

Yes. Put the Dataddo URL in .vscode/mcp.json with type http, start the server and sign in, then use Agent mode. On Copilot Business and Enterprise an admin must enable the MCP servers in Copilot policy.

Why does the agent not know our Odoo field names in advance?

Odoo fields depend on your instance and the columns you pick. The agent can call describe_entity to learn them, so custom fields need no extra setup in Copilot Studio.

The agent reports duplicate Odoo invoices. What now?

Odoo's pagination can cause duplicates. Set the date range field on the source to Last Updated On and add dataddo_hash as a natural key, or ask the Dataddo Solutions Team for help.

How far back does Odoo data in Copilot go?

Each run reads the relative window you set on the date range field. For older records, run a full data re-sync with a wider range, then ask the agent again.