Odoo selkokielellä – alusta, joka taipuu moneen

Aiemmin jo lyhyesti sivuttiin “ilmaista” ja avointa Odoo ERP alustaa, kun kokeiltiin luoda ChatBotteja Web-sivulle. Se sopii yritykselle, joka haluaa yhden paikan, jossa pyörii myynti, laskutus, varasto, projektit, verkkokauppa ja HR.

Esimerkiksi “lelukauppa”, voi hyödyntää Odoo alustaa monipuolisesti ja toteuttaa yrityksen keskeiset tarpeet sen avulla joustavasti ja voidaan unohtaa perinteinen Excelin pyöritys lähes kokonaan.

Ajattele Odoota sellaisena “yrityksen työkalupakkina”, johon voi lisätä työkaluja sitä mukaa kun tarve kasvaa.

  • Se on modulaarinen: otat käyttöön vain ne sovellukset (apps), joita tarvitset.
  • Se on avoimen lähdekoodin: sitä voi muokata, laajentaa ja koodata päälle omia juttuja.
  • Koodarille se on muokattava ERP, jonka päälle voi rakentaa omia ratkaisuja Pythonilla ja Odoon moduuleilla.
  • Parhaimmillaan Odoo korvaa kasan irrallisia työkaluja ja Exceliä yhdellä järkevällä kokonaisuudella.

Käytännössä: pienikin firma voi aloittaa yhdellä palikalla (esim. laskutus), ja myöhemmin liimata kylkeen lisää (esim. varasto, verkkokauppa, projektinhallinta).

Miksi Odoo on ajankohtainen juuri nyt?

Yritykset haluavat eroon sirpaleisista järjestelmistä

Monilla yrityksillä on käytössä:

  • yksi ohjelma laskutukseen
  • toinen varastoon
  • kolmas projekteihin
  • neljäs verkkokauppaan
  • viides tuntikirjauksiin

Tämä aiheuttaa:

  • tuplakirjauksia
  • virheitä
  • hitautta
  • turhaa manuaalista työtä

Odoo ratkaisee tämän yhdistämällä kaiken yhteen paikkaan.

Yritykset haluavat:

  • automatisoida rutiinit
  • vähentää manuaalista työtä
  • saada reaaliaikaista dataa
  • käyttää järjestelmiä mobiilisti

Odoo on rakennettu juuri tähän:

  • automaatiot
  • cronit
  • sähköpostit
  • integraatiot
  • API
  • mobiilikäyttö

Onko Odoo ilmainen?

Kyllä – Odoosta on ilmainen Community‑versio, jota voi käyttää ja asentaa vapaasti omalle palvelimelle.
Lisäksi on maksullinen Enterprise‑versio, jossa on enemmän ominaisuuksia, parempi käyttöliittymä ja virallinen tuki. Yritykset haluavat järjestelmiä, joita voi:

  • muokata
  • laajentaa
  • integroida
  • käyttää ilman lisenssilukkoja

Odoo Community on ilmainen ja avoin, mikä tekee siitä houkuttelevan vaihtoehdon suljetuille ERP-järjestelmille.

Lyhyesti:

  • Community = ilmainen, avoin lähdekoodi
  • Enterprise = maksullinen, enemmän toimintoja

Voiko Odoon asentaa itse?

Voi.
Odoo on täysin mahdollista asentaa itse esimerkiksi omalle Ubuntu‑palvelimelle

Käytännössä:

  • teknisesti osaava henkilö pystyy asentamaan Odoon muutamassa tunnissa
  • ylläpito vaatii perusosaamista Linuxista, PostgreSQL:stä ja päivityksistä

Moni aloittaa itse ja siirtyy myöhemmin ammattilaisen ylläpitoon.

Tarvitseeko Odoo kehittäjää?

Riippuu käyttötarpeesta.

Ei tarvitse, jos:

  • käytät vain valmiita moduuleja
  • et tee isoja muutoksia prosesseihin
  • yrityksen tarpeet ovat melko suoraviivaisia

Tarvitsee, jos:

  • haluat omia toiminnallisuuksia
  • haluat muokata näkymiä, logiikkaa tai raportteja
  • haluat integraatioita muihin järjestelmiin
  • yrityksellä on erikoisprosesseja

Odoo on parhaimmillaan silloin, kun sitä kustomoidaan juuri yrityksen tarpeisiin – ja silloin kehittäjä on iso etu.

Mistä Odoo “palikat” koostuvat?

Odoossa kaikki pyörii sovellusten ympärillä. Jokainen sovellus hoitaa yhden osa-alueen:

  • CRM – liidit, myyntiputki, asiakkaat
  • Sales – tarjoukset, tilaukset, sopimukset
  • Invoicing / Accounting – laskut, maksut, kirjanpito
  • Inventory – varasto, tuotteet, toimitukset
  • Manufacturing – tuotanto, työtilaukset
  • Project – projektit, tehtävät, tuntikirjaukset
  • Website / eCommerce – verkkosivut ja verkkokauppa
  • HR – työntekijät, työajat, lomat, rekry

Nämä eivät ole erillisiä saarekkeita, vaan ne keskustelevat keskenään. Esim:

  1. Myyjä tekee tarjouksen → asiakas hyväksyy → siitä syntyy myyntitilaus.
  2. Myyntitilauksesta lähtee varastolle toimitus → varasto vähenee.
  3. Toimituksesta syntyy lasku → kirjanpito päivittyy.

Sama data kiertää, mutta eri näkymissä.

Mitä Odoon avulla voidaan rakentaa?

Tässä kohtaa Odoo muuttuu pelkästä “valmiista ohjelmasta” enemmän alustaksi.

1. Perusyrityksen arki

Voit hoitaa esim. pienen tai keskisuuren firman koko arjen:

  • Myynti: tarjoukset, sopimukset, tilaukset
  • Laskutus: myyntilaskut, muistutukset, maksujen seuranta
  • Varasto: saldo, tilaukset, toimitukset
  • Projektit: tehtävät, deadlinet, tuntikirjaukset
  • Raportit: myyntiraportit, kannattavuus, varaston arvo

Eli: ei enää kymmentä eri Exceliä ja kolme eri ohjelmaa, vaan yksi paikka.

2. Verkkokauppa + taustajärjestelmä

Voit rakentaa:

  • Verkkosivut (drag & drop -tyylillä)
  • Verkkokaupan (tuotteet, ostoskori, maksut)
  • Taustalla: varasto, laskutus, toimitukset, asiakasdata

Eli koko polku: asiakas klikkaa tuotteen → maksaa → varasto vähenee → lasku syntyy → raportit päivittyy.

3. Toimialakohtaiset ratkaisut

Koska Odoo on muokattavissa, sen päälle voi rakentaa esim:

  • Huolto- ja keikkatyöjärjestelmä:
    • työtilaukset, aikataulut, kenttätyöntekijät, raportit
  • Ajanvarausjärjestelmä:
    • kalenteri, asiakkaan varaukset, maksut, muistutukset
  • Rakennusalan projektiseuranta:
  • työmaat, kustannukset, aliurakoitsijat, tuntikirjaukset

Usein homma menee niin, että otetaan perusmoduulit ja niiden päälle koodataan muutama oma näkymä, kenttä tai logiikka.

Miltä Odoo näyttää koodarin silmin?

Ei mennä vielä liian syvälle, mutta avataan konepeltiä sen verran että hahmotat:

  • Backend: Python
  • Tietokanta: PostgreSQL
  • Frontend: oma web-käyttöliittymä, jossa myös JavaScriptiä ja QWeb-templaatteja
  • Laajennukset: tehdään Odoo-moduuleina (omaa koodia, malleja, näkymiä, logiikkaa)

Käytännössä:

  • Voit luoda uusia malleja (tietokantatauluja) – esim. huoltotyö, ajanvaraus, laiterekisteri.
  • Voit lisätä kenttiä olemassa oleviin malleihin – esim. asiakkaalle “asiakasluokka”, tuotteelle “sarjanumero”, jne.
  • Voit tehdä automaatiota – esim. kun tilaus menee tilaan X, lähetä sähköposti, luo tehtävä, muuta varastoa.

Eli Odoo on vähän kuin Django + admin + valmis ERP, mutta omalla logiikallaan.

Missä Odoo on vahva?

  • Kaikki samassa paikassa: myynti, laskutus, varasto, projektit, verkkokauppa…
  • Modulaarisuus: aloita pienestä, kasva ajan kanssa.
  • Muokattavuus: avoin lähdekoodi, omat moduulit, integraatiot.
  • Ekosysteemi: paljon valmiita lisäosia ja kumppaneita.

Missä pitää olla hereillä?

  • Ei “asennat ja unohdat” -työkalu:
    • jos haluat oikeasti yrityksen näköisen ratkaisun, joudut miettimään prosesseja ja usein myös koodaamaan.
  • Päivitykset:
    • kun Odoo-versio vaihtuu, omat moduulit pitää pitää ajan tasalla.
  • Oppimiskäyrä:
  • peruskäyttö on helppoa, mutta kehittäjänä pitää opetella Odoon oma tapa tehdä asioita.

Miten Odoon kanssa voi aloittaa?

Yksinkertainen polku voisi olla:

  1. Testaa pilvessä:
    • Ota Odoon demo / trial ja klikkaile: myynti, laskutus, varasto, projektit.
  2. Valitse 1–2 ydinsovellusta:
    • esim. “Laskutus + CRM” tai “Verkkokauppa + Varasto”.
  3. Käytä hetki ihan peruskäyttöön:
    • opi, miten data liikkuu: tarjous → tilaus → lasku → raportti.
  4. Sitten vasta koodaus:
  • kun ymmärrät arjen käytön, on paljon helpompi päättää, mitä kannattaa automatisoida tai räätälöidä.

Odoon asentaminen omalle Ubuntu palvelimelle:

Ubuntun asentamista käytiin jo läpi aikaisemmin, joten jatketaan nyt eteenpäin ja asennetaan vastaavaan tyyliin Odoo, omalle palvelimelle perus testailua ja omaa kehitystä varten.

Odoo asentuu Ubuntuun näin:

  1. Päivitä järjestelmä
  2. Luo odoo‑käyttäjä
  3. Asenna PostgreSQL
  4. Asenna riippuvuudet
  5. Lataa Odoo GitHubista
  6. Asenna Python‑kirjastot
  7. Tee konfiguraatio
  8. Tee systemd‑palvelu
  9. Käynnistä ja avaa selaimessa

1. Päivitä järjestelmä

sudo apt update && sudo apt upgrade -y

2. Luo Odoo‑käyttäjä

Odoo pyörii omalla käyttäjällään (turvallisuussyistä).

sudo adduser –system –home=/opt/odoo –group odoo

3. Asenna PostgreSQL

Odoo käyttää PostgreSQL:ää tietokantana.

sudo apt install postgresql -y

Luo PostgreSQL‑käyttäjä Odoota varten:

sudo su – postgres -c “createuser -s odoo”

4. Asenna riippuvuudet

Odoo tarvitsee Python‑kirjastoja ja muita paketteja.

sudo apt install git python3 python3-pip python3-dev \ build-essential libpq-dev libxml2-dev libxslt1-dev \ libldap2-dev libsasl2-dev libtiff5-dev libjpeg8-dev \ libopenjp2-7-dev liblcms2-dev libwebp-dev libharfbuzz-dev \ libfribidi-dev libxcb1-dev nodejs npm -y

Asenna myös LESS ja CSS‑työkalut:

sudo npm install -g less less-plugin-clean-css

5. Lataa Odoo (esim. versio 17)

sudo su – odoo git clone https://www.github.com/odoo/odoo –branch 17.0 –single-branch . exit

6. Asenna Python‑kirjastot

sudo pip3 install -r /opt/odoo/requirements.txt

7. Luo Odoo‑konfiguraatio

sudo nano /etc/odoo.conf

Luo lokihakemisto:

sudo mkdir /var/log/odoo

sudo chown odoo:odoo /var/log/odoo

8. Luo systemd‑palvelu (automaattinen käynnistys)

sudo nano /etc/systemd/system/odoo.service

Ota palvelu käyttöön:

sudo systemctl daemon-reload

sudo systemctl enable odoo

sudo systemctl start odoo

Tarkista että se toimii:

sudo systemctl status odoo

9. Avaa Odoo selaimessa

Odoo toimii oletuksena portissa 8069.

Avaa:

http://palvelimen-ip:8069

Luo ensimmäinen tietokanta → ja Odoo on käytössä.

10. (Valinnainen) Nginx + HTTPS (Let’s Encrypt)

Jos haluat Odoon toimivan domainilla ja HTTPS:llä, lisää Nginx väliin. Tätä käytiin läpi myös jo aikaisemmin, joten periaate on sama.


Käytännön vinkkejä Odoo alustan käyttöön:

Ylläpito: miten Odoo pysyy nopeana ja vakaana

Lokien ja suorituskyvyn seuranta

Hyödyllisiä komentoja:

Odoo-palvelun tila:

sudo systemctl status odoo

Restart:

sudo systemctl restart odoo

Lokit:

tail -f /var/log/odoo/odoo.log

Hyödyllisiä komentoja:

tail -f /var/log/odoo/odoo.log

Näet reaaliajassa virheet, varoitukset ja suorituskykyongelmat.

PostgreSQL optimointi

Odoo on erittäin riippuvainen tietokannasta.

Tärkeimmät säädöt:

  • shared_buffers = 25% RAM
  • work_mem = 64MB
  • effective_cache_size = 50% RAM

Tiedosto:
/etc/postgresql/14/main/postgresql.conf

Säännölliset päivitykset

Älä päivitä Odoota “lennosta” tuotantoon.

Turvallinen tapa:

  1. Tee staging-kopio
  2. Päivitä staging
  3. Testaa moduulit
  4. Päivitä tuotanto

Varmuuskopiot

Odoo tarjoaa sisäisen backup-työkalun, mutta tee myös ulkoinen varmuuskopio.

