Compare commits

...

20 Commits

Author SHA1 Message Date
Jonathan Castillo (jcs)
c68d2e41ab [FIX] accounting: mark salt edge bank sync provider available worldwide
task-3329454
2023-05-17 08:28:01 +02:00
Odoo Translation Bot
65f41f393e [I18N] Update translation terms from Transifex 2023-05-14 02:40:09 +02:00
Antoine Vandevenne (anv)
b48ffacd8c [IMP] tutorials/getting_started: rework the environment setup guide
This commit replaces a big chunk of the instructions relative to the
environment setup with a reference to the equivalent steps listed in the
contribution guide. It also moves the content of the "Create your first
PR" section from chapter 16 to chapter 2, as readers were struggling
with the Git configuration required to push their work to GitHub as they
progressed through the tutorial.

closes odoo/documentation#4380

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-05-10 14:03:00 +02:00
Tom Aarab (toaa)
767ee598ac [IMP] accounting: follow-up reports
taskid-2057352.

Forward to master.

closes odoo/documentation#4376

Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-05-10 08:40:53 +02:00
Loredana Perazzo
6740ad7811 [IMP] pos: note about businesses requirements to use Adyen
task-3251524

closes odoo/documentation#4366

Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-05-08 18:21:03 +02:00
Loredana Perazzo
89a1a95a2b [IMP] pos: correct a typo in note
task-3296759

closes odoo/documentation#4354

Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-08 14:05:56 +02:00
Xavier
1a657194ab [IMP] upgrade: clarify and update the SLA section
task-3300955

closes odoo/documentation#4344

Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-05-08 11:41:38 +02:00
Odoo Translation Bot
3ee64ef99f [I18N] Update translation terms from Transifex 2023-05-07 02:40:08 +02:00
Sam Lieber (sali)
fd657301d8 [IMP] inventory: delivery orders and incoming shipments restructure
closes odoo/documentation#3762

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-04 01:29:02 +02:00
John Holton (hojo)
9b04ed1d01 [ADD] Inventory: add create second warehouse
closes odoo/documentation#3842

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-05-02 00:14:44 +02:00
Odoo Translation Bot
30b457fb4e [I18N] Update translation terms from Transifex 2023-04-30 02:40:35 +02:00
Timothy Kukulka (tiku)
5b63bfcba9 [IMP] Google Oauth Docs edits final review
closes odoo/documentation#3965

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-28 22:53:41 +02:00
tiku-odoo
330ce42cef [IMP]Maintain:Fix typo in Azure Mail
closes odoo/documentation#4278

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-26 19:39:48 +02:00
Sam Lieber (sali)
50824b6677 [REF] surveys: remove overview folder
closes odoo/documentation#3803

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-26 04:09:40 +02:00
Brandon Seltenrich (BRSE)
c2409d8a52 [IMP] inventory: update stock_warehouses
closes odoo/documentation#3588

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-25 20:53:17 +02:00
Jonathan
817e332160 [IMP] contributing/dev: add cd command to the git config section
closes odoo/documentation#4253

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-25 11:08:39 +02:00
Odoo Translation Bot
ba1105bff7 [I18N] Update translation terms from Transifex 2023-04-23 02:40:38 +02:00
Jonathan
5cb7eb5024 [MOV] pos: fiscal_position to "pricing" section
task-3284514

closes odoo/documentation#4236

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-21 23:00:51 +02:00
KC (ksc)
42148acbec [ADD] social marketing: added social marketing documentation to v14
closes odoo/documentation#2554

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-21 21:16:44 +02:00
Jonathan
7b2a178e82 [MOV] pos: restructuration of pos toctree
task-3284514

closes odoo/documentation#4226

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-21 17:52:56 +02:00
311 changed files with 2689 additions and 1711 deletions

View File

@@ -43,7 +43,7 @@ API permissions
---------------
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
able to read (IMAP) and send (IMAP) emails in the Microsoft 365 setup. First, click the
able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the
:guilabel:`(+) Add a Permission` button and select :guilabel:`Microsoft Graph` under
:guilabel:`Commonly Used Microsoft APIs`. After, select the :guilabel:`Delegated Permissions`

View File

