Passa al contenuto

Il Modello res.partner: Comprendere l'Architettura di Contatti e Partner di Odoo

Una guida completa al modello di contatto centrale di Odoo per sviluppatori e consulenti funzionali
10 marzo 2026 di
Il Modello res.partner: Comprendere l'Architettura di Contatti e Partner di Odoo
Dasolo
| Ancora nessun commento

Introduzione


In Odoo, i modelli definiscono come i dati sono strutturati e memorizzati nel database. Ogni pezzo di dati aziendali con cui lavori, dagli ordini di vendita alle fatture ai contatti, vive in un modello.


Comprendere i modelli di Odoo è essenziale sia per gli sviluppatori che per i consulenti funzionali. I modelli sono la base dell'architettura dei dati di Odoo. Definiscono campi, relazioni e logica aziendale.

Questo articolo si concentra su uno dei modelli più importanti in Odoo: res.partner. Che tu stia costruendo moduli personalizzati, integrando sistemi esterni o configurando flussi di lavoro, lavorerai con questo modello.

Cos'è il modello res.partner


Il modello res.partner rappresenta contatti, clienti, fornitori e aziende in Odoo. È il luogo centrale dove sono memorizzate tutte le informazioni delle parti.


Questo modello in Odoo è utilizzato in quasi tutti i moduli. Vendite, CRM, fatturazione, acquisti e commercio elettronico fanno tutti riferimento a res.partner. Quando crei un cliente in Vendite, un lead in CRM o un fornitore in Acquisti, stai creando o collegando a un record res.partner.


Il modello è definito nel modulo di base. Altri moduli lo estendono attraverso l'ereditarietà dei modelli Odoo. Il CRM aggiunge campi relativi ai lead. La contabilità aggiunge termini di credito e pagamento. Ogni modulo aggiunge ciò di cui ha bisogno senza duplicare la struttura di base.

Campi chiave nel modello


Ecco i campi Odoo più importanti nel modello res.partner. Comprendere questi campi ti aiuterà a lavorare in modo efficace con contatti e partner.


1. nome

Tipo: Char. Questo campo memorizza il nome del record. Per un'azienda, è il nome dell'azienda. Per una persona, è il nome completo. Viene visualizzato in molte viste di Odoo ed è l'identificatore principale per il partner.


2. create_date

Tipo: Datetime. Memorizza la data e l'ora in cui è stato creato il record. Gestito automaticamente da Odoo. Utile per report e audit.


3. write_date

Tipo: Datetime. Memorizza la data e l'ora dell'ultima modifica. Anche questo è gestito automaticamente. Aiuta a tenere traccia di quando i dati sono stati aggiornati l'ultima volta.


4. email

Tipo: Char. L'indirizzo email principale. Utilizzato per comunicazioni, fatturazione e accesso al portale. Odoo convalida il formato dell'email quando possibile.


5. telefono

Tipo: Char. Il numero di telefono principale. Visualizzato nei moduli di contatto e utilizzato per i flussi di comunicazione.


6. cellulare

Tipo: Char. Numero di telefono cellulare. Spesso utilizzato per SMS o notifiche urgenti quando diverso dal numero di telefono principale.


7. via

Tipo: Char. La prima riga dell'indirizzo. Parte del blocco indirizzo standard utilizzato su documenti e moduli.


8. via2

Tipo: Char. La seconda riga dell'indirizzo. Utilizzato per numeri di appartamento, nomi di edifici o dettagli aggiuntivi dell'indirizzo.


9. città

Tipo: Char. La città o il paese. La formattazione dell'indirizzo può variare a seconda del paese.


10. CAP

Tipo: Char. Codice postale o ZIP. Utilizzato per la convalida degli indirizzi e i calcoli di spedizione.


11. state_id

Tipo: Many2one (res.country.state). Lo stato o la provincia. Il dominio è filtrato per paese. Non tutti i paesi utilizzano stati.


12. country_id

