Siirry sisältöön

Odoo res.partner -malli: Ymmärrä kontaktien ja kumppaneiden rakenne

Täydellinen opas Odoon keskitettyyn kontaktimalliin kehittäjille ja konsultti­käyttäjille
10. maaliskuuta 2026 kirjoittanut
Odoo res.partner -malli: Ymmärrä kontaktien ja kumppaneiden rakenne
Dasolo
| Ei vielä kommentteja

Esittely


Odoossa tiedot elävät malleissa: ne kertovat, miten tieto tallennetaan, mitä kenttiä siinä on ja miten siihen viitataan. Kaikki liiketoiminnan tiedot — tilauksista laskuihin ja asiakasrekistereihin — rakentuvat mallien varaan.


Mallien ymmärtäminen on oleellista niin kehittäjälle kuin toiminnalliselle konsultillekin. Mallit määrittelevät kentät, suhteet ja säännöt, jotka ohjaavat tiedon käyttöä ja eheyttä järjestelmässä.

Tässä artikkelissa keskitytään yhteen Odoon keskeisimmistä malleista: res.partneriin. Olitpa rakentamassa ominaisuutta, integroimassa ulkoista järjestelmää tai määrittämässä prosesseja, tulet käsittelemään tätä mallia.

Mikä on res.partner-malli


res.partner edustaa Odoossa kaikkia sidosryhmiä: yksittäisiä henkilöitä, asiakkaita, toimittajia ja yrityksiä. Se on paikka, johon koko osapuolen tiedot tallennetaan ja josta muut moduulit niitä lukevat.


Mallia käytetään lähes kaikissa moduuleissa: myynnissä, CRM:ssä, laskutuksessa, hankinnoissa ja verkkokaupassa. Kun luot asiakkaan, liiditietoihin tai toimittajan, taustalla on aina res.partner-tietue.


res.partner on määritelty base-moduulissa, ja muut moduulit laajentavat sitä perinnän kautta. CRM lisää liidiin liittyviä kenttiä, kirjanpito lisää maksuehtoja ja niin edelleen — jokainen moduuli täydentää ydintä omilla tarpeillaan ilman tietomallin kopiointia.

Tärkeimmät kentät mallissa


Seuraavaksi käyn läpi tärkeimmät kentät, jotka kannattaa tuntea. Niiden ymmärtäminen nopeuttaa työtäsi kontaktitietojen hallinnassa ja integraatioissa.


1. name

Tyyppi: Char. Tallentaa osapuolen nimen — yrityksen nimen tai henkilön koko nimen. Tämä kenttä näkyy laajasti käyttöliittymässä ja toimii osapuolen ensisijaisena tunnisteena.


2. create_date

Tyyppi: Datetime. Kirjaa tietueen luonnin ajan automaattisesti. Hyödyllinen raportoinnissa ja auditoinnissa.


3. write_date

Tyyppi: Datetime. Viimeisimmän muokkauksen ajankohta. Automaattinen kenttä, joka auttaa seuraamaan tietojen ajantasaisuutta.


4. email

Tyyppi: Char. Pääsähköposti, jota käytetään viestintään, laskutukseen ja portaalikäyttäjän tunnistukseen. Odoo pyrkii validoimaan sähköpostimuodon.


5. phone

Tyyppi: Char. Pääpuhelinnumero, joka näkyy kontaktin tiedoissa ja jota käytetään viestintäprosesseissa.


6. mobile

Tyyppi: Char. Matkapuhelinnumero. Voidaan käyttää tekstiviestihälytyksiin tai kiireellisiin yhteydenottoihin, jos se eroaa pääpuhelimesta.


7. street

Tyyppi: Char. Osoitteen ensimmäinen rivi — käytetään laskuissa, toimitusosoitteissa ja tulosteissa.


8. street2

Tyyppi: Char. Osoitteen toinen rivi: esimerkiksi huoneisto- tai taloyhtiötiedot sekä lisätiedot osoitteeseen.


9. city

Tyyppi: Char. Kaupunki tai paikkakunta. Osoitteen muotoilu voi vaihdella maittain, joten kaupunki on tärkeä osa osoiterakennetta.


10. zip

Tyyppi: Char. Postinumero, jota käytetään osoitevarmennuksessa ja toimituslaskennassa.


11. state_id

Tyyppi: Many2one (res.country.state). Maakunta tai osavaltio. Valikoituu maan perusteella; ei kaikissa maissa käytössä.


12. country_id