@@ -21,64 +21,87 @@ Setup in Google
Create a new project
--------------------
To get started, go to the `Google API Platform
<https://console.cloud.google.com/apis/credentials/consent>`_. Log in with your *Google Workspace*
account if you have one, otherwise log in with your personal Gmail account (this should match the
email address you want to configure in Odoo).
To get started, go to the `Google API Console <https://console.developers.google.com>`_. Log in
with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail
account (this should match the email address you want to configure in Odoo).
After that, click on :guilabel:`Create Project`, located on the far right of the OAuth consent
screen. If a project has already been created in this account, then the :guilabel:`New Project`
option will be located on the top left under the :guilabel:`Select a project` drop-down menu.
After that, click on :guilabel:`Create Project`, located on the far right of the :guilabel:`OAuth
consent screen`. If a project has already been created in this account, then the :guilabel:`New
Project` option will be located on the top right under the :guilabel:`Select a project` drop-down
menu.
On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and browse for
the :guilabel:`Location`. Set the :guilabel:`Location` as the `Google Workspace` organization. If
you are using a personal Gmail account, then leave the :guilabel:`Location` as `No Organization`.
On the :menuselection:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and
browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace
organization*. If you are using a personal Gmail account, then leave the :guilabel:`Location` as
:guilabel:`No Organization`.
.. image:: google_oauth/new-project.png
:align: center
:alt: Project Name and Location for Google Oauth.
:alt: Project Name and Location for Google OAuth.
Click on :guilabel:`Create` to finish this step. On the next screen, :guilabel:`User Type` options,
select the :guilabel:`External` option, and then click on :guilabel:`Create` again, which will
finally navigate to the :guilabel:`Edit app registration` page.
Click on :guilabel:`Create` to finish this step.
OAuth consent screen
--------------------
If the page doesn't redirect to the :menuselection:`User Type` options, click on :guilabel:`OAuth
consent screen` in the left menu.
Under :guilabel:`User Type` options, select the appropriate :guilabel:`User Type`, and then click on
:guilabel:`Create` again, which will finally navigate to the :menuselection:`Edit app registration`
page.
.. warning::
*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may
require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account
allows for **Internal** User Type to be used.
Note, as well, that while the API connection is in the *External* testing mode, then no approval is
necessary from Google. User limits in this testing mode is set to 100 users.
Edit app registration
---------------------
- On the :guilabel:`Oauth consent screen` step, under the :guilabel:`App information` section,
enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
:guilabel:`User support` email field.
- Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain`
and enter `odoo.com`.
- After that, under the :guilabel:`Developer contact information` section, enter the organization's
email address. Google uses this email address to notify the organization about any changes to
your project.
- Next, click on the :guilabel:`Save and Continue` button.
- Then, skip the :guilabel:`Scopes` page by scrolling to the bottom and clicking on
:guilabel:`Save and Continue`.
- Next, add the email being configured under the :guilabel:`Test users` step by clicking on
:guilabel:`Add Users` and then the :guilabel:`Save and Continue` button. A summary of the
:guilabel:`App registration` appears.
- Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard`.
Next we will configure the app registration of the project.
On the :guilabel:`OAuth consent screen` step, under the :guilabel:`App information` section, enter
`Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
:guilabel:`User support` email field.
Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` and
enter `odoo.com`.
After that, under the :guilabel:`Developer contact information` section, enter the organization's
email address. Google uses this email address to notify the organization about any changes to your
project.
Next, click on the :guilabel:`Save and Continue` button. Then, skip the :menuselection:`Scopes` page
by scrolling to the bottom and clicking on :guilabel:`Save and Continue`.
If continuing in testing mode (External), add the email addresses being configured under the
:guilabel:`Test users` step, by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and
Continue` button. A summary of the app registration appears.
Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard` to finish setting up the
project.
Create Credentials
------------------
Now that you have set up the project, you need to create credentials, which includes the
:guilabel:`Client ID` and :guilabel:`Client Secret`. First, click on :guilabel:`Credentials` in the
left sidebar menu.
Now that the project is set up, credentials should be created, which includes the *Client ID* and
*Client Secret*. First, click on :guilabel:`Credentials` in the left sidebar menu.
Then, click on :guilabel:`Create Credentials` in the top menu and select
:guilabel:`OAuth client ID` from the dropdown menu.
Then, click on :guilabel:`Create Credentials` in the top menu and select :guilabel:`OAuth client ID`
from the dropdown menu.
- Under :guilabel:`Application Type`, select :guilabel:`Web Application` from the dropdown menu.
- In the :guilabel:`Client ID` field, enter `Odoo`.
- In the :guilabel:`Name` field, enter `Odoo`.
- Under the :guilabel:`Authorized redirect URIs` label, click the button :guilabel:`ADD URI`, and
then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. Be
sure to replace the *yourdbname* part of the URL with your actual Odoo database name.
- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and
:guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in
Odoo, and then navigate to the Odoo database.
then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field.
Be sure to replace the *yourdbname* part of the URL with the actual Odoo database name.
- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client
Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then
navigate to the Odoo database.
.. image:: google_oauth/client-credentials.png
:align: center
@@ -91,32 +114,37 @@ Enter Google Credentials
------------------------
First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps`
filter from the search bar and type in `Google`. Install the module called :guilabel:`Google Gmail`.
filter from the search bar and type in `Google`. Install the module called :guilabel:`Google
Gmail`.
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates a
new option for :guilabel:`Gmail Credentials`. Then, copy and paste the :guilabel:`Client ID` and
:guilabel:`Client Secret` into the respective fields and :guilabel:`Save` the settings.
section, ensure that the checkbox for :guilabel:`Custom Email Servers` or :guilabel:`External Email
Servers` is checked. This populates a new option for :guilabel:`Gmail Credentials` or :guilabel:`Use
a Gmail Sever`. Then, copy and paste the respective values into the :guilabel:`Client ID` and
:guilabel:`Client Secret` fields and :guilabel:`Save` the settings.
Configure outgoing email server
-------------------------------
After that, on the :guilabel:`General Settings` page, under :guilabel:`Custom Email Servers`, click
:guilabel:`Outgoing Email Servers` to configure the external Gmail account.
To configure the external Gmail account, return to the top of the :guilabel:`Custom Email Servers`
setting and then click the :guilabel:`Outgoing Email Servers` link.
.. image:: google_oauth/outgoing-servers.png
:align: center
:alt: Configure Outgoing Email Servers in Odoo.
Then, :guilabel:`Create` a new email server and select the option for :guilabel:`Gmail`. Next, fill
in the :guilabel:`Description` (can be anything) and the email :guilabel:`Username` and click on
:guilabel:`Connect your Gmail account`.
Then, click on :guilabel:`New` or :guilabel:`Create` to create a new email server, and fill in the
:guilabel:`Name`, :guilabel:`Description`, and the email :guilabel:`Username` (if required).
A new window from :guilabel:`Google` opens to complete the authorization process. Select the
Next, click on :guilabel:`Gmail OAuth Authentication` or :guilabel:`Gmail` (under the
:guilabel:`Authenticate with` or :guilabel:`Connection` section). Finally, click on
:guilabel:`Connect your Gmail Account`.
A new window labeled :guilabel:`Google` opens to complete the authorization process. Select the
appropriate email address that is being configured in Odoo.
If the email address is a personal account, an extra step pops up, click :guilabel:`Continue` to
allow the verification and connect the Gmail account to Odoo.
If the email address is a personal account, then an extra step pops up, so click
:guilabel:`Continue` to allow the verification and connect the Gmail account to Odoo.
Then, allow Odoo to access the Google account by clicking on :guilabel:`Continue` or
:guilabel:`Allow`. After that, the page navigates back to the newly configured outgoing email
@@ -127,9 +155,8 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t
:align: center
:alt: Configure Outgoing Email Servers in Odoo.
Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should
appear. The Odoo database can now send safe, secure emails through Google using OAuth
authentication.
Finally, :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database
can now send safe, secure emails through Google using OAuth authentication.
Google OAuth FAQ
================
@@ -137,8 +164,8 @@ Google OAuth FAQ
Production VS Testing Publishing Status
---------------------------------------
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of Testing) will
display the following warning message:
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of
:guilabel:`Testing`) will display the following warning message:
.. image:: google_oauth/published-status.png
:align: center
@@ -158,39 +185,35 @@ populate.
:align: center
:alt: 403 Access Denied Error.
To correct this error, return to the :guilabel:`OAuth consent screen` under
:guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring
in Odoo.
To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs &
Services` and add test user(s) to the app. Add the email that you are configuring in Odoo.
Gmail Module not updated
------------------------
If the :guilabel:`Gmail Module` in Odoo has not been updated to the latest version, then a
If the *Google Gmail* module in Odoo has not been updated to the latest version, then a
:guilabel:`Forbidden` error message populates.
.. image:: google_oauth/forbidden-error.png
:align: center
:alt: Forbidden you don't have the permission to access the requested resource.
To correct this error, go to the :guilabel:`Apps` module and clear out the search terms. Then,
search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click on
the three dots on the upper right of the module and select :guilabel:`Upgrade`.
To correct this error, go to the :menuselection:`Apps` module and clear out the search terms. Then,
search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click
on the three dots on the upper right of the module and select :guilabel:`Upgrade`.
Application Type
----------------
When creating the :guilabel:`Credentials` (OAuth Client ID and Client Secret), if
:guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an
:guilabel:`Authorization Error` appears.
When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is
selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears.
.. image:: google_oauth/error-400.png
:align: center
:alt: Error 400 Redirect URI Mismatch.
To correct this error, delete the credentials already created and create new credentials, selecting
:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under
:guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type:
`https://yourdbname.odoo.com/google_gmail/confirm` in the field.
.. note::
Replace *yourdbname* in the URL with the Odoo database name.
:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized
redirect URIs`, click :guilabel:`ADD URI` and type:
`https://yourdbname.odoo.com/google_gmail/confirm` in the field, being sure to replace *yourdbname*
in the URL with the Odoo database name.

View File

