Overslaan naar inhoud

Het Project.Project Model: Inzicht in Odoo's Projectarchitectuur

Een complete gids voor het projectmodel van Odoo voor ontwikkelaars en functionele consultants
11 maart 2026 in
Het Project.Project Model: Inzicht in Odoo's Projectarchitectuur
Dasolo
| Nog geen reacties

Inleiding


In Odoo definiëren modellen hoe gegevens zijn gestructureerd en opgeslagen in de database. Elk stuk bedrijfsdata waarmee u werkt, van verkooporders tot projecten tot taken, bevindt zich 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 Odoo-velden, relaties en bedrijfslogica. Elk model in Odoo volgt dezelfde patronen.


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

Wat is het project.project Model


Het project.project model vertegenwoordigt een project in Odoo. Het is de container voor taken, mijlpalen en team samenwerking. Elk project is een record in dit model.


Dit model in Odoo wordt gebruikt door de Project-app. Wanneer je een project in Odoo aanmaakt, maak je een project.project record aan. Taken zijn gekoppeld aan dat project via het task_ids veld. Het project definieert de workflowfasen, teamleden en zichtbaarheidsregels.


Het model is gedefinieerd in de projectmodule. Andere modules breiden het uit via Odoo modelovererving. Verkoop voegt projectgebaseerde facturering toe. Urenregistratie voegt tijdregistratie toe. Projectplanning voegt Gantt-planning toe. Elke module voegt toe wat het nodig heeft zonder de kernstructuur te dupliceren.


Het begrijpen van de relatie tussen project.project en project.task is essentieel. Het project bevat gedeelde instellingen. De taak bevat individuele werkitems. Beide zijn centraal in de Odoo projectmanagementworkflow.

Belangrijke Velden in het Model


Hier zijn de belangrijkste Odoo-velden in het project.project model. Het begrijpen hiervan zal je helpen om effectief met projecten te werken.


1. naam

Type: Char. Dit veld slaat de naam van het project op. Het wordt weergegeven in veel Odoo-weergaven en is de primaire identificator voor het projectrecord.


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. actief

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


5. volgorde

Type: Integer. Weergavevolgorde voor sortering. Gebruikt in projectlijsten en dropdowns. Lagere waarden verschijnen eerst.


6. kleur

Type: Integer. Kleurindex voor het project. Gebruikt in weergaven en kanban-borden om projecten visueel te onderscheiden.


7. gebruiker_id

Type: Many2one (res.users). De projectmanager. Deze gebruiker is verantwoordelijk voor het project en wordt vaak weergegeven als de standaardtoegewezen persoon.


8. bedrijf_id

Type: Many2one (res.company). In multi-company opstellingen geeft dit aan tot welk Odoo bedrijf het project behoort.


9. partner_id

Type: Many2one (res.partner). De klant of cliënt die aan het project is gekoppeld. Gebruikt voor facturering en rapportage.


10. beschrijving

Type: Html. Projectbeschrijving. Kan HTML bevatten voor opmaak. Gebruikt voor projectoverzichten en notities.


11. datum_start

Type: Datum. De startdatum van het project. Gebruikt voor planning en rapportage.


12. datum

Type: Datum. De deadline of einddatum van het project. Gebruikt voor tracking en rapportage.


13. taak_ids

Type: One2many (project.taak). De lijst van taken in het project. Dit is de belangrijkste relatie tussen projecten en taken.


14. taak_aantal

Type: Geheel getal. Aantal taken. Berekend uit taak_ids. Gebruikt voor weergave en filtering.


15. type_ids

Type: Many2many (project.taak.type). Taakfases of -types voor het project. Bepaalt de workflow (bijv. Te Doen, Bezig, Voltooid).


16. tag_ids

Type: Many2many (project.tags). Projecttags voor categorisering. Gebruikt voor het filteren en organiseren van projecten.


17. privacy_visibility

Type: Selectie. Beheert wie toegang heeft tot het project. Opties: Uitgenodigde interne gebruikers (privé), Alle interne gebruikers, of Uitgenodigde portalgebruikers en alle interne gebruikers (publiek).


18. collaborator_ids

Type: One2many (project.collaborator). Teamleden die aan het project zijn toegewezen. Bepaalt wie aan het project kan werken.


19. favorite_user_ids

Type: Many2many (res.users). Gebruikers die het project als favoriet hebben gemarkeerd. Gebruikt voor snelle toegang op het dashboard.


20. allow_task_dependencies

Type: Boolean. Wanneer waar, kunnen taken aan andere taken worden gekoppeld als voorgangers of opvolgers. Gebruikt voor projectplanning.


21. allow_milestones

Type: Boolean. Wanneer waar, kunnen mijlpalen in het project worden aangemaakt. Mijlpalen markeren belangrijke leveringen.


22. milestone_ids

Type: One2many (project.milestone). De mijlpalen in het project. Gebruikt voor het volgen van belangrijke leveringen.


23. rating_active

Type: Boolean. Wanneer waar, kunnen klanten het project beoordelen. Gebruikt voor klantfeedback.


24. task_properties_definition

