Skip to Content
Menu
This question has been flagged
2 Replies
2238 Views

Hello,

I'm trying to implement the Sales module now. When I make an order to a company (Company X), I'd like the invoice and delivery addresses to include the name of a specific contact (Cool Dude). However, if I already have a contact for Cool Dude, I don't want to see two other contacts with the same name just for the purposes of invoice address and delivery address. 

Is there a way to set an existing contact as the default address for delivery and invoicing? 

I know there is the feature to select a specific invoice and delivery address on each order, but I don't want to have to select Cool Dude every time I create an order for this customer. 

What options do I have?


We are using Odoo Online, so please, only solutions that use Odoo Studio.

Avatar
Discard

Ping! I'd like to see an answer to your question as well.

Best Answer

Hi,

In Odoo, you can set default delivery and invoice addresses for a company by configuring them in the Contacts & Addresses tab within the main contact (company) form. To do this, open the parent company’s contact record, go to the Contacts & Addresses tab, and ensure the related contacts (e.g., "Cool Dude") are listed as child contacts with the appropriate Address Type set—either “Invoice” or “Delivery.” When these address types are properly assigned, Odoo will automatically use those contacts as the default invoice and delivery addresses when you create a sales order, purchase order, or invoice for that company.


Hope it helps

Avatar
Discard
Best Answer

To set an existing contact as the default invoice or delivery address for a company in Odoo Online (using Odoo Studio), follow these steps:

1. Understand Address Fields in Odoo

  • Odoo’s Sales module allows you to associate specific invoice and delivery addresses with a customer.
  • These addresses are typically linked to the Parent Company and stored as child contacts (e.g., type='invoice' or type='delivery').

2. Use Odoo Studio to Set Defaults

Since you are using Odoo Online, Odoo Studio can help configure these defaults.

Steps:

  1. Activate Odoo Studio:
    • Go to your Sales > Customers menu.
    • Open Odoo Studio by clicking the Studio icon in the top-right corner.
  2. Open the Customer Form View:
    • In Studio, navigate to the form view of the customer.
    • Ensure the Contact & Addresses section is visible.
  3. Add Fields for Default Invoice and Delivery Contacts:
    • Drag and drop Many2one fields onto the form.
    • Configure these fields:
      • Field for Default Invoice Contact:
        • Related Model: res.partner.
        • Field Name: x_default_invoice_contact.
        • Label: "Default Invoice Contact".
      • Field for Default Delivery Contact:
        • Related Model: res.partner.
        • Field Name: x_default_delivery_contact.
        • Label: "Default Delivery Contact".
  4. Set Default Values:
    • Once the fields are added, edit the customer record for Company X.
    • Select the existing contact (e.g., Cool Dude) as the default invoice and delivery contact.

3. Automatically Populate Sales Orders

You need to use Studio's automation features to automatically populate the invoice and delivery address fields on Sales Orders.

Steps:

  1. Add an Automated Action in Studio:
    • In Studio, create an Automated Action for the Sales Order model (sale.order).
    • Configure the action:
      • Trigger Condition: "On Creation".
      • Python Code:
        if record.partner_id.x_default_invoice_contact:
            record.partner_invoice_id = record.partner_id.x_default_invoice_contact
        if record.partner_id.x_default_delivery_contact:
            record.partner_shipping_id = record.partner_id.x_default_delivery_contact
        
  2. Save and Test:
    • Save the action.
    • Create a new Sales Order for Company X, and verify that the default invoice and delivery addresses are automatically populated.

4. Optional: Adjust the Customer Form View

To avoid confusion when managing customer records, you can hide or disable the system-generated "Invoice Address" and "Delivery Address" fields in the form view. Use Studio to ensure your custom fields are prominent.

5. Benefits of This Approach

  • Reuses Existing Contacts: Avoids creating duplicate contacts for the same person.
  • Saves Time: Automatically sets invoice and delivery addresses without manual selection for each Sales Order.
  • Uses Studio: Fully compliant with Odoo Online’s no-code/low-code approach.

6. Troubleshooting

  • If the automation doesn’t work as expected:
    • Verify that the x_default_invoice_contact and x_default_delivery_contact fields are properly populated in the customer record.
    • Check for errors in the automated action configuration.

By implementing these changes, you can efficiently manage default addresses for your customers in Odoo Online without creating redundant contact records. Let me know if you need further assistance!

Avatar
Discard
Related Posts Replies Views Activity
5
Mar 15
21304
0
Oct 22
2208
4
Aug 22
7779
1
Feb 23
3215
3
Dec 22
3231