Tyyppi: Many2one (res.country). Maa. Vaikuttaa osoitteen muotoiluun, verosääntöihin ja paikallisiin asetuksiin.


13. is_company

Tyyppi: Boolean. Ilmaisee, onko tietue yritys vai yksityishenkilö. Yrityksillä voi olla lapsikontakteja; henkilöihin voi linkittää parent_id:n kautta yrityksen.


14. parent_id

Tyyppi: Many2one (res.partner). Linkittää kontaktin emoyritykseen. Mahdollistaa yritys–henkilö-hierarkian ja kenttien periytymisen emolta.


15. child_ids

Tyyppi: One2many (res.partner). Emoyrityksen kaikki alaosapuolet eli henkilökontaktit. Helppo tapa selata yrityksen yhteyshenkilöitä.


16. company_id

Tyyppi: Many2one (res.company). Moniyritysympäristössä kertoo, minkä yhtiön kontekstissa partner kuuluu. Vaikuttaa näkyvyyteen ja käyttöoikeuksiin.


17. vat

Tyyppi: Char. Y-tunnus tai ALV-tunnus. Maakohtaisesti validoitu. Tärkeä laskutuksessa ja veronmäärittelyssä — käytä erityissymboleja, jos osapuoli ei ole veronalainen.


18. customer_rank

Tyyppi: Integer. Ilmaisee asiakkaan aktiivisuuden: arvo kasvaa myyntitapahtumien myötä ja auttaa suodattamaan ja priorisoimaan asiakasmassoja.


19. supplier_rank

Tyyppi: Integer. Merkitsee toimittajastatusta. Kasvaa ostotapahtumien myötä ja helpottaa toimittajien tunnistamista.


20. user_id

Tyyppi: Many2one (res.users). Vastuu- tai myyntihenkilö. Käytetään CRM- ja myyntityön kohdistukseen sekä aktiviteettien osoittamiseen.


21. type

Tyyppi: Selection. Lapsikontaktien osoitetyyppi: Contact, Invoice, Delivery tai Other. Määrittää, mikä osoite tulostuu dokumenttiin.


22. ref

Tyyppi: Char. Sisäinen viite tai koodi. Hyödyllinen integraatioissa ja oman numeroinnin hallinnassa.


23. website

Tyyppi: Char. Verkkosivuosoite. Näkyy kontaktin lomakkeella ja verkkokaupan asiakastiedoissa.


24. comment

Tyyppi: Html. Sisäiset muistiinpanot, kuten myyntimuistiinpanot tai erityisohjeet — näkyy vain sisäisessä käytössä.


25. active

Tyyppi: Boolean. Arkistointilippu: kun False, tietue piilotetaan oletusnäkymistä mutta ei poisteta tietokannasta.


26. lang

Tyyppi: Selection. Asiakkaan haluttu kieli. Lähetettävät viestit ja dokumentit voidaan lokaalistaa tämän mukaan; periytyy emoyrityksestä tarvittaessa.


27. image_1920

Tyyppi: Binary. Osapuolen kuva tai logo. Odoo pitää usein useita kokoja ja käyttää kuvaa lomakkeissa, raporteissa ja verkkosivulla.


28. category_id

Tyyppi: Many2many (res.partner.category). Tunnisteet tai segmentit. Käytetään markkinoinnissa, suodattamisessa ja kampanjasegmentoinnissa.

Miten malli näkyy yritysten työnkuluissa


1. Myynti ja CRM

Myyjä valitsee tarjousta tehdessään asiakkaan res.partneristä — sama tietue kulkee liidistä mahdollisuudeksi ja tilaukseksi. customer_rank ja user_id ohjaavat raportointia ja vastuullisuutta.


2. Laskutus

Laskut ja ostolaskut viittaavat partneriin laskutusosoitetta varten. vat-kenttä vaikuttaa verolaskelmiin, ja maksuehdot tai luottorajat voivat olla säilöttynä partneriin.


3. Hankinnat ja toimittajat

Osto- ja toimittajatiedot linkittyvät res.partneriin. supplier_rank kertoo aktiiviset toimittajat ja buyer_id voi osoittaa vastuuhenkilön toimittajasuhteen hoitoon.


4. Verkkokauppa ja portaali

Verkkokaupan rekisteröityvät käyttäjät luodaan partner-rekistereiksi; nämä tietueet toimivat tilausten, tarjousten ja portaalikäytön pohjana.


5. Moniyritysmallit ja konsolidointi

