Przejdź do głównej treści
Odoo 20 · Praktyczny poradnik

Migracja do Odoo 20: lista kontrolna dla firm z integracjami

Odoo 20.0 FINAL jest już opublikowany. Jeśli Twój Odoo ma konektory niestandardowe lub zewnętrzne, oto 8 punktów, które sprawdziliśmy przed portowaniem własnych: z plikiem i linią, w której je zweryfikowaliśmy, a nie ze słyszenia.

Lista kontrolna migracji do Odoo 20: konektory sprawdzane jeden po drugim

Odoo 20.0 FINAL jest już opublikowany i dostępny w App Store. Jeśli migrujesz instalację, która korzysta wyłącznie z modułów samej Odoo, ryzyko jest niskie. Jeśli ma konektory niestandardowe, własne lub zewnętrzne, zmiany w Odoo 20 psują całe moduły: i co najmniej jedna z nich, do 31 października, nie zgłaszała żadnego błędu. W tej kolejności sprawdzamy to my, z podziałem na to, co można zautomatyzować, i to, co trzeba obejrzeć ręcznie.

1. Zinwentaryzuj, jakie moduły spoza oficjalnej oferty działają w Twoim Odoo

W Ustawienia > Aplikacje przefiltruj po „nie w katalogu Odoo” albo sprawdź ir.module.module za pomocą author != 'Odoo S.A.'. Każdy z tych modułów trzeba sprawdzić przed migracją; moduły Odoo porta sama Odoo.

2. Poszukaj zależności od modułów, które zniknęły

grep -rn "base_vat\|base_iban\|stock_picking_batch\|website_sale_wishlist\|website_sale_comparison" */__manifest__.py. Jeśli pojawią się w depends, moduł w Odoo 20 zostaje installable=False: to nie ostrzeżenie, po prostu się nie instaluje. Walidacja NIF/IBAN trafiła do rdzenia; reszta nie ma bezpośredniego zamiennika.

3. Poszukaj odoo.osv w kodzie Python

grep -rn 'from odoo.osv import' .. Pakiet odoo.osv nie istnieje już w Odoo 20: zgłasza ModuleNotFoundError i moduł się nie ładuje. Zamień każde expression.AND/OR/TRUE_DOMAIN/FALSE_DOMAIN na jego odpowiednik z odoo.fields.Domain.

4. Przekonwertuj prawa dostępu na nowy format

ir.model.access i ir.rule łączą się w jeden model, ir.access. Odoo dostarcza skrypt: odoo-bin upgrade_code --script 19.4-00-ir-access --addons-path <carpeta>, który konwertuje pliki CSV, aktualizuje manifest i usuwa stary plik. Uwaga na pliki ._* z macOS: powodują, że skrypt kończy się błędem UnicodeDecodeError; usuń je wcześniej za pomocą find . -name '._*' -delete.

5. Sprawdź, jak zapisywane i odczytywane są załączniki

Aktualizacja z 6 listopada 2026: do 31 października była to najniebezpieczniejsza zmiana, bo nie ostrzegała: ir.attachment.create({'datas': ...}) tworzył załącznik o rozmiarze 0 i bez żadnego błędu. Od commita c06a07264bdb Odoo zgłasza AssertionError. Zamień 'datas': base64.b64encode(x) na 'raw': x: działa tak samo w Odoo 17, 18, 19 i 20, więc można to naprawić już dziś, nie czekając na portowanie. Odczyt przez .datas zgłasza AttributeError: w Odoo 20 odczytuje się go przez .raw lub, po odczytaniu pola, przez .content/.to_base64() na zwróconej wartości.

6. Podnieś wersję w manifeście do 20.0

Jeśli version w __manifest__.py nie zaczyna się od 20.0, log pokazuje The module X has an incompatible version, setting installable=False, a moduł zostaje uninstallable. To nie ostrzeżenie, które można zignorować: bez tego kroku nic z powyższego nie ma znaczenia.

7. Zainstaluj na prawdziwym Odoo 20, nie poprzestawaj na kompilacji

To, że kod się kompiluje albo że skan statyczny niczego nie zgłasza, nie dowodzi, że moduł się zainstaluje, a tym bardziej że będzie działał. Jedynym wiarygodnym testem jest prawdziwa instalacja na Odoo 20.0 FINAL z Enterprise i uruchomienie pełnego zestawu testów modułu, a nie tylko samego startu.

8. Nie migruj od razu całego katalogu konektorów

Uporządkuj je według tego, co obraca największymi pieniędzmi albo co najbardziej ryzykownie zostawić zepsute, a nie według tego, co najłatwiej przeportować. Konektor fakturowania lub podpisu elektronicznego, który zawodzi po cichu (jak ten od załączników do 31 października), jest znacznie droższy w odkryciu po czasie niż konektor z katalogu.

Szczegóły każdego problemu, z plikiem i linią, w której go sprawdziliśmy: Odoo 20 już jest: co zmienia się dla Twoich integracji i konektorów.

Najczęściej zadawane pytania

Czy mogę migrować do Odoo 20, jeśli mam konektory niestandardowe?

Tak, ale każdy konektor spoza katalogu Odoo trzeba wcześniej sprawdzić: zależności od modułów, które zniknęły (base_vat, base_iban...), użycie odoo.osv, format praw dostępu oraz sposób zapisu i odczytu załączników. Instalacja bez błędów nie wystarcza; trzeba przejść pełny zestaw testów na prawdziwym Odoo 20.

Co można naprawić jako pierwsze, nie czekając na migrację?

Zmienić sposób zapisu załączników: 'datas': base64.b64encode(x) na 'raw': x. Działa tak samo w Odoo 17, 18, 19 i 20, więc można to zrobić już dziś w obecnym kodzie, nie czekając na gałąź 20.

Przydatne linki w FlexigoTech

Odoo 20: co zmienia się dla Twoich konektorów4 problemy zweryfikowane w kodzieNasze konektory już w Odoo 20Aktualna lista z linkiem do każdej kartyUsługa wdrożeniaMigracja ze wsparciem, z inżynierem, który ją wykonuje

Co robimy w tym zakresie

Integracje na zamówienieCo robi, zrzuty ekranu, wersje i cena.

Chcesz, żebyśmy sprawdzili Twoje konektory przed migracją?

Powiemy Ci, na podstawie prawdziwego kodu Odoo 20, które z Twoich modułów niestandardowych się psują i na którym punkcie tej listy. Napisz na comercial@flexigobe.com lub zadzwoń pod numer +34 616 809 504.

Sprawdź moje konektory