Type: Text (JSON). Aangepaste taak eigenschappen voor het project. Definieert extra velden die aan taken kunnen worden toegevoegd.


25. access_url

Type: Char. De URL voor klanten om toegang te krijgen tot het project via het portaal. Gebruikt voor klantensamenwerking.


26. access_token

Type: Char. Beveiligingstoken voor toegang tot het portaal. Zorgt ervoor dat alleen geautoriseerde gebruikers het project kunnen bekijken.


27. alias_id

Type: Many2one (mail.alias). E-mailalias voor het project. Binnenkomende e-mails creëren automatisch taken.


28. activity_ids

Type: One2many (mail.activity). Geplande activiteiten op het project. Gebruikt voor opvolging en herinneringen.


29. activity_state

Type: Selectie. Samenvatting van de activiteitstatus: Vandaag, Achterstallig of Gepland. Berekend vanuit activity_ids.


30. activity_date_deadline

Type: Datum. De datum van de volgende geplande activiteit. Gebruikt voor activiteitplanning.


31. message_ids

Type: One2many (mail.message). Chatterberichten op het project. Gebruikt voor interne communicatie.


32. message_follower_ids

Type: One2many (mail.followers). Gebruikers die het project volgen. Zij ontvangen meldingen.


33. create_uid

Type: Many2one (res.users). De gebruiker die het record heeft aangemaakt. Automatisch ingesteld door Odoo.


34. write_uid

Type: Many2one (res.users). De gebruiker die het record voor het laatst heeft gewijzigd. Automatisch ingesteld door Odoo.

Hoe Dit Model Wordt Gebruikt in Bedrijfsworkflows


1. Projectcreatie en -beheer

Wanneer een verkoper of projectmanager een project aanmaakt, stelt hij de naam, manager, data en zichtbaarheid in. Het model project.project slaat dit allemaal op. Taken worden vervolgens toegevoegd en aan het project gekoppeld.


2. Taakworkflow

Taken bewegen door fasen die zijn gedefinieerd door type_ids. De projectmanager wijst taken toe aan medewerkers. Het project bevat de workflowconfiguratie en teamstructuur.


3. Klantenportaal

Wanneer privacy_visibility toegang tot het portaal toestaat, kunnen klanten taken en mijlpalen bekijken via de access_url. De access_token beveiligt de link. Dit is nuttig voor klantprojecten.


4. Urenregistratie en facturering

Met de module Urenregistratie is project.project gekoppeld aan urenregistratie-invoeren. Met Verkoop kunnen projecten worden gekoppeld aan verkooporders voor projectgebonden facturering. Het veld partner_id verbindt het project met de klant.


5. E-mailintegratie

Binnenkomende e-mails naar het projectalias creëren automatisch taken. Het veld alias_id verbindt het project met zijn mailalias. Dit stroomlijnt de taakcreatie vanuit e-mails.

Hoe Ontwikkelaars Dit Model Uitbreiden


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


Model Erfelijkheid

Gebruik _inherit = 'project.project' om het model uit te breiden. Dit is Odoo model erfelijkheid in actie. Voeg nieuwe Odoo-velden toe, overschrijf methoden of voeg beperkingen toe. Het erfmodel in Odoo houdt je wijzigingen in een aparte module voor gemakkelijke upgrades. Wanneer je een model in Odoo erft, breid je het uit zonder het origineel te wijzigen.


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 laat je velden toevoegen zonder code. Goed voor snelle aanpassingen. Voor complexe logica of upgrades zijn aangepaste modules beter onderhoudbaar.

Beste Praktijken


  • Stel user_id in voor de toewijzing van projectmanagers. Duidelijk eigenaarschap verbetert de verantwoordelijkheid.
  • Configureer type_ids voor elk project. Definieer fasen die overeenkomen met je workflow.
  • Gebruik privacy_visibility correct. Private projecten beperken de toegang voor volgers en beheerders.
  • Bij het bouwen van API-integraties, gebruik de XML-RPC of JSON-RPC API. Het model project.project is volledig blootgesteld als een API-model in Odoo. 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


  • Taken aanmaken zonder ze aan een project te koppelen. Elke taak moet een project_id hebben.
  • Vergeten type_ids in te stellen. Nieuwe projecten kunnen geen fasen hebben, waardoor taken niet door de workflow kunnen bewegen.
  • Privacy_visibility op publiek instellen wanneer het privé zou moeten zijn. Dit kan gevoelige gegevens blootstellen.
  • 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 project.project model is centraal voor Odoo projectbeheer. Het slaat projectdefinities, workflowfasen en teamstructuur op. Begrijpen van de velden en hoe modules het uitbreiden zal je helpen Odoo effectief te configureren, aan te passen en te integreren.


Of je nu een functionele consultant bent die projecten opzet of een ontwikkelaar die aangepaste modules bouwt, een goed begrip van project.project zal tijd besparen en fouten voorkomen.

Hulp Nodig Bij Uw 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 project.project.


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 Project.Project Model: Inzicht in Odoo's Projectarchitectuur
Dasolo 11 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten