Overslaan naar inhoud

Het res.partner Model: Inzicht in Odoo's Contact- en Partnerstructuur

Een complete gids voor Odoo's centrale contactmodel voor ontwikkelaars en functionele consultants
10 maart 2026 in
Het res.partner Model: Inzicht in Odoo's Contact- en Partnerstructuur
Dasolo
| Nog geen reacties

Inleiding


In Odoo definiëren modellen hoe gegevens zijn gestructureerd en opgeslagen in de database. Elk stuk bedrijfsgegevens waar je mee werkt, van verkooporders tot facturen tot contacten, leeft in een model.


Het begrijpen van Odoo-modellen is essentieel voor zowel ontwikkelaars als functionele consultants. Modellen zijn de basis van de Odoo-gegevensarchitectuur. Ze definiëren velden, relaties en bedrijfslogica.

Dit artikel richt zich op een van de belangrijkste modellen in Odoo: res.partner. Of je nu aangepaste modules bouwt, externe systemen integreert of workflows configureert, je zult met dit model werken.

Wat is het res.partner Model


Het res.partner-model vertegenwoordigt contacten, klanten, leveranciers en bedrijven in Odoo. Het is de centrale plek waar alle informatie over partijen wordt opgeslagen.


Dit model in Odoo wordt in bijna elk module gebruikt. Verkoop, CRM, facturatie, inkoop en e-commerce verwijzen allemaal naar res.partner. Wanneer je een klant in Verkoop aanmaakt, een lead in CRM of een leverancier in Inkoop, maak je een res.partner-record aan of koppel je eraan.


Het model is gedefinieerd in de basismodule. Andere modules breiden het uit via Odoo-modelovererving. CRM voegt velden gerelateerd aan leads toe. Boekhouding voegt krediet- en betalingsvoorwaarden toe. Elke module voegt toe wat het nodig heeft zonder de kernstructuur te dupliceren.

Belangrijke Velden in het Model


Hier zijn de belangrijkste Odoo-velden in het res.partner-model. Het begrijpen hiervan zal je helpen om effectief te werken met contacten en partners.


1. naam

Type: Char. Dit veld slaat de naam van het record op. Voor een bedrijf is het de bedrijfsnaam. Voor een persoon is het de volledige naam. Het wordt in veel Odoo-weergaven weergegeven en is de primaire identificator voor de partner.


2. create_date

Type: Datetime. Slaat de datum en tijd op wanneer het record is aangemaakt. Automatisch beheerd door Odoo. Nuttig voor rapportage en auditing.


3. write_date

Type: Datetime. Slaat de datum en tijd van de laatste wijziging op. Ook automatisch beheerd. Helpt bij het bijhouden wanneer gegevens voor het laatst zijn bijgewerkt.


4. email

Type: Char. Het primaire e-mailadres. Gebruikt voor communicatie, facturatie en portaltoegang. Odoo valideert het e-mailformaat wanneer mogelijk.


5. telefoon

Type: Char. Het hoofdtelefoonnummer. Weergegeven in contactformulieren en gebruikt voor communicatieworkflows.


6. mobiel

Type: Char. Mobiele telefoonnummer. Vaak gebruikt voor SMS of dringende meldingen wanneer dit verschilt van het hoofdtelefoonnummer.


7. straat

Type: Char. De eerste regel van het adres. Onderdeel van het standaard adresblok dat op documenten en formulieren wordt gebruikt.


8. straat2

Type: Char. De tweede regel van het adres. Gebruikt voor appartementnummers, gebouwnamen of aanvullende adresdetails.


9. stad

Type: Char. De stad of het dorp. Adresopmaak kan per land verschillen.


10. postcode

Type: Char. Post- of ZIP-code. Gebruikt voor adresvalidatie en verzendcalculaties.


11. state_id

Type: Many2one (res.country.state). De staat of provincie. Het domein is gefilterd op land. Niet alle landen gebruiken staten.


12. country_id

Type: Many2one (res.country). Het land. Bepaalt de adresopmaak, belastingregels en lokalisatie.


