OOdoo UsersIIntegratorsPProject ManagersDDevelopers

Other AI tools can’t understand your Odoo code and data.ERPeek can.

Generic AI tools give hallucinated answers based on outdated knowledge scraped from the internet. ERPeek reads your actual Odoo configuration, installed modules, and custom addons, then gives you precise, verified answers in plain language.

No credit card required 1,000 free ERPeek Credits to start

Odoo 14.0Odoo 15.0Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0

Community & Enterprise · Custom Addons

Example Conversations

Answers grounded in your Odoo

Scroll through examples of ERPeek answers, from BI dashboards to error diagnosis. Every answer cites the code and configuration behind it.

ERPeek
Odoo 16.0
What are our top 10 products by gross margin this quarter? Flag anything below 20% so I can talk to the purchasing team.

Gross Margin, Top 10 Products, Q1 2025

Here's your margin breakdown for the current quarter, pulled directly from your confirmed sales orders and product cost data. I've flagged 3 products that fall below your 20% threshold, these are worth reviewing with your purchasing team before the next order cycle.

#ProductRevenueMarginStatus
1Cloud Hosting Annual€284,10066.7%Healthy
2ERP Implementation Pack€201,50070.5%Healthy
3Industrial Sensors Kit€178,20035.0%Healthy
4Office Furniture Set€134,80025.0%Watch
5Aluminium Sheets 2mm€98,40017.0%Below 20%
6Motor Bearings Pack€87,20016.2%Below 20%
7Cardboard Packaging€54,60015.0%Below 20%

What's driving the low margins

  • Aluminium Sheets (17%), your supplier raised prices by 12% in October, but your pricelist for this category hasn't been updated since June. Adjusting the pricelist would bring the margin back to approximately 24%, which is above your threshold.
  • Motor Bearings (16.2%), you're currently purchasing from your secondary supplier at a higher cost. The primary supplier offers a 9% lower unit price. Switching back or renegotiating the secondary contract would resolve this.
  • Cardboard Packaging (15%), this is typically sold as a standalone line item, but most of your competitors bundle it into service contracts. If you include packaging in your service bundles, it removes the standalone margin pressure entirely.

Trend vs. last quarter

Compared to Q4 2024, your overall average margin dropped from 38.2% to 35.7%. The primary driver is the raw materials category, Aluminium and Bearings alone account for 80% of the decline. Services and software margins remain stable and strong.

Here it is as a shareable dashboard, with the underlying data as an Excel workbook and an editable Word copy for purchasing:

margin-dashboard.html
OpenExport
Revenue
€1.14M
Avg margin
35.7%
Below target
3
Top products by gross margin
ERP Implementation Pack
70%
Cloud Hosting Annual
67%
Industrial Sensors Kit
35%
Office Furniture Set
25%
Aluminium Sheets 2mm
17%
Q2-Margin-Report.xlsx
Spreadsheet1.2 MB
Download
Q2-Margin-Report.docx
Documentation248 KB
Download
Generate the quarter-over-quarter comparison reportDraft the email to the purchasing team
ERPeek
Odoo 18.0
hubspot-contacts-export.csv
25,412 rows · 8.2 MB
We're switching to Odoo from HubSpot (CRM), Asana (projects), and QuickBooks (accounting). 25k contacts, 3 years of invoices, 400 active projects. How do we approach this? I've attached our HubSpot contact export, can you start with those?
Agent activity
Reading uploaded file2.1s
Analyzing attachment, mapping 21 columns to res.partner4.8s
Querying live Odoo, checking existing contacts1.6s
Creating file, res_partner_import.csv3.2s
Proposing batch changes0.9s
5 tool calls · 12.6sView details

HubSpot contacts → your live Odoo, in one pass

Consolidating three separate tools into one unified system is exactly what Odoo excels at. The critical thing is importing in the right order, sales and project records reference contacts and products, so those must exist in Odoo first. Contacts are the correct starting point, and since you attached the export, I've already processed it.

What I did with your file

  1. Read all 25,412 rows from the HubSpot export and mapped every column to the corresponding res.partner field (18 mapped automatically, 3 via your custom field labels).
  2. Deduplicated on email, found 2,813 duplicates from contacts existing in multiple HubSpot lists, merged them keeping the most recent record.
  3. Converted to Odoo's import format, companies first, then contacts linked to their company, with country codes and tags normalized to your Odoo 18 configuration.

The rest of the migration, in order

  1. QuickBooks → Chart of Accounts & Products, import your account structure first, then products/services with their QB item codes. Tax mappings need manual review, QB stores tax as a flat amount per line while Odoo uses fiscal positions and tax groups. Rebuild the rules, don't import them.
  2. QuickBooks → 3 Years of Invoice History, ~420k invoice lines. Import as posted journal entries, do not trigger payment workflows or stock movements. Then post an opening-balance entry matching your QB trial balance on the cutover date, or your accounting will be off from Day 1.
  3. Asana → Projects & Tasks, 400 projects. Map Asana boards to Odoo project stages, match members by email. Budget extra time for attachments, they typically run 3-5x the task count in files.
  4. Validate & Reconcile, compare totals across all 3 source systems vs. Odoo before cutting over. Realistic timeline for this volume: 2 weeks of preparation, 1 week of test imports, then 3-4 days for the production run with all sources read-only.

Here's your converted, deduplicated import file:

res_partner_import.csv
Import File6.4 MB
Download

Your project has a live Odoo connection, so I can create these records directly. Nothing is written until you approve:

Batch Write Actions, Approval Required
Model:res.partnerCreateOperations:22,599

Create 4,510 companies and 18,089 contacts in your Odoo 18 database via the live API connection. 2,813 duplicates were merged during conversion. Every record is tagged 'HubSpot import' so the batch can be filtered or rolled back.

ApproveDenyAsk for modification

Nothing changes in Odoo until you approve. Every write is logged.

Import the QuickBooks invoice history nextShow me the 2,813 merged duplicates
ERPeek
Odoo 17.0
We sell products that are both manufactured and dropshipped depending on stock. When stock is available it still triggers a manufacturing order AND a dropship purchase. The routes seem to conflict, how do we fix this?

Route Conflict, Manufacture + Dropship

This is one of the most common, and most confusing, issues in Odoo inventory configuration. When multiple routes are assigned to a product, Odoo doesn't choose the "best" one. It evaluates all active routes simultaneously when a sale order is confirmed, which is why you're seeing both a manufacturing order and a dropship purchase created at the same time.

What's happening now

When a sale order is confirmed for your product, Odoo fires both the Manufacture and Dropship procurement rules at the same time. This creates a manufacturing order that consumes components from your stock AND a purchase order that ships directly from the supplier, double fulfillment, wrong costs, and a confused warehouse.

How to fix it

You need a single route with conditional logic, not two separate routes competing. Here's exactly what to change:

  1. Remove the Dropship route from the product form. Keep only "Manufacture" as the active route. This prevents both routes from firing simultaneously.
  2. Create a reordering rule on the product with minimum quantity = 0 and preferred route = Manufacture. When stock drops below minimum after a sale, Odoo will automatically create a manufacturing order to replenish.
  3. For dropship scenarios, create a separate product variant that uses only the Dropship route. Your sales team selects this variant when the customer explicitly requests direct delivery from the supplier.
  4. Link the operations together by setting procurement group propagation to "Fixed" on the manufacture route. This ensures the delivery order stays in "Waiting" status until the manufacturing order is completed.

I proposed the fix as a write action and you approved it:

Write Action, Approval RequiredExecuted
Model:product.templateUpdateIDs:412

Remove the Dropship route from the product, add a reordering rule (min 0, route Manufacture), and set procurement propagation to Fixed.

Verified on your live database: confirming a sale now creates a single delivery in Waiting, the reordering rule raises the manufacturing order, and the delivery flips to Ready when it completes. One path, correct costs, no double fulfillment.

Create the dropship variant for direct-delivery orders
ERPeek
Odoo 15.0
We want to go live with Manufacturing and Inventory in 3 months. We currently track everything in Excel. What's a realistic plan and what are the biggest risks?

MRP + Inventory Go-Live, 12 Weeks

Moving from Excel to Odoo Manufacturing is a significant step, but 3 months is realistic if you follow a structured approach. The biggest risk isn't the software, it's data quality and team adoption. Here's the full plan.

Implementation Roadmap

Phase 1: Foundation, Weeks 1-3 · Low effort Set up warehouses, stock locations, units of measure, and basic product categories. This is the skeleton everything else builds on.

Phase 2: Product Catalog & BoMs, Weeks 3-5 · Medium effort Import your product list from Excel, create Bills of Materials, and define reordering rules. This is the most data-intensive phase, budget all of Week 4-5 for BoM validation with your production team.

Phase 3: Manufacturing Configuration, Weeks 5-8 · Medium effort Configure work centers, define manufacturing operations and routings, set up the production scheduler. Test with 2-3 sample products end-to-end before proceeding.

Phase 4: User Acceptance Testing, Weeks 8-10 · Intensive Full simulation using real orders from your last month. Every warehouse user should process at least 20 orders in the test environment. Document every issue you find.

