Skip to content
OdooWebApps.com

Straight answers about building on Odoo

No vague marketing copy. These are the same practical explanations we'd give in a real scoping conversation, written down so you don't have to ask first.

Connecting to Odoo

How Odoo's API works, which one your version has, and what it means for an integration.

Why Odoo API calls are slow, and what actually fixes it

Slow Odoo integrations are almost never Odoo being slow. The real causes: one call per row, fetching rows to do arithmetic the database could do, asking for every field, and no pagination. Plus why you cannot profile an Odoo Online database.

Odoo stock quantities: on hand, forecasted, free, and why they disagree

Odoo exposes several quantity fields that all look like the stock level and mean different things. What on hand, forecasted and free quantity each measure, which one an app should show, and why the same field returns a different number depending on the warehouse, location and companies in context.

Odoo API errors: what each one actually means

Access Denied, Invalid apikey, AccessError, 403, 404 and 422 from Odoo's external API, what each one is really telling you, and how to tell an authentication problem from a permissions problem before you change any code.

Odoo API examples: what a call looks like, and what takes the time

What an Odoo API call looks like in JSON-2, JSON-RPC and XML-RPC, which transport your version needs, and why the calls are the easy part: access rights, write-back safety, speed and staying working are the real project.

Odoo 19's JSON-2 API: what changed, and what to do about XML-RPC

Odoo 19 added an HTTP JSON API at /json/2/<model>/<method> with bearer API keys, and scheduled XML-RPC and JSON-RPC for removal in Odoo 22. The request shape, the plan gate, key rotation, the one-call-one-transaction rule and a migration table.

Odoo API keys: how to create, scope and rotate them

Where to generate an Odoo API key, how it is sent on JSON-2 versus XML-RPC, the three-month limit in Odoo 19, which user should hold it, and the six reasons a key usually fails.

How Odoo's API actually works (JSON-2, JSON-RPC, XML-RPC and the ORM)

A practical explanation of Odoo's external API: JSON-2 on Odoo 19, JSON-RPC and XML-RPC before it, API-key authentication, and the ORM methods (search_read, create, write) a custom app calls.

Read-only vs write-back Odoo integrations: which do you need?

The difference between an app that only displays Odoo data and one that creates or updates records in Odoo, and why that distinction changes scope, risk and cost.

Odoo REST API: what exists in Odoo 19, and what came before

Odoo 19 has an HTTP JSON API (JSON-2) with bearer API keys; older versions only have XML-RPC and JSON-RPC, deprecated for removal in Odoo 22. What each looks like and which to use.

Why your Odoo API call returns data from the wrong company

A recurring multi-company Odoo API gotcha: queries can return records across every company a user can access unless the request explicitly scopes company context.