SODOO AI COWORK
SODOO AI COWORK is an advanced AI business assistant that enables you to manage your Odoo ERP system using natural language commands. From simple queries like "What are my total sales…
- Use the ERP without knowing the ERPYou say what you want; the assistant knows which field on which screen that is.
- An approval gateIt shows what it will do before it creates or changes a record.
- Inside the record and the documentThe same assistant on the screen, in a SODOOC document and in the morning briefing.
Overview
SODOO AI COWORK is an advanced AI business assistant that enables you to manage your Odoo ERP system using natural language commands. From simple queries like "What are my total sales this month?" to complex workflows like "Auto-generate purchase orders for all out-of-stock products", everything can be done through the conversational chat interface.
The module works with 7 AI providers (Anthropic Claude, OpenAI GPT, Google Gemini, DeepSeek, Mistral, LLaMA, and Groq) and offers 120+ ERP actions automating everything from CRM to accounting, inventory to HR.
How It Works - 3-Phase Agentic Loop
AI COWORK uses a sophisticated three-phase agentic loop for every request:
- Gather: AI analyzes your request and reads relevant data from ERP (read-only actions execute automatically, up to 8 consecutive reads).
- Action: Write operations require user confirmation before execution. Multi-step plans are proposed upfront.
- Verify: AI verifies the changes were applied correctly via a post-write confirmation call.
- Report: A concise summary of what was accomplished is returned in natural language.
Why AI COWORK?
Traditional ERP Usage
- ✗ Getting lost in menus
- ✗ Building complex filters
- ✗ Long training periods
- ✗ Multi-step manual processes
With AI COWORK
- Just ask in plain natural language
- Get results in seconds
- Zero training time required
- Complex workflows automated
Key Advantages
Natural Language Interface
No more navigating menus and filling forms. Interact with your ERP like you are texting a colleague.
Intelligent Learning
Remembers your preferences across sessions. References like "do it like last time" are understood.
Cost Optimization
Auto mode routes simple queries to cheap models and complex analyses to powerful models — minimizing cost.
Ultra-Fast Responses
Groq delivers 500 tokens/second. Streaming responses let users see answers as they are written.
Module Statistics
Requirements
System Requirements
- SODOO / Odoo 19.0 Community or newer
- Python 3.10+ (bundled with Odoo 19)
- Active internet connection (for AI API calls)
- At least one AI provider with a valid API key
Odoo Module Dependencies
base
and web are required for basic functionality.
API Key Setup
Navigate to Settings > AI COWORK > API Keys and enter the API key(s) for the provider(s) you want to use. At least one provider is required.
| Provider | Example Models | Where to Get API Key | Free Tier |
|---|---|---|---|
| Anthropic Claude | claude-opus-4-6, claude-sonnet-4-6 |
console.anthropic.com | No |
| OpenAI GPT | gpt-4o, gpt-4o-mini |
platform.openai.com | No |
| Google Gemini | gemini-1.5-pro, gemini-1.5-flash |
aistudio.google.com | Yes |
| DeepSeek | deepseek-chat, deepseek-reasoner |
platform.deepseek.com | Yes (limited) |
| Mistral AI | mistral-large, mistral-small |
console.mistral.ai | Yes |
| LLaMA (Together.ai) | llama-3.3-70b, llama-3.1-405b |
api.together.ai | Yes |
| Groq | llama-3.3-70b-versatile, llama-3.1-8b-instant |
console.groq.com | Yes (limited) |
Model Selection and Settings
Configure the following parameters from Settings > AI COWORK > Model Settings:
| Setting | Description | Default |
|---|---|---|
| Provider Mode | Which AI provider to use (auto or a specific provider) | auto |
| Max Tokens | Maximum number of tokens per response | 8192 |
| Temperature | Response creativity level (0 = precise, 1 = creative) | 0.5 |
| Streaming | Real-time token streaming (for supported providers) | Enabled |
| Pipeline Enabled | Multi-model pipeline for cost savings on Turkish/non-English content | Enabled |
| Memory System | Cross-session learning and memory | Enabled |
AI Providers
SODOO AI COWORK integrates with 7 AI providers. Each has different strengths, speed profiles, and pricing. You can configure multiple providers and let Auto Mode select the best one per task.
Anthropic Claude
Most capable model. Ideal for complex analysis and multilingual tasks.
Medium SpeedOpenAI GPT-4o
Excellent multilingual support and wide context window. Strong tool use.
Medium SpeedGoogle Gemini
Cost-effective with a free tier. Good for basic ERP queries.
FastDeepSeek
10x cheaper than OpenAI. R1 model for strong reasoning tasks.
Medium SpeedMistral AI
European provider, GDPR compliant. 128K context window.
FastLLaMA (Together.ai)
Open-source model via Together.ai. 70B and 405B variants available.
FastGroq
Ultra-fast inference at 500 tokens/sec. Free tier available.
Ultra FastAuto Mode
Auto Mode allows the system to automatically select the optimal provider based on task complexity, cost constraints, and language content. It balances quality and cost efficiency.
Intelligent Provider Routing Logic
| Task Type | Preferred Model | Reason |
|---|---|---|
| Simple queries, short answers | Groq (LLaMA 8B) |
Fastest, lowest cost |
| ERP data reads, list queries | Gemini Flash / DeepSeek |
Cost-effective, sufficient quality |
| Multi-step workflows | GPT-4o / Claude Sonnet |
Reliable, powerful tool use |
| Complex analysis, reports | Claude Opus |
Most capable model |
| Math / logical reasoning | DeepSeek R1 |
Reasoning specialist |
| Non-English content detected | Claude / GPT-4o |
Best multilingual quality |
Provider Comparison
| Provider | Speed | Cost (per M tokens) | English Quality | Streaming | Best Use Case |
|---|---|---|---|---|---|
| Anthropic Claude Opus | Medium | $15–75 | Excellent | Yes | Complex analysis, creative tasks |
| Claude Sonnet | Fast | $3–15 | Excellent | Yes | General purpose optimal choice |
| OpenAI GPT-4o | Fast | $2.5–10 | Excellent | Yes | Multilingual, function calling |
| Google Gemini Pro | Fast | $1.25–5 | Very Good | No | Budget ERP queries |
| DeepSeek Chat | Fast | $0.14–0.28 | Good | Yes | Budget-friendly high-volume tasks |
| DeepSeek R1 | Medium | $0.55–2.19 | Good | Yes | Math, logic, structured reasoning |
| Mistral Large | Fast | $2–6 | Good | Yes | GDPR-compliant European deployments |
| LLaMA 70B (Together) | Fast | $0.88 | Good | Yes | When open-source is preferred |
| Groq (LLaMA 70B) | Ultra Fast | ~$0.05–0.59 | Good | Yes | Fast responses, simple queries, free start |
Natural Language Queries
With AI COWORK, you can query your ERP in plain English (or any language). No need to navigate menus, set up filters, or know SQL.
Query Examples
- Total Orders: 47
- Total Revenue: $52,400
- Average Order Value: $1,115
- Best-selling Product: Product A (12 units)
- Top Customer: Acme Corp ($8,300)
1. Widget X — On Hand: 3 | Min: 20 [CRITICAL]
2. Gadget Y — On Hand: 7 | Min: 15 [WARNING]
3. Component Z — On Hand: 0 | Min: 10 [OUT OF STOCK]
Would you like me to create purchase orders for these items automatically?
1. INV/2026/00023 — Acme Ltd. — $2,750 — 45 days overdue
2. INV/2026/00031 — TechCorp — $5,200 — 37 days overdue
3. INV/2026/00044 — Globex Inc — $2,350 — 22 days overdue
4. INV/2026/00051 — MegaCo — $3,300 — 15 days overdue
5. INV/2026/00067 — Alpha Ltd. — $1,750 — 8 days overdue
6. INV/2026/00078 — Beta A.S. — $1,100 — 3 days overdue
Web Search
AI COWORK can search the internet in real-time alongside ERP queries. DuckDuckGo and Wikipedia integration provide access to current information.
Supported Search Sources
- DuckDuckGo: General web searches, company information, news
- Wikipedia EN/TR: Encyclopedic information, company history
- DuckDuckGo Infobox: Quick company facts — logo URL, founding year, sector, HQ
Microsoft Corporation
- Sector: Technology
- HQ: Redmond, Washington, USA
- Website: microsoft.com
- Revenue: ~$211B (FY2023)
Added to CRM as a prospect. ID: RES.PARTNER/1842.
Category set to "Technology > Enterprise Software".
Weather API
AI COWORK integrates with the wttr.in weather API for real-time weather information. Useful for logistics planning, field service scheduling, and event organization.
- Temperature: 8°C (Feels like 5°C)
- Condition: Cloudy, light rain expected
- Humidity: 75%
- Wind: 18 km/h (NNE)
3-Day Forecast:
- Tomorrow: 6°C, heavy rain [delivery warning!]
- Day after: 10°C, sunny
Heavy rain is forecast for tomorrow. I recommend rescheduling time-sensitive deliveries to today or the day after. Would you like me to update the delivery plan?
Weather query keywords recognized by AI COWORK:
Smart Actions and Confirmations
AI COWORK presents action plans for write operations that require user confirmation. Complex multi-step workflows are planned automatically and executed after approval.
Confirmation Flow
1. Widget X (Stock: 2) → Order 50 units — Vendor: Acme Supply
2. Gadget Y (Stock: 0) → Order 100 units — Vendor: TechParts Inc
3. Component Z (Stock: 4) → Order 30 units — Vendor: GlobalComp
Estimated Total: $8,250
Do you approve creating these 3 purchase orders? [Yes / No]
- PO/2026/00156 (Widget X — Acme Supply)
- PO/2026/00157 (Gadget Y — TechParts Inc)
- PO/2026/00158 (Component Z — GlobalComp)
All are in "Request for Quotation" state. Would you like to send email notifications to the vendors?
Morning Briefing and System Audit
Everything described so far runs when you ask. The briefing is the opposite: every morning, before anyone asks, the assistant reviews your CRM, activities, tasks, quotations, meetings and deliveries, finds what has been forgotten, and writes down what should be done about it.
How It Works
- Every morning at 08:00 (Istanbul): A scheduled job runs one pass a day and prepares each user's own briefing.
- A star badge on the systray: When the briefing is ready the COWORK icon in the top bar carries a badge; opening the panel opens the briefing.
- No findings means no briefing: An empty notification is never sent. If you see the badge, there is genuinely something to look at.
- Scoped to the person: Each user sees only the records they are responsible for.
- A company view for supervisors: An authorised user additionally sees company-wide findings: unassigned leads, unassigned tasks, late transfers, incomplete product data.
- On demand, one click: You do not have to wait for the morning; the briefing button on the panel runs the same audit right away.
The 22 Things It Looks At Every Morning
This is not “the AI found something”. Each finding is a named, countable, repeatable query defined in code. 16 findings belong to the person and 6 are company-wide.
| Area | Finding | What it looks for |
|---|---|---|
| Pipeline and leads | No next step | Opportunities with no next activity scheduled |
| Stalled opportunity | Opportunities that have not moved for a long time | |
| No expected revenue | Opportunities that make the pipeline total understate itself | |
| No contact details | Leads with no e-mail and no phone — records that cannot be worked at all | |
| Never touched | Leads nobody has opened since they arrived | |
| Unassigned lead company | No salesperson set, so the lead is nobody's work | |
| Activities | Overdue activity | Activities past their date that nobody has closed |
| Threads | Unanswered message | The customer wrote and no reply went out |
| Thread with no progress | Conversations left open with nothing posted on them | |
| Meetings | No next step scheduled | Meetings that happened with nothing planned afterwards |
| No notes written | Meetings where the decision was never recorded | |
| Quotations and orders | Sent, unanswered quotation | Quotations with no reply and no follow-up |
| Draft never sent | Quotations prepared and never delivered | |
| Order with an incomplete line | Orders carrying a line with no product or no description | |
| Tasks | Overdue task | Tasks past their deadline and still open |
| Task with no deadline | Tasks that never appear in anyone's day | |
| Unassigned task company | Tasks with no owner | |
| Deliveries | Late transfer | Transfers past their scheduled date |
| Late transfer company | The same, company-wide | |
| Product data | No sales description company | The text the customer reads on the quotation and the invoice is blank |
| No internal reference company | Purchasing, the warehouse and the customer have nothing to quote back | |
| No sales price company | Products quoted at zero, unnoticed until the order is confirmed |
Not a Number — What To Do About It
“259 records need fixing” is a report, and it moves nobody. The briefing writes a one-sentence remedy next to every finding, and that sentence is written by the server, not by the model. The reason is plain: whoever wrote the query knows which field it looked at. The model does not, so it would invent one.
| An ordinary report | The SODOO briefing | |
|---|---|---|
| What it says | A number | The number, example records and a one-sentence remedy |
| Who writes the remedy | Nobody | The server — written in code, per finding |
| Getting to the record | You go and find it | The address is inside the finding, and clickable |
| Going deeper | Not possible | The same finding listed up to 50 records |
| Asking a question | Not possible | The briefing is a conversation; you can question it |
| Starting the work | You switch to another screen | From the same panel: schedule the activity, follow the quotation up |
1. Unanswered quotations — 6
Sent, no reply, no follow-up.
What to do: Follow the quotation up or close it. A sent quotation with no answer is a decision waiting on you, not on them.
→ S00412 · S00418 · S00421 …
2. Opportunities with no next step — 11
What to do: Schedule the next activity on each one: a call, a meeting or a to-do with a date. An opportunity with no next step is the one that goes quiet.
3. Overdue activities — 3
4. Meetings with no notes — 2
CRM Actions
Customer Management
- Create new customer / prospect
- Update customer information
- Customer segmentation
- View purchase history
- List related records
Opportunity Management
- Create new lead / opportunity
- Update opportunity stage
- Calculate pipeline value
- List closing opportunities
- Reassign opportunity owner
Activity Planning
- Schedule customer visit
- Create call activity
- Set email reminder
- Log meeting notes
- List today's activities
Sales Reports
- Salesperson performance report
- Win/loss rate analysis
- Current month pipeline value
- Best performing customer segment
- Forecast vs actual comparison
Sales Actions
Quotes and Orders
- Create sales quotation
- Confirm quotation as order
- Add / remove order lines
- Update price / apply discount
- Query order status
- Cancel sales order
Invoice Operations
- Create invoice from order
- Query invoice status
- List unpaid invoices
- Send invoice by email
- Cancel / credit note
- Quote No: SO/2026/00892
- Customer: Acme Corp
- Product: Desk Lamp × 50 units
- Unit Price: $89.00
- Total: $4,450.00
- Status: Quotation (Draft)
Would you like to confirm and send it to the customer?
Inventory Actions
Stock Queries
- Query product stock level
- List critical stock products
- Warehouse-level stock view
- Product movement history
- Last receipt / issue dates
- ABC analysis
Transfer Management
- Create stock transfer
- Validate transfer
- Create return transfer
- List pending transfers
- Lot / serial number tracking
HR Actions
Employee Management
- Query employee details
- Add new employee
- Department transfer
- List all employees
- View org chart
Leave Management
- Query leave balance
- Create leave request
- Approve / reject leave
- List employees on leave this week
- Annual leave utilization report
1. John Smith — Annual Leave — Mar 3–7 (5 days)
2. Jane Doe — Personal Leave — Mar 1 (1 day)
3. Bob Johnson — Sick Leave — Feb 28–29 (2 days)
John Smith's leave request has been approved. An automatic email confirmation was sent to him.
Accounting Actions
Invoice Management
- Create customer invoice
- Record vendor bill
- Query invoice status
- Show tax amounts
- Cancel invoice
Payment Tracking
- Record payment
- Query payment status
- Overdue payment report
- Update bank reconciliation
- Cash flow forecast
Project Actions
Project Management
- Create new project
- Query project status
- List project members
- Show project progress %
- Filter completed / in-progress
Task Management
- Create and assign task
- Update task status
- List tasks assigned to me
- Set task deadline
- Log time on task
Purchase Actions
RFQ and Orders
- Create request for quotation (RFQ)
- Confirm RFQ as purchase order
- Compare multiple quotations
- Create blanket order
- Query vendor price history
Vendor Management
- Add new vendor
- Query vendor history
- Find cheapest vendor for product
- Vendor delivery time analysis
Memory System
AI COWORK's cross-session memory system remembers what it learns between sessions. It records user preferences, frequently used query types, and past operations.
How Memory Works
- Automatic Learning: User behaviors are analyzed each session; important patterns are saved
- Decay Mechanism: Old, unused memories gradually lose relevance; recent ones remain prominent
- Context Extraction: Query patterns, preferred output formats, and shorthand references are learned
- Cross-Session Persistence: Memory survives browser closure; "do it like last time" works weeks later
- Total 38 orders, $31,200 revenue
- Best day: Thursday (12 orders)
- Top salesperson: Sarah Johnson
- Applied filter: Domestic orders only (excl. exports as per preference)
[AI remembered your reporting preferences from previous sessions]
Workflow Engine
Inspired by LangGraph, the State Machine Workflow Engine enables complex, multi-step business processes to be managed end-to-end. Each state is tracked and errors are recovered automatically.
Workflow States
Key Features
- Validated State Transitions: Only permitted transitions are allowed; invalid ones are blocked
- Error Recovery: Up to 3 automatic retry attempts with recovery hints
- Progress Tracking: Visual progress bar with current_step / total_steps
- Database Persistence: Workflow state is saved to the database; page refresh does not interrupt it
- Built-in Cross-Module Workflows: Quote-to-Cash, Order-to-Delivery, HR Onboarding, etc.
Subagent Orchestration
Complex tasks can be distributed to specialized sub-agents running in parallel. Large tasks are decomposed into smaller parallel segments, reducing total execution time.
Subagent Types
| Type | Specialization | Example Use |
|---|---|---|
researcher |
Data search and analysis | Stock queries, customer history retrieval |
executor |
Applying ERP actions | Creating, updating, deleting records |
analyzer |
Data analysis and evaluation | Sales trend analysis, performance review |
planner |
Workflow planning | Breaking complex tasks into sub-steps |
writer |
Text and report generation | Writing reports, drafting emails |
Plugin System
AI COWORK is extensible via a hook-based plugin architecture. Development teams can add custom business logic or override default behaviors using plugins.
Hook Types
| Hook | Triggered When | Use Case |
|---|---|---|
pre_message |
Before message is sent to AI | Pre-processing, sensitive data masking |
post_message |
After AI response is received | Response formatting, logging |
pre_action |
Before ERP action starts | Permission checks, context validation |
post_action |
After ERP action completes | Audit log, notification sending |
on_error |
When an error occurs | Error notifications, fallback logic |
on_workflow_start/end |
At workflow start/end | Workflow logging, timing |
Built-in Plugins
- LoggingPlugin: Automatically logs all actions
- ValidationPlugin: Validates input parameters
- MetricsPlugin: Tracks performance metrics
- CachingPlugin: Caches results of repeated queries
Real-Time Token Streaming
Five providers support real-time token streaming, delivering responses word by word as they are generated. Users see answers forming in real time rather than waiting.
Streaming-Enabled Providers
Technical Details
- Odoo Bus-Based: Uses Odoo's built-in Bus polling, not raw Server-Sent Events
- Batching: Tokens are batched every 30 characters or 300ms to reduce DB commit overhead
- No Streaming for Tool Calls: Only text responses stream; ERP actions execute synchronously
- Blinking Cursor: UI shows a blinking cursor animation while streaming is active
- Automatic Fallback: If streaming fails, the system falls back to non-streaming mode
Multi-Model Pipeline
A cost-optimized multi-model pipeline for non-English (especially Turkish) content. The user's message is translated to English by a cheap model, processed by an economical AI model, then translated back to the user's language.
Cost Comparison
| Method | Cost (1M tokens) | Speed | Quality |
|---|---|---|---|
| Direct Claude Opus (with non-English) | $15–75 | Medium | Excellent |
| Pipeline (Groq + DeepSeek) | $0.19–0.83 | Fast | Very Good |
Usage Metrics and Analytics
View detailed metrics for every AI request from SODOO AI > Configuration > Analytics.
Tracked Metrics
Provider Usage
How much each provider was used, average response time per provider, and cost distribution.
Token and Cost
Total tokens per user/model, cost breakdown, and token efficiency (result per token).
Action Metrics
Most-used ERP actions, success/error rates, average execution time per action type.
Response Time
P50/P95/P99 response time distribution, slow queries, and performance bottlenecks.
Cost Analysis and Optimization
Cost Reduction Strategies
- Auto Mode: Simple tasks routed to cheap models; complex ones to powerful models
- Multi-Model Pipeline: Up to 60x savings for non-English processing
- Caching: Repeated query results served from cache (zero cost)
- Tool Filtering: Only relevant tools sent to the model (reduces token overhead)
- Prefer Groq: 500 tokens/second + very low cost for simple queries
Usage Examples
Example 1: New Customer Onboarding
✓ Customer created: Bright Design Studio (ID: 2847)
✓ Contact added: Emily Clark (email + phone recorded)
✓ Sector: Interior Design
✓ Activity: "First Contact" — Tomorrow 10:00 AM — Assigned to you
Would you like to add an opportunity as well?
Example 2: Weekly Order Delivery Check
1. SO/2026/00834 — Acme Corp — Due: Yesterday [LATE!]
2. SO/2026/00841 — TechCorp — Due: Today
3. SO/2026/00856 — GlobalCo — Due: Tomorrow
4. SO/2026/00871 — StartupXYZ — Due: Feb 28
Shall I send a delay notification email to Acme Corp for SO/00834?
Example 3: Monthly Financial Summary
Revenue:
- Invoiced: $89,500
- Collected: $76,200
- Outstanding: $13,300
Expenses:
- Purchases: $36,400
- Operating: $8,300
- Payroll: $16,100
- Total Expenses: $60,800
Net Profit: $28,700 (Margin: 32%)
Example 4: Automated Reorder Workflow
1. Widget X: Qty 50 → Acme Supply (last price: $22/unit)
2. Gadget Y: Qty 200 → TechParts Inc (last price: $6/unit)
3. Component Z: Qty 25 → GlobalComp (last price: $88/unit)
Estimated Total: $4,700
Approve creating all 3 RFQs? [Yes / No]
Example 5: Weather-Informed Delivery Planning
6°C, heavy rain all day, wind 28 km/h
You have 4 deliveries scheduled tomorrow. 2 of them are in open areas (docks, construction sites) that could be problematic in heavy rain:
- SO/2026/00889 — Harbour District
- SO/2026/00891 — Bosphorus Site
Recommend rescheduling those 2 to Monday Feb 28 (sunny, 10°C). Should I update the delivery dates?
Frequently Asked Questions
env, record,
params, and user_id variables. No code deployment needed.
Troubleshooting
- Verify API key is correctly entered in Settings > AI COWORK
- Confirm the API key is still valid in your provider console
- Check provider API status page for outages
- Ensure your Odoo server has outbound internet access
/var/log/odoo/odoo.log
or journalctl -u odoo -f. AI COWORK errors are logged with the
sodoo.ai prefix for easy filtering.