Phase 5: Go-Live, Weeks 11-12 · Critical Physical stock count (schedule on a weekend), cutover from Excel, and run both systems in parallel for at least 5 business days to catch discrepancies.

Top 3 risks for your situation

  • Bills of Materials accuracy, this is the #1 reason manufacturing go-lives fail. If your BoMs are wrong, every production order will consume the wrong quantities and your inventory will be off within days. Budget all of weeks 4-5 for BoM validation with your production manager physically in the room.
  • Opening stock count, your Odoo stock levels must match the physical warehouse on Day 1, or every subsequent transaction will compound the error. Schedule a full physical count during Week 10, ideally on a Saturday when the warehouse is quiet and nothing is being shipped.
  • Team adoption, warehouse staff moving from Excel to tablets/barcode scanners need hands-on training, not just a demo. Plan at least 2 dedicated training sessions per team, plus 1 week of floor support during go-live.

Here is the full plan as an editable Word document, with the phase timeline as an Excel workbook:

MRP-Go-Live-Plan.docx
Documentation320 KB
Download
MRP-Go-Live-Timeline.xlsx
Spreadsheet184 KB
Download
Analyze my Excel product list and map it to Odoo fieldsGenerate the Week 1 setup checklist
ERPeek
Odoo 14.0
We just took over this client from another implementation partner. They have 14 custom modules installed and absolutely no documentation. Can you give me a full picture of what's been customized and what each module does?
Agent activity
Listing custom modules0.7s
Module lookup, custom_sale_workflow1.3s
Reading source code, models/sale_order.py2.4s
Tracing inheritance chain, sale.order1.8s
Querying live Odoo, installed module versions1.1s
23 tool calls · 41sView details

Environment Audit, 14 Custom Modules

I've scanned the full environment, every installed custom module, its dependencies, what standard Odoo behavior it overrides, and the risk level if you need to modify or remove it. Here's the complete picture.

Module Inventory

ModuleAreaWhat it doesRisk
custom_sale_workflowSales3-level approval chain for quotes above €10k. Blocks confirmation until all approvers sign off.High
mrp_quality_extMRPAdds a mandatory QC checklist to production orders. Blocks completion if any check fails.Med
stock_barcode_customWHOverrides the barcode scanner workflow, adds batch picking organized by warehouse zone.High
hr_expense_rulesHRAuto-approves expenses under €50. Manager approval required above that threshold.Low
account_report_customAcct3 custom PDF report templates for invoices, credit notes, and pro-forma.Low

... and 9 more modules analyzed, full report available on request

Module Dependencies

The 2 high-risk modules sit at the top of the dependency chain:

  • custom_sale_workflowsale_margin_extreport_templates
  • stock_barcode_custommrp_quality_ext
  • hr_expense_rules, standalone, no dependencies

You cannot uninstall or modify a module without first understanding everything downstream of it.

Risk Summary

  • 2 high-risk modules, custom_sale_workflow and stock_barcode_custom heavily override core Odoo behavior. Any changes to these could break daily operations for the sales and warehouse teams. Understand them completely before touching anything.
  • 4 medium-risk modules, extend standard features with custom fields and modified views. Functional but will need updates if the client upgrades Odoo versions.
  • 8 low-risk modules, mostly report templates, small field additions, and UI tweaks. Safe to maintain as-is.
Sources23 code citations
Custom addons14Odoo Community6Customer data3
Explain custom_sale_workflow in detailWhat breaks if this client upgrades Odoo?

← Scroll to explore all 5 use cases →

Why ERPeek

Stop guessing. Start knowing.

Generic AI tools fail at Odoo's complexity. ERPeek was built specifically to solve that.

The Problem

Hours lost just to answer basic questions

Understanding how a workflow works, why a field behaves a certain way, or which module does what, takes hours of digging, for technical and non-technical team members alike.

Generic AI gives wrong Odoo answers

ChatGPT and Copilot hallucinate Odoo APIs, mix up versions, and have no visibility into your custom modules. You waste time verifying bad answers.

Your custom configuration is invisible

Your custom overrides and specific configurations are not indexed anywhere. The people who need to understand them the most cannot access them easily.

The Solution

Instant, verified answers for every role

Ask in plain English. Get a clear, accurate answer grounded in your actual Odoo configuration, whether you need a process explanation or a technical breakdown.

Scoped to your exact Odoo version

Every answer is tied to your specific Odoo version and distribution, with cited sources. Answers that cannot be grounded in the code are refused.

Your custom modules, fully understood

