Metadata-Version: 2.1
Name: odoo-addon-website_sale_one_time_delivery_address
Version: 19.0.1.0.0.2
Requires-Dist: odoo==19.0.*
Summary: Create one-time delivery contacts from checkout delivery addresses
Home-page: https://github.com/OCA/e-commerce
License: AGPL-3
Author: Camptocamp, Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 19.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Development Status :: 4 - Beta
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

======================================
Website Sale One Time Delivery Address
======================================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:0829c2b6fec8f8953e015d041ff669cd3929e9f6dca9f545bd86c6685cb5596b
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
    :target: https://github.com/OCA/e-commerce/tree/19.0/website_sale_one_time_delivery_address
    :alt: OCA/e-commerce
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/e-commerce-19-0/e-commerce-19-0-website_sale_one_time_delivery_address
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/e-commerce&target_branch=19.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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**

.. contents::
   :local:

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 <https://github.com/OCA/e-commerce/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 <https://github.com/OCA/e-commerce/issues/new?body=module:%20website_sale_one_time_delivery_address%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Camptocamp

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

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 <https://github.com/OCA/e-commerce/tree/19.0/website_sale_one_time_delivery_address>`_ project on GitHub.

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