# tmijail/odoo-power-bi-connector architecture

> Architecture diagram of the GitHub repository tmijail/odoo-power-bi-connector, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tmijail/odoo-power-bi-connector
- Repository: https://github.com/tmijail/odoo-power-bi-connector

## Overview

This is a Power BI custom connector for querying Odoo through its JsonRPC API, with `search_read` documented as the recommended way to retrieve model data. The README also describes optional schema typing from Odoo field definitions. No source excerpts were provided, so internal call relationships beyond those documented are not asserted; the roles of the table and diagnostics modules are inferred only from their filenames.

Main entry points: [`Odoo.pq`](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Odoo.pq) (Odoo Connector), [`JsonRpc.pqm`](https://github.com/tmijail/odoo-power-bi-connector/blob/master/JsonRpc.pqm) (JsonRpc Client), [`Schema.pqm`](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Schema.pqm) (Schema Types)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_connector["Power Query Connector"]
  node_odoo_connector["Odoo Connector<br/>[Odoo.pq]"]
  node_search_read["Search Read<br/>[Odoo.pq]"]
end

subgraph group_runtime["Connector Runtime"]
  node_jsonrpc["JsonRpc Client<br/>[JsonRpc.pqm]"]
  node_schema["Schema Types<br/>[Schema.pqm]"]
  node_tables["Table Support<br/>[Table.pqm]"]
  node_diagnostics["Diagnostics<br/>[Diagnostics.pqm]"]
end

subgraph group_service["Odoo Service"]
  node_odoo_server{{"Odoo Server"}}
end

node_powerbi(("Power BI"))

node_powerbi -->|"queries through"| node_odoo_connector
node_odoo_connector -->|"exposes"| node_search_read
node_odoo_connector -->|"uses API"| node_jsonrpc
node_jsonrpc -->|"sends requests"| node_odoo_server
node_search_read -->|"sets types"| node_schema

click node_odoo_connector "https://github.com/tmijail/odoo-power-bi-connector/blob/master/Odoo.pq"
click node_search_read "https://github.com/tmijail/odoo-power-bi-connector/blob/master/Odoo.pq"
click node_jsonrpc "https://github.com/tmijail/odoo-power-bi-connector/blob/master/JsonRpc.pqm"
click node_schema "https://github.com/tmijail/odoo-power-bi-connector/blob/master/Schema.pqm"
click node_tables "https://github.com/tmijail/odoo-power-bi-connector/blob/master/Table.pqm"
click node_diagnostics "https://github.com/tmijail/odoo-power-bi-connector/blob/master/Diagnostics.pqm"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_odoo_connector,node_search_read toneBlue
class node_jsonrpc,node_schema,node_tables,node_diagnostics toneAmber
class node_odoo_server toneMint
class node_powerbi toneIndigo
```

## Components

### Power Query Connector

- [Odoo Connector](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Odoo.pq): `Odoo.pq`
- [Search Read](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Odoo.pq): `Odoo.pq`

### Connector Runtime

- [JsonRpc Client](https://github.com/tmijail/odoo-power-bi-connector/blob/master/JsonRpc.pqm): `JsonRpc.pqm`
- [Schema Types](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Schema.pqm): `Schema.pqm`
- [Table Support](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Table.pqm): `Table.pqm`
- [Diagnostics](https://github.com/tmijail/odoo-power-bi-connector/blob/master/Diagnostics.pqm): `Diagnostics.pqm`

### Odoo Service

- **Odoo Server**

### Other components

- **Power BI**

## Connections

- Power BI → Odoo Connector: queries through (evidence: `README.md`)
- Odoo Connector → Search Read: exposes (evidence: `README.md`)
- Odoo Connector → JsonRpc Client: uses API (evidence: `README.md`)
- JsonRpc Client → Odoo Server: sends requests (evidence: `README.md`)
- Search Read → Schema Types: sets types (evidence: `README.md`)
