An intelligent AI-powered assistant that integrates with Odoo ERP to provide natural language interactions for querying and managing various Odoo modules. This project combines the power of Google's Gemini AI with Odoo's comprehensive ERP capabilities.
- 🤖 Natural language processing for Odoo ERP queries
- 📊 Comprehensive module support:
- CRM and Sales Management
- Inventory Control
- Manufacturing Operations
- Purchase Management
- Accounting and Invoicing
- Website and E-commerce
- 💬 Conversational interface with context awareness
- 🔄 Real-time data synchronization
- 📈 Detailed error reporting and debugging
- 🛡️ Secure authentication handling
For Docker (Recommended):
- Docker installed
- Odoo ERP server (v14.0 or higher)
- Google Cloud account for Gemini AI API
For Python Setup:
- Python 3.8+
- Odoo ERP server (v14.0 or higher)
- Google Cloud account for Gemini AI API
- Clone the repository:
git clone https://github.com/Shamlan321/OdooSense.git
cd OdooSense- Create your
.envfile:
ODOO_URL=http://localhost:8068
ODOO_DB=your_database_name
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
GEMINI_API_KEY=your_gemini_api_key- Run with Docker (one command, no setup):
# Quick start
./docker-run.sh
# Or manual
docker build -t odoosense .
docker run -i --rm --net=host --env-file .env odoosense- Clone the repository:
git clone https://github.com/Shamlan321/OdooSense.git
cd OdooSense- Install required packages:
pip install -r requirements.txt- Create a
.envfile in the project root:
ODOO_URL=http://your-odoo-server:8069
ODOO_DB=your_database_name
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
GEMINI_API_KEY=your_gemini_api_key- Start the assistant:
# Docker
./docker-run.sh
# Python
python odoosense.py- Example queries:
> Show me all manufacturing orders
> What's the current inventory status?
> List pending sales orders
> Show purchase orders from last week
The assistant supports various Odoo modules. Here's how to configure them:
- CRM: Enable lead and opportunity tracking
- Sales: Manage sales orders and quotations
- Inventory: Track stock levels and movements
- Manufacturing: Monitor production orders
- Purchase: Handle purchase orders and vendors
- Accounting: Manage invoices and payments
- Module Inspector: Test module accessibility
- Cloud Tester: Verify cloud deployment
- Local Tester: Check local installation
The assistant recognizes different keywords for each module:
| Module | Keywords |
|---|---|
| Manufacturing | manufacturing, production, mo, manufacture |
| Sales | sales, sale, so, customer |
| Purchase | purchase, po, supplier, vendor |
| Inventory | inventory, stock, product |
| CRM | lead, opportunity, pipeline |
| Accounting | invoice, bill, payment |
OdooSense/
├── odoosense.py # Main integration file
├── odoo_inspector.py # Module inspection tool
├── module_access_test.py # Access testing utility
├── requirements.txt # Python dependencies
├── Dockerfile # Docker container setup
├── docker-run.sh # Docker convenience script
├── .dockerignore # Docker build exclusions
├── .env # Environment configuration
└── README.md # Documentation
- Create a new feature branch:
git checkout -b feature/your-feature-name- Implement your changes
- Add tests if applicable
- Submit a pull request
The assistant includes comprehensive error handling:
- Connection issues
- Authentication failures
- Module access errors
- API rate limits
- Data validation
- Environment variables for sensitive data
- SSL/TLS encryption for connections
- API key management
- Session handling
- Access control
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Odoo Community
- Google Cloud Platform
- Contributors and maintainers
For support, please:
- Check existing issues
- Create a new issue with detailed information
Made with ❤️ by Shamlan Arshad
