| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
AI (ai_app)
• Discuss (mail) |
| Lines of code | 747 |
| Technical Name |
ai_claude |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
AI (ai_app)
• Discuss (mail) |
| Lines of code | 747 |
| Technical Name |
ai_claude |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
AI Claude Integration
Anthropic's Claude family inside Odoo AI Agents. Adaptive thinking, reasoning effort, multi-turn tool calling, prompt caching, retries with exponential backoff, and request-id capture for support. Drops into any Odoo 19 Enterprise install where the AI app is available.
Claude Fable 5 and Opus 4.8 support the day they ship, not a version behind. Add the newest Claude to every Odoo AI Agent today. No integration project, no glue code, no subscription.
Why buy
Three reasons this pays for itself on day one.
Live in an afternoon
Install the module, paste your Anthropic key, pick a Claude model on any agent. No integration project to scope, no client to build, no glue code to own.
Spend you can control
Prompt caching trims tokens on every repeat call. Retries with backoff stop a transient error becoming lost work. Max output tokens, timeout, and attempts are yours to tune per company.
Yours to keep
LGPL-3 source on disk, no activation key, no phone-home, bring your own key. USD 70 once, not a recurring licence. Inspect it, extend it, ship it.
Day in the life
An ops lead asks: can our agent draft a quote, look up the customer's open AR, and email the CFO?
The agent picks Claude Sonnet 4.6 from the model selector. It calls the quote-drafting tool, then the AR-lookup tool, then the email-send tool, all in one tool-calling loop that this module runs end to end. The system prompt is cached on the second turn, so token costs drop. A 503 from the API mid-loop is retried with exponential backoff that honors Retry-After. The Anthropic request-id is captured in the audit log, so a support ticket points at the exact upstream call. The CFO gets the email; the audit trail shows every tool call, every model, every retry.
Use cases
Point a Claude-powered agent at the work your team repeats.
Quote, recap, follow up
Draft a quote, summarize a customer's open opportunities, and write the follow-up email, all in one tool-calling pass.
Triage and draft replies
Triage an incoming request and draft a reply grounded in your indexed knowledge, with citations back to the source.
Explain the numbers
Summarize an account's open receivables, explain a journal entry, or answer a policy question from your uploaded documents.
Answer and flag
Answer stock and delivery questions, summarize an order's status, and surface the exceptions worth a human's attention.
Answer from policy
Answer staff questions from uploaded policy documents and draft internal announcements in your house style.
Ask your documents
Ask questions across your indexed documents. Embeddings route to OpenAI or Google; answers come back from Claude with sources.
Each agent uses your own Odoo tools and sources. The module supplies Claude as the engine; you decide what it can see and do.
Where it earns its keep
The hard parts of the day nobody puts on a slide.
Five everyday problems that rarely make a feature list, and exactly what a Claude-powered Odoo AI Agent does about each. Every claim below is what the module actually does, with the honest limit stated in plain words.
When the one person who knows everything is on leave
Every team has a human search engine: the colleague who knows that a customer gets net-45 because of a verbal deal, that one building uses a different SKU prefix, and that you never trust cost fields imported before March. None of it is written down anywhere. When that person is in a meeting, work queues behind them; when they quit, a slice of the company's operating memory walks out the door. The real cost is the daily drip of a hundred quick-question interruptions nobody ever logs.
What the module does. An admin builds an Odoo AI Agent, sets its model to Claude, attaches the rate sheets and the how-we-actually-do-it notes as the agent's source documents, and wires the live-data tools onto its topics. Colleagues ask the agent instead of pinging the one person. The module runs the full multi-turn tool loop inside Odoo: Claude calls a configured tool, reads the result, calls another, and answers, bounded by the iteration caps and limited strictly to the tools the admin wired up.
Turn the go-find-X, then-Y, then-draft-Z chain into one ask
A customer asks you to re-send last spring's unpaid invoice and confirm the delivery address on file. Sounds like thirty seconds. Instead someone opens Sales, finds the order, jumps to Accounting, filters invoices, opens three to find the unpaid one, opens the contact form for the address, then drafts the reply. Each hop is trivial; done forty times a day across a support or receivables desk, it is the whole day, and it never shows up on any process map.
What the module does. The module lets an Odoo AI Agent run that chain on Claude instead of a person. The admin configures the agent's topics with specific tools, and the module runs the loop end to end: Claude calls the first tool, reads the result, decides the next, chains through them, and writes the final reply, up to the configured caps. Per-agent reasoning effort and adaptive thinking let it work out which invoice the request maps to on harder cases without you switching models.
The 2 a.m. dropout that never showed a red banner
An agent that drafts dunning notes or pre-classifies bills does its best work overnight, exactly when nobody is watching. One night the endpoint returns a 529 or a 503, the call falls over, the run produces nothing, and there is no error on screen. By morning the agent looks healthy. The gap surfaces at month end, and in the post-mortem all you can hand support is that the AI did not work last Tuesday, which dies at we cannot reproduce it.
What the module does. The module sits between the agent and the Anthropic Messages API and turns one-shot failures into recoverable ones. Every Claude call retries automatically on 429, 500, 502, 503, 504, and 529, backing off exponentially with jitter and honoring any Retry-After header, so a transient overload is absorbed rather than fatal. When a call truly cannot recover, it reads the Anthropic request-id from the response, writes it to the log, and surfaces it in the user-facing error with the HTTP status, so a ticket points to one exact failed call.
Stop paying full price for instructions Claude already read
Your best agents carry the heaviest system prompts: the refund policy, escalation rules, tone guide, a page of never-do-this. That block is long, stable for weeks, and genuinely keeps the agent on-policy. The part nobody demos: every message in the conversation pays for the whole block again. A four-step task re-reads the entire policy preamble four times, and the instinctive fix, trimming the prompt, is exactly backwards because it weakens the guardrails you wrote it for.
What the module does. Switch on Cache system prompt for that agent. The module then attaches an ephemeral cache_control marker to the agent's flattened system prompt on every call, so Anthropic writes the stable prefix to its prompt cache once and eligible later requests reuse it instead of reprocessing it. Because the multi-turn loop re-sends the conversation each turn, the savings land where the pain is: later turns of a task and quick follow-ups ride the cached instructions, with no model change and no trimming.
Show me where you got that, with a real answer
Your team already had an AI assistant and quietly stopped trusting it, not because it was often wrong but because it was wrong invisibly. Someone asks for a customer's agreed payment terms and gets a clean, confident paragraph with a number that might be from the signed terms or might be the model averaging what terms usually look like. There is no way to tell from the answer, so careful staff re-check the record anyway and the tool saves nothing, while juniors act on it and twice a quarter quote a wrong figure.
What the module does. The agent answers about company-specific data only by calling the tools an admin configured, and the module runs that loop against your live records, so a figure about a customer's terms comes from a tool reading that record now, not from training. Where source documents are attached and an embeddings key is set, retrieval tags each chunk with its source name and attachment id and surfaces those references with the answer, so where-did-you-get-that has a literal answer. When a call fails, the request-id makes a disputed answer a traceable event.
Overview
What this module does, in one read.
ai_claude registers the Anthropic Claude family with the Odoo AI Agent model selector and routes calls through the Messages API at api.anthropic.com.
Every Anthropic-specific feature you would otherwise have to wire by hand is included: adaptive thinking and per-agent reasoning effort on the newest models, multi-turn tool calling, prompt caching, retries with exponential backoff, and structured logging of the upstream request id.
Requires Odoo 19 Enterprise (the upstream ai and ai_app dependencies are Enterprise-only). Will not run on Community.
Capabilities
Twelve things this module gives you, with no padding.
Day-one Claude lineup
Fable 5, Opus 4.8, Opus 4.7, Sonnet 4.6, Haiku 4.5, plus pinned snapshots so a deployment can lock to a specific build. The selector exposes them in the Odoo AI Agent form alongside the providers you already use.
Multi-turn tool calling
The full tool-use loop runs inside the module: model emits tool_use, the loop dispatches, returns tool_result, and continues until the model stops. No external orchestration needed.
Prompt caching per agent
Per-agent ephemeral cache_control on the system prompt. Long, stable system prompts get cached after the first call and the next turn pays the discounted token rate.
Adaptive thinking and effort
On the newest models the agent uses adaptive thinking with a per-agent reasoning effort (low to max), so it spends more on hard tasks without switching model. Older models keep a bounded extended-thinking budget. Each request is shaped to the model, so a parameter it would reject is never sent.
Retries with exponential backoff
429, 500, 502, 503, 504, and 529 are retried with exponential backoff. Retry-After is honored when the upstream sends it, so the client respects the API's pace.
Request-id capture for support
The Anthropic request-id is captured in logs and surfaced in error messages. When you open a support ticket with Anthropic, the exact upstream call is one copy-paste away.
Configurable limits
Max output tokens, request timeout, and retry attempts are exposed in Settings. Tune per environment without touching code or restarting beyond the standard reload.
RAG embeddings fallback
Anthropic does not ship a first-party embeddings API. The module routes RAG embeddings to OpenAI or Google so retrieval-augmented agents continue to work without a second integration to maintain.
Pinned model snapshots
Selector exposes pinned snapshot identifiers for reproducibility. Lock production agents to a specific model build for the lifetime of a contract or audit window.
Legacy compatibility
Older Claude models retained for compatibility (Opus 4.6, Sonnet 4.5, Opus 4.5, Opus 4.1). Existing flows and saved prompts keep working when you upgrade.
No vendor lock-in
LGPL-3, no activation key, no phone-home. Bring your own Anthropic API key. The whole codebase is on disk and inspectable; the integration is yours after purchase.
Test suite included
Provider-level tests assert the request shape, the tool-loop transitions, the cache_control header, and the retry decisions. The harness mocks the upstream so tests run offline.
Compared
Build vs. buy.
Workflow
Install. Configure. Use. Tune.
Install
Drop ai_claude into your Odoo 19 Enterprise addons, install. The module registers itself with the AI Agent registry shipped in Enterprise.
Configure
Settings, AI section. Paste your Anthropic API key. Set defaults for max output tokens, timeout, and retry attempts.
Use
Pick a Claude model on any AI Agent. Tools, caching, adaptive thinking, and retries are on by default.
Tune
Per agent, set the reasoning effort, pin a model snapshot, or switch prompt caching on. The settings are clearly named.
Why Heritage
Where this module leads, where it matches, what we are honest about.
- Fable 5, Opus 4.8 and the newest Claude lineup, supported day one
- Tool-calling loop runs end-to-end inside the module
- Request-id captured for every call, every retry
- Standard Odoo AI Agent integration shape
- Settings exposed in the Odoo Settings panel
- Multi-company aware, no extra config
- Requires Odoo 19 Enterprise (the AI app is Enterprise only)
- You bring your own Anthropic API key
- Embeddings fall back to OpenAI or Google for RAG
- Mythos 5 is selectable but invitation-only (Project Glasswing)
Frequently asked questions
Direct answers.
Will this run on Odoo Community?
No. The upstream ai and ai_app modules are Enterprise only, so this provider has nothing to plug into on Community. Targets Odoo 19 Enterprise.
What does USD 70 buy me?
A perpetual licence to the source code under LGPL-3. No activation key, no subscription, no usage cap. The module is yours after purchase.
Do I need an Anthropic API key?
Yes. The module routes calls to the Anthropic Messages API; you bring your own key from console.anthropic.com. Token costs are billed by Anthropic, not by us.
What about RAG and embeddings?
Anthropic does not ship a first-party embeddings API. The module routes RAG embedding requests to OpenAI or Google so retrieval-augmented agents continue to work without a second integration to maintain.
Are pinned model snapshots supported?
Yes. Pinned snapshot identifiers are exposed in the model selector so a production agent can stay locked to a specific build for the lifetime of an audit window or contract.
How are upstream errors surfaced?
Every Anthropic call captures the request-id and includes it in the error message and the structured log. Open a support ticket with Anthropic and paste the id; they will pull the exact upstream call.
Can I roll back to an older Claude model?
Yes. Legacy models stay in the selector for compatibility (Opus 4.6, Sonnet 4.5, Opus 4.5, Opus 4.1). Existing flows and saved prompts keep working when the lineup refreshes.
Can I use Claude Mythos 5?
Claude Mythos 5 appears in the selector, but it is invitation-only through Anthropic's Project Glasswing and is not generally available. Without approved access a normal account cannot call it, so choose Claude Fable 5, which is generally available and shares Mythos 5's capabilities.
What happens if Claude declines a request?
Claude Fable 5 ships safety classifiers that can decline a request, returned as a successful response with a refusal reason rather than an error. The module detects that and raises a clear message naming the model, so you can rephrase or pick a different Claude model. Models without classifiers are unaffected.
Build vs buy, in one number
USD 70 once, or a developer week you maintain forever.
A senior developer week to build a Messages API client with a tool-calling loop, prompt caching, retries, and request-id capture costs far more than USD 70, and every edge case is yours after. This module is that week, already built, tested, and yours under LGPL-3.
Use the Buy button on this Apps Store listing to add AI Claude (Anthropic) Integration to your Odoo 19 Enterprise. Source is delivered on purchase under a perpetual LGPL-3 licence.
Please log in to comment on this module