Compare commits
33 Commits
fix/doc/di
...
master-17.
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
726be95584 | [REM] reference: long deprecated SavepointCase | ||
|
|
e63b92a718 |
[FIX] developer/cli: remove unsupported cli options
Removed by |
||
|
|
ac813f2b5b |
[FIX] developer/guidelines: do not mention deprecated xml tags
act_window & report xml tags have been deprecated by |
||
|
|
6419980663 |
[IMP] inventory: thd batch updates
closes odoo/documentation#2855
X-original-commit:
|
||
|
|
894e1be9c6 |
[IMP] report_barcode function: parameter type to barcode_type
|
||
|
|
59db0ca18c |
[FIX] install: update installation from the nightly debian repo
As the `apt-key` command will is deprecated and will be removed in the
next Debian release, it's time to update the documentation.
closes odoo/documentation#2846
X-original-commit:
|
||
|
|
ab1a7d0a69 |
[IMP] *: Remove "SaaS" to keep only the "Odoo Online" appellation
task-3034812
closes odoo/documentation#2839
X-original-commit:
|
||
|
|
06d0ff6ca8 |
[IMP] *: consistency for the use of "Odoo Online" (and SaaS)
task-3034812
X-original-commit:
|
||
|
|
219a7cc82f |
[ADD] reference/orm: grouped method
closes odoo/documentation#2783 Related: odoo/odoo#101522 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com> |
||
|
|
b9217c292a |
[FIX] website: rst and file organization for plausible.rst
- external links
- notes
- indentation
- media filenames
- images compression
- images alt tags
- light content improvement
closes odoo/documentation#2831
X-original-commit:
|
||
|
|
814917793a |
[FW][FIX] administration/install: Odoo 16 distribution link
closes odoo/documentation#2830 Forward-port-of: odoo/documentation#2817 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com> |
||
|
|
7423cfa8f8 |
[IMP] install: add $connection_upgrade map documentation
Before this commit, following the install documentation to setup
the odoochat server would fail. This was due to the fact that the
documentation about how to define the `$connection_upgrade` variable
was missing.
This PR fixes this issue.
closes odoo/documentation#2829
X-original-commit:
|
||
|
|
9d9548da4a |
[IMP] legal: make PDF links relative
This way we don't need to update the links nor risk a desynchronization between the version of the PDF and the HTML. Previously version 15.0 and 16.0 still referenced the 14.0 PDFs (which are the same at the moment, but still...) |
||
|
|
c1bc6ddf6e | [FIX] legal: enterprise terms FR fall 2022 pricing typo | ||
|
|
f42bf525e9 | [FIX] legal: enterprise terms DE translation update (v9c) | ||
|
|
ade054b752 |
[FIX] developer/howtos/rdtraining: Update warning message
Update warning output for missing access rules.
Also reflect up-to-date contents of res.country.state.csv.
closes odoo/documentation#2826
X-original-commit:
|
||
|
|
9a5b5b0614 |
[FIX] *: Odoo 16 requires postgresql 12
Update the minimal version in the installation doc
Make all postgresql docs references target the v12 documentation
Fix some non http links on the way
closes odoo/documentation#2822
X-original-commit:
|
||
|
|
4fe6fbee12 |
[CHG] legal: enterprise terms for fall 2022 pricing
- removal of "per app" notion - addition of "subscription plan" notion |
||
|
|
cd549cb386 |
[IMP] supported_version: release 16.0 and deprecate 13.0
closes odoo/documentation#2814
X-original-commit:
|
||
|
|
d41a66758f |
[IMP] sale_amazon: support all marketplaces
task-2939972
closes odoo/documentation#2806
X-original-commit:
|
||
|
|
3a7be7730d |
[IMP] developer/orm: environment documentation
Move Environment explanation to the class docstring and autogenerate the
doc
Add documentation on some util methods.
closes odoo/documentation#2803
X-original-commit:
|
||
|
|
c8ab0c1535 |
[FIX] developer/iap: wrong :class: element
X-original-commit:
|
||
|
|
0e567a08de |
[IMP] reference/payment: auto-document the method _get_removal_values
Task - 3002532
closes odoo/documentation#2802
X-original-commit:
|
||
|
|
9baab389c9 |
[ADD] reference/standard_modules: API reference for the payment engine
task-2804999
closes odoo/documentation#2797
X-original-commit:
|
||
|
|
46a80f60c5 |
[ADD] developer/reference: add a reference page on performance
closes odoo/documentation#2794
X-original-commit:
|
||
|
|
aab2d6615a |
[IMP] accounting/electronic_invoicing: update factur-x usage
Update Factur-X mentions and screenshot.
task-2957808
https://github.com/odoo/odoo/pull/99699
closes odoo/documentation#2789
X-original-commit:
|
||
|
|
991b8142fe |
[IMP] developer/reference: move model view related methods out of orm
The model method `get_views` and `get_view` are moved
from `odoo/models.py` to `odoo/addons/base/models/ir_ui_view.py`.
The documentation is updated accordingly,
to put the documentation related to `get_views` in the
views chapter of the documentation.
closes odoo/documentation#2786
X-original-commit:
|
||
|
|
f4bbbcb6c1 |
[FW][IMP] howtos/rdtraining: give the meaning of "ACL"
closes odoo/documentation#2779 Forward-port-of: odoo/documentation#2774 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
768ab1b586 |
[IMP] email_communication: can't use Odoo STMP with another mail server
Customer may want to use their own SMTP for email marketing, and Odoo default SMTP for everything else. There is no good way to do this. Previously we suggested adding Odoo SMTP as an outgoing email server but we don't want to share credentials anymore.
R&D is working on a solution (e.g. showing the Odoo default email server in the list rather than keeping it as an "hidden feature") but for the time being, if you use an outgoing email server, you give up using the Odoo default SMTP.
closes odoo/documentation#2771
X-original-commit:
|
||
|
|
7424e4176c |
[IMP] website: register domain name menu path
closes odoo/documentation#2766
X-original-commit:
|
||
|
|
8287c88bd4 |
[IMP] MRP: updated Variants BOM Management rst content
closes odoo/documentation#2764
X-original-commit:
|
||
|
|
53e7277b6a |
[FIX]: fix odoo_version detection
Right now if the version is not "final (and not alpha)"
documentation will say 16.0beta != 16.0
closes odoo/documentation#2748
X-original-commit:
|
||
|
|
2c7d61f938 |
[FIX] accounting: grammar fix in ponto
closes odoo/documentation#2759
X-original-commit:
|
4
conf.py
|
|
@@ -95,7 +95,7 @@ else:
|
|||
import odoo.addons
|
||||
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
|
||||
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
|
||||
odoo_version = odoo_release.version.replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = '.'.join(str(s) for s in odoo_release.version_info[:2]).replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
|
||||
if release != odoo_version:
|
||||
_logger.warning(
|
||||
|
|
@@ -187,6 +187,8 @@ sphinx.transforms.i18n.docname_to_domain = (
|
|||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.3': "Odoo Online",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
|
|
|
|||
|
|
@@ -97,7 +97,7 @@ Configuration sample
|
|||
* Allow tcp connection on localhost
|
||||
* Allow tcp connection from 192.168.1.x network
|
||||
|
||||
in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/pg_hba.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
|
|
@@ -105,7 +105,7 @@ in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
|||
host all all 127.0.0.1/32 md5
|
||||
host all all 192.168.1.0/24 md5
|
||||
|
||||
in ``/etc/postgresql/9.5/main/postgresql.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/postgresql.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
|
|
@@ -172,7 +172,7 @@ in Odoo the db_sslmode control the ssl security of the connection
|
|||
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
|
||||
or 'verify-full'
|
||||
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/12/static/libpq-ssl.html>`_
|
||||
|
||||
.. _builtin_server:
|
||||
|
||||
|
|
@@ -290,6 +290,10 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
|||
upstream odoochat {
|
||||
server 127.0.0.1:8072;
|
||||
}
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# http -> https
|
||||
server {
|
||||
|
|
@@ -741,8 +745,8 @@ Here are the supported browsers:
|
|||
.. _socat: http://www.dest-unreach.org/socat/
|
||||
.. _PostgreSQL connection settings:
|
||||
.. _listen to network interfaces:
|
||||
https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html
|
||||
https://www.postgresql.org/docs/12/static/runtime-config-connection.html
|
||||
.. _use an SSH tunnel:
|
||||
https://www.postgresql.org/docs/9.6/static/ssh-tunnels.html
|
||||
https://www.postgresql.org/docs/12/static/ssh-tunnels.html
|
||||
.. _WSGI: https://wsgi.readthedocs.org/
|
||||
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
|
||||
|
|
|
|||
|
|
@@ -33,7 +33,7 @@ Editions
|
|||
========
|
||||
|
||||
There are two different Editions_ of Odoo: the Community and Enterprise versions.
|
||||
Using the Enterprise version is possible on our SaaS_ and accessing the code is
|
||||
Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is
|
||||
restricted to Enterprise customers and partners. The Community version is freely
|
||||
available to anyone.
|
||||
|
||||
|
|
@@ -55,17 +55,17 @@ around and try things out with no commitment.
|
|||
|
||||
Demo_ instances require no local installation, just a web browser.
|
||||
|
||||
SaaS
|
||||
----
|
||||
Odoo Online
|
||||
-----------
|
||||
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_
|
||||
provides private instances and starts out free. It can be used to discover and
|
||||
test Odoo and do non-code customizations (i.e. incompatible with custom modules
|
||||
or the Odoo Apps Store) without having to install it locally.
|
||||
|
||||
Can be used for both testing Odoo and long-term production use.
|
||||
|
||||
Like demo_ instances, SaaS_ instances require no local installation, a web
|
||||
Like demo_ instances, `Odoo Online`_ instances require no local installation, a web
|
||||
browser is sufficient.
|
||||
|
||||
|
||||
|
|
@@ -146,13 +146,13 @@ Repository
|
|||
.. group-tab:: Debian/Ubuntu
|
||||
|
||||
Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can
|
||||
be used to install *Odoo Community Edition* by executing the following commands **as root**:
|
||||
be used to install *Odoo Community Edition* by executing the following commands:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
|
||||
# echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
|
||||
# apt-get update && apt-get install odoo
|
||||
$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
|
||||
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/16.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
|
||||
$ sudo apt-get update && sudo apt-get install odoo
|
||||
|
||||
You can then use the usual `apt-get upgrade` command to keep your installation up-to-date.
|
||||
|
||||
|
|
@@ -432,7 +432,7 @@ PostgreSQL
|
|||
.. group-tab:: Windows
|
||||
|
||||
Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 10.0 and later).
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 12.0 and later).
|
||||
|
||||
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
|
||||
to create a new PostgreSQL user:
|
||||
|
|
@@ -452,7 +452,7 @@ PostgreSQL
|
|||
.. group-tab:: Linux
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use your package manager to download and
|
||||
install PostgreSQL (supported version: 10.0 and later).
|
||||
install PostgreSQL (supported version: 12.0 and later).
|
||||
|
||||
It can be achieved by executing the following:
|
||||
|
||||
|
|
@@ -475,7 +475,7 @@ PostgreSQL
|
|||
.. group-tab:: Mac OS
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use `postgres.app
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 10.0 and
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 12.0 and
|
||||
later).
|
||||
|
||||
.. tip::
|
||||
|
|
@@ -726,24 +726,24 @@ official Odoo `docker image <https://hub.docker.com/_/odoo/>`_ page.
|
|||
.. _demo: https://demo.odoo.com
|
||||
.. _docker: https://www.docker.com
|
||||
.. _download: https://www.odoo.com/page/download
|
||||
.. _Ubuntu 20.04 (Focal): http://releases.ubuntu.com/20.04/
|
||||
.. _Ubuntu 20.04 (Focal): https://releases.ubuntu.com/20.04/
|
||||
.. _EPEL: https://fedoraproject.org/wiki/EPEL
|
||||
.. _PostgreSQL: http://www.postgresql.org
|
||||
.. _PostgreSQL: https://www.postgresql.org
|
||||
.. _the official installer:
|
||||
.. _install pip:
|
||||
https://pip.pypa.io/en/latest/installing.html#install-pip
|
||||
.. _Quilt: http://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _saas: https://www.odoo.com/page/start
|
||||
.. _Quilt: https://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _Odoo Online: https://www.odoo.com/page/start
|
||||
.. _the wkhtmltopdf download page: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5
|
||||
.. _UAC: http://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: http://wkhtmltopdf.org
|
||||
.. _UAC: https://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: https://wkhtmltopdf.org
|
||||
.. _pip: https://pip.pypa.io
|
||||
.. _macports: https://www.macports.org
|
||||
.. _homebrew: http://brew.sh
|
||||
.. _homebrew: https://brew.sh
|
||||
.. _wheels: https://wheel.readthedocs.org/en/latest/
|
||||
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
|
||||
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/en/latest/
|
||||
.. _pywin32: http://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _pywin32: https://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _community-repository: https://github.com/odoo/odoo
|
||||
.. _enterprise-repository: https://github.com/odoo/enterprise
|
||||
.. _Editions: https://www.odoo.com/pricing#pricing_table_features
|
||||
|
|
|
|||
|
|
@@ -11,6 +11,6 @@ Maintain
|
|||
maintain/update
|
||||
maintain/enterprise
|
||||
maintain/hosting_changes
|
||||
maintain/online
|
||||
maintain/odoo_online
|
||||
maintain/on_premise
|
||||
maintain/supported_versions
|
||||
|
|
|
|||
|
|
@@ -62,11 +62,11 @@ database manager.
|
|||
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
|
||||
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
|
||||
|
||||
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
|
||||
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, then on :guilabel:`Domain names`.
|
||||
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
|
||||
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
|
||||
database, then on :guilabel:`Domain names`.
|
||||
|
||||
.. image:: domain_names/register-promote.png
|
||||
.. image:: domain_names/register-menu.png
|
||||
:align: center
|
||||
:alt: Clicking on Domain Names from an Odoo website
|
||||
|
||||
|
|
|
|||
BIN
content/administration/maintain/domain_names/register-menu.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
|
@@ -1,18 +1,18 @@
|
|||
=================================
|
||||
Online (SaaS) database management
|
||||
=================================
|
||||
===============================
|
||||
Odoo Online database management
|
||||
===============================
|
||||
|
||||
To manage a database, sign in to https://www.odoo.com and access the `database management page
|
||||
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on *My Databases*.
|
||||
|
||||
.. image:: online/my-databases.png
|
||||
.. image:: odoo_online/my-databases.png
|
||||
:align: center
|
||||
:alt: Clicking on the user icon opens a drop-down menu. "My databases" button is highlighted.
|
||||
|
||||
.. note::
|
||||
Make sure you are connected as the administrator of the database you want to manage.
|
||||
|
||||
.. image:: online/dropdown-menu.png
|
||||
.. image:: odoo_online/dropdown-menu.png
|
||||
:align: right
|
||||
:alt: Clicking on the gear icon opens the drop-down menu.
|
||||
|
||||
|
|
@@ -20,17 +20,17 @@ Open the drop-down menu next to the database you want to manage by clicking on t
|
|||
|
||||
Several actions are available:
|
||||
|
||||
- :ref:`online/upgrade`
|
||||
- :ref:`online/duplicate`
|
||||
- :ref:`online/rename`
|
||||
- :ref:`online/download`
|
||||
- :ref:`online/domains`
|
||||
- :ref:`online/tags`
|
||||
- :ref:`online/delete`
|
||||
- :ref:`online/contact-support`
|
||||
- :ref:`online/users`
|
||||
- :ref:`odoo_online/upgrade`
|
||||
- :ref:`odoo_online/duplicate`
|
||||
- :ref:`odoo_online/rename`
|
||||
- :ref:`odoo_online/download`
|
||||
- :ref:`odoo_online/domains`
|
||||
- :ref:`odoo_online/tags`
|
||||
- :ref:`odoo_online/delete`
|
||||
- :ref:`odoo_online/contact-support`
|
||||
- :ref:`odoo_online/users`
|
||||
|
||||
.. _online/upgrade:
|
||||
.. _odoo_online/upgrade:
|
||||
|
||||
Upgrade
|
||||
=======
|
||||
|
|
@@ -56,7 +56,7 @@ upgrade to the latest version (e.g., 13.0 to 15.1).
|
|||
- :doc:`../upgrade`
|
||||
- :doc:`supported_versions`
|
||||
|
||||
.. _online/duplicate:
|
||||
.. _odoo_online/duplicate:
|
||||
|
||||
Duplicate
|
||||
=========
|
||||
|
|
@@ -69,14 +69,14 @@ operations.
|
|||
orders, etc.) are disabled by default on the duplicated database.
|
||||
- Duplicate databases expire automatically after 15 days.
|
||||
|
||||
.. _online/rename:
|
||||
.. _odoo_online/rename:
|
||||
|
||||
Rename
|
||||
======
|
||||
|
||||
Rename the database and its URL.
|
||||
|
||||
.. _online/download:
|
||||
.. _odoo_online/download:
|
||||
|
||||
Download
|
||||
========
|
||||
|
|
@@ -87,7 +87,7 @@ Download instantly a ZIP file with a backup of the database.
|
|||
Databases are backed up daily according to the `Odoo Cloud SLA
|
||||
<https://www.odoo.com/cloud-sla>`_.
|
||||
|
||||
.. _online/domains:
|
||||
.. _odoo_online/domains:
|
||||
|
||||
Domains
|
||||
=======
|
||||
|
|
@@ -97,14 +97,14 @@ Configure custom domains to access the database via another URL.
|
|||
.. seealso::
|
||||
- :doc:`domain_names`
|
||||
|
||||
.. _online/tags:
|
||||
.. _odoo_online/tags:
|
||||
|
||||
Tags
|
||||
====
|
||||
|
||||
Add tags to sort your databases out. You can search the tags in the search bar.
|
||||
|
||||
.. _online/delete:
|
||||
.. _odoo_online/delete:
|
||||
|
||||
Delete
|
||||
======
|
||||
|
|
@@ -118,7 +118,7 @@ Delete a database instantly.
|
|||
Read carefully the warning message that pops up and proceed only if you fully understand the
|
||||
implications of deleting a database:
|
||||
|
||||
.. image:: online/delete.png
|
||||
.. image:: odoo_online/delete.png
|
||||
:align: center
|
||||
:alt: A warning message is prompted before deleting a database.
|
||||
|
||||
|
|
@@ -129,7 +129,7 @@ implications of deleting a database:
|
|||
needed, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
- To delete your account, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
|
||||
.. _online/contact-support:
|
||||
.. _odoo_online/contact-support:
|
||||
|
||||
Contact Support
|
||||
===============
|
||||
|
|
@@ -137,7 +137,7 @@ Contact Support
|
|||
Access the Odoo `support page <https://www.odoo.com/help>`_ with your database's details already
|
||||
pre-filled.
|
||||
|
||||
.. _online/users:
|
||||
.. _odoo_online/users:
|
||||
|
||||
Invite / Remove Users
|
||||
=====================
|
||||
|
|
@@ -145,7 +145,7 @@ Invite / Remove Users
|
|||
To invite users, fill out the email address of the new user and click on *Invite*. To add multiple
|
||||
users, click on *Add more users*.
|
||||
|
||||
.. image:: online/invite-users.png
|
||||
.. image:: odoo_online/invite-users.png
|
||||
:align: center
|
||||
:alt: Clicking on "Add more users" adds additional email fields.
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
|
@@ -8,8 +8,9 @@ Supported versions
|
|||
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
|
||||
|
||||
.. note::
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online <online>`
|
||||
hosting every two months. Odoo Online users can then benefit from the latest features of Odoo.
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online
|
||||
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
|
||||
features of Odoo.
|
||||
|
||||
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
|
||||
- Online versions are *not* released for Odoo.sh and On-Premise installations.
|
||||
|
|
@@ -25,6 +26,8 @@ This matrix shows the support status of every version.
|
|||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
|
|
@@ -33,7 +36,7 @@ This matrix shows the support status of every version.
|
|||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 14.0** | |green| | |green| | |green| | October 2020 | October 2023 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 13.0** | |green| | |green| | |green| | October 2019 | October 2022 (planned) |
|
||||
| **Odoo 13.0** | |red| | |red| | |red| | October 2019 | October 2022 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~12.3 | |red| | N/A | N/A | August 2019 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
|
|
|||
|
|
@@ -131,7 +131,7 @@ Odoo Online databases
|
|||
|
||||
.. Warning::
|
||||
|
||||
Saas releases (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
Online versions (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
|
||||
Upload the backup
|
||||
-----------------
|
||||
|
|
|
|||
|
|
@@ -12,7 +12,7 @@ Upgrade
|
|||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
upgrade/online_hosting
|
||||
upgrade/odoo_online
|
||||
upgrade/odoo_sh
|
||||
upgrade/on_premise
|
||||
upgrade/faq
|
||||
|
|
@@ -22,8 +22,8 @@ An upgrade is switching to a newer version of Odoo (e.g., Odoo 14.0 to Odoo 15.0
|
|||
An upgrade does not cover:
|
||||
|
||||
* Changing :ref:`editions <upgrade-faq/editions-change>` (i.e., Community to Enterprise edition)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Online or
|
||||
Odoo.sh)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Odoo Online
|
||||
or Odoo.sh)
|
||||
* Migration from another ERP to Odoo
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
|
@@ -54,7 +54,7 @@ The upgrade process in a nutshell:
|
|||
newly upgraded database (this is done automatically on Odoo Online).
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Upgrade process for Odoo Online (SaaS) <upgrade/online_hosting>`
|
||||
- :doc:`Upgrade process for Odoo Online <upgrade/odoo_online>`
|
||||
- :doc:`Upgrade process for Odoo.sh <upgrade/odoo_sh>`
|
||||
- :doc:`Upgrade process for On-Premise <upgrade/on_premise>`
|
||||
|
||||
|
|
@@ -225,8 +225,8 @@ Service Level Agreement
|
|||
What is covered by the Enterprise Licence?
|
||||
------------------------------------------
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following services at all times.
|
||||
Databases hosted on Odoo’s Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
|
||||
enjoy the following services at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
|
|
|
|||
|
|
@@ -108,8 +108,8 @@ community or enterprise edition. It is required to have an enterprise subscripti
|
|||
|
||||
.. _upgrade-faq/hosting-types-switch:
|
||||
|
||||
Switching the hosting types (Self-Hosting vs. Online Hosting - SaaS vs. Cloud Platform - Odoo.sh)
|
||||
=================================================================================================
|
||||
Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)
|
||||
====================================================================
|
||||
|
||||
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
|
||||
|
||||
|
|
@@ -151,8 +151,8 @@ features and improvements made in each version.
|
|||
How long is my test available for
|
||||
=================================
|
||||
|
||||
An Odoo Online (SaaS) test database is available for one month by default. We can extend this trial
|
||||
period upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
An Odoo Online test database is available for one month by default. We can extend this trial period
|
||||
upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
|
||||
How many tests to perform before upgrading to production?
|
||||
=========================================================
|
||||
|
|
|
|||
|
|
@@ -1,6 +1,6 @@
|
|||
==================
|
||||
Odoo Online (SaaS)
|
||||
==================
|
||||
===========
|
||||
Odoo Online
|
||||
===========
|
||||
|
||||
Requesting a test upgrade
|
||||
=========================
|
||||
|
|
@@ -8,17 +8,17 @@ Requesting a test upgrade
|
|||
#. Go to your `database manager <https://www.odoo.com/my/databases/>`_
|
||||
#. Click on your profile icon and select *My Databases*.
|
||||
|
||||
.. image:: online_hosting/accessing-my-databases.png
|
||||
.. image:: odoo_online/accessing-my-databases.png
|
||||
:alt: Selecting My Databases under my profile
|
||||
|
||||
#. Click on the action settings icon next to your main database and select the *Upgrade* option.
|
||||
|
||||
.. image:: online_hosting/upgrade-option.png
|
||||
.. image:: odoo_online/upgrade-option.png
|
||||
:alt: Selecting the action settings icon
|
||||
|
||||
#. In the pop-up message that will appear, select Test Upgrade.
|
||||
|
||||
.. image:: online_hosting/select-test-upgrade.png
|
||||
.. image:: odoo_online/select-test-upgrade.png
|
||||
:alt: Selecting test upgrade
|
||||
|
||||
#. This triggers the automated upgrade process. A confirmation email is then sent to you with the
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
|
@@ -64,8 +64,8 @@ Link your Ponto account with your Odoo database
|
|||
#. Finish the flow.
|
||||
|
||||
.. note::
|
||||
You have to authorize all the accounts you want to access in Odoo but, Odoo will filter the
|
||||
accounts based on the institution you selected at the second step.
|
||||
You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the
|
||||
accounts based on the institution you selected in the second step.
|
||||
|
||||
Update your synchronization credentials
|
||||
---------------------------------------
|
||||
|
|
|
|||
|
|
@@ -13,7 +13,7 @@ Be careful, you can only change the accounting package as long as you have not c
|
|||
|
||||
.. tip::
|
||||
|
||||
When you create a new SaaS database, the SKR03 is installed by default.
|
||||
When you create a new Odoo Online database, the SKR03 is installed by default.
|
||||
|
||||
German Accounting Reports
|
||||
=========================
|
||||
|
|
@@ -224,8 +224,8 @@ accordance with the GoBD guidelines.
|
|||
Once bookings have been finally posted, they can no longer be changed or deleted via the
|
||||
application.
|
||||
|
||||
- If Odoo is used in the cloud, regular backups are part of the SaaS service. In addition, regular
|
||||
backups can be downloaded and backed up on external systems.
|
||||
- If Odoo is used in the cloud, regular backups are part of the Odoo Online service. In addition,
|
||||
regular backups can be downloaded and backed up on external systems.
|
||||
|
||||
.. seealso::
|
||||
`Odoo Cloud Hosting - Service Level Agreement <https://www.odooo.com/cloud-sla>`_
|
||||
|
|
|
|||
|
|
@@ -17,7 +17,7 @@ then choose the package you want in the **Fiscal Localization** section.
|
|||
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
||||
|
||||
.. tip::
|
||||
When you create a new SaaS database, the PGCE PYMEs 2008 is installed by default.
|
||||
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
|
||||
|
||||
Spanish Accounting Reports
|
||||
==========================
|
||||
|
|
|
|||
|
|
@@ -67,8 +67,8 @@ Starting from the 1st January 2018, new reduced VAT rates will be
|
|||
applied in Switzerland. The normal 8.0% rate will switch to 7.7% and the
|
||||
specific rate for the hotel sector will switch from 3.8% to 3.7%.
|
||||
|
||||
How to update your taxes in Odoo Enterprise (SaaS or On Premise)?
|
||||
-----------------------------------------------------------------
|
||||
How to update your taxes in Odoo Enterprise (Odoo Online or On-premise)?
|
||||
------------------------------------------------------------------------
|
||||
|
||||
If you have the V11.1 version, all the work is already been done, you
|
||||
don't have to do anything.
|
||||
|
|
|
|||
|
|
@@ -71,8 +71,8 @@ Pricing
|
|||
:guilabel:`View My Services`.
|
||||
|
||||
.. important::
|
||||
- If you are on Odoo Online (SaaS) and have the Enterprise version, you benefit from free trial
|
||||
credits to test the feature.
|
||||
- If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits
|
||||
to test the feature.
|
||||
|
||||
.. seealso::
|
||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_.
|
||||
|
|
@@ -20,8 +20,8 @@ Odoo supports, among others, the following formats.
|
|||
|
||||
* - Format Name
|
||||
- Applicability
|
||||
* - Factur-X (CII)
|
||||
- Default format on Odoo (enabled by default)
|
||||
* - Factur-X (PDF/A-3)
|
||||
- For French and German companies
|
||||
* - Peppol BIS Billing 3.0 (UBL)
|
||||
- For companies whose countries are part of the `EAS list
|
||||
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_
|
||||
|
|
@@ -68,8 +68,9 @@ visible in the attachment section, or embedded in the PDF.
|
|||
.. note::
|
||||
- For E-FFF, the xml file only appears after having generated the PDF (:guilabel:`Print` or
|
||||
:guilabel:`Send & Print` button), since the PDF needs to be embedded inside the xml.
|
||||
- By default, the :guilabel:`Factur-X` option is enabled. It means that an XML file is
|
||||
automatically included in the PDF document that is sent.
|
||||
- Every PDF generated from Odoo contains a :guilabel:`Factur-X` XML file (for interoperability purpose).
|
||||
For German and French companies, the option :guilabel:`Factur-X (PDF/A-3)` in addition enables
|
||||
validation checks on the invoice and generates a PDF/A-3 compliant file, required by plaftorms like Chorus Pro.
|
||||
- The formats available depend on the country registered in your company's :guilabel:`General
|
||||
Information`.
|
||||
- Odoo supports the **Peppol BIS Billing 3.0** format that can be used via existing access
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 7.7 KiB |
|
|
@@ -42,6 +42,6 @@ Pricing
|
|||
*View my Services*.
|
||||
|
||||
.. tip::
|
||||
- If you are on Odoo Online (SAAS) and have the Enterprise version, you benefit from free trial
|
||||
credits to test the feature.
|
||||
- If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits
|
||||
to test the feature.
|
||||
- Click `here <https://iap.odoo.com/privacy#header_4>`_ to know about our *Privacy Policy*.
|
||||
|
|
|
|||
|
|
@@ -4,8 +4,8 @@ Documents
|
|||
|
||||
**Odoo Documents** allows you to store, view and manage files within Odoo.
|
||||
|
||||
You can upload any type of file (max 64MB per file on Odoo Online/SaaS), and organize them in
|
||||
various workspaces.
|
||||
You can upload any type of file (max 64MB per file on Odoo Online), and organize them in various
|
||||
workspaces.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Documents: product page <https://www.odoo.com/app/documents>`_
|
||||
|
|
|
|||
|
|
@@ -59,6 +59,8 @@ debug mode, add `?debug=0` instead.
|
|||
:ref:`assets mode <frontend/framework/assets_debug_mode>`, and `?debug=tests` enables
|
||||
the :ref:`tests mode <frontend/framework/tests_debug_mode>`.
|
||||
|
||||
.. _developer-mode/mode-tools:
|
||||
|
||||
Locate the mode tools
|
||||
=====================
|
||||
|
||||
|
|
|
|||
|
|
@@ -1,240 +1,210 @@
|
|||
====================================================
|
||||
Send and Receive Emails in Odoo with an Email Server
|
||||
Send and receive emails in Odoo with an email server
|
||||
====================================================
|
||||
|
||||
If you are a user of Odoo Online or Odoo.sh...
|
||||
==============================================
|
||||
Odoo Online or Odoo.sh users
|
||||
============================
|
||||
|
||||
You have nothing to do! **Odoo sets up its own mail servers for your database.**
|
||||
Outgoing and incoming emails work out-of-the-box!
|
||||
|
||||
Unless you plan to send large batches of mass mailing that could require the
|
||||
use of an external mail server, simply enjoy your new Odoo database.
|
||||
Since **Odoo sets up its own mail servers for the database**, outgoing and incoming emails already
|
||||
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be done!
|
||||
|
||||
Unless an external mail server is required to send large batches of mass mailing, simply use the
|
||||
standard online Odoo database normally since it has already been preconfigured for email.
|
||||
|
||||
Scope of this documentation
|
||||
===========================
|
||||
|
||||
This document is **mainly dedicated to Odoo on-premise users** who don't
|
||||
benefit from an out-of-the-box solution to send and receive emails in Odoo,
|
||||
unlike `Odoo Online <https://www.odoo.com/trial>`_ & `Odoo.sh <https://www.odoo.sh>`_.
|
||||
This document is **mainly dedicated to Odoo on-premise users** who don't benefit from an
|
||||
out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online <https://www.odoo.
|
||||
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_.
|
||||
|
||||
The following sections below contain information on how to integrate an external email server with
|
||||
Odoo.
|
||||
|
||||
.. warning::
|
||||
If no one in your company is used to manage email servers, we strongly recommend that
|
||||
you opt for those Odoo hosting solutions. Their email system
|
||||
works instantly and is monitored by professionals.
|
||||
Nevertheless you can still use your own email servers if you want
|
||||
to manage your email server's reputation yourself.
|
||||
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly
|
||||
recommended. Those Odoo hosting types' email systems work instantly and are monitored by
|
||||
professionals. Nevertheless, a company can use their own email server if they want to manage the
|
||||
email server's reputation themselves.
|
||||
|
||||
You will find here some useful
|
||||
information on how to integrate your own email solution with Odoo.
|
||||
.. note::
|
||||
Office 365 email servers don't easily allow the sending of external emails from hosts like Odoo.
|
||||
Refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-
|
||||
multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
||||
c805d654b4c4>`_ to make it work.
|
||||
|
||||
.. note::
|
||||
Office 365 email servers don't easily allow to send external emails from hosts like Odoo. Refer
|
||||
to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
|
||||
to make it work.
|
||||
Manage outbound messages
|
||||
========================
|
||||
|
||||
How to manage outbound messages
|
||||
===============================
|
||||
As a system admin, go to :menuselection:`Settings --> General Settings`
|
||||
and check *External Email Servers*. Then, click *Outgoing Mail Servers* to create one and reference
|
||||
the SMTP data of your email server. Once all the information has been filled out, click on
|
||||
*Test Connection*.
|
||||
As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and
|
||||
enable the :guilabel:`External Email Servers` option. Then, click :guilabel:`Save`. Next, click
|
||||
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail
|
||||
server record in Odoo. Reference the SMTP data of the external email server. Once all the
|
||||
information has been filled out, click :guilabel:`Test Connection`.
|
||||
|
||||
Here is a typical configuration for a G Suite server.
|
||||
|
||||
.. image:: email_servers/outgoing-server.png
|
||||
:align: center
|
||||
:align: center
|
||||
:alt: The typical G Suite configuration on Odoo.
|
||||
|
||||
Then set your email domain name in the General Settings.
|
||||
Then, go back to :menuselection:`Settings --> General Settings --> Discuss` and set the email
|
||||
domain name in the :guilabel:`Alias Domain` name. Finally, click :guilabel:`Save` to finish setting
|
||||
up the email server.
|
||||
|
||||
.. note::
|
||||
If you get a ``[AUTHENTICATIONFAILED] Invalid credentials (Failure)`` warning when you *Test
|
||||
Connection* on a Gmail address, activate the *Less secure app access* option. A direct link can
|
||||
be `accessed here <https://myaccount.google.com/lesssecureapps?pli=1>`_.
|
||||
If an `[AUTHENTICATION FAILED] Invalid credentials (Failure)` warning appears when
|
||||
:guilabel:`Test Connection` is clicked for a Gmail address, activate the :guilabel:`Less secure
|
||||
app access` option. A direct link can be `accessed here <https://myaccount.google.com/
|
||||
lesssecureapps?pli=1>`_.
|
||||
|
||||
In addition to that, enable the IMAP setting on your Gmail account.
|
||||
In addition to that, enable the :guilabel:`IMAP setting` on the Gmail account.
|
||||
|
||||
Use an Office 365 server
|
||||
------------------------
|
||||
|
||||
Can I use an Office 365 server
|
||||
------------------------------
|
||||
You can use an Office 365 server if you run Odoo on-premise.
|
||||
Office 365 SMTP relays are not compatible with Odoo Online unless you configure
|
||||
Odoo to :ref:`force the outgoing "From" address <email_communication/default_from>` .
|
||||
An Office 365 server can be used if the database's hosting type is **Odoo on-premise**. Office 365
|
||||
SMTP relays are not compatible with Odoo Online or Odoo.sh unless Odoo is configured to
|
||||
:ref:`force the outgoing "From" address <email_communication/default_from>`.
|
||||
|
||||
Please refer to `Microsoft's documentation
|
||||
<https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
|
||||
to configure a SMTP relay for your Odoo's IP address.
|
||||
Please refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-
|
||||
a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
||||
c805d654b4c4>`_ to configure an SMTP relay for the Odoo database's IP address.
|
||||
|
||||
How to use a G Suite server
|
||||
---------------------------
|
||||
You can use an G Suite server for any Odoo hosting type.
|
||||
To do so you need to setup the SMTP relay service. The configuration steps are explained in
|
||||
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
|
||||
Use a G Suite server
|
||||
--------------------
|
||||
|
||||
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service.
|
||||
The configuration steps are explained in `Google documentation <https://support.google.com
|
||||
/a/answer/2956491?hl=en>`__.
|
||||
|
||||
Restriction
|
||||
-----------
|
||||
Please note that port 25 is blocked for security reasons on our SaaS and Odoo.sh platform. Try using
|
||||
465, 587, or 2525.
|
||||
|
||||
Please note that port 25 is blocked for security reasons on Odoo Online and Odoo.sh platforms. Try
|
||||
using ports 465, 587, or 2525 instead.
|
||||
|
||||
.. _email_communication/default_from:
|
||||
|
||||
Use a default "From" email address
|
||||
----------------------------------
|
||||
|
||||
Sometimes, an email's "From" (outgoing) address can belong to a
|
||||
different domain, and that can be a problem.
|
||||
Sometimes, an email's "From" (outgoing) address can belong to a different domain, and that can be a
|
||||
problem.
|
||||
|
||||
For example, if a customer with address *mary@customer.example.com* responds to
|
||||
a message, Odoo will try to redistribute that same email to other subscribers
|
||||
in the thread. But if the domain *customer.example.com* forbids that kind of
|
||||
usage for security, the Odoo's redistributed email would get
|
||||
rejected by some recipients' mail servers.
|
||||
For example, if a customer with the email address *mary\@customer.example.com* responds to a
|
||||
message, Odoo will try to redistribute that same email to the other subscribers in the thread.
|
||||
However, if the domain *customer.example.com* forbids that kind of usage for security, the email
|
||||
that Odoo is trying to redistribute would get rejected by some recipients' email servers.
|
||||
|
||||
To avoid those kind of problems, you should make sure all emails use a "From"
|
||||
address from your authorized domain.
|
||||
To avoid that problem, make sure all emails use a "From" address from the same authorized domain.
|
||||
|
||||
If your MTA supports `SRS (Sender Rewriting Scheme)
|
||||
<https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme>`_, you can enable it
|
||||
to handle these situations. However, that is more complex and requires more
|
||||
technical knowledge that is not meant to be covered by this documentation.
|
||||
If the MTA supports `SRS (Sender Rewriting Scheme) <https://en.wikipedia.org/wiki/Sender_Rewriting
|
||||
_Scheme>`_, SRS can be enabled to handle these situations. However, that is more complex and
|
||||
requires more technical knowledge that is not meant to be covered by this documentation.
|
||||
|
||||
Instead, you can also configure Odoo to do something similar by itself:
|
||||
Instead, Odoo can be configured to do something similar by itself:
|
||||
|
||||
#. Set your domain name in the General Settings.
|
||||
#. Set the :guilabel:`Alias Domain` name in the :menuselection:`Settings --> General Settings
|
||||
--> Discuss`.
|
||||
|
||||
.. image:: email_servers/alias-domain.png
|
||||
:align: center
|
||||
.. image:: email_servers/alias-domain.png
|
||||
:alt: Setting the domain alias configuration on Odoo.
|
||||
|
||||
#. Click on *Outgoing Mail Servers*
|
||||
#. Turn on :doc:`developer mode </applications/general/developer_mode>`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`.
|
||||
#. Add one system parameter from the following list:
|
||||
|
||||
#. Create a new one.
|
||||
|
||||
#. Fill its *From Filter*.
|
||||
|
||||
.. image:: email_servers/outgoing_server_from_filter.png
|
||||
:align: center
|
||||
|
||||
* Use a domain (such as ``mycompany.example.com``) to keep the original "From"
|
||||
address for mails that come from that domain.
|
||||
|
||||
* Use an address (such as ``outgoing@mycompany.example.com``) to allow only
|
||||
that outgoing address.
|
||||
|
||||
* Keep it empty to use this server for any email address.
|
||||
|
||||
With this configuration in place, if Odoo sends an email that doesn't match any
|
||||
of the *from filters*, it will alter the email's "From" before sending it to
|
||||
the MTA.
|
||||
|
||||
It will use the default outgoing email address, composed like this:
|
||||
``{mail.default.from}@{mail.catchall.domain}``.
|
||||
|
||||
#. In developer mode, go to :menuselection:`Settings --> Technical -->
|
||||
Parameters --> System Parameters`.
|
||||
|
||||
#. Add these system parameters:
|
||||
|
||||
* ``mail.default.from``: local part of default outgoing email address.
|
||||
|
||||
* ``mail.catchall.domain``: domain part of default outgoing email address.
|
||||
* To use the same "From" address for *all* outgoing messages, use the key `mail.force.smtp.from`
|
||||
and set that address as value (such as `outgoing@mycompany.example.com`).
|
||||
* To keep the original "From" address for emails that use the same domain, but change it for
|
||||
emails that use a different domain, use the key `mail.dynamic.smtp.from` and set the value as
|
||||
the email address that should be used in those cases (such as `outgoing@mycompany.example.com`
|
||||
).
|
||||
|
||||
.. _email_communication/inbound_messages:
|
||||
|
||||
How to manage inbound messages
|
||||
==============================
|
||||
Manage inbound messages
|
||||
=======================
|
||||
|
||||
Odoo relies on generic email aliases to fetch incoming messages.
|
||||
|
||||
* **Reply messages** of messages sent from Odoo are routed to their original
|
||||
discussion thread (and to the inbox of all its followers) by the
|
||||
catchall alias (**catchall@**).
|
||||
|
||||
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo.
|
||||
This is especially used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__
|
||||
to opt-out invalid recipients.
|
||||
|
||||
* **Original messages**: Several business objects have their own alias to
|
||||
create new records in Odoo from incoming emails:
|
||||
* **Reply messages** of messages sent from Odoo are routed to their original discussion thread (and
|
||||
to the inbox of all its followers) by the catchall alias (**catchall@**).
|
||||
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo. This is especially
|
||||
used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__ to opt-out invalid
|
||||
recipients.
|
||||
* **Original messages**: Several business objects have their own alias to create new records in
|
||||
Odoo from incoming emails:
|
||||
|
||||
* Sales Channel (to create Leads or Opportunities in `Odoo CRM <https://www.odoo.com/page/crm>`__),
|
||||
|
||||
* Support Channel (to create Tickets in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`__),
|
||||
|
||||
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page/project-management>`__),
|
||||
|
||||
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page/recruitment>`__),
|
||||
|
||||
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page
|
||||
/project-management>`__),
|
||||
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page
|
||||
/recruitment>`__),
|
||||
* etc.
|
||||
|
||||
Depending on your mail server, there might be several methods to fetch emails.
|
||||
The easiest and most recommended method is to manage one email address per Odoo
|
||||
alias in your mail server.
|
||||
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
|
||||
recommended method is to manage one email address per Odoo alias in the mail server.
|
||||
|
||||
* Create the corresponding email addresses in your mail server
|
||||
(catchall@, bounce@, sales@, etc.).
|
||||
* Set your domain name in the General Settings.
|
||||
* Create the corresponding email addresses in the mail server (catchall@, bounce@, sales@, etc.).
|
||||
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
|
||||
Discuss`.
|
||||
|
||||
.. image:: email_servers/alias-domain.png
|
||||
* If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in
|
||||
Odoo for each alias. This can be done from the General Settings as well. Fill out the form
|
||||
according to the email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming
|
||||
Mails` field blank. Once all the information has been filled out, click on :guilabel:`TEST &
|
||||
CONFIRM`.
|
||||
|
||||
.. image:: email_servers/incoming-server.png
|
||||
:align: center
|
||||
:alt: Incoming mail server configuration on Odoo.
|
||||
|
||||
* If the database's hosting type is Odoo Online or Odoo.sh, redirecting incoming messages to Odoo's
|
||||
domain name instead of the external email server is recommended. That way, incoming messages can
|
||||
be received without delay. Odoo Online only fetches incoming messages of external servers once
|
||||
every hour. Redirections for all email addresses should be set to Odoo's domain name in the email
|
||||
server (e.g. *catchall\@mydomain.ext* to *catchall\@mycompany.odoo.com*).
|
||||
|
||||
All the aliases are customizable in Odoo. Object aliases can be edited from their respective
|
||||
configuration view.
|
||||
|
||||
.. tip::
|
||||
To edit catchall and bounce aliases, first activate the :ref:`developer mode <developer-mode>`.
|
||||
Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to
|
||||
customize the aliases (*mail.catchall.alias* & *mail.bounce.alias*).
|
||||
|
||||
.. image:: email_servers/system-parameters.png
|
||||
:align: center
|
||||
:alt: System parameters with catchall configuration in Odoo.
|
||||
|
||||
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
|
||||
You can do it from the General Settings as well. Fill out the form according
|
||||
to your email provider’s settings.
|
||||
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
|
||||
information has been filled out, click on *TEST & CONFIRM*.
|
||||
By default, inbound messages are fetched every 5 minutes in Odoo on-premise.
|
||||
|
||||
.. image:: email_servers/incoming-server.png
|
||||
:align: center
|
||||
|
||||
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
|
||||
to Odoo's domain name rather than exclusively use your own email server.
|
||||
That way you will receive incoming messages without delay. Indeed, Odoo Online is fetching
|
||||
incoming messages of external servers once per hour only.
|
||||
You should set redirections for all the email addresses to Odoo's domain name in your
|
||||
email server (e.g. *catchall@mydomain.ext* to *catchall@mycompany.odoo.com*).
|
||||
|
||||
.. tip:: All the aliases are customizable in Odoo.
|
||||
Object aliases can be edited from their respective configuration view.
|
||||
To edit catchall and bounce aliases, you first need to activate the
|
||||
:ref:`developer mode <developer-mode>`.
|
||||
|
||||
Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`
|
||||
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
|
||||
|
||||
.. image:: email_servers/system-parameters.png
|
||||
:align: center
|
||||
|
||||
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
|
||||
You can change this value in :ref:`developer mode <developer-mode>`.
|
||||
Go to :menuselection:`Settings --> Technical --> Automation -->
|
||||
Scheduled Actions` and look for *Mail: Fetchmail Service*.
|
||||
|
||||
.. note::
|
||||
This value can be changed in :ref:`developer mode <developer-mode>`. Go to
|
||||
:menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for
|
||||
:guilabel:`Mail: Fetchmail Service`.
|
||||
|
||||
Set up different dedicated servers for transactional and mass mails
|
||||
===================================================================
|
||||
|
||||
Odoo is subject to a :ref:`daily email limit <email_communication/daily_limit_mail>` to prevent abuse.
|
||||
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
|
||||
e-mails and mass mailings.
|
||||
Example: use Odoo's own mail server for transactional e-mails, and Sendgrid, Amazon SES, or Mailgun
|
||||
for mass mailings. Another alternative is to use Postmark for transactional e-mails, and Amazon SES
|
||||
or Sendgrid for mass mailings.
|
||||
In Odoo a separate Mail Transfer Agent (MTA) server can be used for transactional emails and mass
|
||||
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or
|
||||
Sendgrid for mass mailings.
|
||||
|
||||
.. note::
|
||||
A default outgoing email server is already configured. You should not create an alternative one
|
||||
unless you want to use a specific external outgoing email server for technical reasons.
|
||||
.. tip::
|
||||
A default outgoing email server is already configured. Do not create an alternative one unless a
|
||||
specific external outgoing email server is needed for technical reasons.
|
||||
|
||||
To do this, you should first activate the :ref:`developer mode <developer-mode>` and then go to
|
||||
:menuselection:`Settings --> Technical --> Outgoing` e-mail servers. There you have to create two
|
||||
e-mail MTA server settings. One for transactional e-mails and one for mass mail servers. Be sure to
|
||||
mark the priority of transactional e-mail servers as low as the mass email servers.
|
||||
To do this, first activate the :ref:`developer mode <developer-mode>`, and then go to
|
||||
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two email MTA
|
||||
server settings; one for the transactional emails and one for the mass mailing server. Make sure
|
||||
to give priority to the transactional server over the mass mailing server by providing a lower
|
||||
priority number for the transactional MTA server.
|
||||
|
||||
Now, go to :menuselection:`Email Marketing --> Settings` and enable *Dedicated Server*.
|
||||
Now, go to :menuselection:`Email Marketing --> Settings` and enable :guilabel:`Dedicated Server`.
|
||||
With these settings, Odoo uses the server with the lower priority for transactional emails, and the
|
||||
server here selected for mass mails.
|
||||
Note that in this case, you have to set your domain's Sender Policy Framework (SPF) records to
|
||||
include both transactional and mass mail servers. If your server resides with xxxx.odoo.com, the
|
||||
available options are Sendinblue and Mailchimp, as your e-mails would be originated from the
|
||||
xxxx.odoo.com domain.
|
||||
server here selected for mass mails. Note that in this case, the domain's Sender Policy Framework
|
||||
(SPF) records must be set to include both transactional and mass mail servers.
|
||||
|
|
|
|||
|
|
@@ -135,7 +135,7 @@ Depending on the platform you are using:
|
|||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||
``zgrep`` (for the compressed ones) to search through the files.
|
||||
|
||||
- The **SaaS** users won’t have access to their logs. However you can still contact
|
||||
- **Odoo Online** users won’t have access to their logs. However you can still contact
|
||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||
with the same client or domain.
|
||||
|
||||
|
|
|
|||
|
|
@@ -16,8 +16,8 @@ Services`.
|
|||
:align: center
|
||||
|
||||
.. tip::
|
||||
If I am on Odoo Online (SAAS) and have the Enterprise version, I benefit from free credits to
|
||||
test our IAP features.
|
||||
If I am on Odoo Online and have the Enterprise version, I benefit from free credits to test our
|
||||
IAP features.
|
||||
|
||||
IAP accounts
|
||||
============
|
||||
|
|
@@ -57,7 +57,7 @@ IAP services available
|
|||
|
||||
Different services are available depending on the hosting type of your Database:
|
||||
|
||||
- *Odoo Online (SAAS)*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail,
|
||||
- *Odoo Online*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail,
|
||||
Reveal and Partner Autocomplete features);
|
||||
- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party
|
||||
apps can be used.
|
||||
|
|
|
|||
|
|
@@ -11,6 +11,7 @@ Warehouse Management
|
|||
management/products
|
||||
management/warehouses
|
||||
management/replenishment_strategies
|
||||
management/inventory_adjustments
|
||||
management/delivery
|
||||
management/incoming
|
||||
management/misc
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,11 @@
|
|||
:nosearch:
|
||||
|
||||
=====================
|
||||
Inventory adjustments
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
inventory_adjustments/count_products
|
||||
inventory_adjustments/cycle_counts
|
||||
|
|
@@ -0,0 +1,100 @@
|
|||
=====================
|
||||
Inventory adjustments
|
||||
=====================
|
||||
|
||||
In any warehouse management system, the recorded inventory counts in the database might not always
|
||||
match the actual inventory counts in the warehouse. The discrepancy between the two counts can be
|
||||
due to theft, damages, human errors, or other factors. As such, inventory adjustments must be made
|
||||
to reconcile the differences, and ensure that the recorded counts in the database match the actual
|
||||
counts in the warehouse.
|
||||
|
||||
In Odoo, inventory adjustments can be accessed through :menuselection:`Inventory --> Operations -->
|
||||
Inventory Adjustments`.
|
||||
|
||||
The :guilabel:`Inventory Adjustments` page shows all products that are currently in stock. Each
|
||||
line contains the following information:
|
||||
|
||||
- :guilabel:`Product`
|
||||
- :guilabel:`Lot/Serial Number`
|
||||
- :guilabel:`On Hand Quantity`
|
||||
|
||||
Add a new line
|
||||
==============
|
||||
|
||||
To add an inventory adjustment line, click :guilabel:`Create` and fill in the :guilabel:`Product`
|
||||
and :guilabel:`Counted Quantity` fields. Then click :guilabel:`Save`.
|
||||
|
||||
At this stage, the count is recorded but not yet *applied*. Meaning the quantity on hand is not yet
|
||||
updated to match the new :guilabel:`Counted Quantity`.
|
||||
|
||||
To apply the new :guilabel:`Counted Quantity`, click :guilabel:`Apply` on the line or the
|
||||
:guilabel:`Apply All` button on the top of the page. If :guilabel:`Apply All` is clicked, a
|
||||
reference or reason can be entered before clicking :guilabel:`Apply`.
|
||||
|
||||
.. image:: count_products/apply-inventory-adjustment.png
|
||||
:scale: 60%
|
||||
:align: center
|
||||
:alt: Apply all option applies the inventory adjustment once a reason is specified.
|
||||
|
||||
Count products
|
||||
==============
|
||||
|
||||
Counting products is a recurring activity in a warehouse. Once a count is complete, go to
|
||||
:menuselection:`Inventory --> Operations --> Inventory Adjustments` to update the
|
||||
:guilabel:`Counted Quantity` column for each product line.
|
||||
|
||||
If a count matches the :guilabel:`On Hand Quantity` recorded in the database, click on
|
||||
:guilabel:`Set`, which will copy the value in the :guilabel:`On Hand Quantity` field and paste it
|
||||
in the :guilabel:`Counted Quantity` field. A move with `0.00` :guilabel:`Quantity Done` will be
|
||||
recorded in the product's inventory adjustment history.
|
||||
|
||||
If a count does *not* match the :guilabel:`On Hand Quantity` recorded in the database, record the
|
||||
count in the :guilabel:`Counted Quantity` field. When :guilabel:`Apply` is clicked, a move with the
|
||||
difference between the :guilabel:`On Hand Quantity` and :guilabel:`Counted Quantity` will be
|
||||
recorded in the product's inventory adjustment history.
|
||||
|
||||
.. image:: count_products/history-inventory-adjustments.png
|
||||
:align: center
|
||||
:alt: Inventory Adjustments History dashboard detailing a list of prior product moves.
|
||||
|
||||
.. note::
|
||||
Sometimes a count occurs, but can not be applied in the database right away. In the time between
|
||||
the actual count and applying the inventory adjustment, product moves can occur. In that case,
|
||||
the :guilabel:`On Hand Quantity` in the database can change and will not be consistent with the
|
||||
counted quantity. As an extra caution measure, Odoo will ask for confirmation before applying
|
||||
the inventory adjustment.
|
||||
|
||||
Plan counts
|
||||
===========
|
||||
|
||||
Each inventory adjustment line contains the following information:
|
||||
|
||||
- :guilabel:`Scheduled Date`: the date at which a count should be made.
|
||||
- :guilabel:`User`: the person in charge of the count.
|
||||
- :guilabel:`Accounting Date`: the date at which the adjustments will be accounted. The column is
|
||||
hidden by default, but can be made visible by opening the column options icon.
|
||||
|
||||
.. important::
|
||||
In the Barcode app, users can only view counts assigned to them that are scheduled for today or
|
||||
earlier.
|
||||
|
||||
To plan big counts, select the desired product lines on the :guilabel:`Inventory Adjustments` page.
|
||||
Then, click :guilabel:`Request a Count` and fill in the following information:
|
||||
|
||||
- :guilabel:`Inventory Date`: the planned date of the count.
|
||||
- :guilabel:`User`: the user responsible for the count.
|
||||
- :guilabel:`Accounting Date`: the date at which the inventory adjustment will be accounted.
|
||||
- :guilabel:`Count`: to leave the :guilabel:`On Hand Quantity` of each product line blank, select
|
||||
:guilabel:`Leave Empty`. To prefill the :guilabel:`On Hand Quantity` of each product line with
|
||||
the current value recorded in the database, select :guilabel:`Set Current Value`.
|
||||
|
||||
Finally, click :guilabel:`Confirm` to request the count.
|
||||
|
||||
By default, after an inventory adjustment is applied, the scheduled date for the next count is the
|
||||
31st of December of the current year. To modify the default scheduled date, go to
|
||||
:menuselection:`Inventory --> Configuration --> Settings --> Operations` and change the date in the
|
||||
:guilabel:`Annual Inventory Day and Month` setting.
|
||||
|
||||
.. image:: count_products/annual-inventory.png
|
||||
:align: center
|
||||
:alt: Adjust the next inventory count date with the Annual Inventory Day and Month setting.
|
||||
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
|
@@ -0,0 +1,41 @@
|
|||
============
|
||||
Cycle counts
|
||||
============
|
||||
|
||||
In most companies, the stock is only counted once a year. That's why by default, after making an
|
||||
inventory adjustment in Odoo, the scheduled date for the next count is set on the 31st of
|
||||
December. However, for some businesses it's crucial to have an accurate inventory count at all
|
||||
times.
|
||||
|
||||
The goal of cycle counts is to keep critical stock levels accurate by counting more often at key
|
||||
locations.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In Odoo, cycle counts are location-based. The frequency of the counts is defined by the storage
|
||||
location. To activate storage locations, go to :menuselection:`Inventory --> Configuration -->
|
||||
Settings --> Warehouse` and activate the :guilabel:`Storage Locations` setting. Next, click
|
||||
:guilabel:`Save` to apply the setting.
|
||||
|
||||
.. image:: cycle_counts/storage-locations-setting.png
|
||||
:align: center
|
||||
:alt: Enable Storage Locations in Odoo settings.
|
||||
|
||||
Change the inventory frequency
|
||||
==============================
|
||||
|
||||
To change a location's inventory frequency, first, go to the locations by clicking
|
||||
:menuselection:`Inventory --> Configuration --> Locations`.
|
||||
|
||||
Then, click on a location to open the location settings. Next, click on :guilabel:`Edit`. In the
|
||||
:guilabel:`Inventory Frequency (Days)` field, set the number of days. For example, a location that
|
||||
needs an inventory count every 30 days would set the :guilabel:`Inventory Frequency (Days)` value
|
||||
to `30`. Once the value is entered, click :guilabel:`Save` to apply the setting to the location.
|
||||
Now, once an inventory adjustment is applied to this location, the next scheduled count date will
|
||||
be automatically set based on the number of days in the :guilabel:`Inventory Frequency (Days)`
|
||||
setting.
|
||||
|
||||
.. image:: cycle_counts/inventory-frequency.png
|
||||
:align: center
|
||||
:alt: Edit a location to change the inventory frequency.
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
|
@@ -10,3 +10,4 @@ Miscellaneous Operations
|
|||
|
||||
misc/owned_stock
|
||||
misc/batch_transfers
|
||||
misc/wave_transfers
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,68 @@
|
|||
======================
|
||||
Process wave transfers
|
||||
======================
|
||||
|
||||
While a batch transfer is a group of several pickings, a **wave transfer** only contains some parts
|
||||
of different pickings. Both methods are used to pick orders in a warehouse, and depending on the
|
||||
situation, one method may be a better fit than the other.
|
||||
|
||||
To handle orders of a specific product category, or fetch products that are at the same location,
|
||||
wave transfers are the ideal method.
|
||||
|
||||
In Odoo, wave transfers are actually batch transfers with an extra step: transfers are split before
|
||||
being grouped in a batch.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Before a wave transfer can be created, the :guilabel:`Batch Transfers` and :guilabel:`Wave
|
||||
Transfers` options must be activated.
|
||||
|
||||
First, go to :menuselection:`Inventory --> Configuration --> Settings`. In the
|
||||
:guilabel:`Operations` section, enable :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers`.
|
||||
Then, click :guilabel:`Save` to apply the settings.
|
||||
|
||||
.. image:: wave_transfers/wave-transfers-setting.png
|
||||
:align: center
|
||||
:alt: View of Odoo Inventory app settings to enable the wave transfers option.
|
||||
|
||||
Add products to a wave
|
||||
======================
|
||||
|
||||
Now that the settings are activated, start a wave transfer by adding products to a wave.
|
||||
|
||||
Wave transfers can only contain product lines from transfers of the same operation type. To view
|
||||
all the transfers and product lines in a specific operation, first go to the :guilabel:`Inventory`
|
||||
dashboard and locate the desired operation type's card. Then, open the options menu (the three dots
|
||||
icon in the corner of the operation type's card) and click :guilabel:`Operations`.
|
||||
|
||||
.. image:: wave_transfers/list-of-operations.png
|
||||
:align: center
|
||||
:alt: How to get an operation type's list of operations.
|
||||
|
||||
On the operations page, select the product lines you want to add in a new or existing wave. Then,
|
||||
click :guilabel:`Add to Wave`.
|
||||
|
||||
.. image:: wave_transfers/select-lines.png
|
||||
:align: center
|
||||
:alt: Select lines to add to the wave.
|
||||
|
||||
.. tip::
|
||||
Use the :guilabel:`Filters` in the search bar to group lines with the same product, location,
|
||||
carrier, etc...
|
||||
|
||||
After that, a pop-up box appears.
|
||||
|
||||
To add the selected lines to an existing wave transfer, select the :guilabel:`an existing wave
|
||||
transfer` option and select the existing wave transfer from the drop-down menu.
|
||||
|
||||
To create a new wave transfer, select the :guilabel:`a new wave transfer` option. If creating a new
|
||||
wave transfer, an employee can also be set in the optional :guilabel:`Responsible` field. Once the
|
||||
desired options are selected, click :guilabel:`Confirm` to add the product lines to a wave.
|
||||
|
||||
View wave transfers
|
||||
===================
|
||||
|
||||
To view all wave transfers and their statuses, go to :menuselection:`Inventory --> Operations -->
|
||||
Wave Transfers`. Wave transfers can also be viewed in the :guilabel:`Barcode` app by going to
|
||||
:menuselection:`Barcode --> Batch Transfers`.
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@@ -1,76 +1,138 @@
|
|||
==============================================
|
||||
How to select the right replenishment strategy
|
||||
==============================================
|
||||
===============================
|
||||
Select a replenishment strategy
|
||||
===============================
|
||||
|
||||
Minimum Stock rules and Make to Order have similar consequences but
|
||||
different rules. They should be used depending on your manufacturing and
|
||||
delivery strategies.
|
||||
In Odoo, there are two strategies for replenishing inventory: **Reordering Rules** and the **Make
|
||||
to Order (MTO)** route. Although these strategies differ slightly, they both have similar
|
||||
consequences: triggering the automatic creation of a purchase or manufacturing order. The choice of
|
||||
which strategy to use depends on the business's manufacturing and delivery processes.
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
Minimum stock rule
|
||||
-------------------
|
||||
Replenishment report and reordering rules
|
||||
-----------------------------------------
|
||||
|
||||
Minimum Stock rules are used to ensure that you always have the minimum
|
||||
amount of a product in stock in order to manufacture your products
|
||||
and/or answer to your customer needs. When the stock level of a product
|
||||
reaches its minimum the system will automatically generate a procurement
|
||||
order with the quantity needed to reach the maximum stock level.
|
||||
The replenishment report is a list of all products that have a negative forecast quantity.
|
||||
|
||||
Reordering rules are used to ensure that there's always a minimum amount of a product in stock in
|
||||
order to manufacture products and/or fulfill sales orders. When the stock level of a product
|
||||
reaches its minimum, Odoo automatically generates a purchase order with the quantity needed to
|
||||
reach the maximum stock level.
|
||||
|
||||
Reordering rules can be created and managed in the replenishment report or from the product form.
|
||||
|
||||
Make to Order
|
||||
-------------
|
||||
|
||||
The Make to Order function will trigger a Purchase Order of the amount
|
||||
of the Sales Order related to the product. The system will **not** check
|
||||
the current stock. This means that a draft purchase order will be
|
||||
generated regardless of the quantity on hand of the product.
|
||||
Make to Order (MTO) is a procurement route that creates a draft purchase order or manufacturing
|
||||
order each time a sales order is confirmed, *regardless of the current stock level*.
|
||||
|
||||
Unlike products replenished using reordering rules, Odoo automatically links the sales order to the
|
||||
purchase order (PO) or manufacturing order (MO) generated by the MTO route. Another difference
|
||||
between reordering rules and MTO is with MTO, Odoo generates a draft :abbr:`PO (Purchase Order)` or
|
||||
:abbr:`MO (Manufacturing Order)` immediately after the sales order is confirmed. With reordering
|
||||
rules, Odoo generates a draft :abbr:`PO (Purchase Order)` or :abbr:`MO (Manufacturing Order)` when
|
||||
the product's forecasted stock falls below the set minimum quantity. In addition, Odoo will
|
||||
automatically add quantities to the :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)` as
|
||||
the forecast changes, as long as the :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)`
|
||||
is not confirmed.
|
||||
|
||||
The MTO route is the best replenishment strategy for products that are customized and should be
|
||||
used for this purpose only.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Minimum stock rules
|
||||
-------------------
|
||||
Replenishment report and reordering rules
|
||||
-----------------------------------------
|
||||
|
||||
The Minimum Stock Rules configuration is available through your
|
||||
Inventory module. In the Inventory Control menu select "Reordering Rule"
|
||||
in the drop down menu. There, click on "Create" to set minimum and
|
||||
maximum stock values for a given product.
|
||||
To access the replenishment report, go to :menuselection:`Inventory --> Operations -->
|
||||
Replenishment`. By default, the replenishment report shows every product that needs to be manually
|
||||
reordered. If there is no specific rule for a product, Odoo assumes that the :guilabel:`Minimum
|
||||
Quantity` and :guilabel:`Maximum Quantity` stock are both `0.00`.
|
||||
|
||||
.. image:: strategies/strategies01.png
|
||||
:align: center
|
||||
.. image:: strategies/replenishment-report.png
|
||||
:align: center
|
||||
:alt: The replenishment report shows products that need to be reordered manually.
|
||||
|
||||
.. note::
|
||||
Show tooltips for "minimum quantity", "maximum quantity" and "quantity multiple"
|
||||
fields
|
||||
For products that don't have a set reordering rule, Odoo calculates the forecast as sales orders,
|
||||
deliveries, and receipts are confirmed. For products that have a set reordering rule, Odoo
|
||||
calculates the forecast normally, but also takes into account the purchase/manufacturing lead
|
||||
time and security lead time.
|
||||
|
||||
Then, click on your product to access the related product form and, on
|
||||
the "Inventory submenu", do not forget to select a supplier.
|
||||
Before creating a new reordering rule, make sure the product has a vendor or a bill of materials
|
||||
configured on the product form. Also, make sure the :guilabel:`Product Type` is set to `Storable
|
||||
Product` on the product form. By definition, a consumable product does not have its inventory
|
||||
levels tracked, so Odoo can not account for a consumable product in the stock valuation.
|
||||
|
||||
.. image:: strategies/strategies02.png
|
||||
:align: center
|
||||
To create a new reordering rule from the replenishment report, go to :menuselection:`Inventory -->
|
||||
Operations --> Replenishment`, click :guilabel:`Create`, and set the :guilabel:`Product`. If
|
||||
desired, set a :guilabel:`Min Quantity` and a :guilabel:`Max Quantity`. Finally, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. tip::
|
||||
Don't forget to select the right product type. A consumable
|
||||
can not be stocked and will thus not be accounted for in the stock valuation.
|
||||
To create a new reordering rule from the product form, go to :menuselection:`Inventory --> Products
|
||||
--> Products`, select a product to open its product form, click the :guilabel:`Reordering Rules`
|
||||
smart button, and click :guilabel:`Create`. Then, fill out the fields and save the new reordering
|
||||
rule.
|
||||
|
||||
Make to Order
|
||||
--------------
|
||||
By default, the quantity in the :guilabel:`To Order` field is the quantity required to reach the
|
||||
set :guilabel:`Max Quantity`. However, the :guilabel:`To Order` quantity can be adjusted by
|
||||
clicking on the field, changing the value, and clicking :guilabel:`Save`. To replenish a product
|
||||
manually, click :guilabel:`Order Once`.
|
||||
|
||||
The Make to Order configuration is available on your product form
|
||||
through your :menuselection:`Inventory --> Inventory control --> Products` (or any
|
||||
other module where products are available).
|
||||
To automate replenishment, click :guilabel:`Automate Orders`. When this button is clicked, Odoo
|
||||
will automatically generate a draft :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)`
|
||||
every time the forecasted stock level falls below the set :guilabel:`Min Quantity` of the
|
||||
reordering rule.
|
||||
|
||||
On the product form, under Inventory, click on "Make To Order".
|
||||
|
||||
.. image:: strategies/strategies03.png
|
||||
:align: center
|
||||
A reordering rule can be temporarily deactivated for a given period by using the :guilabel:`Snooze`
|
||||
button.
|
||||
|
||||
Choice between the two options
|
||||
------------------------------
|
||||
.. image:: strategies/reordering-rule-snooze-settings.png
|
||||
:align: center
|
||||
:alt: Snooze feature to temporarily deactivate reordering rules.
|
||||
|
||||
The choice between the two options is thus dependent of your inventory
|
||||
strategy. If you prefer to have a buffer and always have at least a
|
||||
minimum amount, the minimum stock rule should be used. If you want to
|
||||
reorder your stocks only if your sale is confirmed it is better to use
|
||||
the Make to Order.
|
||||
A :abbr:`PO (Purchase Order)` or :abbr:`MO (Manufacturing Order)` created by a manual replenishment
|
||||
will have `Replenishment Report` as the source document. A :abbr:`PO (Purchase Order)` or
|
||||
:abbr:`MO (Manufacturing Order)` created by an automated reordering rule will have the sales
|
||||
order(s) reference number(s) that triggered the rule as the source document.
|
||||
|
||||
.. image:: strategies/rfq-source-document.png
|
||||
:align: center
|
||||
:alt: Look at the source panel showing where RFQ/MFG orders originated from.
|
||||
|
||||
Make to order
|
||||
-------------
|
||||
|
||||
Since the Make to Order (MTO) route is only recommended for customized products, the route is
|
||||
hidden by default.
|
||||
|
||||
To activate the Make to Order (MTO) route in Odoo:
|
||||
|
||||
#. Go to :menuselection:`Inventory --> Configuration --> Settings --> Warehouse`.
|
||||
#. Activate :guilabel:`Multi-Step Routes` setting and click :guilabel:`Save`.
|
||||
#. Go to :menuselection:`Inventory --> Configuration --> Routes`.
|
||||
#. Click on :menuselection:`Filters --> Archived` to show archived routes.
|
||||
#. Select the checkbox next to :guilabel:`Replenish on Order (MTO)`, and click on
|
||||
:menuselection:`Action --> Unarchive`.
|
||||
|
||||
.. note::
|
||||
Activating the :guilabel:`Multi-Step Routes` setting also activates :guilabel:`Storage Locations`
|
||||
setting. If these features aren't applicable to the warehouse, disable these settings after
|
||||
unarchiving the MTO route.
|
||||
|
||||
To set a product's procurement route to MTO, go to :menuselection:`Inventory --> Products -->
|
||||
Products`, click on a product to open the product form, and click :guilabel:`Edit`. Then, click on
|
||||
the :guilabel:`Inventory` tab and in the :guilabel:`Routes` options, select :guilabel:`Replenish on
|
||||
Order (MTO)`. For products purchased directly from a vendor, make sure the :guilabel:`Buy` route is
|
||||
selected in addition to the MTO route and a vendor is configured in the :guilabel:`Purchase` tab.
|
||||
For products manufactured in-house, make sure the :guilabel:`Manufacture` route is selected in
|
||||
addition to the MTO route and a bill of materials is configured for the product. Finally, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. image:: strategies/replenish-on-order-product-setting.png
|
||||
:align: center
|
||||
:alt: Enable the Replenish on Order (MTO) route on the product settings.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
|
@@ -1,107 +1,112 @@
|
|||
==============================
|
||||
Use Different Units of Measure
|
||||
Use different units of measure
|
||||
==============================
|
||||
|
||||
In some cases, handling products in different units of measure is
|
||||
necessary. For example, if you buy products in a country where the
|
||||
metric system is of application and sell in a country where the imperial
|
||||
system is used, you will need to convert the units. Another common use
|
||||
case is buying products in bigger packs to your supplier and selling
|
||||
them in units to your customers.
|
||||
In some cases, handling products in different units of measure is necessary. For example, a
|
||||
business can buy products from a country that uses the metric system, and then sell those products
|
||||
in a country that uses the imperial system, so the business needs to convert the units. Another
|
||||
case for unit conversion is when a business buys products in a big pack from a supplier and then
|
||||
sells those products in individual units.
|
||||
|
||||
You can set up Odoo to work with different units of measure for one
|
||||
product.
|
||||
Odoo can be set up to use different units of measure for one product.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In the *Inventory* application, go to :menuselection:`Configuration --> Settings`. In
|
||||
the *Products* section, activate *Units of Measure*, then *Save*.
|
||||
To use different units of measure in Odoo, first go to :menuselection:`Inventory --> Configuration
|
||||
--> Settings --> Products` and activate the :guilabel:`Units of Measure` setting. Then, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. image:: uom/uom_01.png
|
||||
:align: center
|
||||
.. image:: uom/uom-enable-setting.png
|
||||
:align: center
|
||||
:alt: Enable Units of Measure in the Inventory settings.
|
||||
|
||||
Create New Units of Measure
|
||||
Units of measure categories
|
||||
===========================
|
||||
|
||||
In the *Inventory* application go to :menuselection:`Configuration --> UoM`. There,
|
||||
hit *Create*. As an example, we will create a Box of 6 units that we
|
||||
will use for the Egg product.
|
||||
After enabling the units of measure setting, view the default units of measure categories in
|
||||
:menuselection:`Inventory --> Configuration --> Units of Measures --> UoM Categories`. The
|
||||
category is important for unit conversion, Odoo can only convert a product's units from one unit to
|
||||
another only if both units belong to the same category.
|
||||
|
||||
.. image:: uom/uom_02.png
|
||||
:align: center
|
||||
.. image:: uom/uom-categories.png
|
||||
:align: center
|
||||
:alt: Set units of measure categories.
|
||||
|
||||
The category is important for unit conversion, you will be able to
|
||||
convert products from one unit to another only if those units belong to
|
||||
the same category. The box of 6 is 6 times bigger than the reference
|
||||
unit of measure for the category which is “Units” here.
|
||||
Each units of measure category has a reference unit. The reference unit is highlighted in blue in
|
||||
the :guilabel:`Uom` column of the :guilabel:`Units of Measure Categories` page. Odoo uses the
|
||||
reference unit as a base for any new units.
|
||||
|
||||
.. image:: uom/uom_03.png
|
||||
:align: center
|
||||
To create a new unit, first select the correct category. For example, to sell a product in a box of
|
||||
six units, click on the :guilabel:`Unit` category line. Next, click :guilabel:`Edit`. After that,
|
||||
click :guilabel:`Add a line`. Then, in the :guilabel:`Unit of Measure` field, title the new unit
|
||||
`Box of 6`. In the :guilabel:`Type` field, select :guilabel:`Bigger than the reference Unit of
|
||||
Measure`. In the :guilabel:`Ratio` field, enter `6.00000` since a box of six is six times bigger
|
||||
than the reference unit (`1.00000`). Finally, click :guilabel:`Save`.
|
||||
|
||||
Specify Units of Measure on your Products
|
||||
=========================================
|
||||
Click on the :guilabel:`Unit` category.
|
||||
|
||||
In the :menuselection:`Inventory application --> Master Data --> Products`, open the
|
||||
product which you would like to change the purchase/sale unit of
|
||||
measure, and click on *Edit*.
|
||||
Click :guilabel:`Add a line`. As an example, we will create a Box of 6 units that we will use for
|
||||
the Egg product. The box of 6 is 6 times bigger than the reference unit of measure for the category
|
||||
which is “Units” here.
|
||||
|
||||
In the *General Information* tab, you can select the *Unit of
|
||||
Measure* in which the product will be sold, which is also the unit in
|
||||
which internal transfers will take place. You can also select the
|
||||
*Purchase Unit of Measure*, which is the unit in which you purchase
|
||||
the product.
|
||||
.. image:: uom/convert-products-by-unit.png
|
||||
:align: center
|
||||
:alt: Convert products from one unit to another as long as they belong to the same category.
|
||||
|
||||
.. image:: uom/uom_04.png
|
||||
:align: center
|
||||
Specify a product's units of measure
|
||||
====================================
|
||||
|
||||
Transfer from One Unit to Another
|
||||
=================================
|
||||
To set units of measure on a product, first go to :menuselection:`Inventory --> Products -->
|
||||
Products` and click on a product to open its settings. Then, click on :guilabel:`Edit`.
|
||||
|
||||
Buy in the Purchase UoM
|
||||
-----------------------
|
||||
In the :guilabel:`General Information` tab, edit the :guilabel:`Unit of Measure` field to specify
|
||||
the unit of measure that the product is sold in. The specified unit will also be the unit used to
|
||||
keep track of the product's inventory and internal transfers. Edit the :guilabel:`Purchase UoM`
|
||||
field to specify the unit of measure that the product is purchased in.
|
||||
|
||||
In the *Purchase* application, *Create* a new request for quotation
|
||||
in which you include the product with the different *Units of Measure*
|
||||
and *Confirm* it.
|
||||
Unit conversion
|
||||
===============
|
||||
|
||||
.. image:: uom/uom_05.png
|
||||
:align: center
|
||||
Buy products in the Purchase UoM
|
||||
--------------------------------
|
||||
|
||||
On the automatically generated purchase orders, the UoM used is the Box
|
||||
of 6, meaning the Purchase UoM. You have of course the possibility to
|
||||
manually modify the UoM if necessary. When you enter the *Receipt*
|
||||
which is linked to the purchase order, you can observe that the 10 boxes
|
||||
of 6 units have been converted in 60 units. Indeed, the stock is managed
|
||||
in units.
|
||||
When creating a new request for quotation (RFQ) in the Purchase app, Odoo automatically uses the
|
||||
product's specified purchase unit of measure. However, if needed, the :guilabel:`UoM` can be
|
||||
manually edited on the RFQ.
|
||||
|
||||
.. image:: uom/uom_06.png
|
||||
:align: center
|
||||
After the RFQ is confirmed into a purchase order (PO), click on the :guilabel:`Receipt` smart
|
||||
button at the top right corner of the PO. Odoo automatically converts the purchase unit of measure
|
||||
into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the
|
||||
delivery receipt shows the converted quantity.
|
||||
|
||||
For example, if the product's purchase UoM is `Box of 6` and its sales/inventory unit of measure is
|
||||
`Units`, the PO shows the quantity in boxes of six, and the delivery receipt shows the quantity in
|
||||
units.
|
||||
|
||||
Replenishment
|
||||
-------------
|
||||
|
||||
When doing a replenishment via the *Replenish* button on the product
|
||||
form, you have the possibility to use a different unit of measure.
|
||||
A request for quotation for a product can also be generated directly from the product form using
|
||||
the :guilabel:`Replenish` button. After clicking :guilabel:`Replenish`, a replenish assistant box
|
||||
pops up. The purchase unit of measure can be manually edited here if needed. Then, click
|
||||
:guilabel:`Confirm` to create the RFQ.
|
||||
|
||||
.. image:: uom/uom_07.png
|
||||
:align: center
|
||||
Next, click the :guilabel:`Units Forecasted` smart button on the product form and scroll down to
|
||||
:menuselection:`Forecasted Inventory --> Requests for quotation`. Click on the RFQ reference number
|
||||
to open the draft RFQ. The purchase UoM can also be edited here if needed.
|
||||
|
||||
.. image:: uom/uom_08.png
|
||||
:align: center
|
||||
Sell in a different UoM
|
||||
-----------------------
|
||||
|
||||
Sell in bigger UoM
|
||||
------------------
|
||||
When creating a new quotation in the Sales app, Odoo automatically uses the product's specified
|
||||
unit of measure. However, if needed, the :guilabel:`UoM` can be manually edited on the quotation.
|
||||
|
||||
You can choose the unit of measure on the sale order document and decide
|
||||
to sell the eggs by the dozen. When doing so, the price is automatically
|
||||
computed from Units UoM to adapt to the selected *UoM*.
|
||||
After the quotation is sent to the customer and confirmed into a sales order (SO), click on the
|
||||
:guilabel:`Delivery` smart button at the top right corner of the SO. Odoo automatically converts
|
||||
the unit of measure into the product's inventory unit of measure, so the :guilabel:`Demand` column
|
||||
of the delivery shows the converted quantity.
|
||||
|
||||
.. image:: uom/uom_09.png
|
||||
:align: center
|
||||
|
||||
In the delivery order, the *UoM* used in the sale order is converted
|
||||
to the *UoM* used for stock management, in our use case, the Units.
|
||||
|
||||
.. image:: uom/uom_10.png
|
||||
:align: center
|
||||
For example, if the product's UoM on the SO was changed to `Box of 6`, but its inventory unit of
|
||||
measure is `Units`, the SO shows the quantity in boxes of six, and the delivery shows the quantity
|
||||
in units.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
|
@@ -2,71 +2,70 @@
|
|||
When Should you Use Packages, Units of Measure or Special Packaging?
|
||||
====================================================================
|
||||
|
||||
Units of Measure
|
||||
Units of measure
|
||||
================
|
||||
|
||||
Units of measure specify the unit used to handle a product. In Odoo, you
|
||||
have the possibility to specify the unit of measure in which you manage
|
||||
your stock and the one which is used when purchasing the product to your
|
||||
supplier.
|
||||
Units of measure specify the unit used to handle a product. In Odoo, you have the possibility to
|
||||
specify the unit of measure in which you manage your stock and the one which is used when
|
||||
purchasing the product to your supplier.
|
||||
|
||||
.. image:: usage/usage_01.png
|
||||
:align: center
|
||||
.. image:: usage/uom-product-setting.png
|
||||
:align: center
|
||||
:alt: Specify unit of measure for handling a product vs. when it's purchased.
|
||||
|
||||
The *conversion* between the different units of measure is done
|
||||
automatically. The only condition is that all the units have to be in
|
||||
the *same category* (Unit, Weight, Volume, Length,...)
|
||||
Once a product has a :guilabel:`Unit of Measure` and a :guilabel:`Purchase UoM` set on the product
|
||||
form, Odoo can automatically convert the different units in the product's purchase/sales orders and
|
||||
the orders' respective delivery orders/receipts. The only condition is that all the units have to
|
||||
be in the *same category* (Unit, Weight, Volume, Length, etc.).
|
||||
|
||||
For example, if I have the following reordering rule for the egg and I
|
||||
run the scheduler, the quantity added in the automatically generated
|
||||
purchase order will be in dozens but what will enter the stock will be
|
||||
units.
|
||||
|
||||
.. image:: usage/usage_02.png
|
||||
:align: center
|
||||
|
||||
.. image:: usage/usage_03.png
|
||||
:align: center
|
||||
|
||||
.. image:: usage/usage_04.png
|
||||
:align: center
|
||||
For example, a product can have its :guilabel:`Unit of Measure` set to `feet (ft)` and its
|
||||
:guilabel:`Purchase UoM` set to `centimeters (cm)`. When a purchase order (PO) is created for that
|
||||
product, it will list the quantity in centimeters. Then, when the PO is confirmed, Odoo
|
||||
automatically generates a receipt and converts the centimeters to feet. The receipt will list the
|
||||
quantity in feet.
|
||||
|
||||
Packages
|
||||
========
|
||||
|
||||
The package is the physical container in which you put one or several
|
||||
products from a picking. For example, when you deliver a product, you
|
||||
can decide to separate the quantity into two different packages. It then
|
||||
allows you to have a report with the quantity of products for each
|
||||
package.
|
||||
A package refers to the physical container that holds one or several products from a picking. For
|
||||
example, when a product is ready for delivery, its quantities can be separated into two different
|
||||
packages. In Odoo, the quantity of products in each package can be recorded in the database. Make
|
||||
sure the :guilabel:`Packages` option is enabled in :menuselection:`Inventory --> Configuration -->
|
||||
Settings --> Operations`.
|
||||
|
||||
To separate a delivery into different packages you will have to set the
|
||||
done quantity to the desired package quantity then click on "PUT IN
|
||||
PACK", do this for each package.
|
||||
On a delivery order, separate the products into different packages by setting the :guilabel:`Done`
|
||||
quantity to the desired quantity in the first package. Then, click :guilabel:`Put in Pack` to
|
||||
record the first package. Repeat for each package.
|
||||
|
||||
.. image:: usage/usage_05.png
|
||||
:align: center
|
||||
.. image:: usage/separate-delivery-into-different-packages.png
|
||||
:align: center
|
||||
:alt: Separate delivery into different packages
|
||||
|
||||
.. image:: usage/usage_06.png
|
||||
:align: center
|
||||
.. image:: usage/delivery-package-details.png
|
||||
:align: center
|
||||
:alt: Separate delivery package details
|
||||
|
||||
Packaging
|
||||
=========
|
||||
Packagings
|
||||
==========
|
||||
|
||||
The packaging is the physical container that protects your product. If
|
||||
you are selling computers, the packaging contains the computer with the
|
||||
notice and the power plug.
|
||||
Packaging refers to a standard container that holds several unit of a product. For example, cans of
|
||||
soda can be in a 6-pack, 15-pack, or even a pallet for the packaging.
|
||||
|
||||
In Odoo, packagings are used for indicative purposes on sale orders.
|
||||
They can be specified on the product form, in the inventory tab.
|
||||
In Odoo, packagings are used for indicative purposes on sales/purchase orders and inventory
|
||||
transfers. The main difference between packagings and units of measure is that packagings are
|
||||
defined at the product level while UoMs are generic.
|
||||
|
||||
.. image:: usage/usage_07.png
|
||||
:align: center
|
||||
.. image:: usage/product-packaging-examples.png
|
||||
:align: center
|
||||
:alt: Different product packaging examples.
|
||||
|
||||
.. image:: usage/usage_08.png
|
||||
:align: center
|
||||
.. image:: usage/package-field-on-po.png
|
||||
:align: center
|
||||
:alt: Package field on purchase order.
|
||||
|
||||
.. note::
|
||||
Another useful use of the packaging is for product reception. By
|
||||
scanning the barcode of the packaging, Odoo adds the number of units
|
||||
contained in the packing on the picking.
|
||||
Packaging is also useful during product reception. When scanning the barcode of the
|
||||
packaging, Odoo automatically adds the number of units contained in the packing on the picking.
|
||||
|
||||
.. seealso::
|
||||
:doc:`uom`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
|
@@ -1,8 +1,8 @@
|
|||
:nosearch:
|
||||
|
||||
====================
|
||||
Inventory Adjustment
|
||||
====================
|
||||
========================
|
||||
Replenishment strategies
|
||||
========================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
|
|
|||
|
|
@@ -2,24 +2,19 @@
|
|||
Integrating additional costs to products (landed costs)
|
||||
=======================================================
|
||||
|
||||
The landed cost feature in Odoo allows to include additional costs
|
||||
(shipment, insurance, customs duties, etc.) into the cost of the
|
||||
product.
|
||||
|
||||
.. note::
|
||||
Landed costs can only be applied to products with a FIFO or AVCO costing
|
||||
method and an automated inventory valuation (which requires the
|
||||
accounting application to be installed).
|
||||
The landed cost feature in Odoo allows the user to include additional costs (shipment, insurance,
|
||||
customs duties, etc.) into the cost of the product.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
First, you need to go in :menuselection:`Inventory --> Configuration --> Settings` and
|
||||
activate the landed costs feature. You can also determine the default
|
||||
journal in which the landed cost accounting entries will be recorded.
|
||||
First, go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation` and activate
|
||||
the :guilabel:`Landed Costs` feature. Odoo also gives the option to set a :guilabel:`Default
|
||||
Journal` in which the landed costs accounting entries will be recorded.
|
||||
|
||||
.. image:: integrating_landed_costs/integrating_landed_costs_01.png
|
||||
:align: center
|
||||
.. image:: integrating_landed_costs/landed-costs-setting.png
|
||||
:align: center
|
||||
:alt: Activate the landed cost feature in Inventory settings.
|
||||
|
||||
Add costs to products
|
||||
=====================
|
||||
|
|
@@ -27,38 +22,58 @@ Add costs to products
|
|||
Receive the vendor bill
|
||||
-----------------------
|
||||
|
||||
Let’s imagine I receive a bill from custom duties for a shipment. I’ll
|
||||
tick the box *Landed Costs* on the vendor bill line.
|
||||
After a vendor fulfills a purchase order and sends a bill, click :guilabel:`Create Bill` on the
|
||||
purchase order to create a vendor bill in Odoo. If the vendor bill includes landed costs, such as
|
||||
custom duties, tick the box in the :guilabel:`Landed Costs` column on the vendor bill invoice line.
|
||||
|
||||
.. image:: integrating_landed_costs/integrating_landed_costs_02.png
|
||||
:align: center
|
||||
.. image:: integrating_landed_costs/landed-costs-field-vendor-bill.png
|
||||
:align: center
|
||||
:alt: Enable Landed Costs option on vendor bill line.
|
||||
|
||||
For charges that are always landed costs, create a landed cost product in Odoo. That way, the
|
||||
landed cost product can be quickly added to the vendor bill as an invoice line instead of manually
|
||||
entering the landed cost information every time a vendor bill comes in.
|
||||
|
||||
First, create a new product in :menuselection:`Inventory --> Products --> Products --> Create`.
|
||||
Next, name the landed cost product. Then, set the :guilabel:`Product Type` to :guilabel:`Service`.
|
||||
A landed cost product must always be a service product type. After that, go to the
|
||||
:guilabel:`Purchase` tab and check the box next to :guilabel:`Is a Landed Cost`. Finally, click
|
||||
:guilabel:`Save` to finish creating the landed cost product.
|
||||
|
||||
If this product is always a landed cost, you can also define it on the product and avoid having to
|
||||
tick the box on each vendor bill.
|
||||
|
||||
.. image:: integrating_landed_costs/product-is-landed-cost.png
|
||||
:align: center
|
||||
:alt: Option to define a product as a landed cost.
|
||||
|
||||
Once the landed cost is added to the vendor bill (either by checking the :guilabel:`Landed Cost`
|
||||
option on the invoice line or adding a landed cost product to the bill), click the
|
||||
:guilabel:`Create Landed Costs` button at the top of the bill. Odoo automatically creates a landed
|
||||
cost record with the set landed cost pre-filled in the :guilabel:`Additional Costs` product lines.
|
||||
From here, decide which picking the additional costs apply to by clicking :guilabel:`Edit` and
|
||||
selecting the picking reference number from the :guilabel:`Transfers` drop-down menu. Finally,
|
||||
click :guilabel:`Save`.
|
||||
|
||||
.. image:: integrating_landed_costs/warehouse-transfer-landed-costs.png
|
||||
:align: center
|
||||
:alt: Use a warehouse transfer to cover a landed cost in the accounting journal.
|
||||
|
||||
After setting the picking, click :guilabel:`Compute` on the landed cost record. Then, go to the
|
||||
:guilabel:`Valuation Adjustments` tab to see the impact of the landed costs. Finally, click
|
||||
:guilabel:`Validate` to post the landed cost entry to the accounting journal.
|
||||
|
||||
The user can access the journal entry that has been created by the landed cost by clicking on the
|
||||
:guilabel:`Journal Entry`.
|
||||
|
||||
.. note::
|
||||
The landed cost product must be of type service.
|
||||
The product that the landed cost is applied to must have a product category set to a :abbr:`FIFO
|
||||
(First In, First Out)` or an :abbr:`AVCO (Average Costing)` method.
|
||||
|
||||
If this product is always a landed cost, you can also define it on the
|
||||
product and avoid having to tick the box on each vendor bill.
|
||||
|
||||
.. image:: integrating_landed_costs/integrating_landed_costs_03.png
|
||||
:align: center
|
||||
|
||||
At the top of my vendor bill, I’ll see a button *create landed costs*.
|
||||
I click on this button and a landed cost is automatically created. I can
|
||||
now decide on which picking those additional costs should apply.
|
||||
|
||||
.. image:: integrating_landed_costs/integrating_landed_costs_04.png
|
||||
:align: center
|
||||
|
||||
I can now click on *Compute* and go in the tab *Valuation
|
||||
Adjustments* to see the impact on my products costs. The last step is
|
||||
to validate the landed cost.
|
||||
|
||||
I can access the journal entry that has been created by the landed cost
|
||||
by clicking on the journal entry.
|
||||
|
||||
.. image:: integrating_landed_costs/integrating_landed_costs_05.png
|
||||
:align: center
|
||||
.. image:: integrating_landed_costs/landed-cost-journal-entry.png
|
||||
:align: center
|
||||
:alt: Landed cost journal entry
|
||||
|
||||
.. note::
|
||||
You are not forced to start from the vendor bill, you can also go in :menuselection:`Inventory
|
||||
--> Operations --> Landed Costs` and directly create the landed cost from there.
|
||||
Landed cost records can also be directly created in :menuselection:`Inventory --> Operations -->
|
||||
Landed Costs`, it is not necessary to create a landed cost record from the vendor bill.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
|
@@ -8,4 +8,5 @@ Warehouses
|
|||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
warehouses/difference_warehouse_location
|
||||
warehouses/warehouses_locations
|
||||
warehouses/resupply_warehouses
|
||||
|
|
|
|||
|
|
@@ -1,34 +0,0 @@
|
|||
========================================================
|
||||
What is the difference between warehouses and locations?
|
||||
========================================================
|
||||
|
||||
In Odoo, a **Warehouse** is the actual building/place in which your items
|
||||
are stocked. You can setup multiple warehouses and create moves between
|
||||
warehouses.
|
||||
|
||||
A **Location**, is a specific space within your warehouse. It can be
|
||||
considered as a sublocation of your warehouse, as a shelf, a floor, an
|
||||
aisle, etc. Therefore, a location is part of one warehouse only and it
|
||||
is not possible to link one location to multiple warehouses. You can
|
||||
configure as many locations as you need under one warehouse.
|
||||
|
||||
There are 3 types of locations:
|
||||
|
||||
- The **Physical Locations** are internal locations that are part of the
|
||||
warehouses for which you are the owner. They can be the loading and
|
||||
unloading area of your warehouse, a shelf or a department, etc.
|
||||
|
||||
- The **Partner Locations** are spaces within a customer and/or vendor's
|
||||
warehouse. They work the same way as Physical Locations with the only
|
||||
difference being that you are not the owner of the warehouse.
|
||||
|
||||
- The **Virtual Locations** are places that do not exist, but in which
|
||||
products can be placed when they are not physically in an inventory yet
|
||||
(or anymore). They come in handy when you want to place lost products
|
||||
out of your stock (in the **Inventory loss**), or when you want to take into
|
||||
account products that are on their way to your warehouse (**Procurements**).
|
||||
|
||||
In Odoo, locations are structured hierarchically. You can structure your
|
||||
locations as a tree, dependent on a parent-child relationship. This
|
||||
gives you more detailed levels of analysis of your stock operations and
|
||||
the organization of your warehouses.
|
||||
|
|
@@ -0,0 +1,70 @@
|
|||
===============================
|
||||
Resupply from another warehouse
|
||||
===============================
|
||||
|
||||
A common use case for multiple warehouses is to have one central warehouse that resupplies multiple
|
||||
shops, and in this case, each shop is considered a local warehouse. When a shop wants to replenish
|
||||
a product, the product is ordered to the central warehouse. Odoo allows the user to easily set
|
||||
which warehouse(s) can resupply another warehouse.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To resupply from another warehouse, first go to :menuselection:`Inventory --> Configuration -->
|
||||
Settings --> Warehouse` and activate :guilabel:`Multi-Step Routes`. Then, click :guilabel:`Save` to
|
||||
apply the setting.
|
||||
|
||||
.. image:: resupply_warehouses/virtual-warehouses-settings.png
|
||||
:align: center
|
||||
:alt: Enable Multi-Step Routes in Inventory settings.
|
||||
|
||||
View all the configured warehouses by going to :menuselection:`Inventory --> Configuration -->
|
||||
Warehouses`.
|
||||
|
||||
Create a new warehouse by clicking :guilabel:`Create`. Then, give the warehouse a name and a
|
||||
:guilabel:`Short Name`. Finally, click :guilabel:`Save` to finish creating the warehouse.
|
||||
|
||||
After that, go back to the :guilabel:`Warehouses` page and open the warehouse that will be
|
||||
resupplied by the second warehouse. Then, click :guilabel:`Edit`. In the :guilabel:`Warehouse
|
||||
Configuration` tab, locate the :guilabel:`Resupply From` field, and check the box next to the
|
||||
second warehouse's name. If the warehouse can be resupplied by more than one warehouse, make sure
|
||||
to check those warehouses' boxes too. Finally, click :guilabel:`Save` to apply the setting. Now,
|
||||
Odoo knows which warehouses can resupply this warehouse.
|
||||
|
||||
.. image:: resupply_warehouses/resupply-from-second-warehouse.png
|
||||
:align: center
|
||||
:alt: Supply one warehouse with another in the Warehouse Configuration tab.
|
||||
|
||||
Set route on a product
|
||||
======================
|
||||
|
||||
After configuring which warehouse(s) to resupply from, a new route is now available on all product
|
||||
forms. The new route appears as :guilabel:`Supply Product from [Warehouse Name]` under the
|
||||
:guilabel:`Inventory` tab on a product form. Use the :guilabel:`Supply Product from [Warehouse
|
||||
Name]` route with a reordering rule or the make to order (MTO) route to replenish stock by moving
|
||||
the product from one warehouse to another.
|
||||
|
||||
.. image:: resupply_warehouses/product-resupply-route-settings.png
|
||||
:align: center
|
||||
:alt: Route setting which enables a product to resupplied from a second warehouse.
|
||||
|
||||
When a product's reordering rule is triggered and the product has the :guilabel:`Supply Product
|
||||
from [Warehouse Name]` route set, Odoo automatically creates two pickings. One picking is a
|
||||
*delivery order* from the second warehouse, which contains all the necessary products, and the
|
||||
second picking is a *receipt* with the same products for the main warehouse. The product move from
|
||||
the second warehouse to the main warehouse is fully tracked in Odoo.
|
||||
|
||||
On the picking/transfer records created by Odoo, the :guilabel:`Source Document` is the product's
|
||||
reordering rule. The location between the delivery order and the receipt is a transit location.
|
||||
|
||||
.. image:: resupply_warehouses/resupply-receipts-from-reordering-rule.png
|
||||
:align: center
|
||||
:alt: A reordering rule automatically creates two receipts for stock between warehouses.
|
||||
|
||||
.. image:: resupply_warehouses/second-warehouse-delivery-order.png
|
||||
:align: center
|
||||
:alt: A warehouse order for resupplying one warehouse's stock with another.
|
||||
|
||||
.. image:: resupply_warehouses/second-warehouse-stock-receipt.png
|
||||
:align: center
|
||||
:alt: A receipt for stock received to one warehouse from another.
|
||||
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
|
@@ -0,0 +1,93 @@
|
|||
===============================
|
||||
Manage Warehouses and Locations
|
||||
===============================
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
Warehouse
|
||||
---------
|
||||
|
||||
In Odoo, a **Warehouse** is the actual building/place in which a company's items are stocked.
|
||||
Multiple warehouses can be set up in Odoo and the user can create moves between warehouses.
|
||||
|
||||
Location
|
||||
--------
|
||||
|
||||
A **Location** is a specific space within the warehouse. It can be a sublocation of the warehouse
|
||||
(a shelf, a floor, an aisle, and so on). Therefore, a location is part of one warehouse only and it
|
||||
is not possible to link one location to multiple warehouses. In Odoo, as many locations can be
|
||||
configured as needed under one warehouse.
|
||||
|
||||
There are three types of locations:
|
||||
|
||||
- The **Physical Locations** are internal locations that are part of the warehouses that the
|
||||
company owns. They can be the loading and unloading areas of the warehouse, a shelf, a department,
|
||||
etc.
|
||||
|
||||
- The **Partner Locations** are spaces within a customer and/or vendor's warehouse. They work the
|
||||
same way as physical locations, with the only difference being that they are not owned by the
|
||||
user's company.
|
||||
|
||||
- The **Virtual Locations** are places that do not exist, but in which products can be placed when
|
||||
they are not physically in an inventory yet (or anymore). They come in handy when recording lost
|
||||
products (**Inventory Loss**), or accounting for products that are on their way to the warehouse
|
||||
(**Procurements**).
|
||||
|
||||
In Odoo, locations are structured hierarchically. Locations can be structured as a tree, dependent
|
||||
on a parent-child relationship. This gives more detailed levels of analysis of the stock operations
|
||||
and the organization of the warehouses.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To activate locations, go to :menuselection:`Configuration --> Settings` and enable
|
||||
:guilabel:`Storage Locations`. Then, click :guilabel:`Save`.
|
||||
|
||||
.. image:: warehouses_locations/storage-location-warehouse-setting.png
|
||||
:align: center
|
||||
:alt: Enable the storage location feature in Odoo Inventory settings.
|
||||
|
||||
.. important::
|
||||
To manage several routes within the warehouses, also enable :guilabel:`Multi-Step Routes` and
|
||||
check :doc:`../../routes/concepts/use_routes`.
|
||||
|
||||
Create a new warehouse
|
||||
======================
|
||||
|
||||
To create a warehouse, go to :menuselection:`Configuration --> Warehouse Management --> Warehouses`
|
||||
and click on :guilabel:`Create`.
|
||||
|
||||
Then, fill out a :guilabel:`Warehouse Name` and a :guilabel:`Short Name`. The short name is five
|
||||
characters maximum.
|
||||
|
||||
.. image:: warehouses_locations/create-new-warehouse.png
|
||||
:align: center
|
||||
:alt: Short name field of a warehouse on Odoo Inventory.
|
||||
|
||||
.. important::
|
||||
The :guilabel:`Short Name` appears on transfer orders and other warehouse documents. Odoo
|
||||
recommends using an understandable one like "WH/[first letters of location]".
|
||||
|
||||
Now, go back to the :guilabel:`Inventory` dashboard. There, new operations related to the newly
|
||||
created warehouse have been automatically generated.
|
||||
|
||||
.. image:: warehouses_locations/new-transfer-types.png
|
||||
:align: center
|
||||
:alt: Inventory app dashboard displaying new transfer types for the recently created warehouse.
|
||||
|
||||
.. note::
|
||||
Adding a second warehouse will automatically activate the :guilabel:`Locations` setting.
|
||||
|
||||
Create a new location
|
||||
=====================
|
||||
|
||||
To create a location, go to :menuselection:`Configuration --> Warehouse Management --> Locations`
|
||||
and click on :guilabel:`Create`.
|
||||
|
||||
Then, fill out a :guilabel:`Location Name` and a :guilabel:`Parent Location` and click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. image:: warehouses_locations/create-new-location.png
|
||||
:align: center
|
||||
:alt: Create a new warehouse location in Odoo Inventory.
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 12 KiB |