ERPeek indexes your installed modules and custom addons, detects overrides, and prioritizes your specific configuration in every answer.

Simple Setup

How It Works

Get started in three simple steps. No complex configuration required.

Step 01

Connect

Connect your Odoo project and specify your version and distribution. Optionally link your custom GitHub repositories.

Step 02

Index

ERPeek automatically indexes community modules, Enterprise addons, and your custom code using structural and semantic analysis.

Step 03

Ask

Ask anything in natural language and get accurate, code-backed answers with citations, module references, and line numbers.

Features

Built for Odoo's complexity

ERPeek combines multiple search strategies with an AI research agent to deliver cited answers grounded in your real configuration.

Search

Hybrid Code Search

Combines structural indexing, semantic vectors, and agentic search for deep understanding that goes beyond simple text matching.

  • Structural index: modules, models, fields, and inheritance chains
  • Semantic vectors: find logic by meaning, not just keywords
  • Agentic search: multi-step reasoning for complex questions
"How does sale order confirmation work?"
Structural: sale_order.action_confirm()
Semantic: order state transitions
Agent: inheritance chain analysis
Intelligence

Version-Scoped Intelligence

Every answer is scoped to your exact Odoo version and distribution, so version-specific behavior is answered from the matching source tree.

  • Support for Odoo 14.0 through 19.0
  • Community and Enterprise distributions
  • Version-specific API and behavior knowledge
v14.0
v15.0
v16.0
v17.0
v18.0
v19.0

Each version has its own isolated index

Custom Code

Custom Module Awareness

ERPeek reads your custom modules and detects overrides automatically. Answers reflect your actual configuration, not the Odoo default.

  • GitHub repository integration for custom addons
  • Automatic override detection
  • Source attribution: Community, Enterprise, or custom
Communitysale/models/sale_order.py
Enterprisesale_subscription/models/sale_order.py
Custommy_addon/models/sale_order.py
Grounding

Grounded, Cited Answers

Every answer must be backed by code the agent actually read. Answers that cannot be grounded in your indexed source are refused instead of invented.

  • The agent searches and reads your actual Odoo source before answering
  • Citations link each claim to the file and lines behind it
  • Ungrounded answers are refused, not guessed
Plan
Research
Verify
Deliver

Every answer flows through research, grounding, and citation checks

MCP Connector

Connect your Odoo to your AI

Already using Claude or another AI assistant? The ERPeek MCP connector brings your Odoo knowledge into the tools you already use.

  • Same cited answers from your real Odoo, inside your AI assistant
  • Changes stay gated: proposed, approved by you, logged
  • No app switching for your team, ERPeek follows them
Set up the MCP connector
Security

Your Odoo, your rules

Every live-Odoo operation passes through a dedicated security gateway that enforces your per-project policies before anything reaches your data.

Security gateway

Mandatory security checkpoint

The ERPeek MCP Gateway sits between the AI agent and your Odoo instance. Every request, read or write, is inspected, policy-checked, and logged before it reaches your data.

  • Per-project write policies: global read/write controls with per-model allowlists
  • Hard floor: dangerous operations (sudo, raw SQL, module uninstall) are always blocked
  • Credentials encrypted at rest (AES-256-GCM), never logged, never sent to the LLM
  • Health-checked every 5 minutes with fail-closed behavior: if the gateway is down, operations are refused
AI agent request
ERPeek MCP gateway
Policy check · credential injection · audit log
Allowed → Odoo
Blocked → denied

Every request is inspected before it reaches your Odoo

Pricing

Simple, Transparent Pricing

Subscribe monthly, cancel anytime. Every plan includes full access to ERPeek's AI-powered Odoo intelligence.

Starter

$20/mo

1,000 ERPeek Credits included

  • 1,000 ERPeek Credits/mo
  • All Odoo versions
  • Custom addon indexing
  • Cited, code-grounded answers
  • Buy extra credits anytime
Get started
Most Popular

Pro

$60/mo

5,000 ERPeek Credits included

  • 5,000 ERPeek Credits/mo
  • All Odoo versions
  • Custom addon indexing
  • Cited, code-grounded answers
  • Buy extra credits anytime
Get started

Enterprise

$200/mo

20,000 ERPeek Credits included

  • 20,000 ERPeek Credits/mo
  • All Odoo versions
  • Custom addon indexing
  • Cited, code-grounded answers
  • Buy extra credits anytime
Get started

Your whole team, finally speaking Odoo

Join operations teams, project managers, and business analysts who get instant, verified answers about their Odoo environment, no technical background required.

Start Free

No credit card required · 1,000 free ERPeek Credits to start