Tipo: Many2one (res.country). Il paese. Determina la formattazione degli indirizzi, le regole fiscali e la localizzazione.


13. is_company

Tipo: Boolean. Indica se il record è un'azienda o una persona. Le aziende possono avere contatti secondari. Le persone possono essere collegate a un'azienda tramite parent_id.


14. parent_id

Tipo: Many2one (res.partner). Per i record di contatto, questo si collega all'azienda correlata. Abilita la gerarchia azienda-contatto. Quando impostato, indirizzo e altri campi possono ereditare dal genitore.


15. child_ids

Tipo: One2many (res.partner). L'inverso di parent_id. Elenca tutti i contatti appartenenti a un'azienda. Utilizzato per navigare da un'azienda ai suoi contatti.


16. company_id

Tipo: Many2one (res.company). In configurazioni multi-azienda, indica a quale azienda Odoo appartiene il partner. Influisce sulla visibilità e sull'accesso ai record.


17. iva

Tipo: Char. ID fiscale o numero IVA. Validato secondo il formato del paese. Utilizzare una barra per indicare che il partner non è soggetto a tassazione. Importante per la fatturazione e la conformità.


18. customer_rank

Tipo: Intero. Indica lo stato del cliente. Odoo incrementa questo valore quando il partner ha vendite. Utilizzato per filtrare e dare priorità ai clienti nelle liste e nei report.


19. supplier_rank

Tipo: Intero. Indica lo stato del fornitore. Incrementato quando il partner ha ordini di acquisto o fatture. Utilizzato per identificare i fornitori.


20. user_id

Tipo: Many2one (res.users). Il venditore o l'utente responsabile. Utilizzato per CRM, team di vendita e assegnazione di attività.


21. type

Tipo: Selezione. Tipo di indirizzo per contatti secondari: Contatto, Fattura, Spedizione o Altro. Determina quale indirizzo viene utilizzato nei documenti. Rilevante solo per i contatti sotto un'azienda.


22. ref

Tipo: Char. Riferimento interno o codice. Utile per la mappatura di sistemi esterni e numerazione personalizzata.


23. sito web

Tipo: Carattere. URL del sito web. Utilizzato nel modulo di contatto e nei contesti di e-commerce.


24. commento

Tipo: Html. Note interne. Visibile agli utenti interni. Spesso utilizzato per note di vendita o istruzioni speciali.


25. attivo

Tipo: Booleano. Flag di eliminazione soft. Quando è Falso, il record è archiviato e nascosto dalle visualizzazioni predefinite. I record non vengono eliminati fisicamente.


26. lingua

Tipo: Selezione. Lingua preferita. Le email e i documenti inviati a questo partner possono essere tradotti. Eredita dal genitore quando applicabile.


27. immagine_1920

Tipo: Binario. Immagine o logo del partner. Odoo memorizza più dimensioni. Utilizzato in moduli, report e nel sito web.


28. categoria_id

Tipo: Many2many (res.partner.category). Tag o categorie. Utilizzato per segmentazione, filtraggio e marketing. Flessibile per classificazione personalizzata.

Come questo modello è utilizzato nei flussi di lavoro aziendali


1. Vendite e CRM

Quando un venditore crea un preventivo, seleziona un cliente da res.partner. Lo stesso record del partner è utilizzato per il lead, l'opportunità e l'ordine. Il ranking del cliente e user_id guidano la reportistica e l'assegnazione.


2. Fatturazione

Le fatture e le bollette fanno riferimento a un partner per l'indirizzo di fatturazione. Il campo VAT è utilizzato per i calcoli fiscali. Il limite di credito e le condizioni di pagamento sono spesso memorizzati sul partner.


3. Acquisti e Fornitori

Gli ordini di acquisto e le bollette dei fornitori sono collegati a res.partner. Il ranking dei fornitori identifica i fornitori attivi. Il campo buyer_id assegna un utente responsabile per la gestione dei fornitori.


4. E-commerce e Portale

