Compare commits

..

1 Commits

Author SHA1 Message Date
Jonathan
bf48e5ba5c [MOV] pos: restructuration of pos toctree
task-3284514
2023-04-21 17:48:33 +02:00
327 changed files with 2079 additions and 4993 deletions

View File

@@ -291,16 +291,13 @@ latex_documents = [
'Odoo Enterprise Subscription Agreement (ES)', '', 'howto'),
('legal/terms/i18n/partnership_tex_es',
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
('legal/terms/i18n/enterprise_tex_pt_BR', 'odoo_enterprise_agreement_pt_BR.tex',
'Odoo Enterprise Subscription Agreement (PT)', '', 'howto'),
]
# List of languages that have legal translations (excluding EN). The keys must be in
# `languages_names`. These translations will have a link to their versions of the legal
# contracts, instead of the default EN one. The main legal documents are not part of the
# translations since they have legal meaning.
legal_translations = ['de', 'es', 'fr', 'nl', 'pt_BR']
legal_translations = ['de', 'es', 'fr', 'nl']
# The name of an image file (relative to this directory) to place at the top of the title page.
latex_logo = 'static/img/odoo_logo.png'

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,61 +1,69 @@
============
EPC QR codes
============
============================
Add EPC QR Codes to invoices
============================
European Payments Council quick response codes, or **EPC QR codes**, are two-dimensional barcodes
that customers can scan with their **mobile banking applications** to initiate a **SEPA credit
transfer (SCT)** and pay their invoices instantly.
European Payments Council Quick Response Code,
or **EPC QR Code**, are two-dimensional barcodes
that customers can scan with their **mobile banking
applications** to initiate a **SEPA Credit Transfer
(SCT)**, and pay their invoices instantly.
In addition to bringing ease of use and speed, it greatly reduces typing errors that would
potentially make for payment issues.
In addition to bringing ease of use and speed,
it greatly reduces typing errors that would potentially
make for payment issues.
.. note::
This feature is only available for companies in several European countries such as Austria,
Belgium, Finland, Germany, and the Netherlands.
.. seealso::
- :doc:`../../bank/setup/bank_accounts`
- `Odoo Academy: QR Code on Invoices for European Customers <https://www.odoo.com/r/VuU>`_
This feature is only available in several European
countries such as Austria, Belgium, Finland, Germany,
and The Netherlands.
Configuration
=============
Go to :menuselection:`Accounting --> Configuration --> Settings` and activate the :guilabel:`QR
Codes` feature in the :guilabel:`Customer Payments` section.
Go to :menuselection:`Accounting --> Configuration --> Settings`
and activate the **SEPA QR Code** feature.
Configure your bank account's journal
.. image:: epc_qr_code/epc_qr_code01.png
:align: center
Configure your Bank Accounts journal
-------------------------------------
Make sure that your :guilabel:`Bank Account` is correctly configured in Odoo with your IBAN and BIC.
Make sure that your *Bank Account* is correctly configured
on Odoo with your IBAN and BIC.
To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open your bank journal,
then fill out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Bank Account
Number` column.
To do so, go to :menuselection:`Accounting --> Configuration
--> Journals`, open your *bank journal*, then fill out the
*Bank Account* and *Bank* under the *Bank Account* tab.
.. image:: epc_qr_code/bank-journal.png
:alt: Bank account number column in the bank journal
.. image:: epc_qr_code/epc_qr_code02.png
:align: center
Issue invoices with EPC QR codes
Issue Invoices with EPC QR Codes
================================
EPC QR codes are added automatically to your invoices. Customers whose bank supports making payments
via EPC QR codes will be able to scan the code and pay the invoice.
EPC QR Codes are added automatically to your invoices, as
long as you issue them to customers that are located in a
country where this feature is available.
Go to :menuselection:`Accounting --> Customers --> Invoices`, and create a new invoice.
Go to :menuselection:`Accounting --> Customers --> Invoices`,
and create a new invoice.
Before posting it, open the :guilabel:`Other Info` tab. Odoo automatically fills out the
:guilabel:`Recipient Bank` field with your IBAN.
Before posting it, open the *Other Info* tab. Odoo automatically
fills out the *Bank Account* field with your IBAN.
.. note::
In the :guilabel:`Other Info` tab, the account indicated in the :guilabel:`Recipient Bank` field
is used to receive your customer's payment. Odoo automatically populates this field with your
IBAN by default and uses it to generate the EPC QR code.
Make sure that the account indicated is the one you want to use to
receive your customers payment as Odoo uses this field to generate
the EPC QR Code.
When the invoice is printed or previewed, the QR code is included at the bottom.
.. image:: epc_qr_code/invoice-qr-code.png
:alt: QR code on a customer invoice
.. image:: epc_qr_code/epc_qr_code03.png
:align: center
.. tip::
If you want to issue an invoice without an EPC QR code, remove the IBAN indicated in the
:guilabel:`Recipient Bank` field, under the :guilabel:`Other Info` tab of the invoice.
If you want to issue an invoice without an EPC QR Code,
remove the IBAN indicated in the *Bank Account* field,
under the *Other Info* tab of the invoice.
.. seealso::
* :doc:`../../bank/setup/bank_accounts`
* `Odoo Academy: QR Code on Invoices for European Customers <https://www.odoo.com/r/VuU>`_

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

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

