res.partner: fields, relations and API
The res.partner model ("Contact") is a persistent model declared by the Base module, then extended by 61 other modules. It exposes 258 fields, 203 of them declared directly on the model; 221 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 19 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, portal, account, account_add_gln, account_edi_ubl_cii, payment, account_peppol, account_peppol_response, contacts, base_address_extended, phone_validation, base_geolocalize, base_vat, calendar, crm, im_livechat, mail_plugin, sale, delivery, stock, delivery_mondialrelay, event, google_address_autocomplete, hr, hr_calendar, hr_holidays, hr_homeworking, hr_homeworking_calendar, hr_recruitment, survey, website, website_partner, website_slides, project, l10n_fr, l10n_fr_account, l10n_fr_pdp, partner_autocomplete, point_of_sale, loyalty, mass_mailing, purchase, purchase_stock, mrp_subcontracting, partnership, pos_sale, pos_hr, pos_loyalty, pos_self_order, privacy_lookup, sale_gelato, snailmail, snailmail_account, website_sale, website_crm_partner_assign, website_customer, website_sale_wishlist
- Default order (_order)
complete_name ASC, id DESC- Inherits from (mixins)
- format.address.mixinformat.vat.label.mixinavatar.mixinproperties.base.definition.mixinbus.listener.mixinmail.activity.mixinmail.thread.blacklistmail.thread.phone
website.published.multi.mixinwebsite.seo.metadatapos.load.mixin
Model fields
203 own fields, 49 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
258 of 258 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 |
| 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_invoice_template_pdf_report_ids | Available Invoice Template Pdf Report | one2many | computed added by Invoicing ( |
| available_peppol_eas | Available Peppol Eas | json | computed added by Import/Export electronic invoices with UBL/CII ( |
| 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 ( |
| 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 |
| 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 | Contact | 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 | computed, stored |
| commercial_partner_id | Commercial Entity | many2one | computed, stored |
| company_id | Company | many2one | |
| company_name | Company Name | char | |
| company_registry | Company ID The registry number of the company. Use it if it is different from the Tax ID. It must be unique across all partners of a same country | char | computed, stored |
| company_registry_label | Company ID Label | char | computed |
| company_registry_placeholder | Company Registry Placeholder | char | computed |
| company_type | Company Type | selection | computed Values: |
| complete_name | Complete Name | char | computed, stored |
| contact_address | Complete Address | char | computed |
| contact_address_inline | Inlined Complete Address | char | computed added by Discuss ( |
| 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 Date | 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 | added by Invoicing ( |
| duplicate_bank_partner_ids | Duplicate Bank Partner | many2many | related: 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 | added by Add Partner GLN ( |
| 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 ( |
| iap_enrich_info | IAP Enrich Info IAP response stored as a JSON string | text | computed added by Mail Plugin ( |
| iap_search_domain | Search Domain / Email | char | computed added by Mail Plugin ( |
| 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 ( |
| im_status | IM Status | char | computed added by Discuss ( |
| implemented_partner_count | Implemented Partner Count | integer | computed, stored added by Resellers ( |
| implemented_partner_ids | Implementation References | one2many | inverse: added by Resellers ( |
| 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 | |
| is_in_call | Is In Call | boolean | computed added by Discuss ( |
| is_mondialrelay | Is Mondialrelay | boolean | computed added by delivery_mondialrelay ( |
| is_peppol_edi_format | Is Peppol Edi Format | boolean | computed added by Import/Export electronic invoices with UBL/CII ( |
| is_pickup_location | Is Pickup Location | boolean | added by Delivery Costs ( |
| 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 ( |
| 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 ( |
| 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_ids | Meetings | many2many | added by Calendar ( |
| name | Name | char | |
| offline_since | Offline since | datetime | computed added by Discuss ( |
| 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_company_registry_placeholder | Partner Company Registry Placeholder | char | computed added by Invoicing ( |
| partner_latitude | Geo Latitude | float | |
| partner_longitude | Geo 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_eas | Peppol e-address (EAS) Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives. List available at https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/ | selection | computed, stored Values: added by Import/Export electronic invoices with UBL/CII ( |
| peppol_endpoint | Peppol Endpoint Unique identifier used by the BIS Billing 3.0 and its derivatives, also known as 'Endpoint ID'. | char | computed, stored added by Import/Export electronic invoices with UBL/CII ( |
| peppol_response_support | Peppol Response Service | boolean | computed added by Peppol Business Response ( |
| peppol_supported_documents | Supported Peppol Documents | json | added by Peppol Business Response ( |
| peppol_verification_state | Peppol status | selection | company-dependent Values: added by Peppol ( |
| perform_vies_validation | Perform Vies Validation | boolean | computed added by VAT Number Validation ( |
| 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 ( |
| pos_contact_address | PoS Address | char | computed added by Point of Sale ( |
| 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_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_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_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 ( |
| 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 ( |
| 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_company_registry_partner_id | Partner with same Company Registry | many2one | computed |
| same_vat_partner_id | Partner with same Tax ID | many2one | computed |
| self | Self | many2one | computed |
| 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 | Specific Property Product 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 |
| vies_valid | Intra-Community Valid European VAT numbers are automatically checked on the VIES database. | boolean | computed, stored added by VAT Number Validation ( |
| 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 Shopper's Wishlist ( |
| 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_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_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_message_ids | Website Messages Website communication history | one2many | inverse: inherited from mail.thread |
| 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.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
- calendar.event: meeting_ids
- chatbot.script: chatbot_script_ids
- crm.lead: opportunity_ids
- delivery.carrier: 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
- 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_company_registry_partner_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: 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
- applicant.send.mail: author_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.filters: partner_id
- calendar.popover.delete.wizard: recipient_ids
- chatbot.script: operator_partner_id
- choose.delivery.carrier: partner_id
- crm.activity.report: author_id, partner_id
- crm.lead: commercial_partner_id, partner_assigned_id, partner_declined_ids, partner_id
- crm.lead.assignation: partner_assigned_id
- crm.lead.forward.to.partner: partner_id
- crm.lead2opportunity.partner: commercial_partner_id, partner_id
- crm.partner.report.assign: partner_id
- crm.quotation.partner: partner_id
- discuss.channel: channel_partner_ids, livechat_agent_partner_ids, livechat_bot_partner_ids, livechat_customer_partner_ids, livechat_operator_id
- 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 113 more
Reading this model through the API
Odoo 19 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 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.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.