Moniyritysympäristössä sama oikeushenkilö voi näkyä eri partner-tietueina eri yhtiöissä. company_id ja inter-company-säännöt määrittävät tiedon jakamisen ja synkronoinnin rajat.

Miten kehittäjät laajentavat mallia


Kehittäjät laajentavat res.partneria useilla tavoilla; Odoon malliperintä on yleisin. Se mahdollistaa kenttien, metodien ja sääntöjen lisäyksen ilman ydinkoodin kopiointia.


Malliperintä

Käytä _inherit = 'res.partner' lisätäksesi kenttiä, ylikirjoittaaksesi metodeja tai lisätäksesi rajoitteita. Muutokset pidetään erillisessä moduulissa, mikä helpottaa päivityksiä ja ylläpitoa.


Kenttien lisääminen

Määrittele uusia kenttiä perityssä mallissa oikeilla tyypeillä: Char, Many2one, Boolean, Integer, Text tai Selection. Moniyrityskäytössä harkitse company-dependent-kenttiä.


Python-laajennukset

Ylikirjoita create-, write- tai unlink-metodeja lisälogiikkaa varten, mutta käytä aina super()-kutsuja alkuperäisen toiminnan säilyttämiseksi. Ole tarkkana lasketuissa kentissä ja niiden riippuvuuksissa.


Odoo Studio

Odoo Studion kautta kenttiä voi lisätä ilman koodausta — nopea tapa prototyypin tekemiseen. Monimutkaisissa tai ylläpidettävissä ratkaisuissa koodattu moduuli on kuitenkin kestävämpi.

Parhaat käytännöt


  • Luo yritys ensin ja lisää sitten kontaktit parent_id:llä, jotta hierarkia pysyy loogisena.
  • Aseta country_id oikein, jotta osoitteet, verosäännöt ja paikalliset asetukset toimivat odotetusti.
  • Käytä commercial_partner_id:tä, kun haluat ryhmitellä tietueet ylintä konsernitasoa varten esimerkiksi luotto- tai raportointitarpeissa.
  • Kun rakennat API-integraatioita, käytä XML-RPC- tai JSON-RPC-rajapintaa. res.partner on täysin saatavilla; huolehdi ulkoisten ID:kenttien huolellisesta kartoituksesta.
  • Lisääminen omille kentille käytä x_-etuliitettä tai moduulikohtaista prefiksiä, jotta konfliktit tulevaisuuden Odoo-päivitysten kanssa minimoidaan.

Yleisiä sudenkuoppia


  • Luuppivirhe: luot samankaltaisia partnereita etsimisen sijaan. Hyödynnä email_normalized- tai ref-kenttää duplikaattien tunnistukseen ja yhdistämiseen.
  • Sekoittaa parent_id:n ja company_id:n roolit. parent_id luo yritys–henkilö-suhteen; company_id kertoo moniyhtiöympäristön kontekstin.
  • Unohtaa asettaa type-kentän lapsikontakteille. Lasku- ja toimitusosoitteet vaativat oikean tyypin, jotta dokumentit tulostuvat oikein.
  • Ylikirjoittaa ydintoimintoja ilman super()-kutsua. Se voi rikkoa muiden moduulien toimintaa tai vaikeuttaa päivityksiä.
  • Lisätä pakollinen kenttä ilman oletusarvoa. Olemassa olevat tietueet voivat epäonnistua validoitaessa tai päivitettäessä.

Yhteenveto


res.partner on Odoon ydin: se tallentaa kontaktit, asiakkaat ja toimittajat. Kun tunnet mallin kentät ja laajennusmahdollisuudet, osaat konfiguroida, räätälöidä ja integroida järjestelmää luotettavammin.

Olitpa prosessikartoituksissa toimiva konsultti tai moduuleja rakentava kehittäjä, res.partnerin hallinta säästää aikaa ja vähentää virheitä.

Tarvitsetko apua Odoo-projektissa?


Dasolo auttaa yrityksiä ottamaan Odoon käyttöön, räätälöimään sitä ja optimoimaan prosesseja. Erikoisosaamistamme ovat API-integraatiot ja räätälöity kehitys — tuntemme Odoon tietomallin ja erityisesti res.partnerin hyvin.

Jos tarvitset tukea Odoo-implementaatiossa, räätälöidyissä moduuleissa tai integraatioissa, autamme mielellämme. Varaa esittely keskustellaksesi projektistasi.

Odoo res.partner -malli: Ymmärrä kontaktien ja kumppaneiden rakenne
Dasolo 10. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin