Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Artificial Intelligence
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Property Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

[Odoo V12] How to use OpenAI with Odoo 12 (Python 3.6+ required)?

Naroči se

Get notified when there's activity on this post

This question has been flagged
configurationproject
2 Odgovori
4153 Prikazi
Avatar
amazigh

Hi everyone,

I'm currently working on a project with Odoo 12 Community, and I would like to integrate OpenAI's API (e.g., to generate reports or summaries based on notes in models).

However, I'm facing a compatibility issue:

Odoo 12 uses Python 3.5, but the official openai Python library now requires Python 3.6 or higher.

Has anyone successfully used the OpenAI API with Odoo 12?

What would be the best approach to make it work?

  • Is there a way to upgrade Python in an Odoo 12 environment without breaking compatibility? 

Any advice, examples, or best practices would be greatly appreciated!

Thanks in advance.

0
Avatar
Opusti
amazigh
Avtor

👋 Hi everyone,

Huge thanks to @Piyush H and @Desk Enterprise for your clear and helpful answers!

✅ I followed your advice and used direct HTTP requests with requests, which works perfectly with Odoo 12 (Python 3.5).

This approach is clean, effective, and fully compatible—no need to upgrade Python or use the official OpenAI library.

🔥 For anyone wondering: using the API directly without the openai package is a great workaround for legacy environments.

Thanks again and best of luck to all of you!

Amazigh

Avatar
D Enterprise
Best Answer

Hii,

Use direct HTTP requests instead of the official openai Python library.

You can integrate OpenAI API using requests, which works with Python 3.5.
Example:
import requests

import json


def call_openai(prompt):

    headers = {

        "Authorization": "Bearer YOUR_OPENAI_API_KEY",

        "Content-Type": "application/json",

    }

    data = {

        "model": "gpt-3.5-turbo",

        "messages": [{"role": "user", "content": prompt}],

        "temperature": 0.7,

    }

    response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, data=json.dumps(data))

    result = response.json()

    return result['choices'][0]['message']['content']

 i Hope It Is help full

0
Avatar
Opusti
Avatar
Tatvamasi Labs, Piyush H
Best Answer

Since Odoo 12 runs on Python 3.5 and the official openai package requires Python 3.6+, here are your best options:

Option 1: Use OpenAI API Directly (Recommended)

Instead of using the official Python package, make direct HTTP requests to the OpenAI API:

  1. Install requests package (works with Python 3.5):
    bash
    pip install requests
  2. Create a custom module with this basic implementation:
    python
    import requests
    import json
    from odoo import models, fields, api
    
    class OpenAIIntegration(models.Model):
        _name = 'openai.integration'
    
        def call_openai(self, prompt):
            api_key = "your-api-key"  # Store this securely in config parameters
            headers = {
                "Authorization": f"Bearer {api_key}",
                "Content-Type": "application/json"
            }
            data = {
                "model": "text-davinci-003",  # or newer model
                "prompt": prompt,
                "temperature": 0.7,
                "max_tokens": 256
            }
            
            try:
                response = requests.post(
                    "https://api.openai.com/v1/completions",
                    headers=headers,
                    data=json.dumps(data)
                return response.json().get('choices')[0].get('text')
            except Exception as e:
                return f"Error: {str(e)}"
Option 2: Use Older OpenAI Package Version

Try version 0.10.8 (last version supporting Python 3.5):

bash

pip install openai==0.10.8
Option 3: Docker Workaround (Advanced)

Run a separate Python 3.6+ microservice that handles OpenAI calls and communicates with Odoo via:

  • REST API
  • XML-RPC
  • Message queue (RabbitMQ)
Implementation Example

To generate report summaries from notes:

python

@api.model
def generate_summary(self, note_id):
    note = self.env['note.note'].browse(note_id)
    prompt = f"Summarize this business note in 3 bullet points:\n\n{note.name}"
    summary = self.call_openai(prompt)
    note.write({'summary': summary})
Important Notes
  1. Security: Never hardcode API keys - use ir.config_parameter
  2. Error Handling: Add proper timeouts and retries
  3. Rate Limits: Implement throttling (OpenAI has strict limits)
  4. Cost Control: Monitor token usage to avoid surprise bills

Alternative Approach

Consider upgrading to Odoo 13+ (Python 3.6+) if possible, as this will give you:

  • Better Python version support
  • Official OpenAI package compatibility

Security updates

🚀 Did This Solve Your Problem?

If this answer helped you save time, money, or frustration, consider:

✅ Upvoting (👍) to help others find it faster

✅ Marking as "Best Answer" if it resolved your issue

Your feedback keeps the Odoo community strong! 💪

(Need further customization? Drop a comment—I’m happy to refine the solution!)

0
Avatar
Opusti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
How to automatically create only one project (from template) for a Sale Order, even if it has multiple service lines?
configuration project
Avatar
Avatar
1
nov. 25
1939
Subtasks on Calendar View
configuration project
Avatar
Avatar
1
dec. 24
2376
[[=soporte=Paso=paso=]]¿Cómo llamar a Iberia, Ecuador?
security configuration project
Avatar
0
dec. 25
18
Restrict users to see all projects Solved
configuration project v18
Avatar
Avatar
Avatar
Avatar
Avatar
4
mar. 26
2207
ODOO 19 Enterprise manual
configuration accounting project
Avatar
Avatar
1
apr. 26
3090
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now