Sale Partner Sale Contact
This module adds a Sale Contact field to quotations, sale orders, and invoices.
Key concept — keep the company as customer, name the person who drives the deal
In standard Odoo, partner_id is the commercial/legal counterpart of the document: it drives the fiscal position, pricelist, payment terms, receivable account and the invoice/shipping addresses. While it can technically hold a child contact, using it to store the “contact person” forces an individual into a field that is meant to represent the invoiced/contracted entity — polluting analytic accounting and reporting.
This module addresses a different need: tracking a named commercial contact person (e.g. procurement manager, project lead, key account contact) who is the day-to-day point of contact for a deal, while keeping the company as the commercial entity in partner_id. That person travels consistently across the sale order, its invoices, and (with the companion module) any generated projects — something partner_id cannot guarantee, since each document computes its own partner_id.
Billing and shipping addresses remain independent and unaffected.
This distinction is also fully compatible with B2C: when the customer is an individual without child contacts, the field simply remains empty and the ordinary Odoo workflow is unchanged.
The sale contact field allows you to:
Select a specific contact person for a sale order or quotation
Automatically propagate the contact from sale order to generated invoices
Display the contact person on PDF reports (quotations, orders, invoices)
The contact must be a child contact (person) of the selected customer.
Table of contents
Configuration
To configure the module:
Go to Settings > Sales > Quotations & Orders
Enable/disable Display sale contact on reports
This option is enabled by default
When enabled, the sale contact will appear on PDF reports for sale orders and invoices
Usage
To use this module, follow these steps:
Go to Settings > Sales > Quotations & Orders
Enable the Display sale contact on reports option to show the sale contact on PDF reports (enabled by default)
Go to Sales > Orders > Quotations or Sales > Orders > Orders
Create or open a sale order
After selecting a customer, you can select a Sale Contact from the customer’s child contacts
If the configuration option is enabled, the sale contact will appear on the printed quotation/order PDF
When you create an invoice from the sale order, the sale contact will be automatically copied to the invoice
If the configuration option is enabled, the sale contact will also appear on the printed invoice PDF
Note: Only contacts that are people (not companies) and are direct children of the selected customer will be available for selection.
Auto-switch behavior: If you select a contact person in the customer field and that person has a parent company, the system will automatically:
Set the customer field to the parent company
Set the sale contact field to the person you selected
This behavior only applies when the restriction modules (*_partner_id_company_only) are not installed.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Simon Maillard (maisim) <simon@ogesta.fr>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/sale-workflow project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Metadata
Release files for odoo-addon-sale-partner-sale-contact 16.0.1.0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| odoo_addon_sale_partner_sale_contact-16.0.1.0.0.2-py3-none-any.whl | Python 3 | none | any | Details for odoo_addon_sale_partner_sale_contact-16.0.1.0.0.2-py3-none-any.whl |
Release files / odoo_addon_sale_partner_sale_contact-16.0.1.0.0.2-py3-none-any.whl
| Download URL | odoo_addon_sale_partner_sale_contact-16.0.1.0.0.2-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3332b453e44903664a1b0bf7587514dfddbc82393576e41b38bbf88d4d49992
|
|
BLAKE2b-256 checksum How to use checksums |
404fb44e5861c3ae596d844f82ab506120c0d200425d9b17d6bd78216f5f42b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for odoo-addon-sale-partner-sale-contact 16.0.1.0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.