ERP & CRM Development

Is XML-RPC Removed in Odoo 20? The Updated JSON-2 API Timeline

Quick Overview:

Businesses using Odoo often depend on integrations that employees rarely see. An eCommerce store may sync orders every few minutes. Accounting software may exchange invoice records, while a warehouse system […]

Summarize full blog with:

Table of Contents

    Businesses using Odoo often depend on integrations that employees rarely see. An eCommerce store may sync orders every few minutes. Accounting software may exchange invoice records, while a warehouse system updates inventory quantities automatically. Many of these connections still rely on XML-RPC or JSON-RPC.

    With Odoo 20, the question is whether those existing integrations will continue working. XML-RPC is not fully removed in Odoo 20. The old db service has been removed, but the common and object services remain temporarily available. According to Odoo’s official external API documentation, these remaining services are deprecated and scheduled for removal in Odoo 22.

    This change matters beyond developers. A failed API connection can delay orders, interrupt accounting records, or leave inventory information outdated. Businesses preparing for an upgrade should review their existing integrations before changing versions. Working with an experienced Odoo development company can also help identify dependencies that are difficult to trace.

    This guide explains the updated Odoo JSON-2 API timeline, what still works, which integrations face the greatest risk, and how to prepare for migration.

    Quick Answer: What Changed in Odoo 20 API?

    Odoo 20 removes the legacy db service from XML-RPC and JSON-RPC. However, the common and object services remain available temporarily and are scheduled for removal in Odoo 22. The JSON-2 API is the recommended replacement for new external integrations. The change affects different API services in different ways.

    API AreaOdoo 20 StatusBusiness Meaning
    XML-RPCDeprecatedExisting connections need review
    Legacy JSON-RPCDeprecatedMigration planning is necessary
    db serviceRemovedDatabase scripts may fail
    common serviceTemporarily availableAuthentication calls need migration planning
    object serviceTemporarily availableModel-based integrations need migration
    execute_kwMay still workShould be replaced before removal
    JSON-2 APIRecommended replacementPreferred for new integrations

    Why Odoo 20 API Changes Matter Beyond Developers

    API deprecation may sound like a technical maintenance issue. However, integrations often support everyday business activities. A connector failure can affect customer orders, supplier invoices, warehouse updates, or reporting accuracy.

    Old API Calls Often Hide Inside Business Workflows

    A company may have used the same Odoo integration for years without reviewing how it communicates with the ERP. The connection may still use XML-RPC even when the surrounding software has received regular updates.

    Vendor Connectors May Use Legacy RPC

    Third-party connectors sometimes hide their API methods from business users. A Shopify, accounting, or marketplace integration may depend on deprecated Odoo services without making that dependency obvious.

    Upgrade Projects Can Expose Hidden Dependencies

    An integration that works in the current environment may behave differently after an Odoo upgrade. This is especially important when scripts use the removed db service or depend on older libraries.

    Business Teams Feel the Impact When Syncs Break

    When integrations fail, the effects often appear in operational data. Sales teams may see missing customer records. Finance teams may find delayed invoices, while warehouse employees work with incorrect stock quantities.

    API Migration Needs Clear Ownership

    Each integration should have an assigned owner who understands its purpose, vendor, technical dependencies, and business importance. Without ownership, deprecated connections can remain unnoticed until an upgrade causes problems.

    Business WorkflowPossible Legacy API Dependency
    EcommerceProducts, customers, orders, inventory
    AccountingInvoices, payments, vendor bills
    WarehouseStock moves, transfers, picking records
    CRMLeads, contacts, activities
    Mobile appsAuthentication, search, record updates
    BI reportingScheduled data extraction
    MarketplacesListings, orders, stock updates
    AdministrationDatabase backups and duplication

    Businesses connecting several applications through Odoo should review their wider ERP architecture. ERP and CRM development services can support planning when multiple systems share critical records.

    Odoo API Timeline From Odoo 19 to Odoo 22

    Odoo API Timeline From Odoo 19 to Odoo 22

    The most important detail is that Odoo is removing legacy RPC services in stages. The schedule gives businesses time to replace older integrations, but some database-management functions are already affected.

    Odoo 19 Marks XML-RPC and JSON-RPC as Deprecated

    Odoo 19 identifies the legacy external RPC APIs as deprecated. Businesses using these endpoints should begin documenting dependencies and preparing a migration plan.

    Online 19.1 Removes the db Service

    For Odoo Online, the legacy database service was removed in Online 19.1. This matters for any supported workflows or tools that previously depended on that service.

    Odoo 20 Removes the db Service

    Odoo 20 removes the db service from the legacy external RPC interface. The change can affect administrative scripts that list, create, duplicate, back up, or restore databases.

    Online 21.1 Is the Scheduled Removal for Common and Objects

    Odoo’s documented timeline schedules the remaining legacy services for removal in Online 21.1. Businesses using Odoo Online should account for its release schedule rather than relying only on major on-premise version numbers.

    Odoo 22 Is the Scheduled Removal for Common and Object

    The common and object services are scheduled for removal in Odoo 22. This creates a migration deadline for integrations using legacy authentication and model operations.

    The timeline is based on Odoo’s external API documentation. Because future release schedules can change, teams should confirm the latest documentation when setting migration deadlines.

    What the Removed db Service Means for Existing Integrations

    The db service is different from the object service used for ordinary business records. It handles database administration rather than day-to-day operations such as reading customers or updating sales orders.

    Database Listing Calls May Break

    Some scripts request a list of available databases before connecting to a particular environment. If those scripts depend on the removed legacy service, they need another supported approach.

    Backup and Restore Scripts Need Review

    Organizations sometimes use automated scripts to create database backups or restore environments. These scripts should be checked for legacy db service calls before upgrading.

    Database Duplication Tools May Fail

    Development and testing teams may use database duplication to prepare staging environments. If their duplication process relies on the removed RPC interface, the workflow requires changes.

    Admin Automation Needs a New Path

    Administrative scripts may handle database creation, deletion, or configuration tasks. These operations need a supported replacement appropriate to the hosting environment.

    Odoo Online and On-Premise Risk Differs

    Odoo Online provides a managed environment, while self-hosted installations offer more control over infrastructure and administrative tools. The available replacement depends on the hosting model and the operation being performed.

    Legacy db OperationOdoo 20 Risk
    List databasesLegacy API call removed
    Create databaseLegacy API call removed
    Duplicate databaseLegacy API call removed
    Backup databaseLegacy API call removed
    Restore databaseLegacy API call removed
    Delete databaseLegacy API call removed
    Change master passwordLegacy API call removed
    Read normal business records through objectTemporarily supported, but deprecated

    Important: JSON-2 should not be assumed to provide a direct replacement for every database-management operation. Teams must identify supported administration tools or hosting-specific procedures.

    Does execute_kw Still Work in Odoo 20?

    The execute_kw method remains available in Odoo 20 through the legacy XML-RPC and JSON-RPC interfaces, but these APIs are deprecated. Businesses using it should review their integrations and plan a transition to the JSON-2 API.

    execute_kw Belongs to the object Service

    Many older Odoo integrations use execute_kw to call model methods. Typical operations include reading customer records, creating sales orders, updating products, and retrieving invoice information.

    The object Service Is Deprecated but Not Removed Yet

    Odoo 20 retains the legacy object service temporarily. This allows some existing connectors to continue functioning while businesses prepare for the newer API.

    Working Now Does Not Mean Safe Long Term

    A connector may pass its current tests but still depend on an endpoint scheduled for removal. That makes it a future compatibility risk, particularly when the connector is essential to daily operations.

    Odoo 22 Is the Deadline for Many Model Calls

    Businesses should plan to replace legacy model calls before the scheduled removal. The work may involve changing authentication, endpoint URLs, request formats, error handling, and integration logic.

    Legacy IntegrationOdoo 20 StatusAction
    /xmlrpc/2/objectTemporarily availablePlan JSON-2 migration
    execute_kwMay still workMap model methods
    /xmlrpc/2/commonTemporarily availableReview authentication
    /xmlrpc/2/dbRemovedReplace affected workflows
    New external connectorLegacy RPC not recommendedBuild using JSON-2

    What Is JSON-2 and Why Is Odoo Moving There?

    JSON-2 is Odoo’s newer external API for applications that need to communicate with Odoo data and business models. It replaces the older service-based RPC approach with a different request structure.

    JSON-2 Is the New External API Path

    The JSON-2 API uses routes built around Odoo models and their methods. For example, a supported model method can be called through a route following this structure:

    /json/2/<model>/<method>

    This differs from sending model operations through the older object service.

    It Replaces the Old Service-Based RPC Pattern

    Legacy XML-RPC integrations often communicate through /xmlrpc/2/common and /xmlrpc/2/object. JSON-2 uses a newer interface for model operations, reducing dependence on those deprecated service endpoints.

    It Uses API-Key-Based Access

    JSON-2 supports API-key authentication through an authorization header. A typical request uses:

    Authorization: bearer <API_KEY>

    The API key should belong to an appropriately authorized user and be stored securely.

    It Changes How Integrations Are Built

    Migrating to JSON-2 is not simply replacing an XML payload with JSON. Developers need to review model methods, request structures, permissions, responses, and error handling.

    It Still Needs Security and Testing

    The newer API does not automatically make every integration secure or reliable. Teams must validate user permissions, record rules, input handling, transaction behavior, and synchronization results.

    Legacy RPC APIsJSON-2 API
    Service-based requestsModel-and-method routes
    XML-RPC or legacy JSON-RPCJSON-based API
    common and object servicesUpdated external model operations
    Older authentication workflowsAPI-key authentication
    Legacy integration librariesHTTP-based integration approach
    DeprecatedRecommended replacement

    Odoo’s External JSON-2 API documentation provides the technical reference for endpoint usage, authentication, and supported behavior.

    How to Find Hidden XML-RPC and JSON-RPC Usage

    How to Find Hidden XML-RPC and JSON-RPC Usage

    The first migration challenge is identifying every system that still calls the old endpoints. Businesses should not limit the audit to their main ERP application. Legacy API usage may exist in external servers, scheduled scripts, vendor platforms, and mobile apps.

    Search Source Code for Old Endpoints

    Developers should search repositories for common XML-RPC and JSON-RPC patterns. Useful search terms include:

    • /xmlrpc
    • /xmlrpc/2
    • /jsonrpc
    • execute_kw
    • xmlrpc.client
    • ServerProxy

    Search results should be reviewed to determine whether the code is active, unused, or maintained by another team.

    Check Vendor Connectors and Middleware

    Some connections are managed through third-party software or middleware. Ask each vendor which Odoo API it uses and whether JSON-2 support is available.

    Review Scheduled Jobs and Scripts

    Scheduled jobs may run without direct user interaction. Review cron jobs, background workers, ETL processes, reporting exports, and database administration scripts.

    Inspect Mobile Apps and Customer Portals

    Mobile applications and customer portals may call Odoo for authentication, record searches, order updates, or account information. These integrations require testing because failures can affect customers directly.

    Ask Vendors for JSON-2 Roadmaps

    For vendor-managed integrations, request written confirmation of supported Odoo versions and API migration plans. A vendor’s general claim of Odoo compatibility may not confirm that its connector supports JSON-2.

    Where to CheckWhat to Look For
    Source repositoriesLegacy endpoint strings
    Python scriptsServerProxy, execute_kw
    PHP integrationsXML-RPC libraries and JSON-RPC calls
    MiddlewareAPI wrappers and Odoo connectors
    Mobile applicationsAuthentication and model operations
    Scheduled jobsBackground synchronization
    Vendor toolsAPI compatibility documentation
    Server logsRequests to deprecated routes

    For older systems with limited documentation, custom software development services can help address application code that needs to be updated alongside the API connection.

    Which Odoo Integrations Should Move to JSON-2 First?

    Not every integration has the same level of risk. A failed internal reporting script may be inconvenient. A failed order synchronization process can affect customers, fulfillment, and revenue. Prioritization should consider both the removal timeline and business impact.

    Database Management Scripts

    Scripts using the removed db service deserve immediate attention. They may already be incompatible with Odoo 20.

    High-Volume Order and Inventory Syncs

    Ecommerce and warehouse connections often exchange data throughout the day. Failed synchronization can create stock differences, delayed fulfillment, and inaccurate order information.

    Accounting and Invoice Connectors

    Finance integrations require careful testing because missing or duplicated records can affect accounting accuracy.

    Customer-Facing Apps and Portals

    Customer-facing applications should receive high priority because API failures may prevent users from accessing essential functions.

    Vendor Connectors Without Clear Support Roadmaps

    Third-party integrations become a greater risk when the vendor cannot confirm support for the replacement API. Businesses may need to plan alternatives before the next major upgrade.

    JSON-2 Migration Roadmap for Odoo Teams

    JSON-2 Migration Steps

    A successful migration begins with understanding existing integrations. Teams should move from discovery to testing in a controlled sequence rather than rewriting every connector at once.

    Step 1: Create an Integration Inventory

    Document every external system connected to Odoo. Include the integration owner, purpose, hosting environment, vendor, API endpoints, data exchanged, and business importance.

    Step 2: Separate db, common, and object Calls

    Classify each legacy API call according to the service it uses. This helps identify connections affected immediately by Odoo 20 and those facing later removal.

    Step 3: Map Old Calls to JSON-2

    Review the model methods used by existing integrations. Determine the appropriate JSON-2 route, authentication requirements, request format, and expected response. Database administration calls require a separate replacement strategy where JSON-2 does not provide an equivalent.

    Step 4: Rewrite or Wrap Connectors

    Developers can update existing connectors directly or create a reusable integration layer. An API wrapper may help when several applications use similar Odoo operations. For complex integration projects, custom API development services can support connector redesign and implementation.

    Step 5: Test in a Staging Environment

    Use a staging database with representative data. Test normal requests, permission failures, missing records, invalid input, network interruptions, and repeated requests. Also review transaction behavior. Multiple JSON-2 requests should not be assumed to share one database transaction.

    Step 6: Roll Out by Business Function

    Migrate integrations in manageable groups. For example, begin with administrative scripts, followed by critical operational connections, then reporting and lower-priority tools.

    Step 7: Monitor Logs After Migration

    Review API errors, synchronization delays, failed records, and unexpected data differences. Keep responsible teams available during the initial production period.

    Security Checks During JSON-2 Migration

    Changing an API connection is also an opportunity to review how external applications access ERP data. Older integrations may use broad permissions or credentials that have not been reviewed for years.

    Review API Users

    Identify which Odoo users or service accounts are associated with each integration. Remove unused access and document who owns active credentials.

    Use Least-Privilege Access

    Give integrations access only to the models, records, and operations they require. A reporting tool that only reads sales information should not receive unnecessary administrative permissions.

    Avoid Reusing Admin Credentials

    Administrative accounts should not be the default choice for external integrations. Dedicated users with limited permissions make access easier to review.

    Rotate Old Keys

    Replace outdated credentials as part of migration planning. Store API keys securely and avoid placing them directly in source code or public repositories.

    Log and Monitor API Activity

    Record important request outcomes, synchronization failures, and permission errors. Logs should help teams investigate problems without exposing sensitive credentials or unnecessary personal information.

    Hosting Differences: Odoo Online, Odoo.sh, and On-Premise

    The migration approach also depends on where Odoo is hosted. Businesses should confirm both the release timeline and the technical controls available in their environment.

    Odoo Online Has an Earlier Timeline

    Odoo Online follows its own release schedule. The documented removal of db in Online 19.1 and the scheduled removal of common and object in Online 21.1 make timeline planning especially important.

    Odoo.sh Needs Code and Deployment Planning

    Odoo.sh projects may contain custom modules, integrations, and deployment processes. Teams should review repositories, dependencies, staging branches, and automated jobs before migration.

    On-Premise Users Must Audit Custom Scripts

    Self-hosted businesses may have database administration scripts and locally maintained integrations that are not visible in Odoo’s standard application interface. These require direct technical review.

    Vendor-Managed Connectors Need Written Confirmation

    Businesses relying on third-party vendors should request a supported-version statement and JSON-2 migration timeline. This helps distinguish confirmed compatibility from assumptions.

    How Shiv Technolabs Helps With Odoo API Migration

    The move from legacy XML-RPC and JSON-RPC requires more than changing endpoint URLs. Businesses need to identify existing dependencies, preserve important workflows, and test integrations before production changes. Shiv Technolabs provides Odoo development services for businesses planning API migration, custom integrations, and ERP upgrades.

    XML-RPC and JSON-RPC Audit

    Our team reviews existing API connections, scripts, scheduled jobs, and third-party integrations to identify deprecated endpoints.

    Legacy Connector Mapping

    We document the models, methods, authentication flows, and business processes used by existing connectors.

    JSON-2 Migration Planning

    We help define migration priorities, replacement routes, technical requirements, and testing procedures.

    Custom API and Middleware Development

    Our developers can update legacy connectors and build middleware for applications that exchange data with Odoo.

    ERP, CRM, Ecommerce, and Accounting Testing

    We review important data flows across business systems, including orders, invoices, stock updates, and customer records.

    Security and Permission Review

    We assess API access, integration users, credentials, and record permissions as part of migration planning.

    Staging, Rollout, and Monitoring Support

    Our team supports testing, phased releases, and post-migration troubleshooting to reduce operational disruption.

    Contact us to audit your Odoo API dependencies and plan your JSON-2 migration before the scheduled Odoo 22 removal.

    Final Verdict: Odoo 20 Starts the Breakage Window, Odoo 22 Ends It

    Odoo 20 marks the point where businesses can no longer treat legacy RPC integrations as something to fix later. The removal of the db service already affects database administration scripts, while common and object services may continue working only for a limited period. That creates a transition window rather than an immediate full shutdown.

    For existing integrations, the priority should be understanding which workflows still depend on XML-RPC or JSON-RPC and how critical those workflows are to daily operations. Model-based calls through execute_kw may still function for now, but relying on deprecated services increases upgrade risk and can turn a future version change into a production issue.

    Odoo 22 is the point businesses should plan against. New integration work should move toward the supported JSON-2 API, while existing connectors should be audited, mapped, and migrated in stages. The real objective is not simply replacing an old protocol. It is protecting the business processes behind it, including orders, accounting, inventory, and other connected systems, so future Odoo upgrades do not interrupt operations.

    Frequently Asked Questions

    Is XML-RPC Removed in Odoo 20?

    No. Odoo 20 removes the legacy db service, while common and object remain temporarily available but deprecated.

    Does execute_kw Still Work in Odoo 20?

    Yes, existing execute_kw calls may still work through the deprecated object service. Businesses should plan migration before its scheduled removal.

    What Is the db Service in Odoo?

    The legacy db service handled database administration operations such as listing, creating, duplicating, backing up, restoring, and deleting databases.

    Which Odoo API Services Are Removed in Odoo 20?

    The legacy db service is removed. The common and object services remain temporarily available under Odoo’s published deprecation timeline.

    When Will common and object Be Removed?

    Odoo currently schedules removal in Odoo 22 and Odoo Online 21.1. Check the latest official documentation before setting migration deadlines.

    Is JSON-RPC Also Deprecated?

    Yes. Odoo’s legacy external JSON-RPC API is deprecated alongside XML-RPC, so businesses should audit both types of integration.

    What Is the JSON-2 API?

    JSON-2 is Odoo’s newer external API for accessing supported models and methods using JSON requests and API-key authentication.

    Should New Odoo Integrations Use JSON-2?

    Yes. New external integrations should use the supported JSON-2 API rather than introducing dependencies on deprecated XML-RPC or JSON-RPC services.

    Which Integrations Should Migrate First?

    Prioritize removed db service calls, order and inventory synchronization, accounting connections, customer-facing applications, and unsupported vendor connectors.

    How Can I Find XML-RPC Usage in My Codebase?

    Search for /xmlrpc, /jsonrpc, execute_kw, ServerProxy, and related client libraries. Also inspect scheduled jobs, middleware, and vendor integrations.

    Does This Affect Odoo Online Differently?

    Yes. Odoo Online follows a separate release timeline, with earlier scheduled removal milestones than the major on-premise Odoo versions.

    How Can Shiv Technolabs Help With JSON-2 Migration?

    Shiv Technolabs can audit legacy endpoints, update connectors, plan JSON-2 integration, review permissions, test business workflows, and support production rollout.

    Written by

    Shiv Technolabs

    As the managing director of the Shiv Technolabs PVT LTD, Mr. Kishan Mehta has led the company with a strong background in technology and a deep understanding of market trends. He has been instrumental in thriving the success and becoming a global leader in the app development space.

      form-img

        More from this Category