Compare commits
19 Commits
14.0-pos-s
...
ksc-odoo-v
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
69fa638fd4 | ||
|
|
b48ffacd8c | ||
|
|
767ee598ac | ||
|
|
6740ad7811 | ||
|
|
89a1a95a2b | ||
|
|
1a657194ab | ||
|
|
3ee64ef99f | ||
|
|
fd657301d8 | ||
|
|
9b04ed1d01 | ||
|
|
30b457fb4e | ||
|
|
5b63bfcba9 | ||
|
|
330ce42cef | ||
|
|
50824b6677 | ||
|
|
c2409d8a52 | ||
|
|
817e332160 | ||
|
|
ba1105bff7 | ||
|
|
5cb7eb5024 | ||
|
|
42148acbec | ||
|
|
7b2a178e82 |
@@ -43,7 +43,7 @@ API permissions
|
|||||||
---------------
|
---------------
|
||||||
|
|
||||||
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
|
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:`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:`(+) Add a Permission` button and select :guilabel:`Microsoft Graph` under
|
||||||
:guilabel:`Commonly Used Microsoft APIs`. After, select the :guilabel:`Delegated Permissions`
|
:guilabel:`Commonly Used Microsoft APIs`. After, select the :guilabel:`Delegated Permissions`
|
||||||
|
|||||||
@@ -21,64 +21,87 @@ Setup in Google
|
|||||||
Create a new project
|
Create a new project
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
To get started, go to the `Google API Platform
|
To get started, go to the `Google API Console <https://console.developers.google.com>`_. Log in
|
||||||
<https://console.cloud.google.com/apis/credentials/consent>`_. Log in with your *Google Workspace*
|
with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail
|
||||||
account if you have one, otherwise log in with your personal Gmail account (this should match the
|
account (this should match the email address you want to configure in Odoo).
|
||||||
email address you want to configure in Odoo).
|
|
||||||
|
|
||||||
After that, click on :guilabel:`Create Project`, located on the far right of the OAuth consent
|
After that, click on :guilabel:`Create Project`, located on the far right of the :guilabel:`OAuth
|
||||||
screen. If a project has already been created in this account, then the :guilabel:`New Project`
|
consent screen`. If a project has already been created in this account, then the :guilabel:`New
|
||||||
option will be located on the top left under the :guilabel:`Select a project` drop-down menu.
|
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
|
On the :menuselection:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and
|
||||||
the :guilabel:`Location`. Set the :guilabel:`Location` as the `Google Workspace` organization. If
|
browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace
|
||||||
you are using a personal Gmail account, then leave the :guilabel:`Location` as `No Organization`.
|
organization*. If you are using a personal Gmail account, then leave the :guilabel:`Location` as
|
||||||
|
:guilabel:`No Organization`.
|
||||||
|
|
||||||
.. image:: google_oauth/new-project.png
|
.. image:: google_oauth/new-project.png
|
||||||
:align: center
|
: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,
|
Click on :guilabel:`Create` to finish this step.
|
||||||
select the :guilabel:`External` option, and then click on :guilabel:`Create` again, which will
|
|
||||||
finally navigate to the :guilabel:`Edit app registration` page.
|
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
|
Edit app registration
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
- On the :guilabel:`Oauth consent screen` step, under the :guilabel:`App information` section,
|
Next we will configure the app registration of the project.
|
||||||
enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
|
|
||||||
:guilabel:`User support` email field.
|
On the :guilabel:`OAuth consent screen` step, under the :guilabel:`App information` section, enter
|
||||||
- Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain`
|
`Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
|
||||||
and enter `odoo.com`.
|
:guilabel:`User support` email field.
|
||||||
- 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
|
Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` and
|
||||||
your project.
|
enter `odoo.com`.
|
||||||
- Next, click on the :guilabel:`Save and Continue` button.
|
|
||||||
- Then, skip the :guilabel:`Scopes` page by scrolling to the bottom and clicking on
|
After that, under the :guilabel:`Developer contact information` section, enter the organization's
|
||||||
:guilabel:`Save and Continue`.
|
email address. Google uses this email address to notify the organization about any changes to your
|
||||||
- Next, add the email being configured under the :guilabel:`Test users` step by clicking on
|
project.
|
||||||
:guilabel:`Add Users` and then the :guilabel:`Save and Continue` button. A summary of the
|
|
||||||
:guilabel:`App registration` appears.
|
Next, click on the :guilabel:`Save and Continue` button. Then, skip the :menuselection:`Scopes` page
|
||||||
- Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard`.
|
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
|
Create Credentials
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Now that you have set up the project, you need to create credentials, which includes the
|
Now that the project is set up, credentials should be created, which includes the *Client ID* and
|
||||||
:guilabel:`Client ID` and :guilabel:`Client Secret`. First, click on :guilabel:`Credentials` in the
|
*Client Secret*. First, click on :guilabel:`Credentials` in the left sidebar menu.
|
||||||
left sidebar menu.
|
|
||||||
|
|
||||||
Then, click on :guilabel:`Create Credentials` in the top menu and select
|
Then, click on :guilabel:`Create Credentials` in the top menu and select :guilabel:`OAuth client ID`
|
||||||
:guilabel:`OAuth client ID` from the dropdown menu.
|
from the dropdown menu.
|
||||||
|
|
||||||
- Under :guilabel:`Application Type`, select :guilabel:`Web Application` 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
|
- 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
|
then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field.
|
||||||
sure to replace the *yourdbname* part of the URL with your actual Odoo database name.
|
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
|
- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client
|
||||||
:guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in
|
Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then
|
||||||
Odoo, and then navigate to the Odoo database.
|
navigate to the Odoo database.
|
||||||
|
|
||||||
.. image:: google_oauth/client-credentials.png
|
.. image:: google_oauth/client-credentials.png
|
||||||
:align: center
|
:align: center
|
||||||
@@ -91,32 +114,37 @@ Enter Google Credentials
|
|||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps`
|
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`
|
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
|
section, ensure that the checkbox for :guilabel:`Custom Email Servers` or :guilabel:`External Email
|
||||||
new option for :guilabel:`Gmail Credentials`. Then, copy and paste the :guilabel:`Client ID` and
|
Servers` is checked. This populates a new option for :guilabel:`Gmail Credentials` or :guilabel:`Use
|
||||||
:guilabel:`Client Secret` into the respective fields and :guilabel:`Save` the settings.
|
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
|
Configure outgoing email server
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
After that, on the :guilabel:`General Settings` page, under :guilabel:`Custom Email Servers`, click
|
To configure the external Gmail account, return to the top of the :guilabel:`Custom Email Servers`
|
||||||
:guilabel:`Outgoing Email Servers` to configure the external Gmail account.
|
setting and then click the :guilabel:`Outgoing Email Servers` link.
|
||||||
|
|
||||||
.. image:: google_oauth/outgoing-servers.png
|
.. image:: google_oauth/outgoing-servers.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Configure Outgoing Email Servers in Odoo.
|
:alt: Configure Outgoing Email Servers in Odoo.
|
||||||
|
|
||||||
Then, :guilabel:`Create` a new email server and select the option for :guilabel:`Gmail`. Next, fill
|
Then, click on :guilabel:`New` or :guilabel:`Create` to create a new email server, and fill in the
|
||||||
in the :guilabel:`Description` (can be anything) and the email :guilabel:`Username` and click on
|
:guilabel:`Name`, :guilabel:`Description`, and the email :guilabel:`Username` (if required).
|
||||||
:guilabel:`Connect your Gmail account`.
|
|
||||||
|
|
||||||
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.
|
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
|
If the email address is a personal account, then an extra step pops up, so click
|
||||||
allow the verification and connect the Gmail account to Odoo.
|
: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
|
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
|
: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
|
:align: center
|
||||||
:alt: Configure Outgoing Email Servers in Odoo.
|
:alt: Configure Outgoing Email Servers in Odoo.
|
||||||
|
|
||||||
Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should
|
Finally, :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database
|
||||||
appear. The Odoo database can now send safe, secure emails through Google using OAuth
|
can now send safe, secure emails through Google using OAuth authentication.
|
||||||
authentication.
|
|
||||||
|
|
||||||
Google OAuth FAQ
|
Google OAuth FAQ
|
||||||
================
|
================
|
||||||
@@ -137,8 +164,8 @@ Google OAuth FAQ
|
|||||||
Production VS Testing Publishing Status
|
Production VS Testing Publishing Status
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of Testing) will
|
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of
|
||||||
display the following warning message:
|
:guilabel:`Testing`) will display the following warning message:
|
||||||
|
|
||||||
.. image:: google_oauth/published-status.png
|
.. image:: google_oauth/published-status.png
|
||||||
:align: center
|
:align: center
|
||||||
@@ -158,39 +185,35 @@ populate.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: 403 Access Denied Error.
|
:alt: 403 Access Denied Error.
|
||||||
|
|
||||||
To correct this error, return to the :guilabel:`OAuth consent screen` under
|
To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs &
|
||||||
:guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring
|
Services` and add test user(s) to the app. Add the email that you are configuring in Odoo.
|
||||||
in Odoo.
|
|
||||||
|
|
||||||
Gmail Module not updated
|
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.
|
:guilabel:`Forbidden` error message populates.
|
||||||
|
|
||||||
.. image:: google_oauth/forbidden-error.png
|
.. image:: google_oauth/forbidden-error.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Forbidden you don't have the permission to access the requested resource.
|
: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,
|
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
|
search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click
|
||||||
the three dots on the upper right of the module and select :guilabel:`Upgrade`.
|
on the three dots on the upper right of the module and select :guilabel:`Upgrade`.
|
||||||
|
|
||||||
Application Type
|
Application Type
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
When creating the :guilabel:`Credentials` (OAuth Client ID and Client Secret), if
|
When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is
|
||||||
:guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an
|
selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears.
|
||||||
:guilabel:`Authorization Error` appears.
|
|
||||||
|
|
||||||
.. image:: google_oauth/error-400.png
|
.. image:: google_oauth/error-400.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Error 400 Redirect URI Mismatch.
|
:alt: Error 400 Redirect URI Mismatch.
|
||||||
|
|
||||||
To correct this error, delete the credentials already created and create new credentials, selecting
|
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:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized
|
||||||
:guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type:
|
redirect URIs`, click :guilabel:`ADD URI` and type:
|
||||||
`https://yourdbname.odoo.com/google_gmail/confirm` in the field.
|
`https://yourdbname.odoo.com/google_gmail/confirm` in the field, being sure to replace *yourdbname*
|
||||||
|
in the URL with the Odoo database name.
|
||||||
.. note::
|
|
||||||
Replace *yourdbname* in the URL with the Odoo database name.
|
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ Help
|
|||||||
|
|
||||||
.. _upgrade/contact:
|
.. _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
|
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:
|
.. _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)
|
Information about the upgrade services included in the Enterprise Licence is available in the
|
||||||
enjoy the following services at all times.
|
: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
|
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
|
||||||
* Studio customization (as long as the :guilabel:`Studio` app is still active)
|
benefit from upgrade services at all times for:
|
||||||
* customizations *if* they are covered by a "Maintenance of Customizations" subscription
|
|
||||||
|
|
||||||
The Upgrade Service is limited to your database's technical conversion and adaptation (standard
|
- the upgrade of all **standard applications**;
|
||||||
modules and data) to make it compatible with the targeted version.
|
- 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
|
Upgrade services not covered by the SLA
|
||||||
* 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
|
|
||||||
|
|
||||||
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
|
The following upgrade-related services are **not** included:
|
||||||
Agreement <upgrade>` page.
|
|
||||||
|
- 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|
|
.. note:: |assistance-contact|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`upgrade/faq`
|
- :doc:`Upgrade FAQ <upgrade/faq>`
|
||||||
- :doc:`odoo_sh`
|
- :doc:`Odoo.sh documentation <odoo_sh>`
|
||||||
- :doc:`maintain/supported_versions`
|
- :doc:`Supported Odoo versions <maintain/supported_versions>`
|
||||||
|
|||||||
@@ -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
|
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:
|
any way you want or create new ones to trigger the following actions:
|
||||||
|
|
||||||
- Send an Email
|
- Send an email;
|
||||||
- :ref:`Send an SMS Message <pricing/pricing_and_faq>`
|
- :ref:`Send an SMS message <pricing/pricing_and_faq>`;
|
||||||
- Print a Letter
|
- Print a letter;
|
||||||
- :ref:`Send a Letter <customer_invoices/snailmail>`
|
- :ref:`Send a letter <customer_invoices/snailmail>`;
|
||||||
- Manual Action (creates a task)
|
- Manual action (creates a task).
|
||||||
|
|
||||||
It is also possible to automatically send a reminder by enabling the :guilabel:`Auto Execute`
|
It is also possible to automatically send a reminder by enabling the :guilabel:`Auto Execute`
|
||||||
option, within a specific :guilabel:`Follow-Up Action`.
|
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,
|
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 all the reports you would like to process, click on the :guilabel:`Action` gear icon, and
|
||||||
select :guilabel:`Process follow-ups`.
|
select :guilabel:`Process follow-ups`.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`../../../../general/in_app_purchase`
|
||||||
|
- :doc:`../../../../marketing/sms_marketing/pricing/pricing_and_faq`
|
||||||
|
- :doc:`../customer_invoices/snailmail`
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ POS.
|
|||||||
- Sell products without a valid VAT number.
|
- Sell products without a valid VAT number.
|
||||||
- Use a POS that is not connected to an IoT box.
|
- 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
|
- The :doc:`cash rounding <../../sales/point_of_sale/pricing/cash_rounding>` feature must be
|
||||||
and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method` set as
|
activated and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method`
|
||||||
:guilabel:`Half-Up`.
|
set as :guilabel:`Half-Up`.
|
||||||
- Taxes must be set as included in the price. To set it up, go to :menuselection:`Point of Sale -->
|
- 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
|
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
|
Sales Tax` form by clicking the arrow next to the default sales tax field. There, click
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
Google Sign-In Authentication
|
Google Sign-In Authentication
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
The **Google Sign-In Authentication** is a useful function that allows your users to sign in to Odoo
|
The *Google Sign-In Authentication* is a useful function that allows Odoo users to sign in to their
|
||||||
with their Google account.
|
database with their Google account.
|
||||||
|
|
||||||
This is particularly helpful if your organization uses Google Workforce and you want the employees
|
This is particularly helpful if the organization uses Google Workspace, and wants employees within
|
||||||
within your organization to connect to Odoo with their Google Accounts.
|
the organization to connect to Odoo using their Google Accounts.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../../productivity/calendar/google`
|
- :doc:`/applications/productivity/calendar/google`
|
||||||
- :doc:`/administration/maintain/google_oauth`
|
- :doc:`/administration/maintain/google_oauth`
|
||||||
|
|
||||||
.. _google-sign-in/configuration:
|
.. _google-sign-in/configuration:
|
||||||
@@ -17,7 +17,7 @@ within your organization to connect to Odoo with their Google Accounts.
|
|||||||
Configuration
|
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:
|
.. _google-sign-in/api:
|
||||||
|
|
||||||
@@ -25,15 +25,16 @@ Google API Dashboard
|
|||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
#. Go to the `Google API Dashboard <https://console.developers.google.com/>`_.
|
#. 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
|
#. 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 your company, and click on *Create*.
|
Project`, fill out the project name and other details of the company, and click on
|
||||||
|
:guilabel:`Create`.
|
||||||
|
|
||||||
.. image:: google/new-project-details.png
|
.. image:: google/new-project-details.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Filling out the details of a new project
|
:alt: Filling out the details of a new project.
|
||||||
|
|
||||||
.. tip::
|
.. 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:
|
.. _google-sign-in/oauth:
|
||||||
|
|
||||||
@@ -44,16 +45,30 @@ OAuth consent screen
|
|||||||
|
|
||||||
.. image:: google/consent-selection.png
|
.. image:: google/consent-selection.png
|
||||||
:align: center
|
: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
|
.. image:: google/consent.png
|
||||||
:align: center
|
: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*.
|
.. warning::
|
||||||
#. On the **Scopes** page, leave all fields as is, and click on *Save and Continue*.
|
*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:
|
.. _google-sign-in/credentials:
|
||||||
|
|
||||||
@@ -64,24 +79,24 @@ Credentials
|
|||||||
|
|
||||||
.. image:: google/credentials-button.png
|
.. image:: google/credentials-button.png
|
||||||
:align: center
|
: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
|
.. image:: google/client-id.png
|
||||||
:align: center
|
: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
|
#. Select :guilabel:`Web Application` as the :guilabel:`Application Type`. Now, configure the
|
||||||
will be redirected.
|
allowed pages on which Odoo will be redirected.
|
||||||
|
|
||||||
In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain
|
In order to achieve this, in the :guilabel:`Authorized redirect URIs` field, enter the database's
|
||||||
immediately followed by ``/auth_oauth/signin``. For example:
|
domain immediately followed by `/auth_oauth/signin`. For example:
|
||||||
``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*.
|
`https://mydomain.odoo.com/auth_oauth/signin`, then click on :guilabel:`Create`.
|
||||||
|
|
||||||
.. image:: google/create-client-id.png
|
#. Now that the *OAuth client* has been created, a screen will appear with the :guilabel:`Client ID`
|
||||||
:align: center
|
and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID` for later, as it will be necessary
|
||||||
:alt: Creating oauth client id
|
for the configuration in Odoo, which will be covered in the following steps.
|
||||||
|
|
||||||
.. _google-sign-in/auth-odoo:
|
.. _google-sign-in/auth-odoo:
|
||||||
|
|
||||||
@@ -93,47 +108,53 @@ Google Authentication on Odoo
|
|||||||
Retrieve the Client ID
|
Retrieve the Client ID
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Once you have done the previous steps, two keys are generated on the Google API Dashboard: *Client
|
Once the previous steps are complete, two keys are generated on the Google API Dashboard:
|
||||||
ID* and *Client Secret*. Copy the *Client ID*.
|
:guilabel:`Client ID` and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID`.
|
||||||
|
|
||||||
.. image:: google/secret-ids.png
|
.. image:: google/secret-ids.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Google OAuth Client ID generated
|
:alt: Google OAuth Client ID generated.
|
||||||
|
|
||||||
.. _google-sign-in/odoo-activation:
|
.. _google-sign-in/odoo-activation:
|
||||||
|
|
||||||
Odoo activation
|
Odoo activation
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate **OAuth
|
#. Go to :menuselection:`Odoo General Settings --> Integrations` and activate :guilabel:`OAuth
|
||||||
Authentication**.
|
Authentication`.
|
||||||
|
|
||||||
.. note::
|
.. 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
|
#. Go back to :menuselection:`General Settings --> Integrations --> OAuth Authentication`, activate
|
||||||
Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and
|
the selection and :guilabel:`Save`. Next, return to :menuselection:`General Settings -->
|
||||||
*Save*.
|
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
|
.. image:: google/odoo-client-id.png
|
||||||
:align: center
|
: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:
|
.. _google-sign-in/log-in:
|
||||||
|
|
||||||
Log in to Odoo with Google
|
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 link the Google account to the Odoo profile, click on :guilabel:`Log in with Google` when first
|
||||||
to choose a new password.
|
logging into Odoo.
|
||||||
|
|
||||||
.. image:: google/first-login.png
|
.. image:: google/first-login.png
|
||||||
:align: center
|
: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
|
Existing users must :ref:`reset their password <users/reset-password>` to access the
|
||||||
password.
|
:menuselection:`Reset Password` page, while new users can directly click on :guilabel:`Log in with
|
||||||
|
Google`, instead of choosing a new password.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- `Google Cloud Platform Console Help - Setting up OAuth 2.0
|
- `Google Cloud Platform Console Help - Setting up OAuth 2.0
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 7.7 KiB |
@@ -10,8 +10,7 @@ Warehouse Management
|
|||||||
|
|
||||||
management/products
|
management/products
|
||||||
management/warehouses
|
management/warehouses
|
||||||
management/delivery
|
management/shipments_deliveries
|
||||||
management/incoming
|
|
||||||
management/misc
|
management/misc
|
||||||
management/planning
|
management/planning
|
||||||
management/lots_serial_numbers
|
management/lots_serial_numbers
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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`
|
|
||||||
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 378 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -1,14 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
==================
|
|
||||||
Incoming Shipments
|
|
||||||
==================
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
:glob:
|
|
||||||
|
|
||||||
incoming/handle_receipts
|
|
||||||
incoming/one_step
|
|
||||||
incoming/two_steps
|
|
||||||
incoming/three_steps
|
|
||||||
@@ -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`
|
|
||||||
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -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
|
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 20 KiB |
@@ -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
|
||||||
@@ -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`.
|
||||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 35 KiB |
@@ -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.
|
||||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -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`.
|
||||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 16 KiB |