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
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 name | Label | Type | Details |
|---|---|---|---|
| account_move_count | Account Move Count | integer | computed added by Invoicing ( |
| activation | Activation | many2one | added by Resellers ( |
| active | Active | boolean | |
| active_lang_count | Active Lang Count | integer | computed |
| additional_identifiers | Additional Identifiers | json | |
| address | Address (without name) | char | computed |
| address_inline | Address inline (without name) | char | computed |
| applicant_ids | Applicants | one2many | inverse: added by Recruitment ( |
| application_statistics | Stats | json | computed |
| assigned_partner_id | Implemented by | many2one | added by Resellers ( |
| autopost_bills | Auto-post bills Automatically post bills for this trusted partner | selection | required Values: added by Invoicing ( |
| available_additional_identifiers_metadata | Available Additional Identifiers Metadata | json | computed |
| available_invoice_template_pdf_report_ids | Available Invoice Template Pdf Report | one2many | computed added by Invoicing ( |
| available_peppol_edi_formats | Available Peppol Edi Formats | json | computed added by Peppol ( |
| available_peppol_sending_methods | Available Peppol Sending Methods | json | computed added by Peppol ( |
| available_routing_schemes | Available Routing Schemes | json | computed added by Import/Export electronic invoices with UBL/CII ( |
| bank_account_count | Bank | integer | computed added by Invoicing ( |
| bank_ids | Banks | one2many | inverse: |
| barcode | Barcode Use a barcode to identify this contact. | char | company-dependent |
| blog_post_ids | Blog Posts | one2many | inverse: added by Blog ( |
| bom_ids | BoMs for which the Partner is one of the subcontractors | many2many→ mrp.bom | computed added by MRP Subcontracting ( |
| buyer_id | Buyer | many2one | added by Purchase ( |
| calendar_last_notif_ack | Last notification marked as read from base Calendar | datetime | added by Calendar ( |
| category_id | Tags | many2many | |
| certifications_company_count | Company Certifications Count | integer | computed added by Surveys ( |
| certifications_count | Certifications Count | integer | computed added by Surveys ( |
| channel_ids | Channels | many2many | added by Discuss ( |
| channel_member_ids | Channel Member | one2many | inverse: added by Discuss ( |
| chatbot_script_ids | Chatbot Script | one2many | inverse: added by Live Chat ( |
| child_ids | Related Contacts | one2many | inverse: |
| city | City | char | |
| city_id | City ID | many2one→ res.city | added by Extended Addresses ( |
| color | Color Index | integer | |
| comment | Notes | html | |
| commercial_company_name | Company Name Entity | char | related: |
| commercial_partner_id | Commercial Entity | many2one | computed, stored |
| company_id | Company | many2one | |
| complete_name | Complete Name | char | computed, stored |
| contact_address | Complete Address | char | computed |
| contact_address_inline | Complete Address inline | char | computed |
| contract_ids | Partner Contracts | one2many | read-only inverse: added by Invoicing ( |
| country_code | Country Code | char | related: |
| country_enforce_cities | Country Enforce Cities | boolean | related: added by Extended Addresses ( |
| country_id | Country | many2one | |
| credit | Total Receivable Total amount this customer owes you. | monetary | computed added by Invoicing ( |
| credit_limit | Credit Limit Credit limit specific to this partner. | float | company-dependent added by Invoicing ( |
| credit_to_invoice | Credit To Invoice | monetary | computed added by Invoicing ( |
| currency_id | Currency | many2one | read-onlycomputed added by Invoicing ( |
| customer_rank | Customer Rank | integer | added by Invoicing ( |
| date_localization | Geolocation Updated On | date | added by Partners Geolocation ( |
| date_partnership | Partnership Date | date | added by Resellers ( |
| date_review | Latest Review | date | added by Resellers ( |
| date_review_next | Next Review | date | added by Resellers ( |
| days_sales_outstanding | Days Sales Outstanding (DSO) [(Total Receivable/Total Revenue) * number of days since the first invoice] for this customer | float | computed added by Invoicing ( |
| debit | Total Payable Total amount you have to pay to this vendor. | monetary | computed added by Invoicing ( |
| display_invoice_edi_format | Display Invoice Edi Format | boolean | added by Invoicing ( |
| display_invoice_template_pdf_report_id | Display Invoice Template Pdf Report | boolean | computed added by Invoicing ( |
| duplicate_bank_partner_ids | Duplicate Bank Partner | many2many | computed added by Invoicing ( |
char | |||
| email_formatted | Formatted Email Format email address "Name <email@domain>" | char | computed |
| employee | Employee Whether this contact is an Employee. | boolean | computed, stored |
| employee_ids | Employees Related employees based on their private address | one2many | inverse: added by Employees ( |
| employees_count | Employees Count | integer | computed added by Employees ( |
| event_count | # Events | integer | computed added by Events Organization ( |
| fiscal_country_codes | Fiscal Country Codes | char | computed added by Invoicing ( |
| fiscal_country_group_codes | Fiscal Country Group Codes | json | computed added by Invoicing ( |
| fiscal_position_id | Automatic 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 ( |
| function | Job Position | char | |
| global_location_number | GLN Global Location Number | char | computed added by Invoicing ( |
| grade_id | Partner Level | many2one | added by Partnership / Membership ( |
| grade_sequence | Grade Sequence | integer | read-only related: added by Resellers ( |
| group_on | Week Day | selection | required Values: added by Purchase Stock ( |
| group_rfq | Group 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: added by Purchase Stock ( |
| has_vat | Has 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_amount | Ignore Abnormal Invoice Amount | boolean | company-dependent added by Invoicing ( |
| ignore_abnormal_invoice_date | Ignore Abnormal Invoice Date | boolean | company-dependent added by Invoicing ( |
| implemented_partner_count | Implemented Partner Count | integer | computed, stored added by Resellers ( |
| implemented_partner_ids | Implementation References | one2many | inverse: added by Resellers ( |
| incoterm_id | Incoterm International Commercial Terms are a series of predefined commercial terms used in international transactions. | many2one | added by Sales ( |
| incoterm_location | Incoterm Location | char | added by Sales ( |
| industry_id | Industry | many2one | |
| invoice_edi_format | eInvoice format | selection | computed added by Invoicing ( |
| invoice_edi_format_store | Invoice Edi Format Store | char | company-dependent added by Invoicing ( |
| invoice_emails | Invoice Emails | char | read-onlycomputed added by Point of Sale ( |
| invoice_ids | Invoices | one2many | read-only inverse: added by Invoicing ( |
| invoice_sending_method | Invoice sending | selection | company-dependent Values: added by Invoicing ( |
| invoice_template_pdf_report_id | Invoice report | many2one | added by Invoicing ( |
| is_company | Is a Company Check if the contact is a company, otherwise it is a person | boolean | computed, stored |
| is_in_call | Is In Call | boolean | computed added by Discuss ( |
| is_pricelist_manually_set | Is Pricelist Manually Set | boolean | computed added by Products & Pricelists ( |
| is_public | Is Public | boolean | computed |
| is_published | Is Published | boolean | added by Website Partner ( |
| is_subcontractor | Subcontractor | boolean | computed added by MRP Subcontracting ( |
| is_ubl_format | Is Ubl Format | boolean | computed added by Import/Export electronic invoices with UBL/CII ( |
| l10n_fr_is_french | L10N Fr Is French | boolean | computed added by France - Localizations ( |
| l10n_fr_is_pdp | L10N Fr Is Pdp | boolean | computed added by France - E-Invoicing (Approved Platform) ( |
| l10n_fr_siren | L10N Fr Siren | char | computed added by France - Accounting ( |
| l10n_fr_siret | L10N Fr Siret | char | computed added by France - Accounting ( |
| lang | Language All the emails and documents sent to this contact will be translated in this language. | selection | computed, stored Values computed at runtime |
| leave_date_to | Leave Date To | date | computed added by Time Off ( |
| livechat_channel_count | Livechat Channel Count | integer | computed added by Live Chat ( |
| loyalty_card_count | Active loyalty cards | integer | computed added by Coupons & Loyalty ( |
| mailing_contact_id | Contact | many2one | computed added by Email Marketing ( |
| mailing_contact_ids | Contacts | one2many | inverse: added by Email Marketing ( |
| main_user_id | Main 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 | # Meetings | integer | computed added by Calendar ( |
| meeting_display_label | Meeting Display Label | char | computed added by Calendar ( |
| meeting_ids | Meetings | many2many | added by Calendar ( |
| meeting_next_date | Next Meeting | date | computed added by Calendar ( |
| name | Name | char | |
| on_time_rate | On-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 ( |
| opportunity_count | Opportunity Count | integer | computed added by CRM ( |
| opportunity_ids | Opportunities | one2many→ crm.lead | inverse: added by CRM ( |
| parent_id | Related Company | many2one | |
| parent_name | Parent name | char | read-only related: |
| partner_cars_count | Cars Count | integer | computed added by Fleet ( |
| partner_latitude | Latitude | float | |
| partner_longitude | Longitude | float | |
| partner_share | Share 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_placeholder | Partner Vat Placeholder | char | computed added by Invoicing ( |
| partner_weight | Level 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 ( |
| payment_token_count | Payment Token Count | integer | computed added by Payment Engine ( |
| payment_token_ids | Payment Tokens | one2many | inverse: added by Payment Engine ( |
| pdp_verification_display_state | E-Invoicing State | selection | computed Values: added by France - E-Invoicing (Approved Platform) ( |
| peppol_response_support | Peppol Response Service | boolean | computed added by Peppol ( |
| peppol_supported_documents | Supported Peppol Documents | json | added by Peppol ( |
| peppol_verification_state | Peppol status | selection | company-dependent Values: added by Peppol ( |
| phone | Phone | char | |
| picking_ids | Stock Pickings for which the Partner is the subcontractor | many2many | computed added by MRP Subcontracting ( |
| picking_warn_msg | Message for Stock Picking | text | added by Inventory ( |
| pickup_delivery_method_id | Pickup Delivery Method The delivery method that generated this pickup point. | many2one | added by Product Availability ( |
| pickup_location_data | Pickup Location Data Technical field: information needed by delivery providers in case of pickup point addresses. | json | added by Delivery - Stock ( |
| pos_order_count | Pos Order Count The number of point of sales orders related to this customer | integer | computed added by Point of Sale ( |
| pos_order_ids | Pos Order | one2many | read-only inverse: added by Point of Sale ( |
| production_ids | MRP Productions for which the Partner is the subcontractor | many2many | computed added by MRP Subcontracting ( |
| project_ids | Projects | one2many | inverse: added by Project ( |
| property_account_payable_active | Account Payable Active | boolean | related: added by Invoicing ( |
| property_account_payable_id | Account Payable | many2one | company-dependent added by Invoicing ( |
| property_account_position_id | Fiscal Position The fiscal position determines the taxes/accounts used for this contact. | many2one | company-dependent added by Invoicing ( |
| property_account_receivable_active | Account Receivable Active | boolean | related: added by Invoicing ( |
| property_account_receivable_id | Account Receivable | many2one | company-dependent added by Invoicing ( |
| property_delivery_carrier_id | Delivery Method Used in sales orders. | many2one | company-dependent added by Delivery Costs ( |
| property_inbound_payment_method_line_id | Property Inbound Payment Method Line | many2one | company-dependent added by Invoicing ( |
| property_outbound_payment_method_line_id | Property Outbound Payment Method Line | many2one | company-dependent added by Invoicing ( |
| property_payment_term_id | Customer Payment Terms | many2one | company-dependent added by Invoicing ( |
| property_product_pricelist | Pricelist Used for sales to the current partner | many2one | computed added by Products & Pricelists ( |
| property_purchase_currency_id | Supplier Currency This currency will be used for purchases from the current partner | many2one | company-dependent added by Purchase ( |
| property_stock_customer | Customer Location The stock location used as destination when sending goods to this contact. | many2one | company-dependent added by Inventory ( |
| property_stock_subcontractor | Subcontractor 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 ( |
| property_stock_supplier | Vendor Location The stock location used as source when receiving goods from this contact. | many2one | company-dependent added by Inventory ( |
| property_supplier_payment_term_id | Vendor Payment Terms | many2one | company-dependent added by Invoicing ( |
| purchase_incoterm_id | Vendor Incoterm International Commercial Terms are a series of predefined commercial terms used in international transactions. | many2one | added by Purchase ( |
| purchase_incoterm_location | Vendor Incoterm Location | char | added by Purchase ( |
| purchase_line_ids | Purchase Lines | one2many | inverse: added by Purchase Stock ( |
| purchase_order_count | Purchase Order Count | integer | computed added by Purchase ( |
| purchase_warn_msg | Message for Purchase Order | text | added by Purchase ( |
| qr_code_method | Payment QR-code | selection | company-dependent Values computed at runtime added by Invoicing ( |
| receipt_reminder_email | Receipt 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 ( |
| ref | Reference | char | |
| ref_company_ids | Companies that refers to partner | one2many | inverse: added by Invoicing ( |
| reminder_date_before_receipt | Days Before Receipt Number of days to send reminder email before the promised receipt date | integer | company-dependent added by Purchase ( |
| repair_order_count | Repair Order Count | integer | computed added by Repairs ( |
| routing_endpoint | Routing Endpoint | char | computed, stored added by Import/Export electronic invoices with UBL/CII ( |
| routing_identifier | EDI Routing Address | char | computed added by Import/Export electronic invoices with UBL/CII ( |
| routing_scheme | Routing ID | selection | computed, stored Values: added by Import/Export electronic invoices with UBL/CII ( |
| rtc_session_ids | Rtc Session | one2many | inverse: added by Discuss ( |
| sale_order_count | Sale Order Count | integer | computed added by Sales ( |
| sale_order_ids | Sales Order | one2many | inverse: added by Sales ( |
| sale_warn_msg | Message for Sales Order | text | added by Sales ( |
| same_vat_partner_id | Partner with same Tax ID | many2one | computed |
| self | Self | many2one | computed |
| should_be_geolocalized | Should 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 ( |
| show_credit_limit | Show Credit Limit | boolean | computed added by Invoicing ( |
| signup_type | Signup Token Type | char | added by Signup ( |
| slide_channel_company_count | Company Course Count | integer | computed added by eLearning ( |
| slide_channel_completed_ids | Completed Courses | one2many | computed added by eLearning ( |
| slide_channel_count | Course Count | integer | computed added by eLearning ( |
| slide_channel_ids | eLearning Courses | many2many | computed added by eLearning ( |
| specific_property_product_pricelist | Assigned Pricelist | many2one | company-dependent added by Products & Pricelists ( |
| state_id | State | many2one | |
| static_map_url | Static Map Url | char | computed added by Events Organization ( |
| static_map_url_is_valid | Static Map Url Is Valid | boolean | computed added by Events Organization ( |
| street | Street | char | |
| street_name | Street Name | char | computed, stored added by Extended Addresses ( |
| street_number | House | char | computed, stored added by Extended Addresses ( |
| street_number2 | Door | char | computed, stored added by Extended Addresses ( |
| street2 | Street2 | char | |
| suggest_based_on | Suggest Based On | char | added by Purchase Stock ( |
| suggest_days | Suggest Days | integer | added by Purchase Stock ( |
| suggest_percent | Suggest Percent | integer | added by Purchase Stock ( |
| supplier_invoice_count | # Vendor Bills | integer | computed added by Invoicing ( |
| supplier_rank | Supplier Rank | integer | added by Invoicing ( |
| task_count | # Tasks | integer | computed added by Project ( |
| task_ids | Tasks | one2many | inverse: added by Project ( |
| total_invoiced | Total Invoiced | monetary | computed added by Invoicing ( |
| trust | Degree of trust you have in this debtor | selection | company-dependent Values: added by Invoicing ( |
| type | Address Type | selection | Values: |
| type_address_label | Address Type Description | char | computed |
| tz | Timezone 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_offset | Timezone offset | char | computed |
| use_partner_credit_limit | Partner Limit Set a value greater than 0.0 to activate a credit limit check | boolean | computed added by Invoicing ( |
| user_id | Salesperson The internal user in charge of this contact. | many2one | computed, stored |
| user_ids | Users | one2many | inverse: |
| user_livechat_username | User Livechat Username | char | computed added by Live Chat ( |
| vat | Tax ID You can use '/' to indicate that the customer has no Tax ID. | char | |
| vat_label | Tax ID Label | char | computed |
| visitor_ids | Visitors | one2many | inverse: added by Website ( |
| website | Website Link | char | |
| website_description | Website Partner Full Description | html | added by Website Partner ( |
| website_short_description | Website Partner Short Description | text | translatable added by Website Partner ( |
| website_tag_ids | Website tags Filter published customers on the .../customers website page | many2many | added by Customer References ( |
| wishlist_ids | Wishlist | one2many | inverse: added by eCommerce ( |
| zip | Zip | char | |
| activity_calendar_event_id | Next Activity Calendar Event | many2one | computed inherited from mail.activity.mixin |
| activity_date_deadline | Next Activity Deadline | date | read-onlycomputed inherited from mail.activity.mixin |
| activity_exception_decoration | Activity Exception Decoration Type of the exception activity on record. | selection | computed Values: inherited from mail.activity.mixin |
| activity_exception_icon | Icon Icon to indicate an exception activity. | char | computed inherited from mail.activity.mixin |
| activity_ids | Activities | one2many | inverse: inherited from mail.activity.mixin |
| activity_plans_ids | Activity Plans | many2many | computed inherited from mail.activity.mixin |
| activity_state | Activity State Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | computed Values: inherited from mail.activity.mixin |
| activity_summary | Next Activity Summary | char | related: inherited from mail.activity.mixin |
| activity_type_icon | Activity Type Icon | char | related: inherited from mail.activity.mixin |
| activity_type_id | Next Activity Type | many2one | related: inherited from mail.activity.mixin |
| activity_user_id | Responsible User | many2one | read-onlycomputed inherited from mail.activity.mixin |
| avatar_1024 | Avatar 1024 | image | computed inherited from avatar.mixin |
| avatar_128 | Avatar 128 | image | computed inherited from avatar.mixin |
| avatar_1920 | Avatar | image | computed inherited from avatar.mixin |
| avatar_256 | Avatar 256 | image | computed inherited from avatar.mixin |
| avatar_512 | Avatar 512 | image | computed inherited from avatar.mixin |
| email_normalized | Normalized 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_message | Has Message | boolean | computed inherited from mail.thread |
| image_1024 | Image 1024 | image | related: inherited from image.mixin |
| image_128 | Image 128 | image | related: inherited from image.mixin |
| image_1920 | Image | image | inherited from image.mixin |
| image_256 | Image 256 | image | related: inherited from image.mixin |
| image_512 | Image 512 | image | related: inherited from image.mixin |
| is_blacklisted | Blacklist 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_optimized | SEO optimized | boolean | computed, stored inherited from website.seo.metadata |
| message_attachment_count | Attachment Count | integer | computed inherited from mail.thread |
| message_bounce | Bounce Counter of the number of bounced emails for this contact | integer | inherited from mail.thread.blacklist |
| message_follower_ids | Followers | one2many | inverse: inherited from mail.thread |
| message_has_error | Message Delivery error If checked, some messages have a delivery error. | boolean | computed inherited from mail.thread |
| message_has_error_counter | Number of errors Number of messages with delivery error | integer | computed inherited from mail.thread |
| message_has_sms_error | SMS Delivery error If checked, some messages have a delivery error. | boolean | computed inherited from mail.thread |
| message_ids | Messages | one2many | inverse: inherited from mail.thread |
| message_is_follower | Is Follower | boolean | computed inherited from mail.thread |
| message_needaction | Action Needed If checked, new messages require your attention. | boolean | computed inherited from mail.thread |
| message_needaction_counter | Number of Actions Number of messages requiring action | integer | computed inherited from mail.thread |
| message_partner_ids | Followers (Partners) | many2many | computed inherited from mail.thread |
| my_activity_date_deadline | My Activity Deadline | date | read-onlycomputed inherited from mail.activity.mixin |
| phone_blacklisted | Blacklisted 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_formatted | Formatted Number | char | computed inherited from mail.thread.phone |
| phone_mobile_search | Phone Number | char | inherited from mail.thread.phone |
| phone_sanitized | Sanitized Number Field used to store sanitized phone number. Helps speeding up searches and comparisons. | char | computed, stored inherited from mail.thread.phone |
| phone_sanitized_blacklisted | Phone 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 |
| properties | Properties | properties | inherited from properties.base.definition.mixin |
| properties_base_definition_id | Properties Base Definition | many2one | computed inherited from properties.base.definition.mixin |
| rating_ids | Ratings | one2many | inverse: inherited from mail.thread |
| seo_name | Seo name | char | translatable inherited from website.seo.metadata |
| website_meta_description | Website meta description | text | translatable inherited from website.seo.metadata |
| website_meta_keywords | Website meta keywords | char | translatable inherited from website.seo.metadata |
| website_meta_og_img | Website opengraph image | char | inherited from website.seo.metadata |
| website_meta_title | Website meta title | char | translatable inherited from website.seo.metadata |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- account.account: property_account_payable_id, property_account_receivable_id
- account.analytic.account: contract_ids
- account.fiscal.position: fiscal_position_id, property_account_position_id
- account.incoterms: incoterm_id, purchase_incoterm_id
- account.move: invoice_ids
- account.payment.method.line: property_inbound_payment_method_line_id, property_outbound_payment_method_line_id
- account.payment.term: property_payment_term_id, property_supplier_payment_term_id
- blog.post: blog_post_ids
- calendar.event: meeting_ids
- chatbot.script: chatbot_script_ids
- crm.lead: opportunity_ids
- delivery.carrier: pickup_delivery_method_id, property_delivery_carrier_id
- discuss.channel: channel_ids
- discuss.channel.member: channel_member_ids
- discuss.channel.rtc.session: rtc_session_ids
- hr.applicant: applicant_ids
- hr.employee: employee_ids
- ir.actions.report: available_invoice_template_pdf_report_ids, invoice_template_pdf_report_id
- mailing.contact: mailing_contact_id, mailing_contact_ids
- mrp.bom: bom_ids
- mrp.production: production_ids
- payment.token: payment_token_ids
- pos.order: pos_order_ids
- product.pricelist: property_product_pricelist, specific_property_product_pricelist
- product.wishlist: wishlist_ids
- project.project: project_ids
- project.task: task_ids
- purchase.order.line: purchase_line_ids
- res.city: city_id
- res.company: company_id, ref_company_ids
- res.country: country_id
- res.country.state: state_id
- res.currency: currency_id, property_purchase_currency_id
- res.partner: assigned_partner_id, child_ids, commercial_partner_id, duplicate_bank_partner_ids, implemented_partner_ids, parent_id, same_vat_partner_id, self
- res.partner.activation: activation
- res.partner.bank: bank_ids
- res.partner.category: category_id
- res.partner.grade: grade_id
- res.partner.industry: industry_id
- res.partner.tag: website_tag_ids
- res.users: buyer_id, main_user_id, user_id, user_ids
- sale.order: sale_order_ids
- slide.channel: slide_channel_completed_ids, slide_channel_ids
- stock.location: property_stock_customer, property_stock_subcontractor, property_stock_supplier
- stock.picking: picking_ids
- website.visitor: visitor_ids
Fields of other models pointing here
- account.analytic.account: partner_id
- account.analytic.distribution.model: partner_id
- account.analytic.line: commercial_partner_id, message_partner_ids, partner_id
- account.autopost.bills.wizard: partner_id
- account.bank.statement.line: partner_id
- account.invoice.report: commercial_partner_id, partner_id
- account.journal: company_partner_id
- account.move: bank_partner_id, commercial_partner_id, partner_id, partner_shipping_id
- account.move.line: partner_id
- account.move.send.wizard: mail_partner_ids
- account.payment: commercial_partner_id, partner_id
- account.payment.register: missing_account_partners, partner_id
- account.reconcile.model: mapped_partner_id, match_partner_ids
- account.reconcile.model.line: partner_id
- base.document.layout: partner_id
- base.partner.merge.automatic.wizard: dst_partner_id, partner_ids
- bill.to.po.wizard: partner_id
- blog.post: author_id
- calendar.attendee: partner_id
- calendar.event: invalid_email_partner_ids, partner_id, partner_ids, unavailable_partner_ids
- calendar.event.archive.or.unlink.wizard: recipient_ids
- calendar.filters: partner_id
- chatbot.script: operator_partner_id
- choose.delivery.carrier: partner_id, partner_shipping_id
- crm.activity.report: author_id, partner_id
- crm.lead: partner_assigned_id, partner_declined_ids, partner_id
- crm.lead.assignation: partner_assigned_id
- crm.lead.forward.to.partner: partner_id
- crm.partner.report.assign: partner_id
- crm.quotation.partner: partner_id
- customer.product.reference: partner_id
- delivery.note.wizard: partner_id
- discuss.channel: channel_partner_ids, livechat_agent_partner_ids, livechat_bot_partner_ids, livechat_customer_partner_ids
- discuss.channel.member: partner_id
- discuss.channel.rtc.session: partner_id
- event.booth: partner_id
- event.booth.registration: partner_id
- event.event: address_id, address_search, organizer_id
- event.registration: event_organizer_id, partner_id
- event.registration.answer: partner_id
- and 124 more
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 -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}'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.