Skip to content

NullNaveen/openclaw-odoo-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenClaw Odoo ERP Connector

Full-featured Odoo 19 ERP integration for OpenClaw. Control your entire business via natural language chat commands.

ClawHub License: MIT Python 3.10+

Features

  • 80+ operations across 13 Odoo modules
  • Smart actions with fuzzy matching and auto-creation
  • Zero dependencies β€” pure Python with built-in XML-RPC
  • 100% test coverage β€” 73 comprehensive tests
  • Production ready β€” Thread-safe, retry logic, error handling

Supported Modules

  • πŸ“Š Sales & CRM (quotations, orders, leads, opportunities)
  • πŸ›’ Purchasing (POs, vendors, receipts)
  • πŸ“¦ Inventory (products, stock levels, alerts)
  • πŸ’° Invoicing (customer invoices, payments)
  • πŸ“‹ Projects & Tasks (management, timesheets)
  • πŸ‘₯ HR (employees, departments, expenses, leave)
  • πŸš— Fleet (vehicles, odometer, maintenance)
  • 🏭 Manufacturing (BOMs, production orders)
  • πŸ“… Calendar (events, meetings)
  • πŸ›οΈ eCommerce (website orders, product publishing)

Quick Install

Via ClawHub (Recommended)

npx clawhub install odoo-erp-connector

Manual Install

# Clone the repository
git clone https://github.com/nullnaveen/openclaw-odoo-skill.git
cd openclaw-odoo-skill

# Windows: Run installer
.\setup.ps1

# OR copy manually to OpenClaw skills directory
# Windows: %APPDATA%\npm\node_modules\openclaw\skills\odoo-erp-connector\
# Mac/Linux: ~/.local/share/openclaw/skills/odoo-erp-connector/

Configuration

  1. Copy config.json.template to config.json
  2. Edit with your Odoo credentials:
{
  "url": "http://your-odoo-server:8069",
  "db": "your_database_name",
  "username": "your_email@company.com",
  "api_key": "your_odoo_api_key"
}

Get Your API Key

  1. Log in to Odoo
  2. Go to Settings β†’ Users & Companies β†’ Users
  3. Open your user record
  4. Scroll to Access Tokens
  5. Click Generate
  6. Copy the key into config.json

Usage Examples

Sales

"Create a quotation for Acme Corp with 10 Widgets at $50 each"
"Confirm sales order SO00042"
"Show me all draft quotations"

CRM

"Create a lead for Rocky, email rocky@example.com, potential $50k deal"
"Move lead #47 to Qualified stage"
"Show me the sales pipeline"

Inventory

"What's the stock level for Widget X?"
"Show products with stock below 20 units"
"Create a new product: TestWidget, $25 price, min stock 10"

Projects

"Create a project called Website Redesign"
"Create task 'Fix login button' in Website Redesign"
"Log 3 hours on task #42"

HR

"Create employee John Smith, job title Developer"
"Show me all employees in Engineering"
"Submit expense report for $45.99"

[See SKILL.md for complete command reference with 30+ examples]

Smart Actions

The connector automatically handles missing dependencies with fuzzy matching:

Example: "Create quotation for Rocky with 100 Snake Skins at $10 each"

  1. Searches for customer "Rocky" (case-insensitive)
  2. If not found β†’ creates new customer "Rocky"
  3. Searches for product "Snake Skin"
  4. If not found β†’ creates product with $10 price
  5. Creates quotation linking both
  6. Reports: "βœ… Created quotation S00059 for Rocky with 100 Γ— Snake Skin at $1,150"

Technical Details

Architecture

  • OdooClient β€” Low-level XML-RPC wrapper with authentication
  • Model Ops β€” 13 business module classes (Sales, CRM, Purchase, HR, etc.)
  • SmartActionHandler β€” High-level natural language interface with find-or-create workflows

Testing

# Run full test suite
python run_full_test.py

# Test single module
pytest tests/test_partners.py -v

73 tests covering all 13 modules with 100% feature coverage.

Requirements

  • Python 3.10+
  • Odoo 19.0 (may work with 17-18 with field adjustments)
  • OpenClaw 2026.2.0+
  • No external Python dependencies

Project Structure

openclaw-odoo-skill/
β”œβ”€β”€ SKILL.md                  # OpenClaw skill definition
β”œβ”€β”€ README.md                 # This file
β”œβ”€β”€ package.json              # Skill metadata
β”œβ”€β”€ config.json.template      # Configuration template
β”œβ”€β”€ setup.ps1                 # Windows installer
β”œβ”€β”€ requirements.txt          # Python dependencies (none)
β”œβ”€β”€ odoo_skill/               # Python connector package
β”‚   β”œβ”€β”€ client.py            # XML-RPC client
β”‚   β”œβ”€β”€ config.py            # Configuration loader
β”‚   β”œβ”€β”€ errors.py            # Custom exceptions
β”‚   β”œβ”€β”€ smart_actions.py     # Smart action workflows
β”‚   β”œβ”€β”€ models/              # 13 module operation classes
β”‚   β”‚   β”œβ”€β”€ partner.py
β”‚   β”‚   β”œβ”€β”€ sale_order.py
β”‚   β”‚   β”œβ”€β”€ crm.py
β”‚   β”‚   β”œβ”€β”€ purchase.py
β”‚   β”‚   β”œβ”€β”€ invoice.py
β”‚   β”‚   β”œβ”€β”€ inventory.py
β”‚   β”‚   β”œβ”€β”€ project.py
β”‚   β”‚   β”œβ”€β”€ hr.py
β”‚   β”‚   β”œβ”€β”€ fleet.py
β”‚   β”‚   β”œβ”€β”€ manufacturing.py
β”‚   β”‚   β”œβ”€β”€ calendar_ops.py
β”‚   β”‚   └── ecommerce.py
β”‚   β”œβ”€β”€ sync/                # Real-time sync modules
β”‚   β”‚   β”œβ”€β”€ poller.py       # Change detection poller
β”‚   β”‚   └── webhook.py      # Webhook server
β”‚   └── utils/               # Helper utilities
└── tests/                   # Test suite (73 tests)

Documentation

  • SKILL.md β€” Complete skill definition with 30+ command examples
  • README.md β€” Installation guide and quick start (this file)
  • TEST_RESULTS.md β€” Test coverage report

Security Note

The security scan on ClawHub correctly identifies this skill as having powerful capabilities:

  • βœ… Full CRUD operations across Odoo modules (required for ERP management)
  • βœ… Webhook server for real-time updates (optional feature)
  • βœ… Background polling for change detection (optional feature)
  • βœ… XML-RPC network access (required for Odoo communication)

These are legitimate features for an ERP connector. The skill contains no malicious code β€” review the source if you have concerns.

Troubleshooting

Connection Failed

  • Verify Odoo URL and server is running
  • Check database name matches exactly
  • Regenerate API key if authentication fails

Module Not Found

  • Ensure Python 3.10+ is installed
  • No external dependencies needed (uses built-in xmlrpc.client)

Permission Denied

  • Check Odoo user has access to required modules
  • Some operations require specific permissions (Admin, Sales Manager, etc.)

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new features
  4. Submit a pull request

License

MIT License - see LICENSE file for details

Author

NullNaveen

Support


Version: 1.0.1
Last Updated: 2026-02-09
Status: Production Ready βœ…

About

Full-featured Odoo 19 ERP integration for OpenClaw - Sales, CRM, Purchase, Inventory, Projects, HR, Fleet, Manufacturing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages