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:
- Myyjä tekee tarjouksen → asiakas hyväksyy → siitä syntyy myyntitilaus.
- Myyntitilauksesta lähtee varastolle toimitus → varasto vähenee.
- 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:
- Testaa pilvessä:
- Ota Odoon demo / trial ja klikkaile: myynti, laskutus, varasto, projektit.
- Valitse 1–2 ydinsovellusta:
- esim. “Laskutus + CRM” tai “Verkkokauppa + Varasto”.
- Käytä hetki ihan peruskäyttöön:
- opi, miten data liikkuu: tarjous → tilaus → lasku → raportti.
- 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:
- Päivitä järjestelmä
- Luo odoo‑käyttäjä
- Asenna PostgreSQL
- Asenna riippuvuudet
- Lataa Odoo GitHubista
- Asenna Python‑kirjastot
- Tee konfiguraatio
- Tee systemd‑palvelu
- 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
[options]
admin_passwd = superadminpassword
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/addons
logfile = /var/log/odoo/odoo.log
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
[Unit]
Description=Odoo
After=network.target postgresql.service
[Service]
User=odoo
Group=odoo
ExecStart=/usr/bin/python3 /opt/odoo/odoo-bin -c /etc/odoo.conf
[Install]
WantedBy=multi-user.target
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% RAMwork_mem = 64MBeffective_cache_size = 50% RAM
Tiedosto:/etc/postgresql/14/main/postgresql.conf
Säännölliset päivitykset
Älä päivitä Odoota “lennosta” tuotantoon.
Turvallinen tapa:
- Tee staging-kopio
- Päivitä staging
- Testaa moduulit
- 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:
from odoo import models, fields
class Huoltotyo(models.Model):
_name = 'huolto.tyo'
_description = 'Huoltotyö'
nimi = fields.Char(required=True)
asiakas_id = fields.Many2one('res.partner')
kuvaus = fields.Text()
tila = fields.Selection([
('uusi', 'Uusi'),
('kaynnissa', 'Käynnissä'),
('valmis', 'Valmis')
], default='uusi')
Tämä luo kokonaan uuden sovelluksen.
Omat näkymät (XML)
Voit muokata lomakkeita ja listoja.
Esimerkki:
<record id="huolto_form_view" model="ir.ui.view">
<field name="name">huolto.tyo.form</field>
<field name="model">huolto.tyo</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="nimi"/>
<field name="asiakas_id"/>
<field name="tila"/>
</group>
<group>
<field name="kuvaus"/>
</group>
</sheet>
</form>
</field>
</record>
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
- Aseta tuotteelle “Minimum Quantity”
- Aseta “Vendor”
- Ota käyttöön “Reordering Rules”
- 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