View File

@@ -16,7 +16,6 @@ requiere los siguientes Módulos:
- Impuestos
- Retenciones
- Tipos de Documentos de Identificación
- test and
#. **l10n_co_edi**: Este módulo incluye todos los campos adicionales que son
requeridos para la Integración entre Carvajal y la generación de la

View File

@@ -50,9 +50,10 @@ Bank Payments
- | :doc:`Wire Transfer <payment_acquirers/wire_transfer>`
| When selected, Odoo displays your payment information with a payment reference. You have to
approve the payment manually once you have received it on your bank account.
- | :doc:`SEPA Direct Debit <../finance/accounting/receivables/customer_payments/batch_sdd>`
- | SEPA Direct Debit
| Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged
directly.
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for more
information about this payment method.
.. _payment_acquirers/online_providers:
@@ -106,7 +107,7 @@ Add a new Payment Acquirer
--------------------------
To add a new Payment acquirer and make it available to your customers, go to
:menuselection:`Accounting / Website --> Configuration --> Payment Acquirers`, look for
:menuselection:`Accounting / Website --> Configuration --> eCommerce: Payment Acquirers`, look for
your payment acquirer, install the related module, and activate it. To do so, open the payment
acquirer and change its state from *Disabled* to *Enabled*.
@@ -211,7 +212,7 @@ Multi-company environment
If you have multiple companies on your database and wish to use the same payment acquirer for
several or all of them, switch to the company on which the payment acquirer is configured, then go
to :menuselection:`Accounting / Website --> Configuration --> Payment Acquirers` and
to :menuselection:`Accounting / Website --> Configuration --> Payments: Payment Acquirers` and
select the payment acquirer to use. Then, click :menuselection:`Action --> Duplicate`, and in the
:guilabel:`Company` field, set the company for which you want to have that payment acquirer
available. Configure the rest of the fields according to your needs, and :guilabel:`Save`.

View File

@@ -1,47 +1,40 @@
==============
Wire transfers
==============
===================================
How to get paid with wire transfers
===================================
The **Wire transfer** payment method allows you to provide payment instructions to your customers,
such as the bank details and communication. They are displayed:
**Wire Transfer** is the default payment method available.
The aim is providing your customers with your bank details
so they can pay on their own.
This is very easy to start with but slow and inefficient process-wise.
Opt for payment acquirers as soon as you can!
- at the end of the checkout process, once the customer has selected :guilabel:`Wire transfer` as a
payment method and clicked the :guilabel:`Pay now` button:
How to provide customers with payment instructions
==================================================
.. image:: wire_transfer/payment_instructions_checkout.png
:alt: Payment instructions at checkout
- on the customer portal:
.. image:: wire_transfer/payment_instructions_portal.png
:alt: Payment instructions on the customer portal
.. note::
- While this method is very accessible and requires minimal setup, it is very inefficient
process-wise. We recommend setting up a :doc:`payment acquirer <../payment_acquirers>` instead.
- Online orders remain in the :guilabel:`Quotation sent` (i.e., unpaid order) stage until you
receive the payment and :guilabel:`Confirm` the order.
.. tip::
**Wire transfer** can be used as a template for other payment methods that are processed
manually, such as checks, by renaming or duplicating it.
Configuration
=============
**Wire Transfer** is installed and enabled by default.
To configure it, go to :menuselection:`Accounting / Website --> Configuration -->
Payment Acquirers`, and open the :guilabel:`Wire Transfer` card. Then, select the
:guilabel:`Communication` to be used in the :guilabel:`Configuration` tab:
- :guilabel:`Based on Document Reference`: sales order or invoice number
- :guilabel:`Based on Customer ID`: customer identifier
Define the payment instructions in the :guilabel:`Messages` tab:
Put your payment instructions in the **Thanks Message** of your payment method.
.. image:: wire_transfer/payment_instructions.png
:alt: Define payment instructions
:align: center
.. seealso::
:doc:`../accounting/getting_started/cheat_sheet`
They will appear to the customers when they place an order.
.. image:: wire_transfer/payment_customer_instructions.png
:align: center
How to manage an order once you get paid
========================================
Whenever a customer pays by wire transfer, the order stays in an
intermediary stage **Quotation Sent** (i.e. unpaid order).
When you get paid,
you confirm the order manually to launch the delivery.
How to create other manual payment methods
==========================================
If you manage a B2B business, you can create other manually-processed
payment methods like paying by check.
To do so, just rename *Wire Transfer* or duplicate it.
.. image:: wire_transfer/payment_check.png
:align: center

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

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