@@ -196,7 +196,7 @@ Help
.. _upgrade/contact:
Contact our Upgrade service support
Contact our upgrade service support
-----------------------------------
Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo
@@ -219,39 +219,46 @@ upgrade again).
.. _upgrade/sla:
Service Level Agreement
=======================
Service-level agreement (SLA)
=============================
What is covered by the Enterprise Licence?
------------------------------------------
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
any support required to rectify potential discrepancies in the upgraded database.
Databases hosted on Odoo's Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
enjoy the following services at all times.
Information about the upgrade services included in the Enterprise Licence is available in the
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
upgrade services you can expect.
The upgrade of:
Upgrade services covered by the SLA
-----------------------------------
* standard applications
* Studio customization (as long as the :guilabel:`Studio` app is still active)
* customizations *if* they are covered by a "Maintenance of Customizations" subscription
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
benefit from upgrade services at all times for:
The Upgrade Service is limited to your database's technical conversion and adaptation (standard
modules and data) to make it compatible with the targeted version.
- the upgrade of all **standard applications**;
- the upgrade of all **customizations created with the Studio app**, as long as Studio is still
installed and the respective subscription is still active; and
- the upgrade of all **developments and customizations covered by a maintenance of customizations
subscription**.
What upgrading does NOT cover
-----------------------------
Upgrade services are limited to the technical conversion and adaptation of a database (standard
modules and data) to make it compatible with the version targeted by the upgrade.
* The cleaning of pre-existing data & configuration while upgrading
* Any new developments and/or upgrades of your own :ref:`custom modules
<upgrade-faq/custom-modules>`
* Lines of code added to standard modules that are not created with Odoo Studio.
* `Training <https://www.odoo.com/learn>`_ on the latest version
Upgrade services not covered by the SLA
---------------------------------------
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
Agreement <upgrade>` page.
The following upgrade-related services are **not** included:
- the **cleaning** of pre-existing data and configurations while upgrading;
- the upgrade of **custom modules created in-house or by third parties**, including Odoo partners;
- lines of **code added to standard modules**, i.e., customizations created outside the Studio app,
code entered manually, and :ref:`automated actions using Python code
<studio/automated-actions/actions>`; and
- **training** on using the upgraded version's features and workflows.
.. note:: |assistance-contact|
.. seealso::
- :doc:`upgrade/faq`
- :doc:`odoo_sh`
- :doc:`maintain/supported_versions`
- :doc:`Upgrade FAQ <upgrade/faq>`
- :doc:`Odoo.sh documentation <odoo_sh>`
- :doc:`Supported Odoo versions <maintain/supported_versions>`

View File

@@ -17,7 +17,7 @@ To connect to the banks, Odoo uses multiple web-services:
- **Plaid**: United States of America and Canada
- **Yodlee**: Worldwide
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Worldwide
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries

View File

@@ -17,11 +17,11 @@ To configure a :guilabel:`Follow-Up Action`, go to :menuselection:`Accounting --
Follow-up Levels`. Several follow-up actions are available by default, and you can customize them
any way you want or create new ones to trigger the following actions:
- Send an Email
- :ref:`Send an SMS Message <pricing/pricing_and_faq>`
- Print a Letter
- :ref:`Send a Letter <customer_invoices/snailmail>`
- Manual Action (creates a task)
- Send an email;
- :ref:`Send an SMS message <pricing/pricing_and_faq>`;
- Print a letter;
- :ref:`Send a letter <customer_invoices/snailmail>`;
- Manual action (creates a task).
It is also possible to automatically send a reminder by enabling the :guilabel:`Auto Execute`
option, within a specific :guilabel:`Follow-Up Action`.
@@ -73,3 +73,8 @@ Send reminders in batches
You can send reminder emails in batches from the :guilabel:`Follow-up Reports` page. To do so,
select all the reports you would like to process, click on the :guilabel:`Action` gear icon, and
select :guilabel:`Process follow-ups`.
.. seealso::
- :doc:`../../../../general/in_app_purchase`
- :doc:`../../../../marketing/sms_marketing/pricing/pricing_and_faq`
- :doc:`../customer_invoices/snailmail`

View File

@@ -72,9 +72,9 @@ POS.
- Sell products without a valid VAT number.
- Use a POS that is not connected to an IoT box.
- The :doc:`cash rounding <../../sales/point_of_sale/shop/cash_rounding>` feature must be activated
and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method` set as
:guilabel:`Half-Up`.
- The :doc:`cash rounding <../../sales/point_of_sale/pricing/cash_rounding>` feature must be
activated and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method`
set as :guilabel:`Half-Up`.
- Taxes must be set as included in the price. To set it up, go to :menuselection:`Point of Sale -->
Configuration --> Settings`, and from the :guilabel:`Taxes` section, open the :guilabel:`Default
Sales Tax` form by clicking the arrow next to the default sales tax field. There, click

View File

@@ -2,14 +2,14 @@
Google Sign-In Authentication
=============================
The **Google Sign-In Authentication** is a useful function that allows your users to sign in to Odoo
with their Google account.
The *Google Sign-In Authentication* is a useful function that allows Odoo users to sign in to their
database with their Google account.
This is particularly helpful if your organization uses Google Workforce and you want the employees
within your organization to connect to Odoo with their Google Accounts.
This is particularly helpful if the organization uses Google Workspace, and wants employees within
the organization to connect to Odoo using their Google Accounts.
.. seealso::
- :doc:`../../productivity/calendar/google`
- :doc:`/applications/productivity/calendar/google`
- :doc:`/administration/maintain/google_oauth`
.. _google-sign-in/configuration:
@@ -17,7 +17,7 @@ within your organization to connect to Odoo with their Google Accounts.
Configuration
=============
The integration of the Google sign-in function requires configuration both on Google and on Odoo.
The integration of the Google sign-in function requires configuration both on Google *and* Odoo.
.. _google-sign-in/api:
@@ -25,15 +25,16 @@ Google API Dashboard
--------------------
#. Go to the `Google API Dashboard <https://console.developers.google.com/>`_.
#. Make sure the right project is opened. If you don't have a project yet, click on *Create
Project*, fill out the project name and other details of your company, and click on *Create*.
#. Make sure the right project is opened. If there isn't a project yet, click on :guilabel:`Create
Project`, fill out the project name and other details of the company, and click on
:guilabel:`Create`.
.. image:: google/new-project-details.png
:align: center
:alt: Filling out the details of a new project
:alt: Filling out the details of a new project.
.. tip::
Choose the name of your own company from the drop-down menu.
Choose the name of the company from the drop-down menu.
.. _google-sign-in/oauth:
@@ -44,16 +45,30 @@ OAuth consent screen
.. image:: google/consent-selection.png
:align: center
:alt: Google oauth consent selection menu
:alt: Google OAuth consent selection menu.
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
#. Choose one of the options (:guilabel:`Internal` / :guilabel:`External`), and click on
:guilabel:`Create`.
.. image:: google/consent.png
:align: center
:alt: Choice of a user type in oauth consent
:alt: Choice of a user type in OAuth consent.
#. Fill out your details and domain info, then click on *Save and Continue*.
#. On the **Scopes** page, leave all fields as is, and click on *Save and Continue*.
.. warning::
*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google
may require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace*
account allows for **Internal** User Type to be used.
Note, as well, that while the API connection is in the *External* testing mode, then no
approval is necessary from Google. User limits in this testing mode is set to 100 users.
#. Fill out the required details and domain info, then click on :guilabel:`Save and Continue`.
#. On the :menuselection:`Scopes` page, leave all fields as is, and click on :guilabel:`Save and
Continue`.
#. Next, if continuing in testing mode (*External*), add the email addresses being configured under
the :guilabel:`Test users` step by clicking on :guilabel:`Add Users`, and then the
:guilabel:`Save and Continue` button. A summary of the app registration appears.
#. Finally, scroll to the bottom, and click on :guilabel:`Back to Dashboard`.
.. _google-sign-in/credentials:
@@ -64,24 +79,24 @@ Credentials
.. image:: google/credentials-button.png
:align: center
:alt: Credentials button menu
:alt: Credentials button menu.
#. Click on *Create Credentials* and select **OAuth client ID**.
#. Click on :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`.
.. image:: google/client-id.png
:align: center
:alt: Oauth client id selection
:alt: OAuth client id selection.
#. Select **Web Application** as the Application type. Now configure the allowed pages on which you
will be redirected.
#. Select :guilabel:`Web Application` as the :guilabel:`Application Type`. Now, configure the
allowed pages on which Odoo will be redirected.
In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain
immediately followed by ``/auth_oauth/signin``. For example:
``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*.
In order to achieve this, in the :guilabel:`Authorized redirect URIs` field, enter the database's
domain immediately followed by `/auth_oauth/signin`. For example:
`https://mydomain.odoo.com/auth_oauth/signin`, then click on :guilabel:`Create`.
.. image:: google/create-client-id.png
:align: center
:alt: Creating oauth client id
#. Now that the *OAuth client* has been created, a screen will appear with the :guilabel:`Client ID`
and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID` for later, as it will be necessary
for the configuration in Odoo, which will be covered in the following steps.
.. _google-sign-in/auth-odoo:
@@ -93,47 +108,53 @@ Google Authentication on Odoo
Retrieve the Client ID
~~~~~~~~~~~~~~~~~~~~~~
Once you have done the previous steps, two keys are generated on the Google API Dashboard: *Client
ID* and *Client Secret*. Copy the *Client ID*.
Once the previous steps are complete, two keys are generated on the Google API Dashboard:
:guilabel:`Client ID` and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID`.
.. image:: google/secret-ids.png
:align: center
:alt: Google OAuth Client ID generated
:alt: Google OAuth Client ID generated.
.. _google-sign-in/odoo-activation:
Odoo activation
~~~~~~~~~~~~~~~
#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate **OAuth
Authentication**.
#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate :guilabel:`OAuth
Authentication`.
.. note::
You may have to log in again after this step.
Odoo may prompt the user to log-in again after this step.
#. Go back to :menuselection:`General Settings --> Integrations`, activate **Google
Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and
*Save*.
#. Go back to :menuselection:`General Settings --> Integrations --> OAuth Authentication`, activate
the selection and :guilabel:`Save`. Next, return to :menuselection:`General Settings -->
Integrations --> Google Authentication` and activate the selection. Then fill out the
:guilabel:`Client ID` with the key from the Google API Dashboard, and :guilabel:`Save`.
.. image:: google/odoo-client-id.png
:align: center
:alt: Filling out the client id in Odoo settings
:alt: Filling out the client id in Odoo settings.
.. note::
Google OAuth2 configuration can also be accessed by clicking on :guilabel:`OAuth Providers`
under the :guilabel:`OAuth Authentication` heading in :menuselection:`Integrations`.
.. _google-sign-in/log-in:
Log in to Odoo with Google
==========================
To link your Google account to your Odoo profile, click on *Log in with Google* when you are asked
to choose a new password.
To link the Google account to the Odoo profile, click on :guilabel:`Log in with Google` when first
logging into Odoo.
.. image:: google/first-login.png
:align: center
:alt: Reset password screen with "Log in with Google" button
:alt: Reset password screen with "Log in with Google" button.
Existing users must :ref:`reset their password <users/reset-password>` to access the *reset
password* page, while new users can directly click on *Log in with Google* instead of choosing a new
password.
Existing users must :ref:`reset their password <users/reset-password>` to access the
:menuselection:`Reset Password` page, while new users can directly click on :guilabel:`Log in with
Google`, instead of choosing a new password.
.. seealso::
- `Google Cloud Platform Console Help - Setting up OAuth 2.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -10,8 +10,7 @@ Warehouse Management
management/products
management/warehouses
management/delivery
management/incoming
management/shipments_deliveries
management/misc
management/planning
management/lots_serial_numbers

View File

@@ -1,16 +0,0 @@
:nosearch:
===============
Delivery Orders
===============
.. toctree::
:titlesonly:
:glob:
delivery/inventory_flow
delivery/one_step
delivery/two_steps
delivery/three_steps
delivery/dropshipping
delivery/label_type

View File

@@ -1,52 +0,0 @@
=================================================================
How to choose the right inventory flow to handle delivery orders?
=================================================================
Depending on factors such as the type of items you sell, the size of
your warehouse, the number of orders you register everyday... the way you
handle deliveries to your customers can vary a lot.
Odoo allows you to handle shipping from your warehouse in 3 different
ways:
- **One step (shipping)**: Ship directly from stock
- **Two steps (pick + ship)**: Bring goods to output location before
shipping
- **Three steps (pick + pack + ship)**: Make packages into a dedicated
location, then bring them to the output location for shipping
For companies having a rather small warehouse and that do not require
high stock of items or don't sell perishable items, a one step shipping
is the simplest solution, as it does not require a lot of configuration
and allows to handle orders very quickly.
Using inventory methods such as FIFO, LIFO and FEFO require to have at
least two steps to handle a shipment. The picking method will be
determined by the removal strategy, and the items removed will then be
shipped to the customer. This method is also interesting if you hold
larger stocks and especially when the items you stock are big in size.
The three steps system becomes useful in more specific situations, the
main one being for handling very large stocks. The items are transferred
to a packing area, where they will be assembled by area of destination,
and then set to outbound trucks for final delivery to the customers.
Configuration
=============
One step flow
-------------
Please read documentation on :doc:`one_step`
Two steps flow
--------------
Please read documentation on :doc:`two_steps`
Three steps flow
----------------
Please read documentation on :doc:`three_steps`

View File

@@ -1,53 +0,0 @@
================================
How can I change the label type?
================================
Overview
========
With Odoo, you can choose among different types of labels for your
delivery orders. Follow the steps below and give an appropriate label
type to your delivery.
Configuration
=============
In the **Inventory** module, Go to **Configuration** and click on
**Delivery methods**.
Choose a delivery method and then click on **Edit**.
.. image:: label_type/label_type01.png
:align: center
In the **Pricing** tab, under **Fedex label stock type**, you can choose
one of the label types available. The availability will vary depending
on the carrier.
.. image:: label_type/label_type02.png
:align: center
Once this is done, you can see the result if you go to the Sales module
and you create a new sale order.
As you confirm the sale and validate the delivery with the carrier for
which you have modified the label type, The label will appear in your
history.
.. image:: label_type/label_type03.png
:align: center
.. image:: label_type/label_type04.png
:align: center
.. image:: label_type/label_type05.png
:align: center
The default label type is paper letter, and if you choose the label type
bottom half for example, here is the difference :
.. image:: label_type/label_type06.png
:align: center
.. image:: label_type/label_type07.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

View File

@@ -1,55 +0,0 @@
==============================================
Process Delivery Orders in one Step (Shipping)
==============================================
There is no configuration needed to deliver in one step. The default
outgoing shipments are configured to be directly delivered from the
stock to the customers.
However, if advanced routes have been activated and you set another
shipping configuration on your warehouse, you can set it back to the
one-step delivery configuration. Go to :menuselection:`Inventory --> Configuration --> Warehouses`
and edit the warehouse in question.
Then, choose *Deliver goods directly* as your *Outgoing Shipments*
strategy.
.. image:: one_step/one_step_01.png
:align: center
Create a Sales Order
====================
In the *Sales* application, create a quotation with some storable
products to deliver and confirm it.
Notice that we now see 1 delivery associated with this *sales order*
in the stat button above the sales order. If you click on the 1 Delivery
stat button, you should now see your delivery order.
.. image:: one_step/one_step_02.png
:align: center
Process a Delivery
==================
You can also find the *delivery order* directly from the *Inventory*
application. In the dashboard, you can click the *1 TO PROCESS* button
under the Delivery Orders Kanban card.
.. image:: one_step/one_step_03.png
:align: center
Enter the picking that you want to process. You will be able to click on
*Validate* to complete the move if you have products in stock.
.. image:: one_step/one_step_04.png
:align: center
Once you *Validate* the delivery order, the products leave your
*WH/Stock location* and are moved to the *Customer location*. You
can easily see that the delivery took place thanks to the status of the
document which is now *Done*.
.. image:: one_step/one_step_05.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,104 +0,0 @@
===========================================================
Process Delivery Orders in three Steps (Pick + Pack + Ship)
===========================================================
When an order goes to the shipping department for final delivery, Odoo
is set up by default to utilize a one-step operation: once all goods are
available, they are able to be shipped in a single delivery order.
However, that process may not reflect reality and your company could
require more steps before shipping.
With the delivery in 3 steps (Pick + Pack + Ship), the items will be
picked to be transferred to a packing area. Then, they will be moved to
an output location before being effectively shipped to the customers.
Activate Multi-Step Routes
==========================
The first step is to allow using *multi-step routes*. Indeed, routes
provide a mechanism to chain different actions together. In this case,
we will chain the picking step to the shipping step.
To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
activate the option. Note that activating *Multi-Step
Routes* will also activate *Storage Locations*.
.. image:: three_steps/three_steps_01.png
:align: center
Configure Warehouse for Delivery in 3 Steps
===========================================
Once *Multi-Step Routes* has been activated, you can go to
:menuselection:`Inventory --> Configuration --> Warehouse` and enter the warehouse which will use
delivery in 3 steps. You can then select the option *Pack goods, send
goods in output and then deliver (3 steps)* for *Outgoing Shipments*.
.. image:: three_steps/three_steps_02.png
:align: center
Activating this option will lead to the creation of two new locations,
*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory -->
Configuration --> Locations`, *Select* the one you want to rename and update its name.
Create a Sales Order
====================
In the *Sales* application, you can create a quotation with some
storable products to deliver. Once you confirm the quotation, three
pickings will be created and automatically linked to your sale order.
.. image:: three_steps/three_steps_03.png
:align: center
If you click the button, you should now see three different pickings:
1. The first one with a reference PICK to designate the picking process,
2. The second one with the reference PACK that is the packing process,
3. The last one with a reference OUT to designate the shipping process.
.. image:: three_steps/three_steps_04.png
:align: center
Process the Picking, Packing, and Delivery
==========================================
The picking operation is the first one to be processed and has a
*Ready* status while the other ones are *Waiting Another Operation*.
The Packing operation will become *Ready* as soon as the picking one
is marked as done.
You can enter the picking operation from here, or access it through the
inventory dashboard.
.. image:: three_steps/three_steps_05.png
:align: center
In case you have the product in stock, it has automatically been
reserved and you can simply validate the picking document.
.. image:: three_steps/three_steps_06.png
:align: center
Once the picking has been validated, the packing order is ready to be
processed. Thanks to the fact that the documents are chained, the
products which have been previously picked are automatically reserved on
the packing order which can be directly validated.
.. image:: three_steps/three_steps_07.png
:align: center
.. image:: three_steps/three_steps_08.png
:align: center
Once the packing has been validated, the delivery order is ready to be
processed. Here again, it is directly ready to be validated in order to
transfer the products to the customer location.
.. image:: three_steps/three_steps_09.png
:align: center
.. image:: three_steps/three_steps_10.png
:align: center

View File

@@ -1,92 +0,0 @@
==================================================
Process Delivery Orders in two Steps (Pick + Ship)
==================================================
When an order goes to the shipping department for final delivery, Odoo
is set up by default to utilize a one-step operation: once all goods are
available, they are able to be shipped in a single delivery order.
However, your company's business process may have one or more steps that
happen before shipping. In the two steps process, the products which are
part of the delivery order are picked in the warehouse and brought to an
output location before being effectively shipped.
Activate Multi-Step Routes
==========================
The first step is to allow using *multi-step routes*. Indeed, routes
provide a mechanism to chain different actions together. In this case,
we will chain the picking step to the shipping step.
To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
activate the option. Note that activating *Multi-Step Routes* will also
activate *Storage Locations*.
.. image:: two_steps/two_steps_01.png
:align: center
Warehouse configuration
=======================
Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory -->
Configuration --> Warehouse` and enter the warehouse which will use
delivery in 2 steps. You can then select the option *Send goods in
output and then deliver (2 steps)* for Outgoing Shipments.
.. image:: two_steps/two_steps_02.png
:align: center
Activating this option will lead to the creation of a new *Output*
location. If you want to rename it go to :menuselection:`Inventory --> Configuration -->
Locations`, Select Output and update its name.
.. image:: two_steps/two_steps_03.png
:align: center
Create a Sales Order
====================
In the *Sales* application, you can create a quotation with some
storable products to deliver. Once you confirm the quotation, two
pickings will be created and automatically linked to your sale order.
.. image:: two_steps/two_steps_04.png
:align: center
If you click on the *2 Delivery* button, you should now see two
different pickings, one with a reference *PICK* to designate the
picking process and another one with a reference *OUT* to designate
the shipping process.
.. image:: two_steps/two_steps_05.png
:align: center
Process the Picking and the Delivery
====================================
The picking operation is the first one to be processed and has a
*Ready* status while the delivery operation will only become *Ready*
once the picking operation has been marked as done.
You can enter the picking operation from here, or access it through the
inventory dashboard.
.. image:: two_steps/two_steps_06.png
:align: center
In case you have the product in stock, it has automatically been
reserved and you can simply validate the picking document.
.. image:: two_steps/two_steps_07.png
:align: center
Once the picking has been validated, the delivery order is ready to be
processed. Thanks to the fact that the documents are chained, the
products which have been previously picked are automatically reserved on
the delivery order.
.. image:: two_steps/two_steps_08.png
:align: center
.. image:: two_steps/two_steps_09.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,14 +0,0 @@
:nosearch:
==================
Incoming Shipments
==================
.. toctree::
:titlesonly:
:glob:
incoming/handle_receipts
incoming/one_step
incoming/two_steps
incoming/three_steps