I visitatori del sito web possono creare record di partner durante la registrazione. Questi record sono utilizzati per ordini, preventivi e accesso al portale. Indirizzo e dettagli di contatto provengono dal partner.


5. Multi-Azienda e Consolidamento

In configurazioni multi-azienda, la stessa entità legale può esistere come diversi record di partner per azienda. Il campo company_id e le regole inter-aziendali determinano come i dati vengono condivisi.

Come gli sviluppatori estendono questo modello


Gli sviluppatori estendono res.partner utilizzando diversi schemi. L'ereditarietà del modello Odoo è il principale meccanismo.


Ereditarietà del Modello

Usa _inherit = 'res.partner' per estendere il modello. Aggiungi nuovi campi, sovrascrivi metodi o aggiungi vincoli. Il modello di eredità in Odoo mantiene le tue modifiche in un modulo separato per aggiornamenti facili.


Aggiunta di Campi

Definisci nuovi campi Odoo nel tuo modello ereditato. Usa il tipo di campo corretto: Char, Many2one, Boolean, Integer, Text, Selection. Considera i campi dipendenti dall'azienda per multi-azienda.


Estensioni Python

Sovrascrivi create, write o unlink per aggiungere logica. Usa super() per chiamare l'originale. Fai attenzione ai campi calcolati e alle loro dipendenze.


Odoo Studio

Odoo Studio ti consente di aggiungere campi senza codice. Buono per personalizzazioni rapide. Per logiche complesse o aggiornamenti, i moduli personalizzati sono più manutenibili.

Migliori pratiche


  • Usa correttamente la gerarchia azienda-contatto. Crea prima l'azienda, poi aggiungi contatti con parent_id.
  • Imposta country_id per una corretta formattazione degli indirizzi e gestione delle tasse.
  • Usa commercial_partner_id quando hai bisogno dell'entità di livello superiore per il raggruppamento (ad esempio, per credito o reportistica).
  • Quando costruisci integrazioni API, usa l'API XML-RPC o JSON-RPC. Il modello res.partner è completamente esposto. Mappa gli ID esterni con attenzione.
  • Per campi personalizzati, usa il prefisso x_ o un prefisso di modulo per evitare conflitti con le future versioni di Odoo.

Errori comuni


  • Creare partner duplicati invece di cercare quelli esistenti. Utilizzare email_normalized o ref per la deduplicazione.
  • Confondere parent_id e company_id. parent_id è per il collegamento contatto-azienda. company_id è per Odoo multi-azienda.
  • Dimenticare di impostare il tipo sui contatti secondari. Gli indirizzi di fatturazione e di consegna necessitano del tipo corretto per i documenti.
  • Sovrascrivere i metodi core senza chiamare super(). Questo può rompere altri moduli o futuri aggiornamenti.
  • Aggiungere campi personalizzati richiesti senza valori predefiniti. I record esistenti falliranno la validazione durante l'aggiornamento.

Conclusione


Il modello res.partner è centrale per Odoo. Memorizza contatti, clienti e fornitori. Comprendere i suoi campi e come i moduli lo estendono ti aiuterà a configurare, personalizzare e integrare Odoo in modo efficace.

Che tu sia un consulente funzionale che mappa i processi aziendali o uno sviluppatore che costruisce moduli personalizzati, una solida comprensione di res.partner ti farà risparmiare tempo e prevenire errori.

Hai bisogno di aiuto con la tua implementazione di Odoo?


Dasolo aiuta le aziende a implementare, personalizzare e ottimizzare Odoo. Siamo specializzati in integrazioni API e sviluppo Odoo. Il nostro team ha una profonda esperienza con l'architettura dei dati di Odoo e modelli come res.partner.

Se hai bisogno di aiuto con la tua implementazione di Odoo, moduli personalizzati o integrazioni, siamo qui per aiutarti. Prenota una demo per discutere del tuo progetto.

Il Modello res.partner: Comprendere l'Architettura di Contatti e Partner di Odoo
Dasolo 10 marzo 2026
Condividi articolo
Accedi per lasciare un commento