Esimerkki cron:

pg_dump odoo > /backups/odoo_$(date +%F).sql

Kustomointi: miten Odoosta saa juuri oikean

Omat kentät ilman koodausta

Settings → Technical → Database Structure → Fields
tai
Studio-moduuli (jos käytössä)

Esimerkkejä:

  • Lisää asiakkaalle kenttä “Asiakasluokka”
  • Lisää tuotteelle kenttä “Takuu (kk)”
  • Lisää projektille kenttä “Asiakkaan referenssi”

Käytä “Favorites” + “Filters” tehokkaasti

Odoon listanäkymät ovat supervoimakkaita, kun niitä käyttää oikein.

Esimerkkejä:

  • Luo myyjälle näkymä: “Omat avoimet tarjoukset”
    • Filters → Add Filter → Salesperson = Me, State = Quotation
    • Favorites → Save current search → näkyy vasemmassa valikossa
  • Luo varastolle näkymä: “Tuotteet, joissa saldo < minimi”
  • Filters → Quantity on Hand < Minimum Quantity
  • Tallenna suosikiksi

Tämä vähentää klikkailua valtavasti.

Käytä “Scheduled Actions” automaatioon

Odoossa on cron-tyyppinen järjestelmä.

Esimerkkejä:

  • Lähetä automaattinen muistutus maksamattomista laskuista
  • Päivitä varastosaldot joka yö
  • Luo automaattinen raportti myynnistä joka maanantai

Polku:
Settings → Technical → Automation → Scheduled Actions

Käytä “Activity”-järjestelmää

Odoon “Activities” on aliarvostettu.

Esimerkkejä:

  • Myyjälle automaattinen tehtävä 3 päivää tarjouksen jälkeen
  • Projektitiimille muistutus, jos tehtävä on ollut “In Progress” yli 7 päivää
  • Asiakaspalvelulle follow-up, jos tiketti on ollut avoinna yli 48h

Omat automaatiot (Server Actions)

Voit tehdä logiikkaa ilman Python-koodia.

Esimerkkejä:

  • Kun myyntitilaus menee tilaan “Confirmed”, luo automaattisesti projekti
  • Kun lasku maksetaan, lähetä asiakkaalle kiitosviesti
  • Kun varasto laskee alle minimin, luo ostotilaus

Polku:
Settings → Technical → Automation → Server Actions

Omat moduulit (Python)

Kun tarvitset oikeaa logiikkaa, tee oma moduuli.

Esimerkki yksinkertaisesta mallista:

Tämä luo kokonaan uuden sovelluksen.

Omat näkymät (XML)

Voit muokata lomakkeita ja listoja.

Esimerkki:

Hallinta: miten Odoota ohjataan kuin ammattilainen

Käyttäjäoikeudet kuntoon

Odoo on vahva roolipohjaisessa hallinnassa.

Esimerkkejä rooleista:

  • Myyjä: näkee vain omat asiakkaat
  • Varastotyöntekijä: näkee vain varaston
  • Talous: näkee laskut ja raportit
  • Admin: näkee kaiken

Polku:
Settings → Users & Companies → Users

Moniyritys (Multi-company)

Jos sinulla on useita yrityksiä:

  • Jokaiselle oma kirjanpito
  • Omat varastot
  • Omat käyttäjät
  • Yhteiset asiakkaat (valinnaista)

Monivarasto (Multi-warehouse)

Esimerkkejä:

  • Päävarasto
  • Myymälä
  • Kenttätyöntekijän auto varastona
  • Ulkoinen varasto (3PL)

Konkreettisia esimerkkejä, jotka helpottavat arkea

Esimerkki 1: Automaattinen ostotilaus, kun varasto laskee

  1. Aseta tuotteelle “Minimum Quantity”
  2. Aseta “Vendor”
  3. Ota käyttöön “Reordering Rules”
  4. Cron hoitaa loput

Esimerkki 2: Myyntiputki, joka ohjaa myyjää

  • Luo vaiheet: Uusi → Tarjous → Neuvottelu → Voitettu
  • Lisää automaattinen tehtävä joka vaiheeseen
  • Lisää sähköpostipohjat follow-uppeihin

Esimerkki 3: Huoltotyöjärjestelmä Odoon päälle

  • Luo oma malli huolto.tyo
  • Lisää kentät: asiakas, kuvaus, tila, kuvat, liitteet
  • Luo näkymät: lista + lomake
  • Lisää automaatio: kun tila = valmis → lähetä raportti asiakkaalle

Esimerkki 4: Verkkokauppa + varasto + laskutus automaattisesti

  • Asiakas ostaa tuotteen
  • Varasto vähenee
  • Toimitus luodaan
  • Lasku syntyy automaattisesti
  • Kirjanpito päivittyy