View File

@@ -1,69 +0,0 @@
================================================
How to choose the right flow to handle receipts?
================================================
Overview
========
Depending on factors such as the type of items you receive, the size of
your warehouse, the number of receipt you register everyday... the way you
handle receipts to your customers can vary a lot.
Odoo allows you to handle receipts from your warehouse in 3 different
ways:
- **One step**: Receive goods directly in stock.
- **Two steps**: Unload in input location then go to stock.
- **Three steps**: Unload in input location, go through a quality control
before being admitted in stock.
Odoo uses **routes** to define exactly how you will handle the different
receipt steps. The configuration is done at the level of the warehouse.
In standard, the reception is a one step process, but changing the
configuration can allow to have 2 or even 3 steps.
The principles are the following:
1. **One step**: You receive the goods directly in your stock.
2. **Two steps**: You receive the goods in an input area then transfer them
from input area to your stock. As long as the goods are not
transferred in your stock, they will not be available for further
processing.
3. **Three steps**: In many companies, it is necessary to assess the
received good. The goal is to check that the products
correspond to the quality requirements agreed with the
suppliers. Adding a quality control step in the goods receipt
process can become essential.
You receive the goods in an input area, then transfer them into
quality area for quality control. When your quality check
process finishes then you can move the goods from QC to stock.
Of course, you may change the quantity and only transfer to
Stock the quantity that is valid and decide that you will
return the quantity that is not good.
Configuration
=============
One step flow
-------------
This is the default configuration in Odoo.
Two steps flow
--------------
Please read documentation on :doc:`two_steps`
Three steps flow
----------------
Please read documentation on :doc:`three_steps`
.. seealso::
- :doc:`../delivery/inventory_flow`
- :doc:`/applications/inventory_and_mrp/purchase/advanced/analyze`

View File

@@ -1,62 +0,0 @@
=======================================
Process a Receipt in one step (Receipt)
=======================================
There is no configuration needed to receive in one step. The default
incoming shipments are configured to be directly received from the
vendors to the stock.
However, if advanced routes have been activated and you set another
incoming configuration on your warehouse, you can set it back to the
one-step receipt configuration. To do so, go to :menuselection:`Configuration -->
Warehouses` and edit the warehouse in question.
Set the *Incoming Shipments* option to *Receive goods directly (1
step)*.
.. image:: one_step/one_step_01.png
:align: center
Create a Purchase Order
=======================
To create a *Request for Quotation*, go to the *Purchase*
application and click on *Create*. Then, add some storable products to
receive and confirm the *RfQ*.
Notice that, now, we see 1 receipt associated with the purchase order
you just created. If you click on the button, you will see your receipt
order.
.. image:: one_step/one_step_02.png
:align: center
Process a Receipt
=================
You can also fin the receipt directly from the *Inventory* app. When
on the dashboard, you can click the *1 TO PROCESS* button under the
*Receipts* Kanban card. Then, you will see your receipt.
.. image:: one_step/one_step_03.png
:align: center
Now, enter the picking that you want to process. You will be able to
click on *Validate* to complete the move directly as products coming
from suppliers are considered as being always available.
.. note::
If you have :guilabel:`Storage Locations` activated, you can click the hamburger menu next to
the :guilabel:`Done quantity` to specify the location(s) where you are storing the received
product(s).
.. image:: one_step/one_step_04.png
:align: center
Once you *Validate* the receipt, the products leave the *Supplier
Location* to enter your *WH/Stock Location*. You can easily see that
the receipt took place thanks to the status of the document, which is
now *Done*.
.. image:: one_step/one_step_05.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,109 +0,0 @@
==========================================================
Process a Receipt in three steps (Input + Quality + Stock)
==========================================================
Quality is essential for most companies. To make sure we maintain quality throughout the supply
chain, it only makes sense that we assess the quality of the products received from suppliers.
To do so, we will add a quality control step.
Odoo uses routes to define how to handle the different receipt steps.
Configuration of those routes is done at the warehouse level. By default, the reception is a
one-step process, but it can also be configured to have two-steps or three-steps processes.
The three-steps flow works as follows: you receive the goods in your receiving area, then transfer
them into a quality area for quality control (QC). When the quality check is completed, the goods
that match the QC requirements are moved to stock
Activate Multi-Step Routes
==========================
The first step is to allow the use of *Multi-Step Routes*. Routes provide a mechanism to chain different
actions together. In this case, we will chain the picking step to the shipping step.
To enable *Multi-Step Routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
activate the option.
.. image:: three_steps/three_steps_01.png
:align: center
:alt: View of the features to enable in order to use multi-step routes for goods reception
.. note::
By default, activating *Multi-Step Routes* also activates *Storage
Locations*.
Configure warehouse for receipt in 3-steps
==========================================
Once *Multi-Step Routes* has been activated, go to :menuselection:`Inventory --> Configuration -->
Warehouse` and enter the warehouse which should work with the 3-steps reception. Then, select
*Receive goods in input, then quality and then stock (3 steps)* for *Incoming Shipments*.
.. image:: three_steps/three_steps_02.png
:align: center
:alt: View of the incoming shipment strategy to choose to receive goods in three steps
Activating this option leads to the creation of two new locations: *Input* and *Quality Control*.
To rename them, go to :menuselection:`Inventory --> Configuration --> Locations` and select
the one you want to rename.
Create a Purchase Order
=======================
To start the 3-steps reception process, create a *Request for Quotation* from the *Purchase* app,
add some storable products to it and confirm. Then, three pickings are created with your *Purchase
Order* as the source document:
1. The first one with a reference *IN* to designate the receipt
process;
2. The second one with a reference *INT*, which is the move to the
quality control zone;
3. The last one with a reference *INT* to designate the move to stock.
.. image:: three_steps/three_steps_03.png
:align: center
:alt: View of the three moves created by the purchase of products in three steps strategy
Process the receipt, quality control and entry in stock
=======================================================
As the receipt operation is the first one to be processed, it has a *Ready* status while the others
are *Waiting Another Operation*.
To access the receipt operation, click on the button from the *Purchase Order* or go back to the
*Inventory* app dashboard and click on *Receipts*.
.. image:: three_steps/three_steps_04.png
:align: center
:alt: View of the button to click to see the receipts that need to be processed
In the receipt order, products are always considered available because they come from the supplier.
Then, the receipt can be validated.
.. image:: three_steps/three_steps_05.png
:align: center
:alt: View of the move (internal transfer) from the reception area to the warehouse input area
Once the receipt has been validated, the transfer to quality becomes *Ready*. And, because the documents
are chained to each other, products previously received are automatically reserved on the
transfer. Then, the transfer can be directly validated.
.. image:: three_steps/three_steps_06.png
:align: center
:alt: View of the button to click to see the internal transfers that need to be processed
.. image:: three_steps/three_steps_07.png
:align: center
:alt: View of the move (internal transfer) from the input area to the quality control area
Now, the transfer that enters the products to stock is *Ready*. Here, it is again ready to be
validated in order to transfer the products to your stock location.
.. image:: three_steps/three_steps_08.png
:align: center
:alt: View of the button to click to see the internal transfers that need to be processed
.. image:: three_steps/three_steps_09.png
:align: center
:alt: View of the move (internal transfer) from the quality control area to the stock

View File

