Odoo 20.0 Community · Persistent

res.partner: fields, relations and API

The res.partner model ("Contact") is a persistent model declared by the Base module, then extended by 59 other modules. It exposes 269 fields, 213 of them declared directly on the model; 236 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 20 JSON-2 API call.

Model identity

Technical name
res.partner
Label
Contact
Type
Persistent (models.Model)
SQL table
res_partner
Origin module
Base (base)
Extended by
web, bus, mail, product, auth_signup, base_address_extended, portal, account, account_edi_ubl_cii, fleet, payment, account_peppol, phone_validation, base_geolocalize, calendar, contacts, crm, im_livechat, sale, project, delivery, event, google_address_autocomplete, hr, hr_calendar, hr_holidays, hr_recruitment, survey, website, website_partner, website_slides, l10n_fr, l10n_fr_account, l10n_fr_pdp, point_of_sale, loyalty, mass_mailing, mass_mailing_sms, stock, stock_delivery, purchase, purchase_stock, repair, mrp_subcontracting, partner_autocomplete, partnership, pos_sale, pos_hr, pos_self_order, privacy_lookup, sale_gelato, snailmail, snailmail_account, website_sale, website_blog, website_crm_partner_assign, website_customer, website_sale_stock, website_sale_gelato
Default order (_order)
complete_name ASC, id DESC
Inherits from (mixins)
format.address.mixinformat.vat.label.mixinavatar.mixinproperties.base.definition.mixinbus.listener.mixinmail.thread.blacklistmail.activity.mixinmail.thread.phonewebsite.published.multi.mixinwebsite.seo.metadatawebsite.structured_data.mixinpos.load.mixin

Model fields

213 own fields, 50 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

269 of 269 fields shown

Technical nameLabelTypeDetails
account_move_countAccount Move Countinteger
computed

added by Invoicing (account)

activationActivationmany2one

added by Resellers (website_crm_partner_assign)

activeActiveboolean
active_lang_countActive Lang Countinteger
computed
additional_identifiersAdditional Identifiersjson
addressAddress (without name)char
computed
address_inlineAddress inline (without name)char
computed
applicant_idsApplicantsone2many

inverse: partner_id

added by Recruitment (hr_recruitment)

application_statisticsStatsjson
computed
assigned_partner_idImplemented bymany2one

added by Resellers (website_crm_partner_assign)

autopost_billsAuto-post bills

Automatically post bills for this trusted partner

selection
required

Values: always (Always), ask (Ask after 3 validations without edits), never (Never)

added by Invoicing (account)

available_additional_identifiers_metadataAvailable Additional Identifiers Metadatajson
computed
available_invoice_template_pdf_report_idsAvailable Invoice Template Pdf Reportone2many
computed

added by Invoicing (account)

available_peppol_edi_formatsAvailable Peppol Edi Formatsjson
computed

added by Peppol (account_peppol)

available_peppol_sending_methodsAvailable Peppol Sending Methodsjson
computed

added by Peppol (account_peppol)

available_routing_schemesAvailable Routing Schemesjson
computed

added by Import/Export electronic invoices with UBL/CII (account_edi_ubl_cii)

bank_account_countBankinteger
computed

added by Invoicing (account)

bank_idsBanksone2many

inverse: partner_id

barcodeBarcode

Use a barcode to identify this contact.

char
company-dependent
blog_post_idsBlog Postsone2many

inverse: author_id

added by Blog (website_blog)

bom_idsBoMs for which the Partner is one of the subcontractorsmany2many
computed

added by MRP Subcontracting (mrp_subcontracting)

buyer_idBuyermany2one

added by Purchase (purchase)

calendar_last_notif_ackLast notification marked as read from base Calendardatetime

added by Calendar (calendar)

category_idTagsmany2many
certifications_company_countCompany Certifications Countinteger
computed

added by Surveys (survey)

certifications_countCertifications Countinteger
computed

added by Surveys (survey)

channel_idsChannelsmany2many

added by Discuss (mail)

channel_member_idsChannel Memberone2many

inverse: partner_id

added by Discuss (mail)

chatbot_script_idsChatbot Scriptone2many

inverse: operator_partner_id

added by Live Chat (im_livechat)

child_idsRelated Contactsone2many

inverse: parent_id

cityCitychar
city_idCity IDmany2one

added by Extended Addresses (base_address_extended)