13. is_company

Type: Boolean. Geeft aan of het record een bedrijf of een persoon is. Bedrijven kunnen kindcontacten hebben. Personen kunnen via parent_id aan een bedrijf worden gekoppeld.


14. parent_id

Type: Many2one (res.partner). Voor contactrecords, dit koppelt aan het gerelateerde bedrijf. Maakt de bedrijf-contact hiërarchie mogelijk. Wanneer ingesteld, kunnen adres- en andere velden van de ouder erven.


15. child_ids

Type: One2many (res.partner). De inverse van parent_id. Lijst alle contacten die tot een bedrijf behoren. Gebruikt om van een bedrijf naar zijn contacten te navigeren.


16. company_id

Type: Many2one (res.company). In multi-company setups geeft dit aan tot welk Odoo bedrijf de partner behoort. Beïnvloedt de zichtbaarheid en toegang van records.


17. btw

Type: Char. Belasting-ID of btw-nummer. Gevalideerd volgens het landformaat. Gebruik een schuine streep om aan te geven dat de partner niet onderhevig is aan belasting. Belangrijk voor facturering en naleving.


18. klant_rang

Type: Integer. Geeft de klantstatus aan. Odoo verhoogt dit wanneer de partner verkopen heeft. Gebruikt om klanten te filteren en prioriteren in lijsten en rapporten.


19. leverancier_rang

Type: Integer. Geeft de leverancierstatus aan. Verhoogd wanneer de partner aankooporders of facturen heeft. Gebruikt om leveranciers te identificeren.


20. gebruiker_id

Type: Many2one (res.users). De verkoper of verantwoordelijke gebruiker. Gebruikt voor CRM, verkoopteams en taaktoewijzing.


21. type

Type: Selectie. Adres type voor kindcontacten: Contact, Factuur, Levering of Anders. Bepaalt welk adres op documenten wordt gebruikt. Alleen relevant voor contacten onder een bedrijf.


22. ref

Type: Char. Interne referentie of code. Nuttig voor mapping met externe systemen en aangepaste nummering.


23. website

Type: Char. Website-URL. Gebruikt op het contactformulier en in e-commerce contexten.


24. comment

Type: Html. Interne notities. Zichtbaar voor interne gebruikers. Vaak gebruikt voor verkoopnotities of speciale instructies.


25. active

Type: Boolean. Soft delete-vlag. Wanneer False, wordt het record gearchiveerd en verborgen voor standaardweergaven. Records worden niet fysiek verwijderd.


26. lang

Type: Selection. Voorkeurs taal. E-mails en documenten die naar deze partner worden verzonden, kunnen worden vertaald. Geërfd van de bovenliggende wanneer van toepassing.


27. image_1920

Type: Binary. Partnerafbeelding of logo. Odoo slaat meerdere formaten op. Gebruikt in formulieren, rapporten en op de website.


28. category_id

Type: Many2many (res.partner.category). Tags of categorieën. Gebruikt voor segmentatie, filtering en marketing. Flexibel voor aangepaste classificatie.

Hoe Dit Model Wordt Gebruikt in Bedrijfsworkflows


1. Verkoop en CRM

Wanneer een verkoper een offerte aanmaakt, selecteert hij een klant uit res.partner. Hetzelfde partnerrecord wordt gebruikt voor de lead, kans en bestelling. Klantrang en user_id sturen rapportage en toewijzing.


2. Facturatie

Facturen en rekeningen verwijzen naar een partner voor het factuuradres. Het btw-veld wordt gebruikt voor belastingberekeningen. Kredietlimiet en betalingsvoorwaarden worden vaak opgeslagen op de partner.


3. Aankoop en Leveranciers

Inkooporders en leveranciersfacturen zijn gekoppeld aan res.partner. Leverancier rang identificeert actieve leveranciers. Het buyer_id veld wijst een verantwoordelijke gebruiker toe voor leveranciersbeheer.


4. E-commerce en Portaal

