Blog članak

Odoo 20: što se doista promijenilo i kome se isplati nadogradnja

Odoo 20 podiže minimum na Python 3.12 i PostgreSQL 16, AI zadržava uz Enterprise kredite i ukida pravila zapisa. Što to znači prije nadogradnje.

Izometrična ilustracija modularne ERP nadzorne ploče u cijan-narančastom sjaju na tamnoj pozadini

Odoo 20 stigao je u rujnu 2026., a bilješke o izdanju počinju agentima, AI poljima i poslužiteljem model context protokola. Za tvrtku koja sama vodi svoju bazu to je najmanje zanimljiv dio izdanja. O tome što ćete raditi sljedećih šest mjeseci odlučuju viši minimumi poslužitelja, granica izdanja za ugrađeni Odoo AI i promjena načina na koji prava pristupa ograničavaju zapise.

Ono što slijedi je čitanje službenih bilješki o izdanju, dokumentacije za instalaciju 20.0 i tablice životnog ciklusa podrške, filtrirano prema tome što se mijenja na instalaciji koju sami hostate i koliko to stoji tvrtku koja o njoj ovisi.

Osnovica poslužitelja porasla je na dva mjesta

Zahtjevi za izvornu instalaciju 20.0 navode Python: „Changed in version 20: Minimum requirement updated from Python 3.10 to Python 3.12.” PostgreSQL ide i dalje: minimum je podignut s 13 na 16, a podržane verzije navedene su kao 16.0 i novije.

Debian 12 standardno dolazi s Pythonom 3.11 i PostgreSQL-om 15, a Ubuntu 22.04 s Pythonom 3.10 i PostgreSQL-om 14. Obje su kombinacije ispod Odoo-ovih runtime minimuma. Osvježiti host ili spremnik može biti najjednostavniji operativni put, ali to je preporuka, a ne Odoo-ov zahtjev; procijenite dostupne putove nadogradnje Pythona i PostgreSQL-a za svoju implementaciju.

Ovisno o načinu pakiranja sustava, komponente možda možete nadograditi na postojećem hostu ili odabrati novu osnovnu sliku; potpuna migracija operacijskog sustava i dump te povrat baze nisu jedine tehničke mogućnosti. Procijenite trošak infrastrukturnih radova prije početka nadogradnje Odoo-a.

  • Debian 12 dolazi s Pythonom 3.11 i PostgreSQL-om 15.
  • Ubuntu 22.04 dolazi s Pythonom 3.10 i PostgreSQL-om 14.

Odoo-ova dokumentacija za izvornu instalaciju 20.0 postavlja runtime minimume; iz njih ne slijede minimalne verzije pojedinih Linux distribucija niti podrška za određeni instalacijski paket.

Ako novi host treba nositi i poštu za Odoo, dostava se tijekom preseljenja kvari češće nego što ljudi očekuju; postavljanje e-pošte u Odoo-u sa SPF-om, DKIM-om i DMARC-om pokriva zapise koji moraju slijediti IP adresu.

Jedina uvjetna ovisnost je pgvector. Nije potreban za rad Odoo-a, ali dokumentacija za izvornu instalaciju navodi da AI značajke traže PostgreSQL ekstenziju pg-vector, dostupnu tek od PostgreSQL-a 15. Kako je 16 već minimum, ograničenje verzije zadovoljeno je po defaultu, a preostaje uključiti ekstenziju u bazi koja će držati AI podatke.

AI samo u Enterprise izdanju, po potrošnji i dijelom izvan vaše infrastrukture

Službene bilješke o izdanju Odoo 20 navode agente konfigurirane promptovima, vještinama i izvorima, AI polja te MCP poslužitelj. Dokumentacija ugrađenog Odoo AI-a opisuje, među ostalim, transkripciju, generiranje slika i odgovore u razgovorima uživo. Zasebno, dokumentacija MCP poslužitelja objašnjava kako se vanjski AI klijent može povezati s Odoo bazom i koristiti njezine alate. Za timove koji već koriste agentske alate drugdje, ta integracija može biti posebno relevantna.

Tri napomene odlučuju hoće li išta od toga doći do vaše instalacije.

Prva je izdanje. Na pitanje postavljeno na Odoo forumu zašto AI modul nedostaje u Community izdanju 19 odgovor je nedvosmislen: „The AI features are only available with the Enterprise Edition of Odoo.” Ništa u bilješkama 20.0 ne mijenja tu granicu, pa treba očekivati da Community baza 20 dolazi bez AI aplikacije.

Druga je naplata ugrađenog Odoo AI-a. Njegova službena dokumentacija navodi da zahtjevi ugrađenog AI-a koriste In-App Purchase (IAP) kredite. Ista stranica kaže da instalacija AI aplikacije u bazi na Standard cjenovnom planu pokreće nadogradnju na Custom plan. To se odnosi na ugrađenu uslugu; dokumentacija ne navodi cijene IAP kredita za vanjske MCP klijente.

Dokumentacija MCP-a opisuje povezivanje vanjskog agenta putem vlastitih lokalnih AI tijekova rada. To je odvojeno od ugrađenog Odoo AI-a: pružatelj, mjesto izvođenja modela i povezani troškovi ovise o postavkama vanjskog klijenta. Dokumentacija ne kaže da MCP zahtijeva Odoo kredite za izvođenje modela.

Za malu tvrtku praktično je ovo: ako je razlog prelaska na Odoo 20 pristup novim AI mogućnostima, sama nadogradnja nije dovoljna — treba razmotriti izdanje i licencu; IAP krediti odnose se na ugrađeni Odoo AI.

Prava pristupa ostala su bez pravila zapisa

U općem dijelu bilješki o izdanju Odoo 20 skrivena je promjena s najdužim repom za svakoga tko održava vlastite module: „Access rights have been simplified by removing record rules and adding a domain directly at the access right level to determine which records the access right applies to.”

Pravila zapisa (record rules) bila su standardni način izražavanja vidljivosti po timu, po tvrtki ili po vrsti zapisa u Odoo-u. Živjela su u ir.rule, obično kao XML u sigurnosnoj datoteci uz unose ir.model.access. Taj objekt više ne nosi model. Ograničavanje se sada oslanja na samo pravo pristupa, kao domenu. Čistije je za razmišljanje i manje koda za održavanje, ali je i promjena sheme koju vaši moduli moraju apsorbirati.

Iz toga slijede dvije posljedice. Revizija postaje lakša jer je vidljivost zapisa izražena na istom mjestu kao i dopuštenje koje ju daje. Prijenos nije besplatan jer se svako ir.rule na koje se oslanja vaš kod ili modul treće strane mora ponovno izraziti kao domena. Vidljivost po tvrtkama i po pojedinom prodavaču upravo je mjesto gdje tiha pogreška postaje ili curenje podataka ili prazan prikaz popisa, pa te zapise popišite prije testne nadogradnje, a ne poslije.

Manje promjene sa stvarnom operativnom težinom

Nekoliko stavki iz bilješki o izdanju Odoo 20 zaslužuje pažnju i izvan naslova:

  • Praćene vrijednosti nestale su iz niti poruka. Poruka o praćenju generira se u hodu, a administratori kojima su spremljene vrijednosti još potrebne mogu instalirati namjenski modul. Prilagođena izvješća koja čitaju te spremljene vrijednosti prestaju raditi, dok su ugrađene značajke koje su o njima ovisile prepravljene oko generiranih poruka.
  • Font Awesome zamijenjen je Material Symbols ikonama. Prilagođeni pogledi, teme i komponente s tvrdo upisanim fa-* klasama renderirat će se pogrešno umjesto da glasno padnu, pa se regresija lako propusti u brzom testnom prolazu.
  • Offline način sada pokriva stvaranje, uređivanje, arhiviranje, vraćanje iz arhive i brisanje te ponovno pokretanje ranije izvedenih pretraga. Najviše dobivaju terenski timovi i skladišno osoblje, a testni plan treba pokriti i sukobljene izmjene s dva uređaja.
  • Decimalni separator neovisan je o lokalizaciji postavljenoj u korisničkom profilu, što uklanja čestu pritužbu u timovima s mnoštvom lokalizacija.
  • Nalozi i fakture nose prekidač uključenog odnosno isključenog poreza s izmjenom po pojedinom porezu, eCommerce dobiva automatsko objavljivanje i skidanje objave vođeno zalihama, a povrati se mogu voditi kroz korisnički portal.

Nijedna od tih stavki sama po sebi ne opravdava migraciju. Zajedno mijenjaju testnu matricu, a to je nešto drugo od same promjene.

Integracijska strana Odoo-a nije promijenila oblik u ovom izdanju, pa i dalje vrijedi stariji savjet: dajte svakom sustavu jedan posao i jedan izvor istine, kao u tekstu kako povezati Odoo, HubSpot i Airtable bez data silosa.

Kome se nadogradnja isplati i kada

Tablica životnog ciklusa podrške za Odoo konkretizira pitanje vremena. Odoo 20 je u standardnoj podršci do rujna 2029. (planirano). Planirani završetak standardne podrške za Odoo 19 je u rujnu 2028.; za Odoo 18 u rujnu 2027., dok je standardna podrška za Odoo 17 završila u rujnu 2026.

To dijeli instalacije u tri skupine.

Na verziji 17 ili starijoj standardna podrška je završila. Službena dokumentacija navodi: „Sigurnosna ažuriranja pružaju se samo tijekom standardne podrške. Obje faze uključuju podršku službe za korisnike i ispravke grešaka. Tijekom produžene podrške ispravci se pružaju samo kada su tehnički izvedivi.” Produžena podrška ne uključuje sigurnosna ažuriranja; provjerite uvjete podrške za prihvatljive verzije. Ta skupina zapravo ne bira hoće li nadograditi, nego koliko dugo će voditi nepodržani softver. Komplikacija je veličina skoka, jer svaka verzija u nizu dodaje posao prijenosa, a preskakanje verzija obično košta više u popravcima modula nego što uštedi na proteklom vremenu.

Na 19 nema hitnosti, a argument za prelazak je konkretan: offline način za terenski rad, prekidač poreza, objavljivanje u webshopu vođeno zalihama ili MCP integracijom koja odgovara vašem tijeku rada. Na sustavu koji radi i s vlastitim modulima u dobrom stanju ostajanje je inženjerski opravdana odluka; planirani završetak standardne podrške za Odoo 19 je u rujnu 2028.

Na 18 je prozor uži nego što izgleda. Standardna podrška završava u rujnu 2027., pa je realan izbor jedna veća nadogradnja kasnije nasuprot manjoj sada, dok su infrastrukturni radovi već na stolu.

Kako migracija stvarno funkcionira

Za Enterprise i plaćene on-premise korisnike dokumentirani put je platforma za nadogradnju. Nadograđenu kopiju baze za testiranje tražite preko web stranice za nadogradnju ili CLI skripte, a stroj koji šalje zahtjev treba imati pristup bazi te otvoren odlazni HTTPS i raspon portova 32768–60999 prema servisu za nadogradnju. Platforma čuva izdanje; ne prebacuje izdanja, ne degradira i ne seli hosting.

Dokumentacija o nadogradnji preporučuje da zatražite nadograđenu testnu bazu dok paralelno prenosite vlastite module, koristeći migracijske skripte pod $module/migrations/<version>/ i alate za preimenovanja. Odoo 20 uz to isporučuje odoo-bin upgrade_code --from 19.0 --to 20.0, koji prepisuje zastarjele pozive u vašem izvornom kodu. Dokumentacija o nadogradnji preporučuje paralelnu pripremu; kompatibilni moduli potrebni su za smisleno završno testiranje i puštanje u rad, ali ne i za slanje zahtjeva za testnu nadogradnju. Alat za kod radi po najboljoj procjeni, ne jamči prijenos, a promjenu prava pristupa ne može odlučiti umjesto vas.

Community instalacije nemaju pristup toj platformi. Otvoreni put je OpenUpgrade, skup migracijskih skripti koje održava OCA i koje se pokreću kroz modul openupgrade_framework. Potvrditi da su skripte za 20.0 objavljene i da pokrivaju module koje doista vodite korak je provjere, a ne pretpostavka na kojoj se gradi datum isporuke.

Kontrolni popis prije nadogradnje koji se doista isplati

  • Popišite svaki vlastiti modul i modul treće strane, pa označite koji definiraju ir.rule zapise, imaju tvrdo upisane fa-* klase ikona ili izvještavaju o spremljenim vrijednostima praćenja.
  • Provjerite host prema oba minimuma u jednom prolazu, s python3 --version i psql --version, pa potvrdite da distribucija doista može dati te verzije.
  • Uvježbajte potpunu izradu sigurnosne kopije i njezino vraćanje prije održavanja te izmjerite trajanje. Ako odabrani put nadogradnje PostgreSQL-a uključuje dump i povrat, unaprijed isprobajte upravo taj postupak na ciljnoj instanci.
  • Pustite poslovne tokove na nadograđenoj testnoj kopiji: ponudu, fakturu s uključenim porezom, izlaz robe s objavljenim proizvodom u webshopu i jedan slučaj po pravilu vidljivosti o kojem timovi ovise.
  • Odluku o AI-u donesite odvojeno od odluke o verziji, sa zahtjevima izdanja i cijenom IAP kredita za ugrađeni Odoo AI pred sobom, a ne s promotivnim videom; troškove modela ili pružatelja vanjskog MCP klijenta procijenite zasebno.
  • Zadržite točku povrata koju ste isprobali. pg_dump koji nikad nije vraćen je nada, a ne sigurnosna kopija.

Odoo 20 je normalno izdanje s natprosječnim računom za infrastrukturu. Broj verzije nije odluka. Odluka je koji od tri pritiska vrijedi za vas: nepodržana instalacija 17, poslužitelj koji se ionako mora obnoviti zbog Pythona 3.12 i PostgreSQL-a 16, ili vlastiti modul koji će prepisivanje prava pristupa slomiti. Sve ostalo u izdanju može čekati mirniji mjesec.

Povezana područja

Ova su područja rada usklađena s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.

Nastavite čitati

Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.