View File

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

View File

@@ -11,14 +11,13 @@ inventory costs, including the price of operating warehouses.
Configure products to be dropshipped
====================================
To use dropshipping as a fulfillment strategy, navigate to the :menuselection:`Purchase` app and
select :menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click
the :guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish.
To use dropshipping as a fulfillment strategy, navigate to the :guilabel:`Purchase` app and select
:menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click the
:guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish.
Next, go to the :menuselection:`Sales` app, click :menuselection:`Products --> Products` and choose
an existing product or select :guilabel:`Create` to configure a new one. On the :guilabel:`Product`
page, make sure that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are
enabled.
Next, go to the :guilabel:`Sales` app, click :menuselection:`Products --> Products` and choose an
existing product or select :guilabel:`Create` to configure a new one. On the product page, make sure
that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are enabled.
.. image:: dropshipping/sold-purchased-checkboxes.png
:align: center
@@ -44,14 +43,13 @@ Fulfill orders using dropshipping
When a customer completes an online purchase for a dropshipped product, a sales order will be
automatically created with an associated request for quotation (:abbr:`RFQ (Request for Quotation)`)
for the supplier. Sales orders can be viewed in the :menuselection:`Sales` app by selecting
for the supplier. Sales orders can be viewed in the :guilabel:`Sales` app by selecting
:menuselection:`Orders --> Orders`. Click the :guilabel:`Purchase` smart button at the top right of
a sales order to view the associated :abbr:`RFQ (Request for Quotation)`.
.. tip::
Dropship sales orders can also be created manually through the :menuselection:`Sales` app by
selecting :menuselection:`Orders --> Orders --> Create` and adding a product configured for
dropshipping.
Dropship sales orders can also be created manually through the :guilabel:`Sales` app by selecting
:menuselection:`Orders --> Orders --> Create` and adding a product configured for dropshipping.
.. image:: dropshipping/dropship-sales-order.png
:align: center
@@ -74,8 +72,8 @@ quantity.
:align: center
:alt: Validate the dropship receipt after delivery.
To view all dropship orders, simply navigate to the :menuselection:`Inventory` :guilabel:`Overview`
dashboard and click the teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card.
To view all dropship orders, simply navigate to the :guilabel:`Inventory` dashboard and click the
teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card.
.. image:: dropshipping/view-all-dropship-orders.png
:align: center

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,104 @@
===========================================================
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,109 @@
==========================================================
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -2,8 +2,6 @@
What's the difference between lots and serial numbers?
======================================================
.. _inventory/management/lots-serial-numbers:
Introduction
============

View File