colorColor Indexinteger
commentNoteshtml
commercial_company_nameCompany Name Entitychar

related: commercial_partner_id.name

commercial_partner_idCommercial Entitymany2one
computed, stored
company_idCompanymany2one
complete_nameComplete Namechar
computed, stored
contact_addressComplete Addresschar
computed
contact_address_inlineComplete Address inlinechar
computed
contract_idsPartner Contractsone2many
read-only

inverse: partner_id

added by Invoicing (account)

country_codeCountry Codechar

related: country_id.code

country_enforce_citiesCountry Enforce Citiesboolean

related: country_id.enforce_cities

added by Extended Addresses (base_address_extended)

country_idCountrymany2one
creditTotal Receivable

Total amount this customer owes you.

monetary
computed

added by Invoicing (account)

credit_limitCredit Limit

Credit limit specific to this partner.

float
company-dependent

added by Invoicing (account)

credit_to_invoiceCredit To Invoicemonetary
computed

added by Invoicing (account)

currency_idCurrencymany2one
read-onlycomputed

added by Invoicing (account)

customer_rankCustomer Rankinteger

added by Invoicing (account)

date_localizationGeolocation Updated Ondate

added by Partners Geolocation (base_geolocalize)

date_partnershipPartnership Datedate

added by Resellers (website_crm_partner_assign)

date_reviewLatest Reviewdate

added by Resellers (website_crm_partner_assign)

date_review_nextNext Reviewdate

added by Resellers (website_crm_partner_assign)

days_sales_outstandingDays Sales Outstanding (DSO)

[(Total Receivable/Total Revenue) * number of days since the first invoice] for this customer

float
computed

added by Invoicing (account)

debitTotal Payable

Total amount you have to pay to this vendor.

monetary
computed

added by Invoicing (account)

display_invoice_edi_formatDisplay Invoice Edi Formatboolean

added by Invoicing (account)

display_invoice_template_pdf_report_idDisplay Invoice Template Pdf Reportboolean
computed

added by Invoicing (account)

duplicate_bank_partner_idsDuplicate Bank Partnermany2many
computed

added by Invoicing (account)

emailEmailchar
email_formattedFormatted Email

Format email address "Name <email@domain>"

char
computed
employeeEmployee

Whether this contact is an Employee.

boolean
computed, stored
employee_idsEmployees

Related employees based on their private address

one2many

inverse: work_contact_id

added by Employees (hr)

employees_countEmployees Countinteger
computed

added by Employees (hr)

event_count# Eventsinteger
computed

added by Events Organization (event)

fiscal_country_codesFiscal Country Codeschar
computed

added by Invoicing (account)

fiscal_country_group_codesFiscal Country Group Codesjson
computed

added by Invoicing (account)

fiscal_position_idAutomatic Fiscal Position

Fiscal positions are used to adapt taxes and accounts for particular customers or sales orders/invoices. The default value comes from the customer.

many2one
computed

added by Point of Sale (point_of_sale)

functionJob Positionchar
global_location_numberGLN

Global Location Number

char
computed

added by Invoicing (account)

grade_idPartner Levelmany2one

added by Partnership / Membership (partnership)

grade_sequenceGrade Sequenceinteger
read-only

related: grade_id.sequence

added by Resellers (website_crm_partner_assign)

group_onWeek Dayselection
required

Values: default (Expected Date), 1 (Monday), 2 (Tuesday), 3 (Wednesday), 4 (Thursday), 5 (Friday), 6 (Saturday), 7 (Sunday)

added by Purchase Stock (purchase_stock)

group_rfqGroup RFQ

Define if RFQ should be grouped together based on expected arrival, except for dropship operations. On Order: Replenishment needs will be grouped together except for MTO. Daily: Replenishment needs will be grouped if the expected arrival is the same day Weekly: Replenishment needs will be grouped if the expected arrival is the same week or week day Always: Replenishment needs will always be grouped.

selection
required

Values: default (On Order), day (Daily), week (Weekly), all (Always)

added by Purchase Stock (purchase_stock)

has_vatHas Tax ID

Technical field indicating whether the Tax ID is not a placeholder.Returns False for placeholder values such as '/', 'NA', 'na', or an empty string.

boolean
computed
ignore_abnormal_invoice_amountIgnore Abnormal Invoice Amountboolean
company-dependent

added by Invoicing (account)

ignore_abnormal_invoice_dateIgnore Abnormal Invoice Dateboolean
company-dependent