Websitebezoekers kunnen partnerrecords aanmaken bij registratie. Deze records worden gebruikt voor bestellingen, offertes en portaaltoegang. Adres- en contactgegevens komen van de partner.


5. Multi-Company en Consolidatie

In multi-company setups kan dezelfde juridische entiteit bestaan als verschillende partnerrecords per bedrijf. Het company_id veld en inter-company regels bepalen hoe gegevens worden gedeeld.

Hoe Ontwikkelaars Dit Model Uitbreiden


Ontwikkelaars breiden res.partner uit met verschillende patronen. Odoo modelovererving is het belangrijkste mechanisme.


Modelovererving

Gebruik _inherit = 'res.partner' om het model uit te breiden. Voeg nieuwe velden toe, overschrijf methoden of voeg beperkingen toe. Het erfmodel in Odoo houdt je wijzigingen in een aparte module voor gemakkelijke upgrades.


Velden Toevoegen

Definieer nieuwe Odoo-velden in je geërfde model. Gebruik het juiste veldtype: Char, Many2one, Boolean, Integer, Text, Selection. Overweeg bedrijfsspecifieke velden voor meerdere bedrijven.


Python Uitbreidingen

Overschrijf create, write of unlink om logica toe te voegen. Gebruik super() om de originele aanroep te doen. Wees voorzichtig met berekende velden en hun afhankelijkheden.


Odoo Studio

Odoo Studio stelt je in staat om velden toe te voegen zonder code. Goed voor snelle aanpassingen. Voor complexe logica of upgrades zijn aangepaste modules beter onderhoudbaar.

Beste Praktijken


  • Gebruik de bedrijf-contact hiërarchie correct. Maak eerst het bedrijf aan, voeg vervolgens contacten toe met parent_id.
  • Stel country_id in voor de juiste adresopmaak en belastingverwerking.
  • Gebruik commercial_partner_id wanneer je de bovenliggende entiteit nodig hebt voor groepering (bijv. voor krediet of rapportage).
  • Bij het bouwen van API-integraties, gebruik de XML-RPC of JSON-RPC API. Het res.partner model is volledig blootgesteld. Map externe ID's zorgvuldig.
  • Voor aangepaste velden, gebruik de x_ prefix of een moduleprefix om conflicten met toekomstige Odoo-versies te vermijden.

Veelvoorkomende Fouten


  • Duplicaatpartners aanmaken in plaats van bestaande te zoeken. Gebruik email_normalized of ref voor deduplicatie.
  • Verwarring tussen parent_id en company_id. parent_id is voor de link tussen contact en bedrijf. company_id is voor multi-company Odoo.
  • Vergeten het type in te stellen op kindcontacten. Factuur- en afleveradressen hebben het juiste type nodig voor documenten.
  • Kernmethoden overschrijven zonder super() aan te roepen. Dit kan andere modules of toekomstige upgrades breken.
  • Vereiste aangepaste velden toevoegen zonder standaardwaarden. Bestaande records zullen falen bij validatie tijdens de upgrade.

Conclusie


Het res.partner model is centraal in Odoo. Het slaat contacten, klanten en leveranciers op. Begrijpen van de velden en hoe modules het uitbreiden zal je helpen Odoo effectief te configureren, aanpassen en integreren.

Of je nu een functionele consultant bent die bedrijfsprocessen in kaart brengt of een ontwikkelaar die aangepaste modules bouwt, een goed begrip van res.partner zal tijd besparen en fouten voorkomen.

Hulp Nodig Bij Je Odoo Implementatie?


Dasolo helpt bedrijven bij het implementeren, aanpassen en optimaliseren van Odoo. We zijn gespecialiseerd in API-integraties en Odoo-ontwikkeling. Ons team heeft diepgaande ervaring met de Odoo-gegevensarchitectuur en modellen zoals res.partner.

Als je hulp nodig hebt bij je Odoo-implementatie, aangepaste modules of integraties, zijn we hier om te helpen. Boek een demo om je project te bespreken.

Het res.partner Model: Inzicht in Odoo's Contact- en Partnerstructuur
Dasolo 10 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten