Skip to content
back to search

OCA/e-commerce · 19.0

Website Sale One Time Delivery Address

website_sale_one_time_delivery_address

AGPL-3Websitev19.0.1.0.0197updated about 23 hours ago

Odoo Community Association

Website Sale One Time Delivery Address

Beta License: AGPL-3 OCA/e-commerce Translate me on Weblate Try me on Runboat

This module extends the website checkout delivery flow for reseller-driven orders.

When the shopper enables the one-time delivery option during checkout, the delivery address entered on the website is stored as a child contact of the reseller with type one_time_delivery.

This allows downstream processes such as EDI to keep a dedicated recipient contact on the sale order while preserving the reseller as the billing partner.

Main behavior:

  • adds an Allow Drop-shipping flag on the customer that gates the whole flow: the one-time delivery option is only shown for customers that allow drop-shipping
  • adds a one-time delivery toggle to the checkout page
  • creates checkout delivery contacts with type one_time_delivery
  • keeps the invoice address on the reseller
  • keeps the shipping address on the temporary end-customer contact
  • makes one-time delivery contacts available in the checkout delivery address list

Table of contents

Configuration

The one-time delivery flow is only offered to customers that are allowed to drop-ship.

To enable it for a customer:

  1. Open the customer's contact form.
  2. Tick Allow Drop-shipping.

The one-time delivery option then appears on the website checkout for orders placed by that customer (the flag is read from the customer's commercial entity, so it applies to all of its contacts). Customers without the flag never see the option.

Usage

To use this module, you need to:

  1. Add products to the cart and go to the checkout.
  2. In the delivery section, enable One-Time Delivery Address.
  3. Enter the final recipient address.
  4. Submit the delivery address form.

Result:

  • a child contact is created on the reseller with type one_time_delivery
  • the sale order shipping partner points to that new contact
  • the sale order invoice partner remains the reseller, even if the browser submits a delivery-as-billing value
  • the Same as delivery address toggle is hidden while the option is enabled, so the temporary delivery address can never be reused as the billing address

If the shopper disables the option, the standard website sale delivery address behavior is kept and a regular delivery address is created instead.

Automatic archiving

One-time delivery contacts are temporary by nature. As soon as the sale order is confirmed, its one_time_delivery shipping contact is automatically archived so it stops cluttering the address book. Archiving is reversible and the contact remains readable on the related stock pickings and order history.

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

Authors

  • Camptocamp

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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.

This module is part of the OCA/e-commerce project on GitHub.

You are welcome to contribute. To learn how please visit <https://odoo-community.org/page/Contribute>.