| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
AI (ai_app)
• Discuss (mail) |
| Lines of code | 624 |
| 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 | 624 |
| Technical Name |
ai_claude |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
AI Claude Integration
Anthropic's Claude family inside Odoo AI Agents. Multi-turn tool calling, prompt caching, extended thinking, retries with exponential backoff, and request-id capture for support. Drops into any Odoo 19 Enterprise install where the AI app is available.
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.
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: multi-turn tool calling, prompt caching, extended thinking on supported models, 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
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.
Extended thinking budget
Per-agent thinking budget on supported models. The agent can spend more compute on hard tasks without changing the model, and the budget is bounded so it never runs away.
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, extended thinking, and retries are on by default.
Tune
Per agent, raise the thinking budget, pin a model snapshot, or extend the cache window. The settings are clearly named.
Why Heritage
Where this module leads, where it matches, what we are honest about.
- Day-one support for the latest Claude lineup
- 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
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.
Please log in to comment on this module