Compare commits
117 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0287a4b629 | |||
| d4ed263fa2 | |||
| 8114d07bff | |||
| 86e8741509 | |||
| e69e853f44 | |||
| 3bb92d5472 | |||
| 97f9ae1b95 | |||
| 7f0153afff | |||
| a00b6cf990 | |||
| 71fbef5e5f | |||
| 7f747f05dd | |||
| 3c58f305b5 | |||
| c7a6b67a87 | |||
| 7d45830ac8 | |||
| 91165a7012 | |||
| 498280b932 | |||
| 38640aeb0e | |||
| 65f8645bed | |||
| 058e379a40 | |||
| 372a9b09f9 | |||
| 6458e07f44 | |||
| de2241eb7c | |||
| 9b7d3d559b | |||
| daa25ce5d9 | |||
| 36d407830e | |||
| 3f87216e36 | |||
| 0b6c2466a8 | |||
| 5a19d0c718 | |||
| 8aae97b838 | |||
| e38438c0ae | |||
| beeeff9068 | |||
| daebf2e579 | |||
| 9f18e77815 | |||
| 1ac6e5e975 | |||
| dd94839b20 | |||
| a04b9e1f2f | |||
| 6cc9c9a75e | |||
| f552c117a8 | |||
| 108f731916 | |||
| d1779bf4e5 | |||
| 2e3e7ad35c | |||
| 08c43b3deb | |||
| a6f1cd2cf9 | |||
| 50daadf7d1 | |||
| 2b04033868 | |||
| f8cb28ce14 | |||
| 208c1b8e81 | |||
| 7dfc3fe2c9 | |||
| 06a3323dcb | |||
| c22f90137b | |||
| 92a90f60e8 | |||
| 5769e8f617 | |||
| b923389182 | |||
| e953d8f838 | |||
| 4d079db7f8 | |||
| cbcf64e750 | |||
| 738703df14 | |||
| 8c93ff790e | |||
| 724f7000d7 | |||
| 470af9bf21 | |||
| e0b025fce0 | |||
| 4e92457ed8 | |||
| 20bd9b1780 | |||
| bfd78d2f9b | |||
| db38d06045 | |||
| ac8f3d2aa4 | |||
| e0b26c78b6 | |||
| f83f35955e | |||
| 33ef1f8918 | |||
| 15bc972085 | |||
| 74437b0e74 | |||
| e662ebe70c | |||
| 77e4f66a5a | |||
| 04a8e4657f | |||
| 392fb6ae15 | |||
| cc259daa66 | |||
| e2fdcb019e | |||
| 0afd7c1f78 | |||
| 154b223e6b | |||
| 544e2c18d0 | |||
| 412d7aed02 | |||
| 1957ca8424 | |||
| bd4e39d52f | |||
| b870ae43bc | |||
| 4feccc3996 | |||
| 85cef1bc5b | |||
| f516c71c37 | |||
| 58e4468997 | |||
| 1377ac0903 | |||
| 4a29ac6fee | |||
| e95f4d715c | |||
| 36b8f5187c | |||
| 92dce1d630 | |||
| d8b827cda4 | |||
| e13f9de4df | |||
| 582c44f05e | |||
| c7b36d6a68 | |||
| fc8449c974 | |||
| 60ce9c91a6 | |||
| efe4e4a4bc | |||
| a2dd83efd9 | |||
| 5ea7cefa23 | |||
| 70905915c4 | |||
| cdd4a16bda | |||
| e82d329a53 | |||
| ebbb05f300 | |||
| 1d40ce68e1 | |||
| 317197adb0 | |||
| 690ffd82dd | |||
| d7fb94d5bb | |||
| 1894e98869 | |||
| f6833d70d5 | |||
| abf2e868b8 | |||
| e41e618116 | |||
| b2f20be2fe | |||
| b9b8c79dd6 | |||
| a878b4d6c4 |
@@ -231,17 +231,13 @@ 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",
|
||||
'saas-18.1': "Odoo Online",
|
||||
'18.0': "Odoo 18",
|
||||
'saas-17.4': "Odoo Online",
|
||||
'saas-17.2': "Odoo Online",
|
||||
'saas-17.1': "Odoo Online",
|
||||
'17.0': "Odoo 17",
|
||||
'saas-16.4': "Odoo Online",
|
||||
'saas-16.3': "Odoo Online",
|
||||
'saas-16.2': "Odoo Online",
|
||||
'saas-16.1': "Odoo Online",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
}
|
||||
|
||||
# The language names that should be shown in the language switcher, if the config option `languages`
|
||||
@@ -250,9 +246,10 @@ languages_names = {
|
||||
'de': 'DE',
|
||||
'en': 'EN',
|
||||
'es': 'ES',
|
||||
'es_419': 'ES (LATAM)',
|
||||
'fr': 'FR',
|
||||
'it': 'IT',
|
||||
'ko': 'KO',
|
||||
'ko': 'KR',
|
||||
'nl': 'NL',
|
||||
'pt_BR': 'PT',
|
||||
'ro': 'RO',
|
||||
|
||||
@@ -23,7 +23,7 @@ Edit Security Settings --> Delete Account`. It can also be accessed by going to
|
||||
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
|
||||
confirmation for the account deletion.
|
||||
|
||||
.. image:: odoo_account/delete-account.png
|
||||
.. image:: odoo_accounts/delete-account.png
|
||||
:align: center
|
||||
:alt: Clicking on the Delete Account button will populate a window verifying the change.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -46,7 +46,7 @@ Trigger a database upgrade.
|
||||
|
||||
.. seealso::
|
||||
For more information about the upgrade process, check out the :ref:`Odoo Online upgrade
|
||||
documentation <upgrade/request-test-database>`.
|
||||
documentation <upgrade-request-test>`.
|
||||
|
||||
.. _odoo_online/duplicate:
|
||||
|
||||
|
||||
@@ -29,3 +29,32 @@ We advise that:
|
||||
- Your scheduled actions should be
|
||||
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
|
||||
cause side-effects if they are started more often than expected.
|
||||
|
||||
.. _ip-address-change:
|
||||
|
||||
How can I automate tasks when an IP address change occurs?
|
||||
----------------------------------------------------------
|
||||
|
||||
**Odoo.sh notifies project administrators of IP address changes.**
|
||||
Additionally, when the IP address of a production instance changes, an HTTP `GET` request is made
|
||||
to the path `/_odoo.sh/ip-change` with the new IP address included as a query string parameter
|
||||
(`new`), along with the previous IP address as an additional parameter (`old`).
|
||||
|
||||
This mechanism allows custom actions to be applied in response to the IP address change
|
||||
(e.g., sending an email, contacting a firewall API, configuring database objects, etc.)
|
||||
|
||||
For security reasons, the `/_odoo.sh/ip-change` route is accessible only internally by the platform
|
||||
itself and returns a `403` response if accessed through any other means.
|
||||
|
||||
Here is a pseudo-implementation example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
class IPChangeController(http.Controller):
|
||||
|
||||
@http.route('/_odoo.sh/ip-change', auth='public')
|
||||
def ip_change(self, old=None, new=None):
|
||||
_logger.info("IP address changed from %s to %s", old, new)
|
||||
# Then perform whatever action required for your use case, e.g., update an
|
||||
# ir.config_parameter, send an email, contact an external firewall service's API, ...
|
||||
return 'ok'
|
||||
|
||||
@@ -33,17 +33,17 @@ Manage the Github users who can access your project.
|
||||
.. image:: settings/interface-settings-collaborators.png
|
||||
:align: center
|
||||
|
||||
There are two levels of users:
|
||||
There are three levels of users:
|
||||
|
||||
* Admin: has access to all features of Odoo.sh.
|
||||
* User: does not have access to the project settings nor to the production and staging databases.
|
||||
- :guilabel:`Admin`: has access to all features of an Odoo.sh project.
|
||||
|
||||
The user group is meant for developers who can make modifications in your code but are not allowed
|
||||
to access the production data. Users of this group cannot connect to the production and staging
|
||||
databases using the *1-click connect* feature, but they can of course use their regular account on
|
||||
these databases if they have one, using their regular credentials.
|
||||
- :guilabel:`Tester`: has access to the *Staging* and *Development* databases and their tooling.
|
||||
This role is for users conducting User Acceptance Tests. Testers can work with copies of
|
||||
production data but cannot access the production database through the Odoo.sh tooling.
|
||||
|
||||
In addition, they cannot use the webshell nor have access to the server logs.
|
||||
- :guilabel:`Developer`: has access only to the *Development* databases and their tooling. This
|
||||
role is for developers who propose code modifications but are not allowed to access production
|
||||
and staging databases through the Odoo.sh tooling.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
@@ -51,83 +51,145 @@ In addition, they cannot use the webshell nor have access to the server logs.
|
||||
|
||||
* -
|
||||
-
|
||||
- User
|
||||
- Developer
|
||||
- Tester
|
||||
- Admin
|
||||
* - Development
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|
|
||||
- |green|
|
||||
* - Production & Staging
|
||||
- |green|
|
||||
* - Staging
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Monitoring
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Backups
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|\*
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* - Production
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Monitoring
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Backups
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* - Status
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* - Settings
|
||||
-
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
|
||||
.. note::
|
||||
\* Only in staging branches
|
||||
.. warning::
|
||||
Those roles only apply to the usage of Odoo.sh. It is important to reflect the user roles
|
||||
attribution within the repository on GitHub. Please refer to the GitHub documentation section on
|
||||
`Managing a branch protection rule <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>`_
|
||||
for detailed guidance.
|
||||
|
||||
.. |green| raw:: html
|
||||
|
||||
@@ -149,15 +211,32 @@ Allow public access to your development builds.
|
||||
.. image:: settings/interface-settings-public.png
|
||||
:align: center
|
||||
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
|
||||
development builds.
|
||||
|
||||
In addition, visitors have access to the logs, shell and mails of your development builds.
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to view logs of development builds.
|
||||
|
||||
Production and staging builds are excluded, visitors can only see their status.
|
||||
|
||||
.. _odoosh-gettingstarted-settings-modules-installation:
|
||||
|
||||
GitHub commit statuses
|
||||
======================
|
||||
|
||||
This option enables Odoo.sh to push commit statuses to your GitHub repository when a build is
|
||||
created or updated. It requires a GitHub token with permissions to push commit statuses to the
|
||||
repository. Refer to `GitHub's documentation on personal access tokens <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens>`_
|
||||
for instructions to create yours.
|
||||
|
||||
.. note::
|
||||
GitHub's **fine-grained personal tokens** have an expiration date and will be disabled if they
|
||||
fail to update the commit status. You can replace the token at any time on Odoo.sh.
|
||||
|
||||
The commit statuses pushed to GitHub can have the following contexts:
|
||||
|
||||
- :guilabel:`ci/odoo.sh (dev)`: status of a development build
|
||||
- :guilabel:`ci/odoo.sh (staging)`: status of a staging build
|
||||
- :guilabel:`ci/odoo.sh (production)`: status of a production build
|
||||
- :guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test
|
||||
status on the last commit of your repository
|
||||
|
||||
Custom domains
|
||||
==============
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@ To resolve the issue:
|
||||
your **network and firewall settings** allow the Odoo server to open outgoing connections
|
||||
towards:
|
||||
|
||||
- `services.odoo.com` on port `443` (or `80`)
|
||||
- for older deployments, `services.openerp.com` on port `443` (or `80`)
|
||||
- Odoo 18.0 and above: `services.odoo.com` on port `80`
|
||||
- Odoo 17.0 and below: `services.openerp.com` on port `80`
|
||||
|
||||
These ports must be kept open even after registering a database, as the update notification runs
|
||||
once a week.
|
||||
@@ -85,12 +85,6 @@ To resolve the issue, either:
|
||||
displayed in the message to validate the upsell quotation and pay for the extra users.
|
||||
- :ref:`Deactivate users <users/deactivate>` and **reject** the upsell quotation.
|
||||
|
||||
.. important::
|
||||
If you are on a monthly subscription plan, the database will automatically update to reflect the
|
||||
added user(s). If you are on a yearly or multi-year plan, an expiration banner will appear in the
|
||||
database. You can create the upsell quotation by clicking the banner to update the subscription
|
||||
or `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue.
|
||||
|
||||
Once your database has the correct number of users, the expiration message disappears automatically
|
||||
after a few days, when the next verification occurs.
|
||||
|
||||
|
||||
@@ -31,90 +31,60 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~17.2
|
||||
* - Odoo SaaS 18.1
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2025
|
||||
-
|
||||
* - **Odoo 18.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2024
|
||||
- October 2027 (planned)
|
||||
* - Odoo SaaS 17.4
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- July 2024
|
||||
- October 2024
|
||||
* - Odoo SaaS 17.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- April 2024
|
||||
-
|
||||
* - Odoo saas~17.1
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2024
|
||||
-
|
||||
- October 2024
|
||||
* - **Odoo 17.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- November 2023
|
||||
- October 2026 (planned)
|
||||
* - Odoo saas~16.4
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- August 2023
|
||||
-
|
||||
* - Odoo saas~16.3
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- June 2023
|
||||
-
|
||||
* - Odoo saas~16.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2023
|
||||
-
|
||||
* - Odoo saas~16.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2023
|
||||
-
|
||||
* - **Odoo 16.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2022
|
||||
- November 2025 (planned)
|
||||
* - Odoo saas~15.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2022
|
||||
- January 2023
|
||||
* - Odoo saas~15.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2022
|
||||
- July 2022
|
||||
- October 2025 (planned)
|
||||
* - **Odoo 15.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2021
|
||||
- November 2024 (planned)
|
||||
- October 2024
|
||||
* - **Odoo 14.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2020
|
||||
- November 2023
|
||||
* - **Odoo 13.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2019
|
||||
- October 2022
|
||||
* - Older versions
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- Before 2019
|
||||
- Before 2022
|
||||
- Before 2020
|
||||
- Before 2023
|
||||
|
||||
.. admonition:: Legend
|
||||
|
||||
|
||||
@@ -2,31 +2,55 @@
|
||||
Upgrade
|
||||
=======
|
||||
|
||||
An upgrade is the process of moving your database from an older version to a newer :doc:`supported
|
||||
version <supported_versions>` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as
|
||||
each version comes with new and improved features, bug fixes, and security patches.
|
||||
An upgrade involves moving a database from an older version to a newer supported version (e.g., from
|
||||
Odoo 16.0 to Odoo 18.0). Regular upgrades are crucial as each version offers new features, bug
|
||||
fixes, and security patches. Using a :doc:`supported version <supported_versions>` is strongly
|
||||
recommended. Each major version is supported for three years.
|
||||
|
||||
.. _upgrade_faq/rolling_release:
|
||||
Depending on the hosting type and Odoo version used, a database upgrade can be **mandatory**.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
- If a database is on a **major version** (e.g., 16.0, 17.0, 18.0), an upgrade is mandatory
|
||||
every two years.
|
||||
- If a database is on a **minor version** (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory
|
||||
a few weeks after the next version is released. Minor versions are usually released every
|
||||
two months.
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
After the initial three years of support, you will have another two years to complete the
|
||||
upgrade. You will be notified when an upgrade is required.
|
||||
|
||||
.. image:: upgrade/odoo-sh-message.png
|
||||
:alt: The "unsupported version" popup on Odoo.sh.
|
||||
|
||||
.. group-tab:: On-premise
|
||||
|
||||
You can stay on the same version indefinitely, even if it is not recommended. Note that the
|
||||
smaller the version gap, the easier the upgrade should be.
|
||||
|
||||
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
|
||||
|
||||
The Rolling Release process allows Odoo Online customers to upgrade their database directly from
|
||||
a message prompt sent to the database administrator as soon as a new version is released. The
|
||||
invitation to upgrade is only sent if no issues are detected during the automatic tests.
|
||||
You will receive a notification in your database a few weeks before a mandatory upgrade will be
|
||||
automatically carried out. You are in control of the process as long as the deadline is not
|
||||
reached.
|
||||
|
||||
.. image:: upgrade/rr-upgrade-message.png
|
||||
:alt: The upgrade message prompt on the top right of the database
|
||||
|
||||
It is strongly recommended to manually :ref:`test the upgrade first <upgrade/test_your_db>`.
|
||||
Clicking :guilabel:`I want to test first` redirects to `the database manager
|
||||
<https://www.odoo.com/my/databases/>`_, where it is possible to request an upgraded test database
|
||||
and check it for any discrepancies.
|
||||
Concretely, Odoo’s Upgrade Team performs a silent test upgrade of every database that should be
|
||||
upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the
|
||||
upgrade from the database. If the test fails, you can test an upgrade using the `database manager
|
||||
<https://www.odoo.com/my/databases>`_.
|
||||
|
||||
It is **not** recommended to click :guilabel:`Upgrade Now` without testing first, as it
|
||||
immediately triggers the live production database upgrade.
|
||||
When you are invited to upgrade, it is strongly recommended to :ref:`request an upgraded test
|
||||
database <upgrade-request-test>` first and spend time :ref:`testing <upgrade-testing>` it.
|
||||
|
||||
If the Rolling Release process detects an issue with the upgrade, it will be deactivated until
|
||||
the issue is resolved.
|
||||
An automatic upgrade to the next version will be triggered if no action is taken before the
|
||||
specified due date.
|
||||
|
||||
An upgrade does not cover:
|
||||
|
||||
@@ -40,36 +64,40 @@ An upgrade does not cover:
|
||||
If your database contains custom modules, it cannot be upgraded until a version of your custom
|
||||
modules is available for the target version of Odoo. For customers maintaining their own custom
|
||||
modules, we recommend to parallelize the process by :ref:`requesting an upgraded database
|
||||
<upgrade/request-test-database>` while also :doc:`upgrading the source code of your custom
|
||||
<upgrade-request-test>` while also :doc:`upgrading the source code of your custom
|
||||
modules </developer/howtos/upgrade_custom_db>`.
|
||||
|
||||
.. _upgrade-nutshell:
|
||||
|
||||
Upgrading in a nutshell
|
||||
-----------------------
|
||||
=======================
|
||||
|
||||
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
|
||||
<upgrade/request-test-database>`).
|
||||
<upgrade-request-test>`).
|
||||
#. If applicable, upgrade the source code of your custom module to be compatible with the new
|
||||
version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`).
|
||||
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
|
||||
<upgrade/test_your_db>`).
|
||||
#. Report any issue encountered during the testing to Odoo by `submitting a ticket for an issue
|
||||
related to my future upgrade (I am testing an upgrade) <https://odoo.com/help?stage=migration>`_.
|
||||
<upgrade-testing>`).
|
||||
#. Report any issue encountered during the testing to Odoo by going to the `Support page and
|
||||
selecting "An issue related to my future upgrade (I am testing an upgrade)"
|
||||
<https://www.odoo.com/help?stage=migration>`_.
|
||||
#. Once all issues are resolved and you are confident that the upgraded database can be used as
|
||||
your main database without any issues, plan the upgrade of your production database.
|
||||
#. Request the upgrade for the production database, rendering it unavailable for the time it takes
|
||||
to complete the process (see :ref:`upgrading the production database <upgrade/upgrade-prod>`).
|
||||
#. Report any issue encountered during the upgrade to Odoo by `submitting a ticket for an issue
|
||||
related to my upgrade (production) <https://odoo.com/help?stage=post_upgrade>`_.
|
||||
to complete the process (see :ref:`upgrading the production database <upgrade-production>`).
|
||||
#. Report any issue encountered during the upgrade to Odoo by going to the `Support page and
|
||||
selecting "An issue related to my upgrade (production)"
|
||||
<https://www.odoo.com/help?stage=post_upgrade>`_.
|
||||
|
||||
.. _upgrade/request-test-database:
|
||||
.. _upgrade-request-test:
|
||||
|
||||
Obtaining an upgraded test database
|
||||
-----------------------------------
|
||||
===================================
|
||||
|
||||
The `Upgrade page <https://upgrade.odoo.com/>`_ is the main platform for requesting an upgraded
|
||||
The `Upgrade page <https://upgrade.odoo.com>`_ is the main platform for requesting an upgraded
|
||||
database. However, depending on the hosting type, you can upgrade from the command line
|
||||
(on-premise), the `Odoo Online database manager <https://odoo.com/my/databases>`_, or your `Odoo.sh
|
||||
project <https://odoo.sh/project>`_.
|
||||
(on-premise), the Odoo Online `database manager <https://www.odoo.com/my/databases>`_, or your
|
||||
`Odoo.sh project <https://www.odoo.sh/project>`_.
|
||||
|
||||
.. note::
|
||||
The Upgrade platform follows the same `Privacy Policy <https://www.odoo.com/privacy>`_ as the
|
||||
@@ -81,7 +109,7 @@ project <https://odoo.sh/project>`_.
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
Odoo Online databases can be manually upgraded via the `database manager
|
||||
<https://odoo.com/my/databases>`_.
|
||||
<https://www.odoo.com/my/databases>`_.
|
||||
|
||||
The database manager displays all databases associated with the user's account. Databases
|
||||
not on the most recent version of Odoo display an arrow in a circle icon next to their name,
|
||||
@@ -115,8 +143,7 @@ project <https://odoo.sh/project>`_.
|
||||
.. image:: upgrade/odoo-sh-staging.png
|
||||
:alt: Odoo.sh project and tabs
|
||||
|
||||
The **latest production daily automatic backup** is then sent to the `upgrade platform
|
||||
<https://upgrade.odoo.com>`_.
|
||||
The **latest production daily automatic backup** is then sent to the Upgrade platform.
|
||||
|
||||
Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is
|
||||
put in a **special mode**: each time a **commit is pushed** on the branch, a **restore
|
||||
@@ -142,6 +169,21 @@ project <https://odoo.sh/project>`_.
|
||||
|
||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
|
||||
|
||||
.. note::
|
||||
This command has some requirements on the environment it runs in:
|
||||
|
||||
- Some external commands that must be provided by the operating system, normally found in
|
||||
any Linux distribution (including WSL). An error will be displayed if one or several of
|
||||
them are missing.
|
||||
- The system user that executes the command needs to be configured with access to the
|
||||
database. Please refer to the PostgreSQL documentation of the `client environment
|
||||
<https://www.postgresql.org/docs/current/libpq-envars.html>`_ or the `client password
|
||||
file <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_ for this requirement.
|
||||
- The script needs to be able to reach one or multiple servers of the upgrade platform
|
||||
both on TCP port 443 and to any random TCP port in the range between 32768 and 60999.
|
||||
This can be in conflict with your restrictive firewall and may need an exception added
|
||||
to the firewall configuration.
|
||||
|
||||
The following command can be used to display the general help and the main commands:
|
||||
|
||||
.. code-block:: console
|
||||
@@ -149,7 +191,7 @@ project <https://odoo.sh/project>`_.
|
||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
|
||||
|
||||
An upgraded test database can also be requested via the `Upgrade page
|
||||
<https://upgrade.odoo.com/>`_.
|
||||
<https://upgrade.odoo.com>`_.
|
||||
|
||||
.. important::
|
||||
In databases where custom modules are installed, their source code must be up-to-date with
|
||||
@@ -175,22 +217,20 @@ project <https://odoo.sh/project>`_.
|
||||
.. note::
|
||||
You can request multiple test databases if you wish to test an upgrade more than once.
|
||||
|
||||
.. _upgrade/upgrade_report:
|
||||
|
||||
.. note::
|
||||
When an upgrade request is completed, an upgrade report is attached to the successful upgrade
|
||||
email, and it becomes available in the Discuss app for users who are part of the "Administration
|
||||
/ Settings" group. This report provides important information about the changes introduced by
|
||||
the new version.
|
||||
|
||||
.. _upgrade/test_your_db:
|
||||
.. _upgrade-testing:
|
||||
|
||||
Testing the new version of the database
|
||||
---------------------------------------
|
||||
=======================================
|
||||
|
||||
It is essential to spend some time testing the upgraded test database to ensure that you are not
|
||||
stuck in your day-to-day activities by a change in views, behavior, or an error message once the
|
||||
upgrade goes live.
|
||||
It is essential to test the upgraded test database to ensure that you are not stuck in your
|
||||
day-to-day activities by a change in views, behavior, or an error message once the upgrade goes
|
||||
live.
|
||||
|
||||
.. note::
|
||||
Test databases are neutralized, and some features are disabled to prevent them from impacting the
|
||||
@@ -245,9 +285,10 @@ working correctly and to get more familiar with the new version.
|
||||
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
|
||||
|
||||
If you face an issue while testing your upgraded test database, you can request the assistance of
|
||||
Odoo by `submitting a ticket for an issue related to my future upgrade (I am testing an upgrade)
|
||||
<https://odoo.com/help?stage=migration>`_. In any case, it is essential to report any problem
|
||||
encountered during the testing to fix it before upgrading your production database.
|
||||
Odoo by going to the `Support page and selecting "An issue related to my future upgrade (I am
|
||||
testing an upgrade)" <https://www.odoo.com/help?stage=migration>`_. In any case, it is essential to
|
||||
report any problem encountered during the testing to fix it before upgrading your production
|
||||
database.
|
||||
|
||||
You might encounter significant differences with standard views, features, fields, and models during
|
||||
testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced
|
||||
@@ -265,12 +306,12 @@ module to make it compatible with the new version of Odoo.
|
||||
- Server actions in the action menu on form views, as well as by selecting multiple records on
|
||||
list views
|
||||
|
||||
.. _upgrade/upgrade-prod:
|
||||
.. _upgrade-production:
|
||||
|
||||
Upgrading the production database
|
||||
---------------------------------
|
||||
=================================
|
||||
|
||||
Once the :ref:`tests <upgrade/test_your_db>` are completed and you are confident that the upgraded
|
||||
Once the :ref:`tests <upgrade-testing>` are completed and you are confident that the upgraded
|
||||
database can be used as your main database without any issues, it is time to plan the go-live day.
|
||||
|
||||
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
|
||||
@@ -288,15 +329,15 @@ day before upgrading the production database is also recommended.**
|
||||
- Business interruptions (e.g., no longer having the possibility to validate an action)
|
||||
- Poor customer experience (e.g., an eCommerce website that does not work correctly)
|
||||
|
||||
The process of upgrading a production database is similar to upgrading a test database with a few
|
||||
exceptions.
|
||||
The process of upgrading a production database is similar to upgrading a test database, but with a
|
||||
few exceptions.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
The process is similar to :ref:`obtaining an upgraded test database
|
||||
<upgrade/request-test-database>`, except for the purpose option, which must be set to
|
||||
<upgrade-request-test>`, except for the purpose option, which must be set to
|
||||
:guilabel:`Production` instead of :guilabel:`Test`.
|
||||
|
||||
.. warning::
|
||||
@@ -306,8 +347,8 @@ exceptions.
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
The process is similar to :ref:`obtaining an upgraded test database
|
||||
<upgrade/request-test-database>` on the :guilabel:`Production` branch.
|
||||
The process is similar to :ref:`obtaining an upgraded test database <upgrade-request-test>` on
|
||||
the :guilabel:`Production` branch.
|
||||
|
||||
.. image:: upgrade/odoo-sh-prod.png
|
||||
:alt: View from the upgrade tab
|
||||
@@ -337,7 +378,8 @@ exceptions.
|
||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
|
||||
|
||||
An upgraded production database can also be requested via the `Upgrade page
|
||||
<https://upgrade.odoo.com/>`_.
|
||||
<https://upgrade.odoo.com>`_.
|
||||
|
||||
Once the database is uploaded, any modification to your production database will **not** be
|
||||
present on your upgraded database. This is why we recommend not using it during the upgrade
|
||||
process.
|
||||
@@ -347,14 +389,14 @@ exceptions.
|
||||
a filestore. Therefore, the upgraded database filestore must be merged with the production
|
||||
filestore before deploying the new version.
|
||||
|
||||
In case of an issue with your production database, you can request the assistance of Odoo by
|
||||
`submitting a ticket for an issue related to my upgrade (production)
|
||||
<https://odoo.com/help?stage=post_upgrade>`_.
|
||||
In case of an issue with your production database, you can request the assistance of Odoo by going
|
||||
to the `Support page and selecting "An issue related to my upgrade (production)"
|
||||
<https://www.odoo.com/help?stage=post_upgrade>`_.
|
||||
|
||||
.. _upgrade/sla:
|
||||
.. _upgrade-sla:
|
||||
|
||||
Service-level agreement (SLA)
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
|
||||
any support required to rectify potential discrepancies in the upgraded database.
|
||||
@@ -363,8 +405,10 @@ Information about the upgrade services included in the Enterprise Licence is ava
|
||||
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
|
||||
upgrade services you can expect.
|
||||
|
||||
.. _upgrade-sla-covered:
|
||||
|
||||
Upgrade services covered by the SLA
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
|
||||
benefit from upgrade services at all times for:
|
||||
@@ -378,16 +422,16 @@ benefit from upgrade services at all times for:
|
||||
Upgrade services are limited to the technical conversion and adaptation of a database (standard
|
||||
modules and data) to make it compatible with the version targeted by the upgrade.
|
||||
|
||||
.. _upgrade-sla-not-covered:
|
||||
|
||||
Upgrade services not covered by the SLA
|
||||
=======================================
|
||||
---------------------------------------
|
||||
|
||||
The following upgrade-related services are **not** included:
|
||||
|
||||
- the **cleaning** of pre-existing data and configurations while upgrading;
|
||||
- the upgrade of **custom modules created in-house or by third parties**, including Odoo partners;
|
||||
- lines of **code added to standard modules**, i.e., customizations created outside the Studio app,
|
||||
code entered manually, and :ref:`automated actions using Python code
|
||||
<studio/automated-actions/action>`; and
|
||||
- the upgrade of **additional modules not covered by a maintenance contract** that are created
|
||||
in-house or by third parties, including Odoo partners; and
|
||||
- **training** on using the upgraded version's features and workflows.
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 14 KiB |
@@ -203,7 +203,7 @@ available methods are standard price, average price, :abbr:`LIFO (Last-In, First
|
||||
:abbr:`FIFO (First-In, First-Out).`
|
||||
|
||||
.. seealso::
|
||||
:doc:`../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config`
|
||||
:doc:`../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config`
|
||||
|
||||
Retained earnings
|
||||
=================
|
||||
|
||||
@@ -193,4 +193,3 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
|
||||
bank/reconciliation
|
||||
bank/reconciliation_models
|
||||
bank/foreign_currency
|
||||
bank/cash_register
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
=============
|
||||
Cash register
|
||||
=============
|
||||
|
||||
The cash register is a journal to register receivings and payments transactions.
|
||||
It calculates the total money in and out, computing the total balance.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. image:: cash_register/journal.png
|
||||
:align: center
|
||||
|
||||
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
||||
Journals`.
|
||||
|
||||
2. In the tab Journal Entries, the Default Debit and Credit Account can be
|
||||
configured as well as the currency of the journal
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
How to register cash payments?
|
||||
------------------------------
|
||||
|
||||
To register a cash payment specific to another customer, you should follow
|
||||
these steps:
|
||||
|
||||
1. Go to :menuselection:`Accounting --> Dashboard --> Cash --> Register
|
||||
Transactions`
|
||||
|
||||
2. Fill in the start and ending balance
|
||||
|
||||
3. Register the transactions, specifying the customers linked to the transaction
|
||||
|
||||
Put money in
|
||||
------------
|
||||
|
||||
Put money in is used to placed your cash manually before starting your
|
||||
transactions. From the Register Transactions window, go to :menuselection:`More
|
||||
--> Put money in`
|
||||
|
||||
.. image:: cash_register/put-money-in.png
|
||||
:align: center
|
||||
|
||||
Take money out
|
||||
--------------
|
||||
|
||||
Take money out is used to collect/get yor your cash manually after
|
||||
ending all your transactions. From the Register Transaction windows, go to :menuselection:`More
|
||||
--> Take money out`
|
||||
|
||||
.. image:: cash_register/put-money-out.png
|
||||
:align: center
|
||||
|
||||
The transactions will be added to the current cash payment registration.
|
||||
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
@@ -26,12 +26,12 @@ valuation <inventory/avg_price/leaving_inventory>`.
|
||||
.. note::
|
||||
This document addresses a specific use case for theoretical purposes. For instructions on how to
|
||||
set up and use |AVCO|, refer to the :doc:`inventory valuation configuration
|
||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
|
||||
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
|
||||
doc.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Using inventory valuation
|
||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation>`
|
||||
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation>`
|
||||
- :ref:`Other inventory valuation methods <inventory/inventory_valuation_config/costing_methods>`
|
||||
|
||||
Configuration
|
||||
@@ -44,7 +44,7 @@ product category page, set :guilabel:`Costing Method` to `Average Cost (AVCO)` a
|
||||
|
||||
.. seealso::
|
||||
:doc:`Inventory valuation configuration
|
||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
|
||||
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
|
||||
|
||||
Using average cost valuation
|
||||
============================
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -7,18 +7,20 @@ Payments
|
||||
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
|
||||
for use at a later date:
|
||||
|
||||
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due of the
|
||||
invoice. You can have multiple payments related to the same invoice.
|
||||
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due on the
|
||||
invoice. Multiple payments on the same invoice are possible.
|
||||
|
||||
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
|
||||
your company, or your company has an outstanding debit with a vendor. You can use those
|
||||
outstanding amounts to reduce/settle unpaid invoices/bills.
|
||||
the company, or the company has an outstanding debit with a vendor. Those outstanding amounts
|
||||
reduce/settle unpaid invoices/bills.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Internal transfers <payments/internal_transfers>`
|
||||
- :doc:`bank/reconciliation`
|
||||
- `Odoo Tutorials: Bank Configuration
|
||||
<https://www.odoo.com/slides/slide/bank-configuration-1880>`_
|
||||
<https://www.odoo.com/slides/slide/bank-configuration-6832>`_
|
||||
|
||||
.. _accounting/payments/from-invoice-bill:
|
||||
|
||||
Registering payment from an invoice or bill
|
||||
===========================================
|
||||
@@ -27,11 +29,12 @@ When clicking :guilabel:`Register payment` in a customer invoice or vendor bill,
|
||||
journal entry and changes the amount due according to the payment amount. The counterpart is
|
||||
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
|
||||
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
|
||||
the outstanding account is reconciled with a bank statement line, the invoice or vendor bill changes
|
||||
to the :guilabel:`Paid` status.
|
||||
the outstanding account is reconciled with a bank transaction line, the invoice or vendor bill
|
||||
changes to the :guilabel:`Paid` status.
|
||||
|
||||
The information icon near the payment line displays more information about the payment. You can
|
||||
access additional information, such as the related journal, by clicking :guilabel:`View`.
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal, click
|
||||
:guilabel:`View`.
|
||||
|
||||
.. image:: payments/information-icon.png
|
||||
:alt: See detailed information of a payment.
|
||||
@@ -39,65 +42,89 @@ access additional information, such as the related journal, by clicking :guilabe
|
||||
.. note::
|
||||
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
|
||||
payment.
|
||||
- If you unreconcile a payment, it still appears in your books but is no longer linked to the
|
||||
- If a payment is unreconciled, it still appears in the books but is no longer linked to the
|
||||
invoice.
|
||||
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
|
||||
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||
created to post the currency exchange gains/losses (reversal) amount.
|
||||
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
|
||||
automatically created to post the cash basis tax (reversal) amount.
|
||||
- If a payment is (un)reconciled and an invoice with cash-basis taxes, a journal entry is
|
||||
automatically created to post the cash-basis tax (reversal) amount.
|
||||
|
||||
.. tip::
|
||||
- If your main bank account is set as an :ref:`outstanding account
|
||||
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
|
||||
bank statement), invoices and bills are directly registered as :guilabel:`Paid`.
|
||||
If the main bank account is set as an :ref:`outstanding account
|
||||
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
|
||||
bank transaction), invoices and bills are directly registered as :guilabel:`Paid`.
|
||||
|
||||
.. _accounting/payments/not-tied:
|
||||
|
||||
Registering payments not tied to an invoice or bill
|
||||
===================================================
|
||||
|
||||
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments` menu, it is
|
||||
not directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
||||
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not
|
||||
directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
||||
matched with the **outstanding account** until it is manually matched with its related invoice or
|
||||
bill.
|
||||
|
||||
.. _accounting/payments/matching-invoices-bills:
|
||||
|
||||
Matching invoices and bills with payments
|
||||
-----------------------------------------
|
||||
|
||||
A blue banner appears when you validate a new invoice/bill and an **outstanding payment** exists for
|
||||
this specific customer or vendor. It can easily be matched from the invoice or bill by clicking
|
||||
:guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for
|
||||
this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`ADD`
|
||||
under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
|
||||
.. image:: payments/add-option.png
|
||||
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
|
||||
|
||||
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
|
||||
corresponding bank statement.
|
||||
corresponding bank transaction.
|
||||
|
||||
.. _payments/batch-payments:
|
||||
.. _accounting/payments/group-payments:
|
||||
|
||||
Batch payment
|
||||
-------------
|
||||
Group payments
|
||||
--------------
|
||||
|
||||
Batch payments allow you to group different payments to ease :doc:`reconciliation
|
||||
<bank/reconciliation>`. They are also useful when you deposit :doc:`checks <payments/checks>` to the
|
||||
bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to :menuselection:`Accounting -->
|
||||
Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the
|
||||
list view of payments, you can select and group several payments in a batch by clicking
|
||||
:menuselection:`Action --> Create Batch Payment`.
|
||||
Group payments allow combining outgoing and incoming payments from the same contact into a single
|
||||
payment to simplify the process and improve payment usability. To register a group payment:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or
|
||||
:menuselection:`Accounting --> Vendors --> Bills/Refunds`.
|
||||
#. Select the relevant invoices/credit notes or bills/refunds linked to a specific contact.
|
||||
#. Click the :icon:`fa-cog` (:guilabel:`Action menu`) icon and select :guilabel:`Register Payment`.
|
||||
#. In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the
|
||||
:guilabel:`Payment Method`, and the :guilabel:`Payment Date`.
|
||||
#. Enable the :guilabel:`Group Payments` option and click :guilabel:`Create payment`.
|
||||
|
||||
The invoices or bills are now marked as :guilabel:`In payment` until they are reconciled with the
|
||||
corresponding bank transactions. The credit notes or refunds are marked as :guilabel:`Paid`.
|
||||
|
||||
.. _accounting/payments/batch-payments:
|
||||
|
||||
Batch payments
|
||||
--------------
|
||||
|
||||
Batch payments allow grouping payments from multiple contacts to ease
|
||||
:doc:`reconciliation <bank/reconciliation>`. They are also useful when depositing :doc:`checks
|
||||
<payments/checks>` to the bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to
|
||||
:menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting -->
|
||||
Vendors --> Batch Payments`. In the list view of payments, to group several payments in a
|
||||
batch, select them and click :menuselection:`Action --> Create Batch Payment`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`payments/batch`
|
||||
- :doc:`payments/batch_sdd`
|
||||
|
||||
.. _payments/matching:
|
||||
.. _accounting/payments/matching:
|
||||
|
||||
Payments matching
|
||||
-----------------
|
||||
|
||||
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
|
||||
allows you to process them individually, matching all payments and invoices in one place. You can
|
||||
reach this tool from the :menuselection:`Accounting Dashboard --> Customer Invoices / Vendor Bills`,
|
||||
click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payments Matching`, or go to
|
||||
:menuselection:`Accounting --> Accounting --> Reconciliation`.
|
||||
allows them to be processed individually, matching all payments and invoices in one place. Go to the
|
||||
:guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`)
|
||||
button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select
|
||||
:guilabel:`Payments Matching`, or go to :menuselection:`Accounting --> Accounting -->
|
||||
Reconciliation`.
|
||||
|
||||
.. image:: payments/payments-journal.png
|
||||
:alt: Payments matching menu in the drop-down menu.
|
||||
@@ -105,39 +132,49 @@ click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payment
|
||||
.. note::
|
||||
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits and credits does
|
||||
not match, there is a remaining balance. This either needs to be reconciled at a later date or
|
||||
needs to be written off directly.
|
||||
written off directly.
|
||||
|
||||
.. _accounting/payments/batch-payments-matching:
|
||||
|
||||
Batch payments matching
|
||||
-----------------------
|
||||
|
||||
You can use the batch reconciliation feature to reconcile several outstanding payments or invoices
|
||||
Use the batch reconciliation feature to reconcile several outstanding payments or invoices
|
||||
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
|
||||
Aged Receivable / Aged Payable`. You can see all transactions that have not been reconciled yet for
|
||||
that partner, and when you select a customer or vendor, the :guilabel:`Reconcile` option is
|
||||
Aged Receivable / Aged Payable`. All transactions that have not yet been reconciled for that
|
||||
contact are visible, and when a customer or vendor is selected, the :guilabel:`Reconcile` option is
|
||||
displayed.
|
||||
|
||||
.. image:: payments/reconcile-option.png
|
||||
:alt: See the reconcile option.
|
||||
|
||||
.. _accounting/payments/partial-payment:
|
||||
|
||||
Registering a partial payment
|
||||
=============================
|
||||
|
||||
To register a **partial payment**, click :guilabel:`Register payment` from the related invoice or
|
||||
bill, and enter the amount received or paid. Upon entering the amount, a prompt appears to decide
|
||||
whether to :guilabel:`Keep open` the invoice or bill, or :guilabel:`Mark as fully paid`. Select
|
||||
:guilabel:`Keep open` and click :guilabel:`Create payment`. The invoice or bill is now marked as
|
||||
:guilabel:`Partial`. Select :guilabel:`Mark as fully paid` if you wish to settle the invoice or bill
|
||||
with a difference in the amount.
|
||||
To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or
|
||||
bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the
|
||||
outstanding balance. There are two options:
|
||||
|
||||
.. image:: payments/payment-difference.png
|
||||
:alt: Partial payment of an invoice or bill.
|
||||
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial`
|
||||
banner;
|
||||
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and
|
||||
change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts
|
||||
payable or receivable with the selected account.
|
||||
|
||||
Reconciling payments with bank statements
|
||||
=========================================
|
||||
.. image:: payments/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
|
||||
.. _accounting/payments/reconciling-payments:
|
||||
|
||||
Reconciling payments with bank transactions
|
||||
===========================================
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
|
||||
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank statement line to
|
||||
have the transaction finalized and the invoice or bill marked as :guilabel:`Paid`.
|
||||
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank transaction line to
|
||||
finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
@@ -4,30 +4,31 @@
|
||||
Reporting
|
||||
=========
|
||||
|
||||
Main reports available
|
||||
======================
|
||||
|
||||
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
|
||||
:doc:`localization package <../../finance/fiscal_localizations>` installed:
|
||||
|
||||
- **Balance Sheet**
|
||||
- **Profit and Loss**
|
||||
- **Executive Summary**
|
||||
- **General Ledger**
|
||||
- **Aged Payable**
|
||||
- **Aged Receivable**
|
||||
- **Cash Flow Statement**
|
||||
- **Tax Report**
|
||||
- :ref:`reporting/balance-sheet`
|
||||
- :ref:`reporting/profit-and-loss`
|
||||
- :ref:`reporting/executive-summary`
|
||||
- :ref:`reporting/general-ledger`
|
||||
- :ref:`reporting/aged-receivable`
|
||||
- :ref:`reporting/aged-payable`
|
||||
- :ref:`reporting/cash-flow-statement`
|
||||
- :ref:`reporting/tax-report`
|
||||
|
||||
Reports can be **annotated, printed, and drilled down** to see details (payments, invoices,
|
||||
journal items, etc.) by clicking the **down** arrow. Reports can also be exported to **PDF** or
|
||||
**XLSX** format by clicking :guilabel:`PDF` or :guilabel:`XLSX` at the top of the page.
|
||||
To expand the lines of a report and view its details, click the :icon:`fa-caret-right`
|
||||
(:guilabel:`right arrow`) on the left. Then click the :icon:`fa-caret-down` (:guilabel:`down arrow`)
|
||||
to the right of the account, journal entry, payment, invoice, etc. to :guilabel:`Annotate` and view
|
||||
the details.
|
||||
|
||||
.. image:: reporting/reporting-annotate.png
|
||||
:alt: Annotate reports.
|
||||
|
||||
You can compare values across periods by using the :guilabel:`Comparison` menu and selecting the
|
||||
periods you want to compare.
|
||||
To export reports in PDF or XLSX format, click :guilabel:`PDF` or :guilabel:`XLSX` at the top of the
|
||||
page.
|
||||
|
||||
To compare values across periods, click the :guilabel:`Comparison` menu and select the periods you
|
||||
want to compare.
|
||||
|
||||
.. image:: reporting/reporting-comparison.png
|
||||
:alt: Comparison menu to compare time periods.
|
||||
@@ -35,119 +36,97 @@ periods you want to compare.
|
||||
.. _reporting/balance-sheet:
|
||||
|
||||
Balance Sheet
|
||||
-------------
|
||||
=============
|
||||
|
||||
The **Balance Sheet** shows a snapshot of your organization's assets, liabilities, and equity at a
|
||||
particular date.
|
||||
|
||||
.. image:: reporting/reporting-balance-sheet.png
|
||||
:alt: Balance sheet report of Odoo.
|
||||
The :guilabel:`Balance Sheet` shows a snapshot of your organization's assets, liabilities, and
|
||||
equity at a particular date.
|
||||
|
||||
.. _reporting/profit-and-loss:
|
||||
|
||||
Profit and Loss
|
||||
---------------
|
||||
===============
|
||||
|
||||
The **Profit and Loss** report (or **Income Statement**) shows your company's net income by
|
||||
The :guilabel:`Profit and Loss` report (or **Income Statement**) shows your company's net income by
|
||||
deducting expenses from revenue for the reporting period.
|
||||
|
||||
.. image:: reporting/reporting-profit-and-loss.png
|
||||
:alt: Profit and Loss report of Odoo
|
||||
|
||||
.. _reporting/executive-summary:
|
||||
|
||||
Executive Summary
|
||||
-----------------
|
||||
=================
|
||||
|
||||
The **Executive Summary** allows a quick look at all the important figures to run your company.
|
||||
The :guilabel:`Executive Summary` provides an overview of all the important figures for overseeing
|
||||
your company's performance.
|
||||
|
||||
In basic terms, this is what each item in the following section reports:
|
||||
It includes the following items:
|
||||
|
||||
- **Performance:**
|
||||
- **Gross profit margin:**
|
||||
The contribution of all sales made by your business **minus** any direct costs needed to
|
||||
- :guilabel:`Performance`:
|
||||
- :guilabel:`Gross profit margin`:
|
||||
The contribution of all sales your business makes **minus** any direct costs needed to
|
||||
make those sales (labor, materials, etc.).
|
||||
- **Net profit margin:**
|
||||
- :guilabel:`Net profit margin`:
|
||||
The contribution of all sales made by your business **minus** any direct costs needed to
|
||||
make those sales *and* fixed overheads your company has (electricity, rent, taxes
|
||||
to be paid as a result of those sales, etc.).
|
||||
- **Return on investment (per annum):**
|
||||
The ratio of net profit made to the amount of assets the company used to make those profits.
|
||||
- **Position:**
|
||||
- **Average debtors days:**
|
||||
- :guilabel:`Return on investment (per annum)`:
|
||||
The ratio of the net profit to the amount of assets the company used to make those profits.
|
||||
- :guilabel:`Position`:
|
||||
- :guilabel:`Average debtors days`:
|
||||
The average number of days it takes your customers to (fully) pay you across all your
|
||||
customer invoices.
|
||||
- **Average creditors days:**
|
||||
- :guilabel:`Average creditors days`:
|
||||
The average number of days it takes you to (fully) pay your suppliers across all your bills.
|
||||
- **Short-term cash forecast:**
|
||||
- :guilabel:`Short-term cash forecast`:
|
||||
How much cash is expected in or out of your business in the next month, i.e., the balance of
|
||||
your **Sales account** for the month **minus** the balance of your **Purchases account** for
|
||||
the month.
|
||||
- **Current assets to liabilities:**
|
||||
Also referred to as **current ratio**, this is the ratio of current assets (:dfn:`assets
|
||||
- :guilabel:`Current assets to liabilities`:
|
||||
Also referred to as the **current ratio**, this is the ratio of current assets (:dfn:`assets
|
||||
that could be turned into cash within a year`) to the current liabilities (:dfn:`liabilities
|
||||
that will be due in the next year`). It is typically used to measure a company's ability to
|
||||
service its debt.
|
||||
|
||||
.. image:: reporting/reporting-executive-summary.png
|
||||
:alt: Executive summary report in Odoo.
|
||||
|
||||
.. _reporting/general-ledger:
|
||||
|
||||
General Ledger
|
||||
--------------
|
||||
==============
|
||||
|
||||
The **General Ledger Report** shows all transactions from all accounts for a chosen date range. The
|
||||
initial summary report shows each account's totals; from here, you can view a detailed transaction
|
||||
report or any exceptions. This report helps check every transaction that occurred during a specific
|
||||
period.
|
||||
|
||||
.. image:: reporting/reporting-general-ledger.png
|
||||
:alt: General Ledger report in Odoo.
|
||||
|
||||
.. _reporting/aged-payable:
|
||||
|
||||
Aged Payable
|
||||
------------
|
||||
|
||||
Run the **Aged Payable Details** report to display information on individual bills, credit notes,
|
||||
and overpayments you owe and how long these have gone unpaid.
|
||||
|
||||
.. image:: reporting/reporting-aged-payable.png
|
||||
:alt: Aged Payable report in Odoo.
|
||||
The :guilabel:`General Ledger` report shows all transactions from all accounts for a selected date
|
||||
range. The initial summary report shows the totals for each account. To expand an account and view
|
||||
its details, click the :icon:`fa-caret-right` (:guilabel:`right arrow`) on the left.
|
||||
This report is useful for reviewing each transaction that occurred during a specific period.
|
||||
|
||||
.. _reporting/aged-receivable:
|
||||
|
||||
Aged Receivable
|
||||
---------------
|
||||
===============
|
||||
|
||||
The **Aged Receivables** report shows the sales invoices awaiting payment during a selected month
|
||||
and several months prior.
|
||||
The :guilabel:`Aged Receivable` report shows the sales invoices awaiting payment during a selected
|
||||
month and several months prior.
|
||||
|
||||
.. image:: reporting/reporting-aged-receivable.png
|
||||
:alt: Aged Receivable report in Odoo.
|
||||
.. _reporting/aged-payable:
|
||||
|
||||
Aged Payable
|
||||
============
|
||||
|
||||
The :guilabel:`Aged Payable` report displays information on individual bills, credit notes, and
|
||||
overpayments you owe and how long these have gone unpaid.
|
||||
|
||||
.. _reporting/cash-flow-statement:
|
||||
|
||||
Cash Flow Statement
|
||||
-------------------
|
||||
===================
|
||||
|
||||
The **Cash Flow Statement** shows how changes in balance sheet accounts and income affect cash and
|
||||
cash equivalents and breaks the analysis down to operating, investing, and financing activities.
|
||||
|
||||
.. image:: reporting/reporting-cash-flow-statement.png
|
||||
:alt: Cash Flow Statement report in Odoo.
|
||||
The :guilabel:`Cash Flow Statement` shows how changes in balance sheet accounts and income affect
|
||||
cash and cash equivalents and breaks the analysis down to operating, investing, and financing
|
||||
activities.
|
||||
|
||||
.. _reporting/tax-report:
|
||||
|
||||
Tax Report
|
||||
----------
|
||||
==========
|
||||
|
||||
This report allows you to see the **net** and **tax amounts** for all the taxes grouped by type
|
||||
(sale/purchase).
|
||||
|
||||
.. image:: reporting/reporting-tax-report.png
|
||||
:alt: Tax report in Odoo.
|
||||
The :guilabel:`Tax Report` shows the :guilabel:`NET` and :guilabel:`TAX` amounts for all the
|
||||
taxes grouped by type (:guilabel:`Sales`/:guilabel:`Purchases`).
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
================
|
||||
Financial budget
|
||||
Analytic budgets
|
||||
================
|
||||
|
||||
Managing budgets is an essential part of running a business. Budgets help people become more
|
||||
|
||||
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@@ -101,14 +101,13 @@ Tax Report
|
||||
----------
|
||||
|
||||
Once all the transactions involving taxes have been posted for the period you want to report, open
|
||||
your :guilabel:`Tax Report` by going to :menuselection:`Accounting --> Reporting -->
|
||||
Audit Reports: Tax Report`. Make sure to select the right period you want to declare by using the
|
||||
date filter, this way you can have an overview of your tax report. From this view, you can easily
|
||||
access different formats of your tax report, such as `PDF` and XLSX. These include all the values to
|
||||
report to the tax authorities, along with the amount you have to pay or be refunded.
|
||||
the :guilabel:`Tax Report` by going to :menuselection:`Accounting --> Reporting --> Tax Report`.
|
||||
Select the period you want to declare using the date filter to have an overview of the tax report.
|
||||
From the report, click :guilabel:`PDF` or :guilabel:`XLSX` to download the desired format of the tax
|
||||
report, or click :guilabel:`Save` to save the report to the Documents app. The report includes all
|
||||
the values to report to the tax authorities, along with the amount to be paid or refunded.
|
||||
|
||||
.. image:: tax_returns/tax_return_report.png
|
||||
:align: center
|
||||
:alt: download the PDF with your Tax Report in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -60,10 +60,10 @@ Then, to close the fiscal year:
|
||||
<reporting/aged-receivable>` and :ref:`aged payables <reporting/aged-payable>` reports.
|
||||
- Audit all accounts, being sure to fully understand all transactions and their nature, making
|
||||
sure to include loans and fixed assets.
|
||||
- Optionally, run :ref:`payments matching <payments/matching>` to validate any open vendor bills
|
||||
and customer invoices with their payments. While this step is optional, it could assist the
|
||||
year-end closing process if all outstanding payments and invoices are reconciled, potentially
|
||||
finding errors or mistakes in the system.
|
||||
- Optionally, run :ref:`payments matching <accounting/payments/matching>` to validate any open
|
||||
vendor bills and customer invoices with their payments. While this step is optional, it could
|
||||
assist the year-end closing process if all outstanding payments and invoices are reconciled,
|
||||
potentially finding errors or mistakes in the system.
|
||||
|
||||
Next, the accountant likely verifies balance sheet items and book entries for:
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ appropriately completed:
|
||||
- :guilabel:`Vendor`: Odoo automatically fills some information based on the vendor's registered
|
||||
information, previous purchase orders, or bills.
|
||||
- :guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do
|
||||
the :ref:`matching <payments/matching>` when you receive the products.
|
||||
the :ref:`matching <accounting/payments/matching>` when you receive the products.
|
||||
- :guilabel:`Auto-Complete`: select a past bill/purchase order to automatically complete the
|
||||
document. The :guilabel:`Vendor` field should be completed prior to completing this field.
|
||||
- :guilabel:`Bill Date`: is the issuance date of the document.
|
||||
@@ -50,7 +50,6 @@ appropriately completed:
|
||||
<get_started/multi_currency>`.
|
||||
|
||||
.. image:: vendor_bills/bill-completion.png
|
||||
:align: center
|
||||
:alt: filling the vendor bill
|
||||
|
||||
.. note::
|
||||
@@ -72,12 +71,25 @@ Click :guilabel:`Confirm` when the document is completed. The status of your doc
|
||||
Bill Payment
|
||||
============
|
||||
|
||||
Upon payment of the vendor bill, click on :guilabel:`Register Payment`. A new window pops up.
|
||||
Upon payment of the vendor bill, click on :guilabel:`Register Payment` to open a new payment window.
|
||||
|
||||
Select the :guilabel:`Journal`, the :guilabel:`Payment Method`, the :guilabel:`Amount` you wish to
|
||||
pay (full or partial payment), and the :guilabel:`Currency`. Odoo fills the :guilabel:`Memo` field
|
||||
automatically if the :guilabel:`Payment Reference` has been set correctly in the vendor bill. If
|
||||
the field is empty, we recommend you select the vendor invoice number as a reference.
|
||||
pay (full or partial payment), and the :guilabel:`Currency`. In the case of a partial payment (when
|
||||
the :guilabel:`Amount` paid is less than the total remaining amount on the vendor bill), the
|
||||
:guilabel:`Payment Difference` field displays the outstanding balance.
|
||||
You have two options:
|
||||
|
||||
- :guilabel:`Keep open`: to keep the bill open and mark it with a :guilabel:`Partial` banner;
|
||||
- :guilabel:`Mark as fully paid`: In this case, select an account in the
|
||||
:guilabel:`Post Difference In` field and change the :guilabel:`Label` if needed. A journal entry
|
||||
will be created to balance the account receivable with the selected account.
|
||||
|
||||
.. image:: vendor_bills/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
|
||||
The :guilabel:`Memo` field is filled automatically if the :guilabel:`Payment Reference` has been
|
||||
set correctly in the vendor bill. If the field is empty, select the vendor invoice number as a
|
||||
reference.
|
||||
|
||||
Once confirmed, an :guilabel:`In Payment` banner appears on the bill until it is :doc:`reconciled
|
||||
<bank/reconciliation>`.
|
||||
|
||||
@@ -11,8 +11,8 @@ created and populated based on the scanned invoices.
|
||||
|
||||
.. seealso::
|
||||
- `Test Odoo's invoice digitization <https://www.odoo.com/app/invoice-automation>`_
|
||||
- `Odoo Tutorials: Invoice Digitization with OCR
|
||||
<https://www.odoo.com/slides/slide/digitize-bills-with-ocr-1712>`_
|
||||
- `Odoo Tutorials: Vendor Bill Digitization
|
||||
<https://www.odoo.com/slides/slide/vendor-bill-digitization-7065>`_
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -91,9 +91,10 @@ To buy credits, go to :menuselection:`Accounting --> Configuration --> Settings
|
||||
and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo IAP` and click on
|
||||
:guilabel:`View My Services`.
|
||||
|
||||
.. important::
|
||||
If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits to
|
||||
test the feature.
|
||||
.. note::
|
||||
Enterprise Odoo users with a valid subscription get free credits to test IAP features before
|
||||
deciding to purchase more credits for the database. This includes demo/training databases,
|
||||
educational databases, and one-app-free databases.
|
||||
|
||||
.. seealso::
|
||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_
|
||||
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -615,9 +615,9 @@ document, an automatic validation can be set in :menuselection:`Accounting --> S
|
||||
Argentinean Localization --> Validate document in the AFIP`, considering the following levels:
|
||||
|
||||
- :guilabel:`Not available:` the verification is not done (this is the default value);
|
||||
- :guilabel:`Available:` the verification is done. In case the number is not valid it, only displays
|
||||
- :guilabel:`Available:` the verification is done. In case the number is not valid, it only displays
|
||||
a warning but still allows the vendor bill to be posted;
|
||||
- :guilabel:`Required:` the verification is done and it does not allow the user to post the vendor
|
||||
- :guilabel:`Required:` the verification is done, and it does not allow the user to post the vendor
|
||||
bill if the document number is not valid.
|
||||
|
||||
.. image:: argentina/verify-vendor-bills.png
|
||||
|
||||
@@ -333,8 +333,9 @@ This government-certified system entails the use of a :ref:`certified POS system
|
||||
Certified POS system
|
||||
--------------------
|
||||
|
||||
The Odoo POS system is certified for the major versions of databases hosted on **Odoo Online** and
|
||||
**Odoo.sh**. Please refer to the following table to ensure that your POS system is certified.
|
||||
The Odoo POS system is certified for the major versions of databases hosted on **Odoo Online**,
|
||||
**Odoo.sh**, and **On-Premise**. Please refer to the following table to ensure that your POS system
|
||||
is certified.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
@@ -344,22 +345,26 @@ The Odoo POS system is certified for the major versions of databases hosted on *
|
||||
- Odoo Online
|
||||
- Odoo.sh
|
||||
- On-Premise
|
||||
* - Odoo 18.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Certified
|
||||
* - Odoo 17.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Certified
|
||||
* - Odoo 16.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Not certified
|
||||
* - Odoo 15.2
|
||||
- Not certified
|
||||
- Not certified
|
||||
- Not certified
|
||||
- Certified
|
||||
* - Odoo 15.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Not certified
|
||||
- Certified
|
||||
* - Odoo 14.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Not certified
|
||||
- Certified
|
||||
|
||||
.. seealso::
|
||||
:doc:`/administration/supported_versions`
|
||||
|
||||
|
Before Width: | Height: | Size: 31 KiB |
@@ -205,11 +205,11 @@ An Odoo local server works as a bridge between your computer and your Odoo datab
|
||||
Download the Odoo Community installer from the page https://www.odoo.com/page/download and start the
|
||||
installation on your computer.
|
||||
|
||||
Select :guilabel:`Local Proxy Mode` as the type of install.
|
||||
Select :guilabel:`Odoo IoT` as the type of install.
|
||||
|
||||
.. image:: egypt/install-odoo-local-proxy.png
|
||||
:align: center
|
||||
:alt: Selection of "Local Proxy Mode" during the installation of Odoo Community.
|
||||
:alt: Selection of "Odoo IoT" during the installation of Odoo Community.
|
||||
|
||||
.. note::
|
||||
This installation of Odoo only works as a server and does not install any Odoo apps on your
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
@@ -170,9 +170,8 @@ triggered and is being processed. You have to click on *Refresh State* to check
|
||||
German Tax Accounting Standards: Odoo's guide to GoBD Compliance
|
||||
================================================================
|
||||
|
||||
**GoBD** stands for `Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
|
||||
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
|
||||
**GoBD** stands for *Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
|
||||
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff*.
|
||||
In short, it is a **guideline for the proper management and storage of books, records, and documents
|
||||
in electronic form, as well as for data access**, that is relevant for the German tax authority, tax
|
||||
declaration, and balance sheet.
|
||||
@@ -191,7 +190,7 @@ What do you need to know about GoBD when relying on accounting software?
|
||||
|
||||
.. note::
|
||||
If you can, the best way to understand GoBD is to Read the `Official GoBD text
|
||||
<https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.pdf>`_.
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
|
||||
It is a bit long but quite readable for non-experts. But in short, here is what to expect:
|
||||
|
||||
The **GoBD is binding for companies that have to present accounts, which includes SMEs, freelancers,
|
||||
@@ -312,7 +311,7 @@ offer our customer any legal certainty.
|
||||
|
||||
.. important::
|
||||
The BMF actually states the following in the `Official GoBD text
|
||||
<https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.pdf>`_:
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_:
|
||||
|
||||
- 180. Positive attestations on the correctness of the bookkeeping - and thus on the correctness
|
||||
of IT-based bookkeeping systems - are not issued either in the context of a tax field audit or
|
||||
|
||||
@@ -392,7 +392,7 @@ user is requested by the **State** to:
|
||||
|
||||
- Select a tax with the option :guilabel:`Has exoneration of tax (Italy)` ticked, and the
|
||||
:guilabel:`Exoneration` set to `N3.3`;
|
||||
- Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Codice Destinatario` `2R4GT08`.
|
||||
- Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Codice Destinatario` `2R4GTO8`.
|
||||
The invoice is then routed by a dedicated office in San Marino to the correct business.
|
||||
|
||||
Bills
|
||||
@@ -457,3 +457,60 @@ recipient office.
|
||||
government `website <http://www.fatturapa.gov.it/>`_.
|
||||
- The :abbr:`CUU (Codice Univoco Ufficio)` must be included in the electronic invoice
|
||||
corresponding to the element **1.1.4** (:guilabel:`CodiceDestinario`).
|
||||
|
||||
Ri.Ba. (Ricevuta Bancaria)
|
||||
==========================
|
||||
|
||||
:abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request
|
||||
payments through their bank, which forwards the request to the customer's own bank and takes
|
||||
responsibility for the collection. This enables payment automation and reduces risks for the vendor.
|
||||
|
||||
The vendor generally uploads a fixed-format text file with the list of payments to the bank's web
|
||||
portal.
|
||||
|
||||
.. note::
|
||||
- Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international
|
||||
payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. Check that the `l10n_it_riba` module is :ref:`installed <general/install>`.
|
||||
#. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that
|
||||
will use Ri.Ba.
|
||||
#. Fill out the required :guilabel:`SIA Code`.
|
||||
|
||||
.. image:: italy/sia-code.png
|
||||
:alt: The company's SIA code
|
||||
|
||||
.. note::
|
||||
The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used
|
||||
to receive money through specific payment methods. It consists of one letter and four digits
|
||||
(e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank.
|
||||
|
||||
#. Ensure the Company's bank account has an Italian IBAN.
|
||||
|
||||
.. seealso::
|
||||
How to configure :doc:`Bank Accounts <../accounting/bank>`
|
||||
|
||||
Accept Ri.Ba. for your invoices
|
||||
-------------------------------
|
||||
|
||||
Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices`
|
||||
(:menuselection:`Accounting --> Customers --> Invoices`).
|
||||
|
||||
.. important::
|
||||
Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN.
|
||||
|
||||
Then, all Payments must be grouped in a **Batch Payment**.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Batch Payments <../accounting/payments>`
|
||||
- :doc:`Create a Batch Payment <../accounting/payments/batch>`
|
||||
|
||||
Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta
|
||||
Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it
|
||||
through your bank's web portal.
|
||||
|
||||
.. image:: italy/riba-attachment.png
|
||||
:alt: The Ri.Ba. file attached
|
||||
|
||||
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -370,18 +370,18 @@ Payment complements
|
||||
Payment policy
|
||||
**************
|
||||
|
||||
One addition of the Mexican localization is the :guilabel:`Payment Policy` field. According to
|
||||
One addition of the Mexican localization is the :guilabel:`Payment Policy` field. According to
|
||||
the SAT documentation, there are two types of payments:
|
||||
|
||||
- `PUE` (Pago en una Sola Exhibición/Payment in a Single Exhibition)
|
||||
- `PPD` (Pago en Parcialidades o Diferido/Payment in Installements or Deferred)
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs`
|
||||
:doc:`../../inventory_and_mrp/inventory/product_management/inventory_valuation/integrating_landed_costs`
|
||||
|
||||
The difference lies in the *Due Date* or *Payment Terms* of the invoice.
|
||||
|
||||
To configure |PUE| invoices, navigatge to :menuselection:`Accounting --> Customers --> Invoices`,
|
||||
To configure |PUE| invoices, navigate to :menuselection:`Accounting --> Customers --> Invoices`,
|
||||
and either select an invoice :guilabel:`Due Date` within the same month, or choose a payment term
|
||||
that does not imply changing the due month (immediate payment, 15 days, 21 days, all falling within
|
||||
the current month).
|
||||
@@ -908,7 +908,7 @@ Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs
|
||||
<../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs>`.
|
||||
<../../inventory_and_mrp/inventory/product_management/inventory_valuation/integrating_landed_costs>`.
|
||||
Go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation`. Make sure that
|
||||
:guilabel:`Landed Costs` is activated.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 73 KiB |
@@ -179,8 +179,8 @@ Bank payments
|
||||
|
||||
.. _payment_providers/add_new:
|
||||
|
||||
Enable a payment provider
|
||||
=========================
|
||||
Enabling a payment provider
|
||||
===========================
|
||||
|
||||
To add a new payment provider and make its related payment methods available to your customers,
|
||||
proceed as follows:
|
||||
@@ -244,10 +244,19 @@ In this case, a **payment token** is created in Odoo to be used as a payment met
|
||||
payments without the customer having to enter their payment method details again. This is
|
||||
particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments.
|
||||
|
||||
.. note::
|
||||
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
|
||||
details directly. Instead, it creates a payment token that only references the card details
|
||||
stored on the payment provider's server.
|
||||
.. tip::
|
||||
To add or delete their saved payment method details, customers can click :guilabel:`Manage
|
||||
payment methods` in the :ref:`customer portal <users-portal-payment-methods>`.
|
||||
|
||||
.. admonition:: PCI DSS and Attestation of Compliance
|
||||
|
||||
Odoo is not `PCI <https://www.pcisecuritystandards.org>`_ DSS-certified because it does not
|
||||
store cardholder data or process payments. Instead, it outsources tokenization and payment to
|
||||
:ref:`external payment providers <payment_providers/online_providers>`, which means that as an
|
||||
Odoo customer, you only need to complete the minimal Self-Assessment Questionnaire (SAQ) with
|
||||
the provider to obtain the Attestation of Compliance (AoC) and achieve PCI compliance. Odoo
|
||||
should not be mentioned as a payment processor or a third-party service provider in the
|
||||
:abbr:`SAQ (Self-Assessment Questionnaire)`.
|
||||
|
||||
.. _payment_providers/manual_capture:
|
||||
|
||||
|
||||
@@ -74,16 +74,14 @@ When ready, change the provider's :guilabel:`State` to :guilabel:`Enabled` for a
|
||||
Import an Authorize.Net statement
|
||||
=================================
|
||||
|
||||
.. _authorize-import-template:
|
||||
|
||||
Export from Authorize.Net
|
||||
-------------------------
|
||||
|
||||
.. _authorize-import-template:
|
||||
|
||||
.. admonition:: Template
|
||||
|
||||
`Download the Excel import template <https://docs.google.com/spreadsheets/d/1CMVtBWLLVIrUpYA92paw-cL7-WdKLbaa/edit?usp=share_link&ouid=105295722917050444558&rtpof=true&sd=true>`_
|
||||
|
||||
To export a statement:
|
||||
:download:`Download the Excel import template. <authorize/authorize-net-magic-sheet.xlsx>`
|
||||
|
||||
- Log in to Authorize.Net.
|
||||
- Go to :menuselection:`Account --> Statements --> eCheck.Net Settlement Statement`.
|
||||
|
||||
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
@@ -18,7 +18,6 @@ page. Next, navigate to the :guilabel:`Senders & Domains` section and click on :
|
||||
SEND API Settings`.
|
||||
|
||||
.. image:: mailjet_api/api-settings.png
|
||||
:align: center
|
||||
:alt: SMTP and Send API Settings link in the Senders & Domains section of Mailjet.
|
||||
|
||||
Then, copy the :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings onto a notepad.
|
||||
@@ -37,7 +36,6 @@ port number. The settings are needed to configure Mailjet in Odoo, which is cove
|
||||
<email_servers/restriction>`.
|
||||
|
||||
.. image:: mailjet_api/smtp-config.png
|
||||
:align: center
|
||||
:alt: SMTP configuration from Mailjet.
|
||||
|
||||
Next, click on the button labeled :guilabel:`Retrieve your API credentials` to retrieve the Mailjet
|
||||
@@ -125,7 +123,6 @@ Copy the TXT record information to a notepad and then navigate to the domain's :
|
||||
Name System)` provider to complete validation.
|
||||
|
||||
.. image:: mailjet_api/host-value-dns.png
|
||||
:align: center
|
||||
:alt: The TXT record information to input on the domain's DNS.
|
||||
|
||||
Setup in the domain's DNS
|
||||
@@ -163,7 +160,6 @@ Identified Mail) records to input into the :abbr:`DNS (Domain Name System)` prov
|
||||
360042412734-Authenticating-Domains-with-SPF-DKIM>`_
|
||||
|
||||
.. image:: mailjet_api/authenticate.png
|
||||
:align: center
|
||||
:alt: Authenticate the domain with SPF/DKIM records in Mailjet.
|
||||
|
||||
.. _maintain/mailjet-api/odoo-setup:
|
||||
@@ -191,27 +187,4 @@ than that of any transactional email server(s). Finally, save the settings and :
|
||||
Connection`.
|
||||
|
||||
.. image:: mailjet_api/server-settings.png
|
||||
:align: center
|
||||
:alt: Odoo outgoing email server settings.
|
||||
|
||||
.. important::
|
||||
In order for the notifications feature to work using Mailjet, there are three settings that need
|
||||
to be set in Odoo.
|
||||
|
||||
#. The :guilabel:`From Filter` needs to be set on the server configuration. It is recommended
|
||||
to set it as a domain and not a full email address. It should match the domain in the two
|
||||
proceeding steps. More information can be referenced :ref:`here
|
||||
<email_communication/from_filter>`.
|
||||
#. The :guilabel:`mail.default.from` system parameter must have the value
|
||||
`notifications\@yourdomain.com`.
|
||||
#. The :guilabel:`mail.default.from_filter` system parameter must have the value
|
||||
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
|
||||
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
|
||||
|
||||
For more information see :ref:`Using a default email address <email_communication/default>`.
|
||||
|
||||
The :guilabel:`System Parameters` can be accessed by activating the :ref:`developer mode
|
||||
<developer-mode>`.
|
||||
|
||||
Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass
|
||||
mailing or transactional emails!
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
@@ -156,6 +156,8 @@ on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentic
|
||||
|
||||
Finally, click :guilabel:`Enable two-factor authentication` to complete the setup.
|
||||
|
||||
.. _users-portal-payment-methods:
|
||||
|
||||
Change payment info
|
||||
-------------------
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
@@ -9,3 +9,4 @@ Product management
|
||||
|
||||
product_management/configure
|
||||
product_management/product_tracking
|
||||
product_management/inventory_valuation
|
||||
|
||||
@@ -1,9 +1,166 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
|
||||
.. |UoM| replace:: :abbr:`UoM (Unit of Measure)`
|
||||
.. |UoMs| replace:: :abbr:`UoMs (Units of Measure)`
|
||||
|
||||
|
||||
=================
|
||||
Configure product
|
||||
=================
|
||||
|
||||
A group of products in Odoo can be further defined using:
|
||||
|
||||
- :doc:`Units of measure (UoM) <configure/uom>`: a standard quantity for specifying product amounts
|
||||
(e.g., meters, yards, kilograms). Enables automatic conversion between measurement systems in
|
||||
Odoo, such as centimeters to feet.
|
||||
|
||||
- *Ex: Purchasing fabric measured in meters but receiving it in yards from a vendor.*
|
||||
|
||||
- :doc:`configure/package`: A physical container used to group products together, regardless of
|
||||
whether they are the same or different.
|
||||
|
||||
- *Ex: A box containing assorted items for delivery, or a storage box of two hundred buttons on a
|
||||
shelf.*
|
||||
|
||||
- :doc:`configure/packaging`: groups the *same* products together to receive or sell them in
|
||||
specified quantities.
|
||||
|
||||
- *Ex: Cans of soda sold in packs of six, twelve, or twenty-four.*
|
||||
|
||||
Comparison
|
||||
==========
|
||||
|
||||
This table provides a detailed comparison of units of measure, packages, and packaging to help
|
||||
businesses evaluate which best suits their requirements.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Feature
|
||||
- Unit of measure
|
||||
- Packages
|
||||
- Packaging
|
||||
* - Purpose
|
||||
- Standardized measurement for product units (e.g., cm, lb, L)
|
||||
- Tracks the specific physical container and its contents
|
||||
- Groups a fixed number of items together for easier management (e.g., packs of 6, 12 or 24)
|
||||
* - Product uniformity
|
||||
- Defined per product; saved as one |UoM| in the database
|
||||
- Allows mixed products
|
||||
- Same products only
|
||||
* - Flexible
|
||||
- Converts between vendor/customer |UoMs| and database |UoM|
|
||||
- Items can be added or removed from the container
|
||||
- Quantities are fixed (e.g., always packs of 6, 12 or 24)
|
||||
* - Complexity
|
||||
- Simplest for unit conversions
|
||||
- More complex due to container-level inventory tracking
|
||||
- Simpler; suitable for uniform product groupings
|
||||
* - Inventory tracking
|
||||
- Tracks product quantities within the warehouse in the specific |UoM| defined in the product
|
||||
form
|
||||
- Tracks package location and contents within the warehouse
|
||||
- Tracks grouped quantities but not individual items' locations
|
||||
* - Smooth barcode operations
|
||||
- Not available
|
||||
- Requires scanning both the package and individual items for reception. (even if there are 30
|
||||
items in a package). Can enable the :ref:`Move Entire Packages
|
||||
<inventory/product_management/move-entire-pack>` feature to update the package's contained
|
||||
items' locations, when moving the package
|
||||
- Scanning a packaging barcode automatically records all included units. (e.g. 1 pack = 12
|
||||
units)
|
||||
* - Product lookup
|
||||
- Not available
|
||||
- Scanning a product's barcode identifies its typical storage location in the Odoo database
|
||||
- Barcode identifies grouped quantity, not storage location
|
||||
* - Unique barcodes
|
||||
- Not available
|
||||
- Unique barcodes for individual packages (e.g. Pallet #12)
|
||||
- Barcodes set at the packaging type level (e.g. for a pack of 6)
|
||||
* - Reusability
|
||||
- Not applicable
|
||||
- Can be disposable or reusable, configured via the :ref:`Package Use
|
||||
<inventory/warehouses_storage/cluster-pack>` field
|
||||
- Disposable only
|
||||
* - Container weight
|
||||
- Not applicable
|
||||
- Weight of the container itself is included in the *Shipping Weight* field of a package
|
||||
(:menuselection:`Inventory app --> Products --> Packages`)
|
||||
- Weight of the container is defined in the *Package Type* settings
|
||||
* - Lot/serial number tracking
|
||||
- Requires manual adjustments to track |UoMs| via lots (See :ref:`use case
|
||||
<inventory/product_management/lots-uom>` for details)
|
||||
- Applies only to contained products
|
||||
- Applies to both contained products and the container
|
||||
* - Custom routes
|
||||
- Cannot be set
|
||||
- Cannot be set
|
||||
- Routes can define specific warehouse paths for a particular packaging type
|
||||
|
||||
Use cases
|
||||
=========
|
||||
|
||||
After comparing the various features, consider how these businesses, with various inventory
|
||||
management and logistics workflows, came to their decision.
|
||||
|
||||
Pallets of items using packaging
|
||||
--------------------------------
|
||||
|
||||
A warehouse receives shipments of soap organized on physical pallets, each containing 96 bars. These
|
||||
pallets are used for internal transfers and are also sold as standalone units. For logistical
|
||||
purposes, the pallet's weight must be included in the total shipping weight for certain deliveries.
|
||||
Additionally, the pallet requires a barcode to facilitate tracking, and the number of individual
|
||||
bars of soap must be included in the stock count when the pallet is received.
|
||||
|
||||
After evaluating various options, *product packaging* was the most suitable solution. Packaging
|
||||
enables assigning a barcode to a pallet, identifying it as a "pallet type" containing 96 soap bars.
|
||||
This barcode streamlines operations by automatically registering the grouped quantity. Key
|
||||
distinctions include:
|
||||
|
||||
- **Warehouse tracking limitations**: Odoo tracks only the total quantity, not the number of
|
||||
packagings. For instance, if a pallet with 12 and 24 quantities is received, Odoo records 36
|
||||
quantities, not the pallet details.
|
||||
- **Packaging barcodes are type-specific, not unique**: Barcodes represent packaging types (e.g.,
|
||||
"pallet of 96 soap bars") but do not uniquely identify individual pallets, such as Pallet #1 or
|
||||
Pallet #2.
|
||||
|
||||
Capture product information using barcode
|
||||
-----------------------------------------
|
||||
|
||||
An Odoo user expects the **Barcode** app to display the typical storage location of a product by
|
||||
scanning a barcode for a container.
|
||||
|
||||
*Packages* was the most suitable. When the :ref:`appropriate setting is enabled
|
||||
<inventory/warehouses_storage/enable-package>`, scanning a package barcode displays its contents in
|
||||
the **Barcode** app.
|
||||
|
||||
Packages represent physical containers, enabling detailed tracking of the items they hold.
|
||||
Scanning a package provides visibility into its contents and facilitates operations, like inventory
|
||||
moves.
|
||||
|
||||
.. _inventory/product_management/lots-uom:
|
||||
|
||||
Track different units of measure in storage
|
||||
-------------------------------------------
|
||||
|
||||
A fruit juice distributor tracks multiple |UoMs| for their operations:
|
||||
|
||||
- Fruits are purchased in tons.
|
||||
- Juice is produced and stored in kilograms.
|
||||
- Small samples are stored in grams for recipe testing.
|
||||
|
||||
*Unit of Measure* was most suitable. Odoo automatically converts tons to kilograms during
|
||||
receipts. However, since Odoo tracks only one |UoM| per product in the database, the company uses
|
||||
lot numbers to differentiate |UoMs|:
|
||||
|
||||
- LOT1: Grams (g)
|
||||
- LOT2: Kilograms (kg)
|
||||
|
||||
Manual inventory adjustments are required to convert between lots, such as subtracting 1 kg from
|
||||
LOT2 to add 1,000 g to LOT1. While functional, this workaround can be time-consuming and prone to
|
||||
errors.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
|
||||
@@ -45,6 +45,17 @@ the :guilabel:`Operations` heading, activate the :guilabel:`Packages` feature. T
|
||||
:align: center
|
||||
:alt: Activate the *Packages* setting in Inventory > Configuration > Settings.
|
||||
|
||||
.. _inventory/product_management/move-entire-pack:
|
||||
|
||||
When moving packages internally, the *Move Entire Packages* feature can be enabled on an operation
|
||||
type to update a package's contained item's location upon updating the package's location.
|
||||
|
||||
To do that, go to :menuselection:`Inventory app --> Configuration --> Operations Types` and select
|
||||
the desired operation this feature will apply to (may have to set it for multiple).
|
||||
|
||||
On the operation type page, in the :guilabel:`Packages` section, tick the :guilabel:`Move Entire
|
||||
Packages` checkbox.
|
||||
|
||||
.. _inventory/warehouses_storage/pack:
|
||||
|
||||
Pack items
|
||||
@@ -87,7 +98,7 @@ the above steps to place the :guilabel:`Product` in different packages. Once fin
|
||||
|
||||
.. seealso::
|
||||
:doc:`Ship one order in multiple packages
|
||||
<../../shipping_receiving/advanced_operations_shipping/multipack>`
|
||||
<../../shipping_receiving/setup_configuration/multipack>`
|
||||
|
||||
.. _inventory/warehouses_storage/put-in-pack:
|
||||
|
||||
@@ -185,5 +196,4 @@ following fields:
|
||||
:alt: Display package form to create a cluster pack.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Using cluster packages
|
||||
<../../shipping_receiving/picking_methods/cluster>`
|
||||
:doc:`Using cluster packages <../../shipping_receiving/picking_methods/cluster>`
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 15 KiB |