OdooWiki OCA HUB

Website Sale One Time Delivery Address

website_sale_one_time_delivery_address folder_open OCA/e-commerce open_in_new
Website License: AGPL-3

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

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds a one-time delivery option to the website checkout for reseller customers who allow drop-shipping, storing the entered delivery address as a temporary contact instead of a normal delivery address.

This module extends the website checkout so that resellers can ship an order to an end customer without saving that recipient in the customer's regular address book.

  • A new "Allow Drop-shipping" checkbox appears on the customer form (after the VAT field). Only customers with this flag enabled see the one-time delivery option during checkout.
  • On the checkout page, a "One-Time Delivery Address" section with a checkbox lets the shopper opt in. When enabled, an information notice appears and the "Same as delivery address" billing toggle is hidden, because billing must stay on the reseller.
  • The delivery address entered is saved as a contact of type "One-Time Delivery Address" (a temporary recipient), and the order keeps the reseller as the billing partner.
  • One-time delivery contacts are shown in the checkout address list with a dedicated "One-Time Delivery" badge, and selecting such an address automatically turns the one-time mode on; selecting any other delivery address turns it off.
  • When the sale order is confirmed, any one-time delivery contact used as the shipping address is archived (not deleted), so it stays readable on pickings and order history but disappears from the address book.

The module touches res.partner and sale.order, and adds a customer form field, checkout templates and a frontend interaction.

Depends on

sale_stockwebsite_sale
Models and fields (2)
  • sale.order · extends an existing modelallow_dropship, one_time_delivery (One-Time Delivery Address)
  • res.partner · extends an existing modeltype, allow_dropship (Allow Drop-shipping)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/e-commerce.

terminal Installation and usage

OCA documentation · Odoo 19.0

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

To enable it for a customer:

  • Open the customer's contact form.
  • 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.

To use this module, you need to:

  • Add products to the cart and go to the checkout.
  • In the delivery section, enable One-Time Delivery Address.
  • Enter the final recipient address.
  • 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.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.