added by Invoicing (account)

implemented_partner_countImplemented Partner Countinteger
computed, stored

added by Resellers (website_crm_partner_assign)

implemented_partner_idsImplementation Referencesone2many

inverse: assigned_partner_id

added by Resellers (website_crm_partner_assign)

incoterm_idIncoterm

International Commercial Terms are a series of predefined commercial terms used in international transactions.

many2one

added by Sales (sale)

incoterm_locationIncoterm Locationchar

added by Sales (sale)

industry_idIndustrymany2one
invoice_edi_formateInvoice formatselection
computed

added by Invoicing (account)

invoice_edi_format_storeInvoice Edi Format Storechar
company-dependent

added by Invoicing (account)

invoice_emailsInvoice Emailschar
read-onlycomputed

added by Point of Sale (point_of_sale)

invoice_idsInvoicesone2many
read-only

inverse: partner_id

added by Invoicing (account)

invoice_sending_methodInvoice sendingselection
company-dependent

Values: manual (Manual), email (by Email)

added by Invoicing (account)

invoice_template_pdf_report_idInvoice reportmany2one

added by Invoicing (account)

is_companyIs a Company

Check if the contact is a company, otherwise it is a person

boolean
computed, stored
is_in_callIs In Callboolean
computed

added by Discuss (mail)

is_pricelist_manually_setIs Pricelist Manually Setboolean
computed

added by Products & Pricelists (product)

is_publicIs Publicboolean
computed
is_publishedIs Publishedboolean

added by Website Partner (website_partner)

is_subcontractorSubcontractorboolean
computed

added by MRP Subcontracting (mrp_subcontracting)

is_ubl_formatIs Ubl Formatboolean
computed

added by Import/Export electronic invoices with UBL/CII (account_edi_ubl_cii)

l10n_fr_is_frenchL10N Fr Is Frenchboolean
computed

added by France - Localizations (l10n_fr)

l10n_fr_is_pdpL10N Fr Is Pdpboolean
computed

added by France - E-Invoicing (Approved Platform) (l10n_fr_pdp)

l10n_fr_sirenL10N Fr Sirenchar
computed

added by France - Accounting (l10n_fr_account)

l10n_fr_siretL10N Fr Siretchar
computed

added by France - Accounting (l10n_fr_account)

langLanguage

All the emails and documents sent to this contact will be translated in this language.

selection
computed, stored

Values computed at runtime

leave_date_toLeave Date Todate
computed

added by Time Off (hr_holidays)

livechat_channel_countLivechat Channel Countinteger
computed

added by Live Chat (im_livechat)

loyalty_card_countActive loyalty cardsinteger
computed

added by Coupons & Loyalty (loyalty)

mailing_contact_idContactmany2one
computed

added by Email Marketing (mass_mailing)

mailing_contact_idsContactsone2many

inverse: partner_id

added by Email Marketing (mass_mailing)

main_user_idMain User

There can be several users related to the same partner. When a single user is needed, this field attempts to find the most appropriate one.

many2one
computed
meeting_count# Meetingsinteger
computed

added by Calendar (calendar)

meeting_display_labelMeeting Display Labelchar
computed

added by Calendar (calendar)

meeting_idsMeetingsmany2many

added by Calendar (calendar)

meeting_next_dateNext Meetingdate
computed

added by Calendar (calendar)

nameNamechar
on_time_rateOn-Time Delivery Rate

Over the past x days; the number of products received on time divided by the number of ordered products.x is either the System Parameter purchase_stock.on_time_delivery_days or the default 365

float
computed

added by Purchase Stock (purchase_stock)

opportunity_countOpportunity Countinteger
computed

added by CRM (crm)

opportunity_idsOpportunitiesone2many

inverse: partner_id

added by CRM (crm)

parent_idRelated Companymany2one
parent_nameParent namechar
read-only

related: parent_id.name

partner_cars_countCars Countinteger
computed

added by Fleet (fleet)

partner_latitudeLatitudefloat
partner_longitudeLongitudefloat
partner_shareShare Partner

Either customer (not a user), either shared user. Indicated the current partner is a customer without access or with a limited access created for sharing data.

boolean
computed, stored
partner_vat_placeholderPartner Vat Placeholderchar
computed

added by Invoicing (account)

partner_weightLevel Weight

This should be a numerical value greater than 0 which will decide the contention for this partner to take this lead/opportunity.

integer
computed, stored

added by Resellers (website_crm_partner_assign)

payment_token_countPayment Token Countinteger
computed

added by Payment Engine (payment)

payment_token_idsPayment Tokensone2many

inverse: partner_id

added by Payment Engine (payment)

pdp_verification_display_stateE-Invoicing Stateselection
computed

Values: not_verified (Not verified yet), pdp_not_valid (Partner is not in the annuaire), pdp_not_valid_format (Partner cannot receive format), pdp_valid (Partner is in the annuaire), peppol_not_valid (Partner is not on Peppol), peppol_not_valid_format (Partner cannot receive format), peppol_valid (Partner is on Peppol)

added by France - E-Invoicing (Approved Platform) (l10n_fr_pdp)

peppol_response_supportPeppol Response Serviceboolean
computed

added by Peppol (account_peppol)

peppol_supported_documentsSupported Peppol Documentsjson

added by Peppol (account_peppol)

peppol_verification_statePeppol statusselection
company-dependent

Values: not_verified (Unchecked), not_valid (Partner is not on Peppol), not_valid_format (Partner cannot receive format), valid (Partner is on Peppol)

added by Peppol (account_peppol)

phonePhonechar
picking_idsStock Pickings for which the Partner is the subcontractormany2many
computed

added by MRP Subcontracting (mrp_subcontracting)

picking_warn_msgMessage for Stock Pickingtext

added by Inventory (stock)

pickup_delivery_method_idPickup Delivery Method

The delivery method that generated this pickup point.

many2one

added by Product Availability (website_sale_stock)

pickup_location_dataPickup Location Data

Technical field: information needed by delivery providers in case of pickup point addresses.

json

added by Delivery - Stock (stock_delivery)

pos_order_countPos Order Count

The number of point of sales orders related to this customer

integer
computed

added by Point of Sale (point_of_sale)

pos_order_idsPos Orderone2many
read-only

inverse: partner_id

added by Point of Sale (point_of_sale)

production_idsMRP Productions for which the Partner is the subcontractormany2many
computed

added by MRP Subcontracting (mrp_subcontracting)

project_idsProjectsone2many

inverse: partner_id

added by Project (project)

property_account_payable_activeAccount Payable Activeboolean

related: property_account_payable_id.active

added by Invoicing (account)

property_account_payable_idAccount Payablemany2one
company-dependent

added by Invoicing (account)

property_account_position_idFiscal Position

The fiscal position determines the taxes/accounts used for this contact.

many2one
company-dependent

added by Invoicing (account)

property_account_receivable_activeAccount Receivable Activeboolean

related: property_account_receivable_id.active

added by Invoicing (account)

property_account_receivable_idAccount Receivablemany2one
company-dependent

added by Invoicing (account)

property_delivery_carrier_idDelivery Method

Used in sales orders.

many2one
company-dependent

added by Delivery Costs (delivery)

property_inbound_payment_method_line_idProperty Inbound Payment Method Linemany2one
company-dependent

added by Invoicing (account)

property_outbound_payment_method_line_idProperty Outbound Payment Method Linemany2one
company-dependent

added by Invoicing (account)

property_payment_term_idCustomer Payment Termsmany2one
company-dependent

added by Invoicing (account)

property_product_pricelistPricelist

Used for sales to the current partner

many2one
computed

added by Products & Pricelists (product)

property_purchase_currency_idSupplier Currency

This currency will be used for purchases from the current partner

many2one
company-dependent

added by Purchase (purchase)

property_stock_customerCustomer Location

The stock location used as destination when sending goods to this contact.

many2one
company-dependent

added by Inventory (stock)

property_stock_subcontractorSubcontractor Location

The stock location used as source and destination when sending goods to this contact during a subcontracting process.

many2one
company-dependent

added by MRP Subcontracting (mrp_subcontracting)

property_stock_supplierVendor Location

The stock location used as source when receiving goods from this contact.

many2one
company-dependent

added by Inventory (stock)

property_supplier_payment_term_idVendor Payment Termsmany2one
company-dependent

added by Invoicing (account)

purchase_incoterm_idVendor Incoterm

International Commercial Terms are a series of predefined commercial terms used in international transactions.

many2one

added by Purchase (purchase)

purchase_incoterm_locationVendor Incoterm Locationchar

added by Purchase (purchase)

purchase_line_idsPurchase Linesone2many

inverse: partner_id

added by Purchase Stock (purchase_stock)

purchase_order_countPurchase Order Countinteger
computed

added by Purchase (purchase)

purchase_warn_msgMessage for Purchase Ordertext

added by Purchase (purchase)

qr_code_methodPayment QR-codeselection
company-dependent

Values computed at runtime

added by Invoicing (account)

receipt_reminder_emailReceipt Reminder

Automatically send a confirmation email to the vendor X days before the expected receipt date, asking him to confirm the exact date.

boolean
company-dependent

added by Purchase (purchase)

refReferencechar
ref_company_idsCompanies that refers to partnerone2many

inverse: partner_id

added by Invoicing (account)

reminder_date_before_receiptDays Before Receipt

Number of days to send reminder email before the promised receipt date

integer
company-dependent

added by Purchase (purchase)

repair_order_countRepair Order Countinteger
computed

added by Repairs (repair)

routing_endpointRouting Endpointchar
computed, stored

added by Import/Export electronic invoices with UBL/CII (account_edi_ubl_cii)

routing_identifierEDI Routing Addresschar
computed

added by Import/Export electronic invoices with UBL/CII (account_edi_ubl_cii)

routing_schemeRouting IDselection
computed, stored

Values: 9923 (Albania VAT), 9922 (Andorra VAT), 0151 (Australia ABN), 9914 (Austria UID), 9915 (Austria VOKZ), 0208 (Belgian Company Registry), 9925 (Belgian VAT), 9924 (Bosnia and Herzegovina VAT), 9926 (Bulgaria VAT), 9934 (Croatia VAT), 9928 (Cyprus VAT), 9929 (Czech Republic VAT)…

added by Import/Export electronic invoices with UBL/CII (account_edi_ubl_cii)

rtc_session_idsRtc Sessionone2many

inverse: partner_id

added by Discuss (mail)

sale_order_countSale Order Countinteger
computed

added by Sales (sale)

sale_order_idsSales Orderone2many

inverse: partner_id

added by Sales (sale)

sale_warn_msgMessage for Sales Ordertext

added by Sales (sale)

same_vat_partner_idPartner with same Tax IDmany2one
computed
selfSelfmany2one
computed
should_be_geolocalizedShould Be Geolocalized

Indicates whether the partner's address has changed, so we should geolocalize them from their new address.

boolean
computed, stored

added by Partners Geolocation (base_geolocalize)

show_credit_limitShow Credit Limitboolean
computed

added by Invoicing (account)

signup_typeSignup Token Typechar

added by Signup (auth_signup)

slide_channel_company_countCompany Course Countinteger
computed

added by eLearning (website_slides)

slide_channel_completed_idsCompleted Coursesone2many
computed

added by eLearning (website_slides)

slide_channel_countCourse Countinteger
computed

added by eLearning (website_slides)

slide_channel_idseLearning Coursesmany2many
computed

added by eLearning (website_slides)

specific_property_product_pricelistAssigned Pricelistmany2one
company-dependent

added by Products & Pricelists (product)

state_idStatemany2one
static_map_urlStatic Map Urlchar
computed

added by Events Organization (event)

static_map_url_is_validStatic Map Url Is Validboolean
computed

added by Events Organization (event)

streetStreetchar
street_nameStreet Namechar
computed, stored

added by Extended Addresses (base_address_extended)

street_numberHousechar
computed, stored

added by Extended Addresses (base_address_extended)

street_number2Doorchar
computed, stored

added by Extended Addresses (base_address_extended)

street2Street2char
suggest_based_onSuggest Based Onchar

added by Purchase Stock (purchase_stock)

suggest_daysSuggest Daysinteger

added by Purchase Stock (purchase_stock)

suggest_percentSuggest Percentinteger

added by Purchase Stock (purchase_stock)

supplier_invoice_count# Vendor Billsinteger
computed

added by Invoicing (account)

supplier_rankSupplier Rankinteger

added by Invoicing (account)

task_count# Tasksinteger
computed

added by Project (project)

task_idsTasksone2many

inverse: partner_id

added by Project (project)

total_invoicedTotal Invoicedmonetary
computed

added by Invoicing (account)

trustDegree of trust you have in this debtorselection
company-dependent

Values: good (Good Debtor), normal (Normal Debtor), bad (Bad Debtor)

added by Invoicing (account)

typeAddress Typeselection

Values: contact (Contact), invoice (Invoice), delivery (Delivery), other (Other)

type_address_labelAddress Type Descriptionchar
computed
tzTimezone

When printing documents and exporting/importing data, time values are computed according to this timezone. If the timezone is not set, UTC (Coordinated Universal Time) is used. Anywhere else, time values are computed according to the time offset of your web client.

selection

Values computed at runtime

tz_offsetTimezone offsetchar
computed
use_partner_credit_limitPartner Limit

Set a value greater than 0.0 to activate a credit limit check

boolean
computed

added by Invoicing (account)

user_idSalesperson

The internal user in charge of this contact.

many2one
computed, stored
user_idsUsersone2many

inverse: partner_id

user_livechat_usernameUser Livechat Usernamechar
computed

added by Live Chat (im_livechat)

vatTax ID

You can use '/' to indicate that the customer has no Tax ID.

char
vat_labelTax ID Labelchar
computed
visitor_idsVisitorsone2many

inverse: partner_id

added by Website (website)

websiteWebsite Linkchar
website_descriptionWebsite Partner Full Descriptionhtml

added by Website Partner (website_partner)

website_short_descriptionWebsite Partner Short Descriptiontext
translatable

added by Website Partner (website_partner)

website_tag_idsWebsite tags

Filter published customers on the .../customers website page

many2many

added by Customer References (website_customer)

wishlist_idsWishlistone2many

inverse: partner_id

added by eCommerce (website_sale)

zipZipchar
activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_plans_idsActivity Plansmany2many
computed

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

avatar_1024Avatar 1024image
computed

inherited from avatar.mixin

avatar_128Avatar 128image
computed

inherited from avatar.mixin

avatar_1920Avatarimage
computed

inherited from avatar.mixin

avatar_256Avatar 256image
computed

inherited from avatar.mixin

avatar_512Avatar 512image
computed

inherited from avatar.mixin

email_normalizedNormalized Email

This field is used to search on email address as the primary email field can contain more than strictly an email address.

char
computed, stored

inherited from mail.thread.blacklist

has_messageHas Messageboolean
computed

inherited from mail.thread

image_1024Image 1024image

related: image_1920

inherited from image.mixin

image_128Image 128image

related: image_1920

inherited from image.mixin

image_1920Imageimage

inherited from image.mixin

image_256Image 256image

related: image_1920

inherited from image.mixin

image_512Image 512image

related: image_1920

inherited from image.mixin

is_blacklistedBlacklist

If the email address is on the blacklist, the contact won't receive mass mailing anymore, from any list

boolean
computed

inherited from mail.thread.blacklist

is_seo_optimizedSEO optimizedboolean
computed, stored

inherited from website.seo.metadata

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_bounceBounce

Counter of the number of bounced emails for this contact

integer

inherited from mail.thread.blacklist

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

phone_blacklistedBlacklisted Phone is Phone

Indicates if a blacklisted sanitized phone number is a phone number. Helps distinguish which number is blacklisted when there is both a mobile and phone field in a model.

boolean
computed

inherited from mail.thread.phone

phone_formattedFormatted Numberchar
computed

inherited from mail.thread.phone

phone_sanitizedSanitized Number

Field used to store sanitized phone number. Helps speeding up searches and comparisons.

char
computed, stored

inherited from mail.thread.phone

phone_sanitized_blacklistedPhone Blacklisted

If the sanitized phone number is on the blacklist, the contact won't receive mass mailing sms anymore, from any list

boolean
computed

inherited from mail.thread.phone

propertiesPropertiesproperties

inherited from properties.base.definition.mixin

properties_base_definition_idProperties Base Definitionmany2one
computed

inherited from properties.base.definition.mixin

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

seo_nameSeo namechar
translatable

inherited from website.seo.metadata

website_meta_descriptionWebsite meta descriptiontext
translatable

inherited from website.seo.metadata

website_meta_keywordsWebsite meta keywordschar
translatable

inherited from website.seo.metadata

website_meta_og_imgWebsite opengraph imagechar

inherited from website.seo.metadata

website_meta_titleWebsite meta titlechar
translatable

inherited from website.seo.metadata

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 20 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/res.partner/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","autopost_bills","group_on","group_rfq","activation"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/res.partner/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","autopost_bills","group_on","group_rfq","activation"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/res-partner">res.partner (Odoo 20.0)</a>

Sources

Data verified on September 25, 2026 · Odoo 20.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.