Before we dive into technical discussions, I want to clarify the primary purpose of our Odoo Development Portal.
This is not just a tool for preparing SQL queries or feeding OpenAI with training data.
It plays a much bigger role in our overall Odoo strategy.
1. The Real Purpose of the Development Portal
The portal acts as the single source of truth for our entire Odoo ecosystem.
Its goals are:
- Centralized Customization Management
- Track all models, fields, views, reports, and smart buttons in one place
- Automatically sync metadata from Odoo core tables
- Maintain full auditability of every change
- Quality & Maintainability
- Detect breaking changes and customization conflicts early
- Visualize dependencies between models, modules, and integrations
- Provide documentation and reports automatically
- AI-Driven Analytics
- Use portal metadata as structured learning material for OpenAI
- Enable natural-language-driven SQL generation and automated reporting
- Reduce human dependency and avoid “black-box” knowledge
- Version Upgrade Readiness
- Compare Odoo versions
- Analyze potential impact before upgrading
- Ensure smooth migration with minimal downtime
2. Why This Matters
Without this portal, we risk the following:
- Losing control over what has been customized and why
- Facing “black-box” vendor lock-in due to undocumented code
- Making Odoo upgrades costly and time-consuming
- Slowing down integration with external systems and AI tools
With this portal, however, we achieve:
- Transparency in every change
- Predictable impact analysis for upgrades
- Self-service analytics using OpenAI + Metabase
- Future-proof architecture that scales globally
3. Next Steps
In the next sections, I will:
- Explain why we don’t rely solely on OCA participation
- Show how our portal-based approach differs from typical Odoo partners
- Share a system architecture diagram in English to visualize the big picture
1. Background: OCA-centric View on Partner Selection
Many Odoo-focused blogs recommend evaluating implementation partners primarily by their contribution to the OCA (Odoo Community Association) and other open-source activities.
The logic behind this is:
- Odoo is extremely flexible, but that makes it easy to over-customize (“魔改造”) without proper guidelines.
- Many partners in Japan lack deep Odoo expertise and don’t follow OCA best practices.
- Without OCA involvement, custom modules risk becoming unmaintainable over time.
- Odoo S.A.’s official partner tiers (Gold, Silver, etc.) are based mainly on license sales, not technical quality.
- Therefore, choosing partners who actively contribute to OCA supposedly reduces risk.
While these concerns are valid in some contexts, our implementation strategy follows a different philosophy.
2. Our Rebuttal: Why We Use an Odoo Development Portal
Unlike the blog’s assumption, we do not rely solely on OCA participation to ensure quality.
Instead, we have built an Odoo Development Portal to systematically manage every customization and integration.
(1) Centralized Metadata Management
- All customizations — models, fields, views, reports, smart buttons — are fully documented in the portal.
- Metadata is automatically synchronized from Odoo’s core tables (
ir_model,ir_ui_view,ir_model_fields, etc.). - Every change has a full audit trail: who modified what, when, and why.
Impact:
We avoid the “black-box customization” problem entirely.
Even if OCA isn’t used, the portal ensures 100% visibility and traceability.
(2) OCA + Portal Hybrid Strategy
We leverage OCA modules when they fit our business needs, but we are not dependent on them:
| Aspect | Pure OCA-based Approach | Our Portal-based Approach |
|---|---|---|
| Customization tracking | Not managed by OCA | Fully visualized in portal |
| Version upgrades | Depends on OCA release cycles | Automated diff & impact analysis |
| External integrations | Limited to OCA’s APIs | Standardized APIs defined in portal |
| AI integration | Not supported | Portal metadata powers OpenAI-assisted SQL & reports |
(3) Future-Proofing and AI Integration
- The portal acts as the “single source of truth” for the entire Odoo ecosystem.
- Metadata feeds into OpenAI, enabling:
- SQL query generation from natural language
- Automated report building
- Impact analysis for upgrades
- This architecture prevents vendor lock-in and keeps the system maintainable long-term.
3. Odoo Development Portal Architecture (English)
flowchart TD
%% ---- Styles ----
classDef core fill:#eaf2ff,stroke:#5b8def,stroke-width:1px;
classDef portal fill:#e8fbef,stroke:#38a169,stroke-width:1px;
classDef infra fill:#fff7e6,stroke:#d69e2e,stroke-width:1px;
classDef ext fill:#fff0f6,stroke:#d53f8c,stroke-width:1px;
classDef actor fill:#f5f5f5,stroke:#888;
%% ---- Actors ----
U1[Business Users]:::actor
U2[Admins / Developers]:::actor
%% ---- Portal ----
subgraph P[Development Portal (Single Source of Truth)]
direction TB
P1[Portal UI<br/>Manage Models / Views / Reports]:::portal
P2[Metadata DB<br/>Snapshot of ir_* Tables]:::portal
P3[Diff Detection / Impact Analysis<br/>Version Compatibility Check]:::portal
P4[Dependency Graph<br/>Model Relationships & References]:::portal
P5[API / Auth / Audit Logs]:::portal
end
%% ---- Odoo ----
subgraph O[Odoo Core System]
direction TB
O1[Odoo Core Features]:::core
O2[OCA Modules]:::core
O3[Custom Add-ons]:::core
end
%% ---- AI ----
subgraph AI[OpenAI Integration]
direction TB
A1[Design Assistance / Q&A]:::infra
A2[SQL & Report Auto-generation]:::infra
end
%% ---- BI ----
subgraph BI[BI & Visualization]
M1[Metabase Dashboard]:::infra
end
%% ---- CI/CD ----
subgraph CD[Git / CI-CD Pipeline]
G1[Git Repository]:::infra
C1[Testing / Static Analysis]:::infra
C2[Deployment<br/>Dev / Stg / Prod]:::infra
end
%% ---- External Systems ----
subgraph EX[External Systems]
E1[Freee Accounting]:::ext
E2[Snowflake / Datalake]:::ext
E3[Power Automate, etc.]:::ext
end
%% ---- Flows: Users -> Portal ----
U1 -->|View Reports / Check Status| P1
U2 -->|Design & Approve Changes| P1
%% ---- Portal <-> Odoo ----
P1 -->|Apply Settings| O3
P2 <-->|Sync Metadata| O1
P3 -->|Diff Report| U2
P4 -->|Dependency Visualization| U1
P5 <-->|RPC / REST API| O1
%% ---- AI integration ----
P2 -->|Metadata Feed| A1
P1 -->|Natural Language Requests| A2
A2 -->|SQL & Report Output| M1
M1 -->|Data Visualization| U1
O1 -->|Data Source| M1
%% ---- CI/CD ----
U2 -->|Pull Requests| G1
G1 --> C1
C1 --> C2
C2 --> O3
P3 -->|Breakage Detection| C1
%% ---- External Integrations ----
P5 <-->|API Integrations| E3
O1 <-->|Accounting Sync| E1
O1 <-->|ETL / Analytics| E2
%% ---- Classes ----
class U1,U2 actor;
class O1,O2,O3 core;
Summary for Offshore Team
- Do not depend entirely on OCA modules. Use them selectively.
- The Development Portal is the single source of truth:
- Tracks all customizations
- Generates reports & SQL automatically
- Detects differences across versions
- OpenAI + Metabase integration enables self-service analytics.
- With this architecture, we avoid vendor lock-in, reduce maintenance risks, and future-proof the system.
コメントを残す