@@ -1,282 +1,137 @@
=====================================
Use lots to manage groups of products
=====================================
=================================
Manage lots of identical products
=================================
*Lots* are one of the two ways to identify and track products in Odoo. A lot usually indicates a
specific batch of an item that was received, is currently stored, or was shipped from a warehouse,
but can also pertain to a batch of products manufactured in-house, as well.
Lots are useful for products you receive in great quantity and for which
a lot number can help in reporting, quality controls, or any other info.
Lots will help identify a number of pieces having, for instance, a
production fault. It can be useful for a batch production of clothes or
food.
Manufacturers assign lot numbers to groups of products that have common properties; this can lead to
multiple goods sharing the same lot number. This helps to identify a number of products in a single
group, and allows for end-to-end traceability of these products through each step in their
lifecycles.
Odoo has the capacity to manage lots, ensuring compliance with the
traceability requirements imposed by the majority of industries.
Lots are useful for products that are manufactured or received in large quantities (such as clothes
or food), and can be used to trace a product back to a group. This is especially useful when
managing product recalls or expiration dates.
The double-entry management in Odoo enables you to run very advanced
traceability.
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers`
Setting Up
==========
Enable lots & serial numbers
============================
Application Configuration
-------------------------
To track products using lots, the *Lots & Serial Numbers* feature must be enabled. Go to
the :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the
:guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Then,
click the :guilabel:`Save` button to save changes.
First, you need to activate the tracking of lot numbers. To do so, go to
:menuselection:`Inventory --> Configuration --> Settings` and tick *Lots & Serial
Numbers*. Then, click on save.
.. image:: lots/lots-enabled-lots-setting.png
.. image:: lots/lots_01.png
:align: center
:alt: Enabled lots and serial numbers feature in inventory settings.
Track products by lots
======================
Product Configuration
---------------------
Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now
be configured to be tracked using lots. To do this, go to the :menuselection:`Inventory app -->
Products --> Products`, and choose a product.
Now, you have to configure which products you want to track by serial
numbers.
Once on the product form, click :guilabel:`Edit` to make changes to the form. Then, click the
:guilabel:`Inventory` tab. In the :guilabel:`Traceability` section, click :guilabel:`By Lots`. Then,
click :guilabel:`Save` to save changes. Existing or new lot numbers can now be assigned to
newly-received or manufactured batches of this product.
Go to :menuselection:`Master Data --> Products` and open the product of your choice.
There, click on *Edit* and select *Tracking by Lots* in the
inventory tab.
.. important::
If a product has stock on-hand prior to activating tracking by lots or serial numbers, an
inventory adjustment might need to be performed to assign lot numbers to the existing stock.
.. image:: lots/lots-tracking-product-form.png
.. image:: lots/lots_02.png
:align: center
:alt: Enabled tracking by lots feature on product form.
Create new lots for products already in stock
---------------------------------------------
New lots can be created for products already in stock with no assigned lot number. To do this, go to
the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and click
:guilabel:`Create`. Doing so reveals a separate page where a new :guilabel:`Lot/Serial Number` is
generated automatically.
.. tip::
While Odoo automatically generates a new :guilabel:`Lot/Serial Number` to follow the most recent
number, it can be edited and changed to any desired number, by clicking the line under the
:guilabel:`Lot/Serial Number` field, and changing the generated number.
Once the new :guilabel:`Lot/Serial Number` is generated, click the blank field next to
:guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new
number will be assigned.
This form also provides the option to adjust the :guilabel:`Quantity`, assign a unique
:guilabel:`Internal Reference` number (for traceability purposes), and assign this specific lot or
serial number configuration to a specific website in the :guilabel:`Website` field (if working in a
multi-website environment).
A detailed description of this specific lot or serial number can also be added in the
:guilabel:`Description` tab below.
When all desired configurations are complete, click the :guilabel:`Save` button to save all changes.
.. image:: lots/lots-new-lot-number.png
.. image:: lots/lots_03.png
:align: center
:alt: New lot number creation form with assigned product.
After a new lot number has been created, saved, and assigned to the desired product, navigate back
to the product form in the :menuselection:`Inventory` app, by going to :menuselection:`Products -->
Products`, and selecting the product to which this newly-created lot number was just assigned.
Manage Lots
===========
On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new
lot number. When additional quantity of this product is received or manufactured, this new lot
number can be selected and assigned to it.
Receipts
--------
Manage lots for shipping and receiving
======================================
In order to receive a product tracked by lots, you have to specify its
lot numbers. You have several ways of doing so:
Lot numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, lot
numbers are assigned directly on the purchase order form. For outgoing goods, lot numbers are
assigned directly on the sales order form.
1. Manually assign the different lot numbers
Manage lots on receipts
-----------------------
2. Copy/paste lot numbers from an Excel file
Assigning lot numbers to **incoming** goods can be done directly from the purchase order (PO).
First, you need to open the detailed operations of your picking.
To create a :abbr:`PO (purchase order)`, go to :menuselection:`Purchase app --> Create`. Doing so
reveals a new, blank request for quotation (RFQ) form.
On this :abbr:`RFQ (request for quotation)`, fill out the necessary information by adding a
:guilabel:`Vendor`, and adding the desired products to the :guilabel:`Product` lines, by clicking
:guilabel:`Add a product` (under the :guilabel:`Products` tab).
Choose the desired quantity of the product to order by changing the number in the
:guilabel:`Quantity` column.
Once the :abbr:`RFQ (request for quotation)` has been filled out, click :guilabel:`Confirm Order`.
When the :abbr:`RFQ (request for quotation)` is confirmed, it becomes a :guilabel:`Purchase Order`,
and a :guilabel:`Receipt` smart button appears. Click the :guilabel:`Receipt` smart button to be
taken to the warehouse receipt form.
.. note::
Clicking :guilabel:`Validate` before assigning a lot number to the ordered product quantities
will result in a :guilabel:`User Error` pop-up. The pop-up requires entry of a lot or serial
number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated
without a lot number being assigned.
.. image:: lots/lots-user-error-popup.png
.. image:: lots/lots_04.png
:align: center
:alt: Add lot/serial number user error popup.
From here, click the :guilabel:`Additional Options` menu, represented by a :guilabel:`hamburger
(four horizontal lines)` icon, located to the right of the :guilabel:`Unit of Measure` column in the
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
Manually assign the different lot numbers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this pop-up, configure a number of different fields, including the assignation of a lot number,
under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up.
When opening the detailed operations, you can click on *Add a line*.
Then, you will be able to fill the lot number in. Once done, you can
click on *Add a line* again to register a new lot number.
There are two ways to assign lot numbers: **manually** and **copy/paste**.
- **Manually assign lot numbers**: Click :guilabel:`Add a line` and choose the location the products
will be stored in under the :guilabel:`To` column. Then, type a new :guilabel:`Lot Number Name`
and set the :guilabel:`Done` quantity.
.. image:: lots/lots-assign-lot-number-popup.png
.. image:: lots/lots_05.png
:align: center
:alt: Assign lot number detailed operations popup.
.. note::
If quantities should be processed in multiple locations and lots, click :guilabel:`Add a line`
and type a new :guilabel:`Lot Number Name` for additional quantities. Repeat until the
:guilabel:`Quantity Done` matches the :guilabel:`Demand`.
Copy/paste lot number from an Excel file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- **Copy/paste lot numbers from a spreadsheet**: Populate a spreadsheet with all of the lot numbers
received from the supplier (or manually chosen to assign upon receipt). Then, copy and paste them
in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary
number of lines based on the amount of numbers pasted in the column. From here, the :guilabel:`To`
locations and :guilabel:`Done` quantities can be manually entered in each of the lot number lines.
Once the spreadsheet containing the lot numbers you received from your
supplier and copy the list. Then, you can paste them in the *Lot/Serial
Number Name* column for Odoo to automatically create the necessary
lines. After that, you will have to manually enter the number of
products that are contained in each one of the lots.
.. image:: lots/lots-excel-spreadsheet.png
.. image:: lots/lots_06.png
:align: center
:alt: List of lot numbers copied on excel spreadsheet.
Once all product quantities have been assigned a lot number, click :guilabel:`Confirm` to close the
pop-up. Then, click :guilabel:`Validate`.
A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
:guilabel:`Lot/Serial #` assigned, and more.
Manage lots on delivery orders
------------------------------
Assigning lot numbers to **outgoing** goods can be done directly from the sales order (SO).
To create an :abbr:`SO (sales order)`, go to the :menuselection:`Sales app --> Create`. Doing so
reveals a new, blank quotation form.
On this blank quotation form, fill out the necessary information by adding a :guilabel:`Customer`,
and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab) by
clicking :guilabel:`Add a product`.
Then, choose the desired quantity to sell by changing the number in the :guilabel:`Quantity` column.
Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the
quotation. When the quotation is confirmed, it becomes an :abbr:`SO (sales order)`, and a
:guilabel:`Delivery` smart button appears.
Click the :guilabel:`Delivery` smart button to view the warehouse receipt form for that specific
:abbr:`SO (sales order)`.
From here, click the :guilabel:`Additional Options` menu, represented by a `hamburger` icon (four
horizontal lines, located to the right of the :guilabel:`Unit of Measure` column in the
:guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up.
In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with the full
:guilabel:`Reserved` quantity taken from that specific lot (if there is enough stock in that
particular lot).
If there is insufficient stock in that lot, or if partial quantities of the :guilabel:`Demand`
should be taken from multiple lots, change the quantity in the :guilabel:`Done` column to only
include that specific part of the total quantity.
.. note::
The lot automatically chosen for delivery orders varies, depending on the selected removal
strategy (:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO
(First Expiry, First Out)`). It will also depend on the quantity ordered, and if there is enough
quantity in one lot to fulfill the order.
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/routes/strategies/removal`
Then, click :guilabel:`Add a line`, select an additional (different) :guilabel:`Lot/Serial Number`,
apply the rest of the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the
pop-up. Lastly, click the :guilabel:`Validate` button to deliver the products.
.. image:: lots/lots-detailed-operations-popup.png
.. image:: lots/lots_05.png
:align: center
:alt: Detailed operations popup for source lot number on sales order.
Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the
:guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which
includes a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the
:guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned.
The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the
previous purchase order, if the product quantities shared the same lot number.
Manage lots for different operations types
==========================================
In Odoo, the creation of new lots is only allowed upon **receiving** products from a purchase order,
by default. **Existing** lot numbers cannot be used.
For sales orders, the opposite is true: new lot numbers cannot be created on the delivery order,
only existing lot numbers can be used.
To change the ability to use new (or existing) lot numbers on any operation type, go to the
:menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired
:guilabel:`Operation Type`.
For :guilabel:`Receipts`, found on the :menuselection:`Operations Types` page, the :guilabel:`Use
Existing Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and then clicking
the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the
:guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes.
For :guilabel:`Delivery Orders`, the :guilabel:`Create New Lots/Serial Numbers` option can be
enabled, by clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New
Lots/Serial Numbers` option. Be sure to click the :guilabel:`Save` button to save all changes.
.. image:: lots/lots-operations-type-form.png
.. image:: lots/lots_07.png
:align: center
:alt: Enabled traceability setting on operations type form.
.. tip::
For inter-warehouse transfers involving products tracked by lots, it can be useful to enable the
:guilabel:`Use Existing Lots/Serial Numbers` option for warehouse receipts.
Operation Types
---------------
Of course, you also have the possibility to define how you will manage
lots for each operation type. To do so, open the *Inventory* app and
go to :menuselection:`Configuration --> Operation Types`.
For each type (receipts, internal transfers, deliveries, …), you can
decide if you allow to create new lot numbers or only use existing ones.
By default, the creation of new lots is only allowed at product
reception, and using existing lot numbers isnt allowed in this
operation. If you have inter-warehouse transfers and track products by
lots, it can be useful to allow using existing lot numbers in receipts
too.
.. image:: lots/lots_08.png
:align: center
Lots traceability
=================
Manufacturers and companies can refer to traceability reports to see the entire lifecycle of a
product: where (and when) it came from, where it was stored, and who (and when) it went to.
The lot number given to the products allows you to keep track of where
they were received, put in stock, to whom they were sold and where they
were shipped to.
To see the full traceability of a product, or group by lots, go to the :menuselection:`Inventory app
--> Products --> Lots/Serial Numbers`. Doing so reveals the :menuselection:`Lots/Serial Numbers`
dashboard.
To track an item, open the *Inventory* module and, in :menuselection:`Master Data -->
Lots/Serial Numbers`, click on the lot number corresponding to your
search.
From here, products with lot numbers assigned to them will be listed by default, and can be expanded
to show the lot numbers those products have assigned to them.
To group by lots (or serial numbers), begin by removing any filters in the search bar. Then, click
the :guilabel:`Group By` drop-down, select :guilabel:`Add Custom Group`, and select
:guilabel:`Lot/Serial Number` from the drop-down menu. Then, click :guilabel:`Apply`.
Doing so displays all existing lots and serial numbers, and can be expanded to show all quantities
of products with that assigned number.
.. image:: lots/lots-traceability-report.png
.. image:: lots/lots_09.png
:align: center
:alt: Lots and serial numbers traceability report.
.. seealso::
:doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences`
When you open the *Traceability* information, you see in which
documents the lot number has been used.
.. image:: lots/lots_10.png
:align: center
Now, if you want to locate the lot number, you can do so by clicking on
the *Location* stat button.
.. image:: lots/lots_11.png
:align: center
.. image:: lots/lots_12.png
:align: center

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