@@ -1,97 +0,0 @@
==============================================
Process a Receipt in two steps (Input + Stock)
==============================================
Configuration
=============
Odoo uses routes to define exactly how you will handle the different
receipt steps. The configuration is done at the *Warehouse* level. By
default, the reception is a one-step process, but changing the
configuration can allow you to have 2 steps.
The 2 steps flow is like this: you receive the goods in an input area,
then transfer them to your stock. As long as the goods are not
transferred in your stock, they will not be available for further
processing.
Activate Multi-Step Routes
==========================
The first step is to allow using *multi-step routes*. Indeed, routes
provide a mechanism to chain different actions together. In this case,
we will chain the unload step in the input area to the step entering the
products in stock.
To allow *multi-step routes*, go to :menuselection:`Configuration --> Settings` and
activate the feature. By default, activating *multi-step routes* will
also activate *Storage Locations*.
.. image:: two_steps/two_steps_01.png
:align: center
Configure warehouse for receipt in 2 steps
==========================================
Once *multi-step routes* is activated, you can go to :menuselection:`Configuration -->
Warehouse` and enter the warehouse which will use receipt in 2 steps.
Then, you can select the option *Receive goods in input and then stock
(2 steps)* for *Incoming Shipments*.
.. image:: two_steps/two_steps_02.png
:align: center
Activating this option will lead to the creation of a new *Input*
location. If you want to rename it, you can go to :menuselection:`Configuration -->
Locations --> Select Input` and update its name.
.. image:: two_steps/two_steps_03.png
:align: center
Create a purchase order
=======================
In the *Purchase* application, you can create a *Request for
Quotation* with some storable products to receive from a supplier. Once
the *RfQ* is confirmed, the receipt picking will be created and
automatically linked to your purchase order.
.. image:: two_steps/two_steps_04.png
:align: center
Now, by clicking on the *1 Receipt* button, you will see the first
picking which will allow entering the product in the *input location*.
Then, another picking, an internal transfer, has been created in order
to move the products to *Stock*.
Process the receipt and the internal transfer
=============================================
The receipt is the first one to be processed and has a *Ready* status
while the internal transfer will only become *Ready* once the receipt
has been marked as *Done*.
You can enter the receipt operation from the purchase order, or access
it through the inventory dashboard.
.. image:: two_steps/two_steps_05.png
:align: center
By default, a receipt is always considered as ready to be processed.
Then, you will be able to directly click on *Validate* to mark it as
done.
.. image:: two_steps/two_steps_06.png
:align: center
Once the receipt has been validated, the internal transfer is ready to
be processed. As documents are chained, the products which have been
received are automatically reserved on the internal transfer. Once the
transfer is validated, those products enter the stock and you will be
able to use them to fulfill customer deliveries or manufacture products.
.. image:: two_steps/two_steps_07.png
:align: center
.. image:: two_steps/two_steps_08.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,101 @@
:show-content:
:show-toc:
======================================
Incoming shipments and delivery orders
======================================
There are several ways to handle how a warehouse receives products (receipts) and ships products
(deliveries). Depending on several factors, such as the type of products stocked and sold, warehouse
size, and the amount of daily confirmed receipts and delivery orders, the way products are handled
when coming in and out of the warehouse can vary a lot. Different settings can be configured for
receipts and deliveries; they do not have to be configured to have the same number of steps.
.. seealso::
- `Using Routes (eLearning Tutorial) <https://www.odoo.com/slides/slide/using-routes-1018>`_
- `Push & Pull Rules (eLearning Tutorial)
<https://www.odoo.com/slides/slide/push-pull-rules-1024>`_
Choosing the right inventory flow to handle receipts and deliveries
===================================================================
By default, Odoo handles shipping and receiving in three different ways: in one, two, or three
steps. The simplest configuration is one step, which is the default. Each additional step required
for a warehouse for either the receiving or shipping process will add an additional layer of
operations to perform before a product is either received or shipped. These configurations depend
entirely on the requirements for the products stored, such as performing quality checks on received
products, or using special packaging on shipped products.
One-step flow
-------------
The receiving and shipping rules for a one-step configuration are as follows:
- **Receipt**: Receive products directly into stock. No intermediate steps between receipt and stock
occur, such as a transfer to a quality control location.
- **Shipping**: Ship products directly from stock. No intermediate steps between stock and shipping
occur, such as a transfer to a packing location.
- Can only be used if not using :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First
Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategies.
- Receipts and/or deliveries are handled quickly.
- Recommended for small warehouses with low stock levels, and for non-perishable items.
- Items are received or shipped directly into/from stock.
.. seealso::
:ref:`Process receipts and deliveries in one step <inventory/receipts_delivery_one_step>`
Two-step flow
-------------
The receiving and shipping rules for a two-step configuration are as follows:
- **Input + stock**: Bring products to an input location *before* moving into stock. Products can be
organized by different internal storage locations, such as various shelves, freezers, and locked
areas, before being stocked in the warehouse.
- **Pick + ship**: Bring products to an output location before shipping. Packages can be organized
by different carriers or shipping docks before being shipped.
- Minimum requirement to use lot numbers or serial numbers to track products with a
:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)` or
:abbr:`FEFO (First Expired, First Out)` removal strategy.
- Recommended for larger warehouses with high stock levels, or when stocking large items (such as
mattresses, large furniture, heavy machinery, etc.).
- Products received will not be available for manufacturing, shipping, etc., until they are
transferred into stock.
.. seealso::
:ref:`Process receipts and deliveries in two steps <inventory/receipts_delivery_two_steps>`
Three-step flow
---------------
The receiving and shipping rules for a three-step configuration are as follows:
- **Input + quality + stock**: Receive products at the input location, transfer them to a quality
control area, and move the ones that pass inspection into stock.
- **Pick + pack + ship**: Pick products according to their removal strategy, pack them in a
dedicated packing area, and bring them to an output location for shipping.
- Can be used when tracking products by lot or serial numbers when using a :abbr:`FIFO (First In,
First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal
strategy.
- Recommended for very large warehouses with very high stock levels.
- Required for any warehouse needing to perform quality control inspections before receiving items
into stock.
- Products received will not be available for manufacturing, shipping, etc., until they are
transferred into stock.
.. seealso::
- :ref:`Process receipts in three steps <inventory/receipts_three_steps>`
- :ref:`Process deliveries in three steps <inventory/delivery_three_steps>`
Inventory flow table of contents
================================
.. toctree::
:titlesonly:
:glob:
:name: inventory_flow_toc
shipments_deliveries/receipts_delivery_one_step
shipments_deliveries/receipts_delivery_two_steps
shipments_deliveries/receipts_three_steps
shipments_deliveries/delivery_three_steps

View File

@@ -0,0 +1,138 @@
=================================
Process deliveries in three steps
=================================
.. _inventory/delivery_three_steps:
Some companies process large amounts of deliveries every day, many of which include multiple
products or require special packaging. To make this efficient, a packing step is needed before
shipping out products. For this, Odoo has a three step process for delivering goods.
In the default three-step delivery process, products that are part of a delivery order are picked in
the warehouse according to their removal strategy, and brought to a packing zone. After the items
have been packed into the different shipments in the packing zone, they are brought to an output
location before being shipped. These steps can be modified if they do not fit the needs of the
business.
Configuration
=============
Odoo is configured by default to :ref:`receive and deliver goods in one step
<inventory/receipts_delivery_one_step>`, so the settings need to be changed in order to utilize
three step deliveries. First, make sure the *Multi-Step Routes* option is enabled in
:menuselection:`Inventory --> Configuration --> Settings --> Warehouse`. Note that activating
:guilabel:`Multi-Step Routes` will also activate *Storage Locations*.
.. image:: delivery_three_steps/multi-step-routes.png
:align: center
:alt: Activate multi-step routes and storage locations in inventory settings.
Next, the warehouse needs to be configured for three step deliveries. To do this, go to
:menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Edit` to edit the
:guilabel:`Warehouse`. Then, select :guilabel:`Pack goods, send goods in output and then deliver
(3 steps)` for :guilabel:`Outgoing Shipments`. Then :guilabel:`Save` the changes.
.. image:: delivery_three_steps/three-step-warehouse-config.png
:align: center
:alt: Set outgoing shipment option to deliver in three steps.
Activating three-step receipts and deliveries will create two new internal locations: a
*Packing Zone* (WH/Packing Zone), and *Output* (WH/Output). To rename these locations, go to
:menuselection:`Configuration --> Locations`, select the :guilabel:`Location` to change, click
:guilabel:`Edit`, update the name, and finally, click :guilabel:`Save`.
Process a delivery order in three steps (pick + pack + ship)
============================================================
Create a sales order
--------------------
In the :menuselection:`Sales` application, create a new quote by clicking :guilabel:`Create`. Select
a :guilabel:`Customer`, add a storable :guilabel:`Product`, and click :guilabel:`Confirm`.
A :guilabel:`Delivery` smart button will appear in the top right. Clicking on it will show the
picking order, packing order, and the delivery order, which are all associated with the sales order.
.. image:: delivery_three_steps/three-step-delivery-so.png
:align: center
:alt: After confirming the sales order, the Delivery smart button appears showing three items
associated with it.
Process a picking
-----------------
The picking, packing, and delivery orders will be created once the sales order is confirmed. To
view these transfers, go to :menuselection:`Inventory --> Operations --> Transfers`.
.. image:: delivery_three_steps/three-step-delivery-transfers.png
:align: center
:alt: Ready status for the pick operation while the packing and delivery operations are waiting
another operation.
The status of the picking will be :guilabel:`Ready`, since the product must be picked from stock
before it can be packed. The status of the packing order and delivery order will both be
:guilabel:`Waiting Another Operation`, since the packing and delivery cannot happen until the
picking is completed. The status of the delivery order will only change to :guilabel:`Ready` when
the packing has been marked :guilabel:`Done`.
The receipt can also be found in the *Inventory* application. In the :guilabel:`Overview` dashboard,
click the :guilabel:`1 To Process` smart button in the :guilabel:`Pick` kanban card.
.. image:: delivery_three_steps/three-step-kanban-pick.png
:align: center
:alt: The pick order can be seen in the Inventory Kanban view.
Click on the picking to process. If the product is in stock, Odoo will automatically reserve the
product. Click :guilabel:`Validate` to mark the picking as done, and complete the transfer to the
:guilabel:`Packing Zone`. Then the packing order will be ready. Since the documents are linked, the
products which have been previously picked are automatically reserved on the packing order.
.. image:: delivery_three_steps/validate-three-step-pick.png
:align: center
:alt: Validate the picking by clicking Validate.
Process a packing
-----------------
The packing order will be ready to be processed once the picking is completed, and can be found in
the :menuselection:`Inventory` application :guilabel:`Overview` dashboard. Click the :guilabel:`1 To
Process` smart button in the :guilabel:`Pack` kanban card.
.. image:: delivery_three_steps/three-step-kanban-pack.png
:align: center
:alt: The packing order can be seen in the Inventory kanban view.
Click on the packing order associated with the sales order, then click on :guilabel:`Validate` to
complete the packing.
.. image:: delivery_three_steps/validate-three-step-pack.png
:align: center
:alt: Click Validate on the packing order to transfer the product from the packing zone to the
output location.
Once the packing order is validated, the product leaves the :guilabel:`WH/Packing Zone` location and
moves to the :guilabel:`WH/Output` location. Then, the status of the document will change to
:guilabel:`Done`.
Process a delivery
------------------
The delivery order will be ready to be processed once the packing is completed, and can be found in
the :menuselection:`Inventory` application :guilabel:`Overview` dashboard. Click the :guilabel:`1 To
Process` smart button in the :guilabel:`Delivery Orders` kanban card.
.. image:: delivery_three_steps/three-step-kanban-delivery.png
:align: center
:alt: The delivery order can be seen in the Delivery Orders Kanban view.
Click on the delivery order associated with the sales order, then click on :guilabel:`Validate` to
complete the move.
.. image:: delivery_three_steps/three-step-delivery-out.png
:align: center
:alt: Click Validate on the delivery order to transfer the product from the output location to
the customer location.
Once the delivery order is validated, the product leaves the :guilabel:`WH/Output` location and
moves to the :guilabel:`Partners/Customers` location. Then, the status of the document will change
to :guilabel:`Done`.

View File

@@ -0,0 +1,128 @@
===========================================
Process receipts and deliveries in one step
===========================================
.. _inventory/receipts_delivery_one_step:
By default, incoming shipments are configured to be received directly into stock, and outgoing
shipments are configured to be delivered directly from stock to the customer; the default setting
for warehouses in Odoo is one step receipts and deliveries.
.. note::
Incoming and outgoing shipments do not need to be configured with the same steps. For example,
products can be received in one step, but shipped in three steps.
In the following example, one step will be used for both receipts and deliveries.
Configure the warehouse
=======================
If another receiving or shipping configuration is set on the warehouse, they can easily be set back
to the one step setting.
Begin by navigating to :menuselection:`Inventory --> Configuration -->
Warehouses`, click on the desired warehouse, and click :guilabel:`Edit`. Next, on the
:guilabel:`Warehouse Configuration` tab, under the :guilabel:`Shipments` section, select
:guilabel:`Receive goods directly (1 step)` for :guilabel:`Incoming Shipments` and/or
:guilabel:`Deliver goods directly (1 step)` for :guilabel:`Outgoing Shipments`, and :guilabel:`Save`
the changes to finish.
.. image:: receipts_delivery_one_step/one-step-warehouse-config.png
:align: center
:alt: Set incoming and outgoing shipment options to receive and deliver in one step.
Receive goods directly (1 step)
===============================
Create a purchase order
-----------------------
On the main :menuselection:`Purchase` application dashboard, start by making a new quote by clicking
:guilabel:`Create`. Then, select (or create) a :guilabel:`Vendor` from the drop-down field, add a
storable :guilabel:`Product` to the order lines, and click :guilabel:`Confirm Order` to finalize the
quote as a new purchase order.
A :guilabel:`Receipt` smart button will appear in the top-right corner of the :abbr:`PO (purchase
order)` form — click it to reveal the associated receipt for the purchase order.
.. image:: receipts_delivery_one_step/one-step-po-receipt.png
:align: center
:alt: Receipt smart button appears on the confirmed purchase order.
.. tip::
Purchase order receipts can also be found in the :menuselection:`Inventory` application. In
the :guilabel:`Overview` dashboard, click the :guilabel:`# to Process` smart button in the
:guilabel:`Receipts` kanban card.
.. image:: receipts_delivery_one_step/one-step-to-process-btn.png
:align: center
:alt: Receipt kanban card's 1 to Process smart button.
Process the receipt
-------------------
When viewing the receipt (associated with the purchase order above), click :guilabel:`Validate` to
then complete the receipt.
.. image:: receipts_delivery_one_step/one-step-po-validate.png
:align: center
:alt: Validate the purchase order via the Validate smart button.
.. note::
If :guilabel:`Storage Locations` are activated, clicking the :guilabel:`≣ (bullet list)` details
icon next to the :guilabel:`🗑️ (trash)` delete icon enables the :guilabel:`Detailed Operations`
screen to pop-up. This allows the location(s) to be specified for the received product(s).
.. image:: receipts_delivery_one_step/receive-storage-location.png
:align: center
:alt: Select the Storage Location for the products being received in the Detailed Operations
pop-up.
Once the receipt is validated, the product leaves the :guilabel:`Supplier Location` and enters the
:guilabel:`WH/Stock Location`. Once it arrives here, it will be available for manufacturing, sales,
etc. Then, the status of the document will change to :guilabel:`Done`, thus completing the reception
process in one step.
Deliver goods directly (1 step)
===============================
Create a sales order
--------------------
Start my navigating to the main :menuselection:`Sales` app dashboard, and make a new quote by
clicking :guilabel:`Create`. Then select (or create) a :guilabel:`Customer` from the drop-down
field, add a storable :guilabel:`Product` that is in stock to the order lines, and click
:guilabel:`Confirm` to finalize the quotation as a sales order.
A :guilabel:`Receipt` smart button will appear in the top-right corner of the :abbr:`PO (purchase
order)` form — click it to reveal the associated receipt for the purchase order.
A :guilabel:`Delivery` smart button will appear in the top-right corner of the :abbr:`SO (Sales
Order)` form — click it to reveal the associated delivery order for the sales order.
.. image:: receipts_delivery_one_step/one-step-sales-order.png
:align: center
:alt: The Delivery smart button appears after the sales order is confirmed.
.. tip::
Delivery orders can also be found in the :menuselection:`Inventory` application. In the
:guilabel:`Overview` dashboard, click the :guilabel:`# to Process` smart button in the
:guilabel:`Delivery Orders` kanban card.
.. image:: receipts_delivery_one_step/one-step-delivery-to-process.png
:align: center
:alt: Delivery Orders kanban card's 1 to Process smart button.
Process the delivery
--------------------
When viewing the delivery order (associated with the sales order above), click :guilabel:`Validate`
to then complete the delivery.
.. image:: receipts_delivery_one_step/validate-one-step-sales-order.png
:align: center
:alt: Validate the delivery order.
Once the picking order is validated, the product leaves the :guilabel:`WH/Stock location` and moves
to the :guilabel:`Partners/Customers location`. Then, the status of the document will change to
:guilabel:`Done`, thus completing delivery in one step.

View File

@@ -0,0 +1,221 @@
============================================
Process receipts and deliveries in two steps
============================================
.. _inventory/receipts_delivery_two_steps:
Depending on a company's business processes, multiple steps may be needed before receiving or
shipping products. In the two-step receipt process, products are received in an input area, then
transferred to stock. Two-step receipts work best when various storage locations are being used,
such as locked or secured areas, freezers and refrigerators, or various shelves.
Products can be sorted according to where they are going to be stored, and employees can stock all
the products going to a specific location. The products are not available for further processing
until they are transferred into stock.
In the two-step delivery process, products that are part of a delivery order are picked from the
warehouse according to their removal strategy, and brought to an output location before being
shipped.
One situation where this would be useful is when using either a :abbr:`FIFO (First In, First Out)`,
:abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategy,
where the products that are being picked need to be selected based on their receipt date or
expiration date.
Odoo is configured by default to :ref:`receive and deliver goods in one step
<inventory/receipts_delivery_one_step>`, so the settings need to be changed in order to utilize
two-step receipts and deliveries. Incoming and outgoing shipments do not need to be set to have the
same steps. For example, products can be received in two steps, but shipped in one step. In the
following example, two steps will be used for both receipts and deliveries.
Configure multi-step routes
===========================
First, make sure the :guilabel:`Multi-Step Routes` option is enabled in :menuselection:`Inventory
--> Configuration --> Settings`, under the ::guilabel:`Warehouse` heading. After enabling the
setting, :guilabel:`Save` the changes.
.. note::
Activating the :guilabel:`Multi-Step Routes` setting will also activate the :guilabel:`Storage
Locations` feature.
.. image:: receipts_delivery_two_steps/multi-step-routes.png
:align: center
:alt: Activate multi-step routes and storage locations in inventory settings.
Next, the warehouse needs to be configured for two-step receipts and deliveries. Go to
:menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Edit` to change
the warehouse settings.
Then, select :guilabel:`Receive goods in input and then stock (2 steps)` for :guilabel:`Incoming
Shipments`, and :guilabel:`Send goods in output and then deliver (2 steps)` for :guilabel:`Outgoing
Shipments`. :guilabel:`Save` the changes to finish.
.. image:: receipts_delivery_two_steps/two-step-warehouse-config.png
:align: center
:alt: Set incoming and outgoing shipment options to receive and deliver in two steps.
.. tip::
Activating two-step receipts and deliveries will create new *input* and *output* locations, which
by default, are labeled :guilabel:`WH/Input` and :guilabel:`WH/Output`, respectively, on the
:guilabel:`Locations` dashboard. To rename these locations, go to :menuselection:`Configuration
--> Locations`, select the :guilabel:`Location` to change, and then click :guilabel:`Edit`. On
the location form, update the ::guilabel:`Location Name`, make any other changes (if necessary)
and :guilabel:`Save` the changes.
Process a receipt in two steps (input + stock)
==============================================
Create a purchase order
-----------------------
On the main :menuselection:`Purchase` application dashboard, start by making a new quote by clicking
:guilabel:`Create`. Then, select (or create) a :guilabel:`Vendor` from the drop-down field, add a
storable :guilabel:`Product` to the order lines, and click :guilabel:`Confirm Order` to finalize the
quote as a new purchase order.
.. important::
For businesses with multiple warehouses that have different step configurations, the
:guilabel:`Deliver To` field on the ::abbr:`PO (Purchase Order)` form may need to be specifed as
the correct *input location* connected to the two-step warehouse, which can be done by selecting
the warehouse from the drop-down selection that includes the `Receipts` label at the end of the
name.
After confirming the ::abbr:`PO (Purchase Order)`, a :guilabel:`Receipt` smart button will appear in
the top-right corner of the :abbr:`PO (Purchase Order)` form — click it to reveal the associated
receipt.
.. image:: receipts_delivery_two_steps/two-step-po-receipt.png
:align: center
:alt: After confirming a purchase order, a Receipt smart button will appear.
.. tip::
Purchase order receipts can also be found in the :menuselection:`Inventory` application. In
the :guilabel:`Overview` dashboard, click the :guilabel:`# to Process` smart button in the
:guilabel:`Receipts` kanban card.
.. image:: receipts_delivery_two_steps/two-step-receipts-kanban.png
:align: center
:alt: One receipt ready to process in the Inventory Overview kanban view.
Process the receipt
-------------------
The receipt and internal transfer will be created once the purchase order is confirmed. The status
of the receipt will be :guilabel:`Ready`, since the receipt must be processed first. The status of
the internal transfer will be :guilabel:`Waiting Another Operation`, since the transfer cannot
happen until the receipt is completed. The status of the internal transfer will only change to
:guilabel:`Ready` once the receipt has been marked as :guilabel:`Done`.
Click on the :guilabel:`Receipt` associated with the purchase order, then click :guilabel:`Validate`
to complete the receipt and move the product to the :guilabel:`Input Location`.
.. image:: receipts_delivery_two_steps/validate-two-step-receipt.png
:align: center
:alt: Validate the receipt by clicking Validate, then the product will be transferred to the
WH/Input location.
Process the internal transfer
-----------------------------
Once the product is in the :guilabel:`Input Location`, the internal transfer is ready to move the
product into stock. Navigate to the :menuselection:`Inventory` app, and on the :guilabel:`Inventory
Overview` dashboard, click the :guilabel:`# To Process` smart button in the :guilabel:`Internal
Transfers` kanban card.
.. image:: receipts_delivery_two_steps/transfer-two-step-kanban.png
:align: center
:alt: One Internal Transfer ready to process in the Inventory Overview kanban view.
Click on the :guilabel:`Transfer` associated with the purchase order, then click
:guilabel:`Validate` to complete the receipt and move the product to stock. Once the transfer is
validated, the product enters the stock and is available for customer deliveries or manufacturing
orders.
.. image:: receipts_delivery_two_steps/two-step-validate-transfer.png
:align: center
:alt: Validate the internal transfer to move the item to stock.
Process a delivery order in two steps (pick + ship)
===================================================
Create a sales order
--------------------
In the :menuselection:`Sales` application, create a new quote by clicking :guilabel:`Create`. Select
(or create) a :guilabel:`Customer`, add a storable :guilabel:`Product` to the order lines, and then
click :guilabel:`Confirm`.
After confirming the ::abbr:`SO (Sales Order)`, a :guilabel:`Receipt` smart button will appear in
the top-right corner of the :abbr:`PO (Sales Order)` form — click it to reveal the associated
receipt.
.. image:: receipts_delivery_two_steps/two-step-sales-quote.png
:align: center
:alt: After confirming the sales order, the Delivery smart button appears showing two items
associated with it.
.. tip::
Sales order receipts can also be found in the :menuselection:`Inventory` application. In the
:guilabel:`Overview` dashboard, click the :guilabel:`# To Process` smart button in the
:guilabel:`Pick` kanban card.
.. image:: receipts_delivery_two_steps/two-step-pick-kanban.png
:align: center
:alt: The pick order can be seen in the Inventory kanban view.
Process the picking
-------------------
The picking and delivery order will be created once the sales order is confirmed. When the
:guilabel:`Delivery` smart button appears, click it to arrive to the :guilabel:`Transfers`
dashboard, which lists both the picking and the delivery orders.
The status of the picking will be :guilabel:`Ready`, since the product must be picked from stock
before it can be shipped. The status of the delivery order will be :guilabel:`Waiting Another
Operation`, since the delivery cannot happen until the picking is completed. The status of the
delivery order will only change to :guilabel:`Ready` once the picking has been marked as
:guilabel:`Done`.
.. image:: receipts_delivery_two_steps/two-step-status.png
:align: center
:alt: Ready status for the pick operation while the delivery operation is Waiting Another
Operation.
Click on the picking delivery order to begin processing it. If the product is in stock, Odoo will
automatically reserve the product. Click :guilabel:`Validate` to mark the picking as
:guilabel:`Done`, then the delivery order will be ready for processing. Since the documents are
linked, the products which have been previously picked are automatically reserved on the delivery
order.
.. image:: receipts_delivery_two_steps/validate-two-step-pick.png
:align: center
:alt: Validate the picking by clicking Validate.
Process the delivery
--------------------
The delivery order will be ready to be processed once the picking is completed, and can be found in
the :menuselection:`Inventory` application, on the :guilabel:`Inventory Overview` dashboard. Click
the :guilabel:`# To Process` smart button in the :guilabel:`Delivery Orders` kanban card to begin.
.. tip::
The delivery order associated with the :abbr:`SO (Sales Order)` can also be quickly accessed by
clicking on the ::guilabel:`Delivery` smart button again, and choosing the delivery order on the
::guilabel:`Transfers` page (which should now be marked as ::guilabel:`Ready`).
.. image:: receipts_delivery_two_steps/deliver-two-step-kanban.png
:align: center
:alt: The delivery order can be seen in the Inventory Kanban view.
Click on the delivery order associated with the :abbr:`SO (Sales Order)`, then click on
:guilabel:`Validate` to complete the move.
.. image:: receipts_delivery_two_steps/validate-two-step-delivery.png
:align: center
:alt: Click Validate on the delivery order to transfer the product from the output location to
the customer location.
Once the delivery order is validated, the product leaves the :guilabel:`WH/Output` location on the
:guilabel:`Transfers` dashboard and moves to the :guilabel:`Partners/Customers` location. Then,
the status of the document will change to :guilabel:`Done`.

Some files were not shown because too many files have changed in this diff Show More