Compare commits
162 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| beec44dc9c | |||
| 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 | |||
| 79828e3ea5 | |||
| c353ef2640 | |||
| 0fa009769f | |||
| b4e29f35d6 | |||
| b2c205e67c | |||
| 947f4ff52a | |||
| c96a65f04a | |||
| 3249b5af36 | |||
| a8884982ba | |||
| 0665e787a9 | |||
| 28c7ce5e80 | |||
| 310d58657b | |||
| f14a2ac9e0 | |||
| 2119d866d9 | |||
| 3fead9fe4d | |||
| e0cffd20ac | |||
| fb5088a451 | |||
| 4cec4fe764 | |||
| ab2fe5c506 | |||
| 8b7c9867f9 | |||
| 4a2c54ffda | |||
| b2054e39d7 | |||
| ae0e20208a | |||
| 534b25b9b4 | |||
| 9b829ce685 | |||
| debe0e65bc | |||
| c912d56027 | |||
| c05ccb8d2a | |||
| 944ca268bc | |||
| 015ce987e2 | |||
| da4bccca8d | |||
| a12154e0ed | |||
| 01191af74e | |||
| 4920915760 | |||
| a00aef06c3 | |||
| b41308d60f | |||
| 70c736d57a | |||
| c70a77153e | |||
| 120fa7e2b6 | |||
| 44c2b65fa0 | |||
| 2fd4af7619 | |||
| df145bf622 | |||
| 0451d1f2a8 | |||
| bea85886d4 |
@@ -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
|
||||
=================
|
||||
|
||||
@@ -36,6 +36,8 @@ follow the instructions.
|
||||
.. seealso::
|
||||
:doc:`bank/bank_synchronization`
|
||||
|
||||
.. _bank_accounts/create:
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
|
||||
@@ -191,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 |
@@ -4,8 +4,8 @@
|
||||
Get started
|
||||
===========
|
||||
|
||||
When you first open your Odoo Accounting app, the *Accounting Overview* page welcomes you with a
|
||||
step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
||||
When you first open your Odoo Accounting app, the :guilabel:`Accounting Dashboard` welcomes you with
|
||||
a step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
||||
displayed until you choose to close it.
|
||||
|
||||
The settings visible in the onboarding banner can still be modified later by going to
|
||||
@@ -22,69 +22,22 @@ Accounting onboarding banner
|
||||
|
||||
The step-by-step Accounting onboarding banner is composed of four steps:
|
||||
|
||||
.. image:: get_started/setup_accounting_onboarding.png
|
||||
.. image:: get_started/setup-accounting-onboarding.png
|
||||
:alt: Step-by-step onboarding banner in Odoo Accounting
|
||||
|
||||
#. :ref:`accounting-setup-company`
|
||||
#. :ref:`accounting-setup-bank`
|
||||
#. :ref:`accounting-setup-periods`
|
||||
#. :ref:`accounting-setup-bank`
|
||||
#. :ref:`accounting-setup-taxes`
|
||||
#. :ref:`accounting-setup-chart`
|
||||
|
||||
.. _accounting-setup-company:
|
||||
|
||||
Company Data
|
||||
------------
|
||||
|
||||
This menu allows you to add your company’s details such as the name, address, logo, website, phone
|
||||
number, email address, and Tax ID, or VAT number. These details are then displayed on your documents,
|
||||
such as on invoices.
|
||||
|
||||
.. image:: get_started/setup_company.png
|
||||
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
|
||||
|
||||
.. note::
|
||||
You can also change these settings by going to :menuselection:`Settings --> General Settings -->
|
||||
Settings --> Companies` and clicking on **Update Info**.
|
||||
|
||||
.. _accounting-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Connect your bank account to your database and have your bank statements synced automatically. To do
|
||||
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
||||
|
||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||
your database, you may also configure your bank account manually by clicking on *Create it*, and
|
||||
filling out the form.
|
||||
|
||||
- **Name**: the bank account's name, as displayed on Odoo.
|
||||
- **Account Number**: your bank account number (IBAN in Europe).
|
||||
- **Bank**: click on *Create and Edit* to configure the bank's details. Add the bank institution's
|
||||
name and its Identifier Code (BIC or SWIFT).
|
||||
- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates
|
||||
a new Journal with this Short Code.
|
||||
- **Journal**: This field is displayed if you have an existing Bank Journal that is not linked yet
|
||||
to a bank account. If so, then select the *Journal* you want to use to record the financial
|
||||
transactions linked to this bank account or create a new one by clicking on *Create and Edit*.
|
||||
|
||||
.. note::
|
||||
- You can add as many bank accounts as needed with this tool by going to :menuselection:`Accounting
|
||||
--> Configuration`, and clicking on *Add a Bank Account*.
|
||||
- :doc:`Click here <bank>` for more information about Bank
|
||||
Accounts.
|
||||
|
||||
.. _accounting-setup-periods:
|
||||
|
||||
Accounting Periods
|
||||
------------------
|
||||
|
||||
Define here your **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
||||
automatically, and your **Tax Return Periodicity**, along with a reminder to never miss a tax return
|
||||
deadline.
|
||||
Define the **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
||||
automatically, and set your **Tax Return Periodicity**, along with a reminder to never miss a tax
|
||||
return deadline.
|
||||
|
||||
By default, the opening date is set on the 1st of January and the closing date on the 31st of
|
||||
December, as this is the most common use.
|
||||
@@ -93,6 +46,49 @@ December, as this is the most common use.
|
||||
You can also change these settings by going to :menuselection:`Accounting --> Configuration -->
|
||||
Settings --> Fiscal Periods` and updating the values.
|
||||
|
||||
.. _accounting-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Connect your bank account to your database and have your bank statements synced automatically. To do
|
||||
so, find your bank in the list, click :guilabel:`Connect`, and follow the instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
||||
|
||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||
your database, you can also configure your bank account manually by typing its name, clicking
|
||||
:guilabel:`Create your Bank Account`, and filling out the form.
|
||||
|
||||
- :guilabel:`Name`: the bank account's name, as displayed in Odoo.
|
||||
- :guilabel:`Account Number`: your bank account number (IBAN in Europe).
|
||||
- :guilabel:`Bank`: click :guilabel:`Create and edit` to configure the bank's details. Add the
|
||||
bank institution's :guilabel:`Name` and its :guilabel:`Identifier Code` (BIC or SWIFT).
|
||||
- :guilabel:`Code`: this code is your Journal's :guilabel:`Short Code`, as displayed in Odoo.
|
||||
By default, Odoo creates a new Journal with this short code.
|
||||
- :guilabel:`Journal`: This field is displayed if you have an existing bank journal that is not
|
||||
linked yet to a bank account. If so, then select the :guilabel:`Journal` you want to use to record
|
||||
the financial transactions linked to this bank account or create a new one by clicking
|
||||
:guilabel:`Create and Edit`.
|
||||
|
||||
.. note::
|
||||
- You can add as many bank accounts as needed with this tool by going to
|
||||
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
||||
- :doc:`Click here <bank>` for more information about Bank Accounts.
|
||||
|
||||
.. _accounting-setup-taxes:
|
||||
|
||||
Taxes
|
||||
-----
|
||||
|
||||
This menu allows you to create new taxes, (de)activate, or modify existing taxes. Depending on the
|
||||
:doc:`localization package <../fiscal_localizations>` installed on your database, taxes required for
|
||||
your country are already configured.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <taxes>` for more information about taxes.
|
||||
|
||||
.. _accounting-setup-chart:
|
||||
|
||||
Chart of Accounts
|
||||
@@ -102,20 +98,20 @@ With this menu, you can add accounts to your **Chart of Accounts** and indicate
|
||||
opening balances.
|
||||
|
||||
Basic settings are displayed on this page to help you review your Chart of Accounts. To access all
|
||||
the settings of an account, click on the *double arrow button* at the end of the line.
|
||||
the settings of an account, click on the :guilabel:`Setup` button at the end of the line.
|
||||
|
||||
.. image:: get_started/setup_chart_of_accounts.png
|
||||
:alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your Chart of
|
||||
Accounts.
|
||||
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your
|
||||
Chart of Accounts.
|
||||
|
||||
Invoicing onboarding banner
|
||||
===========================
|
||||
|
||||
There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing
|
||||
and Accounting apps. The *Invoicing onboarding banner* is the one that welcomes you if you use the
|
||||
and Accounting apps. The Invoicing onboarding banner is the one that welcomes you if you use the
|
||||
Invoicing app rather than the Accounting app.
|
||||
|
||||
If you have Odoo Accounting installed on your database, you can reach it by going to
|
||||
@@ -123,65 +119,67 @@ If you have Odoo Accounting installed on your database, you can reach it by goin
|
||||
|
||||
The Invoicing onboarding banner is composed of four main steps:
|
||||
|
||||
.. image:: get_started/setup_invoicing_onboarding.png
|
||||
.. image:: get_started/setup-invoicing-onboarding.png
|
||||
:alt: Step-by-step onboarding banner in Odoo Invoicing
|
||||
|
||||
#. :ref:`invoicing-setup-company`
|
||||
#. :ref:`invoicing-setup-bank`
|
||||
#. :ref:`invoicing-setup-layout`
|
||||
#. :ref:`invoicing-setup-payment`
|
||||
#. :ref:`invoicing-setup-sample`
|
||||
#. :ref:`invoicing-setup-invoice`
|
||||
|
||||
.. _invoicing-setup-company:
|
||||
|
||||
Company Data
|
||||
------------
|
||||
|
||||
This form is the same as :ref:`the one presented in the Accounting onboarding banner
|
||||
<accounting-setup-company>`.
|
||||
This form allows you to add your company’s details, such as the name, address, logo, website, phone
|
||||
number, email address, and Tax ID or VAT number. These details are then displayed on your
|
||||
documents, such as invoices.
|
||||
|
||||
.. image:: get_started/setup_company.png
|
||||
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
|
||||
|
||||
.. note::
|
||||
You can also change the company's details by going to :menuselection:`Settings --> General
|
||||
Settings`, scrolling down to the :guilabel:`Companies` section, and :guilabel:`Update Info`.
|
||||
|
||||
.. _invoicing-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Use this button to create and link a bank account in Odoo. To add additional bank accounts, go to
|
||||
:guilabel:`Invoicing --> Configuration --> Add a Bank Account` and :ref:`configure the fields
|
||||
<bank_accounts/create>`.
|
||||
|
||||
.. tip::
|
||||
:doc:`Synchronize <bank/bank_synchronization>` your bank account(s) with your Odoo database to
|
||||
automatically update your bank transactions.
|
||||
|
||||
.. _invoicing-setup-layout:
|
||||
|
||||
Invoice Layout
|
||||
--------------
|
||||
|
||||
With this tool, you can design the appearance of your documents by selecting which layout template,
|
||||
paper format, colors, font, and logo you want to use.
|
||||
Use this button to customize the :ref:`default invoice layout <studio/pdf-reports/default-layout>`.
|
||||
|
||||
You can also add your *Company Tagline* and the content of the documents’ *footer*. Note that Odoo
|
||||
automatically adds the company's phone number, email, website URL, and Tax ID (or VAT number) to the
|
||||
footer, according to the values you previously configured in the :ref:`Company Data
|
||||
<accounting-setup-company>`.
|
||||
.. note::
|
||||
You can also change the invoice layout by going to :menuselection:`Settings --> General
|
||||
Settings`, scrolling down to the :guilabel:`Companies` section, and clicking :guilabel:`Configure
|
||||
Document Layout`.
|
||||
|
||||
.. image:: get_started/setup_document_layout.png
|
||||
:alt: Document layout configuration in Odoo Invoicing
|
||||
.. _invoicing-setup-invoice:
|
||||
|
||||
Invoice Creation
|
||||
----------------
|
||||
|
||||
This button takes you to the invoice creation view, where you can create your first invoice.
|
||||
|
||||
.. tip::
|
||||
Add your **bank account number** and a link to your **General Terms & Condition** in the footer.
|
||||
This way, your contacts can find the full content of your GT&C online without having to print
|
||||
them on the invoices you issue.
|
||||
|
||||
.. note::
|
||||
These settings can also be modified by going to :menuselection:`Settings --> General Settings`,
|
||||
under the *Business Documents* section.
|
||||
|
||||
.. _invoicing-setup-payment:
|
||||
|
||||
Payment Method
|
||||
--------------
|
||||
|
||||
This menu helps you configure the payment methods with which your customers can pay you.
|
||||
|
||||
.. important::
|
||||
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
|
||||
option automatically. With this, users can directly pay online, from their Customer Portal.
|
||||
|
||||
.. _invoicing-setup-sample:
|
||||
|
||||
Sample Invoice
|
||||
--------------
|
||||
|
||||
Send yourself a sample invoice by email to make sure everything is correctly configured.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank`
|
||||
* :doc:`get_started/chart_of_accounts`
|
||||
|
||||
@@ -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 |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 71 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 |
@@ -30,8 +30,9 @@ Non-EEA territories:
|
||||
- Jersey;
|
||||
- Isle of Man.
|
||||
|
||||
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the day's end,
|
||||
you can generate the SEPA file containing all bank wire transfers and send it to the bank.
|
||||
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the end of the day,
|
||||
you can generate the SEPA file containing all bank wire transfers and upload it to your online
|
||||
banking interface to process the payments.
|
||||
|
||||
By default, the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is
|
||||
a well-defined standard among banks. However, for Swiss and German companies, other formats are used
|
||||
@@ -69,7 +70,7 @@ the BIC (bank identifier code) in the :guilabel:`Journal Entries` tab.
|
||||
Registering payments
|
||||
--------------------
|
||||
|
||||
You can register and vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
||||
You can register any vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
||||
Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the
|
||||
:guilabel:`Payment Method`.
|
||||
|
||||
|
||||
|
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
|
||||
|
||||
@@ -7,7 +7,7 @@ inalterable**, meaning that once an entry has been posted, it can no longer be c
|
||||
|
||||
To do so, Odoo can use the **SHA-256 algorithm** to create a unique fingerprint for each posted
|
||||
entry. This fingerprint is called a hash. The hash is generated by taking an entry's essential data
|
||||
(the values of the `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
|
||||
(the values of the `name`, `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
|
||||
`partner_id` fields), concatenating it, and inputting it to the SHA-256 hash function, which then
|
||||
outputs a fixed size (256-bit) string of characters. The hash function is deterministic (:dfn:`the
|
||||
same input always creates the same output`): any minor modification to the original data would
|
||||
|
||||
|
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 |
@@ -41,7 +41,7 @@ drop-down menu (most products will be set to :guilabel:`Units`).
|
||||
units, miles, nights, etc.). Go to :menuselection:`Sales app --> Configuration --> Settings` and
|
||||
ensure `Units of Measure` is enabled in the `Product Catalog` section. Click on the
|
||||
:guilabel:`Units of Measure` internal link to :doc:`view, create, and edit the units of measure
|
||||
<../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
|
||||
<../inventory_and_mrp/inventory/product_management/configure/uom>`.
|
||||
|
||||
.. image:: expenses/new-expense-product.png
|
||||
:align: center
|
||||
|
||||
@@ -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 |
@@ -509,9 +509,8 @@ Once the invoice is accepted and validated by the :abbr:`SII (Servicio de Impues
|
||||
the PDF is printed, it includes the fiscal elements that indicate that the document is fiscally
|
||||
valid.
|
||||
|
||||
.. image:: chile/sii-validation-elements.png
|
||||
:alt: SII Validation fiscal elements.
|
||||
:align: center
|
||||
.. image:: chile/accepted-invoice-fiscal-information.png
|
||||
:alt: Fiscal elements and barcode printed in accepted invoices.
|
||||
|
||||
.. important::
|
||||
If you are hosted in Odoo SH or On-Premise, you should manually install the `pdf417gen
|
||||
|
||||
|
After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 26 KiB |
@@ -175,7 +175,7 @@ Make sure your products are correctly configured so your e-invoices are valid:
|
||||
|
||||
- :guilabel:`Product Type`: storable products, consumables, or services.
|
||||
- :guilabel:`Unit of Measure`: if you also use Odoo Inventory and have enabled :doc:`Units of
|
||||
Measure <../../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
|
||||
Measure <../../inventory_and_mrp/inventory/product_management/configure/uom>`.
|
||||
- :guilabel:`Barcode`: **GS1** or **EGS** barcode
|
||||
- :guilabel:`ETA Item code` (under the :menuselection:`Accounting` tab): if the barcode doesn't
|
||||
match your ETA item code.
|
||||
@@ -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,19 +370,18 @@ Payment complements
|
||||
Payment policy
|
||||
**************
|
||||
|
||||
One addition of the Mexican localization is the :guilabel:`Payment Policy` field . `According to
|
||||
the SAT documentation <https://www.sat.gob.mx/consultas/92764/comprobante-de-recepcion-de-pagos>`_,
|
||||
there may be 2 types of payments:
|
||||
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).
|
||||
@@ -909,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`.
|
||||
|
||||
@@ -34,14 +34,14 @@ registration`. On the :guilabel:`Register an application` screen, rename the :gu
|
||||
and personal Microsoft accounts (e.g. Skype, Xbox)`.
|
||||
|
||||
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
|
||||
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
|
||||
is the canonical domain at which your Odoo instance can be reached in the URL field.
|
||||
`https://<web base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The `web.base.url`
|
||||
is subject to change depending on the URL used to log in to the database.
|
||||
|
||||
.. example::
|
||||
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
|
||||
assuming it's hosted on Odoo.com
|
||||
.. note::
|
||||
The documentation about the :ref:`web.base.url <domain-name/web-base-url>` explains how to freeze
|
||||
a unique URL. It is also possible to add different redirect URLs on the Microsoft app.
|
||||
|
||||
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
|
||||
After the URL has been added to the field, :guilabel:`Register` the application, so it is created.
|
||||
|
||||
API permissions
|
||||
---------------
|
||||
|
||||
|
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 |
@@ -1,84 +1,240 @@
|
||||
========
|
||||
Overview
|
||||
========
|
||||
============================
|
||||
Default barcode nomenclature
|
||||
============================
|
||||
|
||||
There are different situations in which barcode nomenclatures can be
|
||||
useful. A well-known use case is the one of a point of sale which sells
|
||||
products in bulk, in which the customers will scale their products
|
||||
themselves and get the printed barcode to stick on the product. This
|
||||
barcode will contain the weight of the product and help compute the
|
||||
price accordingly.
|
||||
.. |UPC| replace:: :abbr:`UPC (Universal Product Code)`
|
||||
.. |EAN| replace:: :abbr:`EAN (European Article Number)`
|
||||
.. |GTIN| replace:: :abbr:`GTIN (Global Trade Item Number)`
|
||||
.. |GTINs| replace:: :abbr:`GTINs (Global Trade Item Numbers)`
|
||||
|
||||
Create a Barcode Nomenclature
|
||||
=============================
|
||||
Define *barcode nomenclatures* to ensure Odoo correctly recognizes and categorizes barcodes. When
|
||||
scanned, a barcode matches the **first** rule with a matching pattern, based on regular expressions.
|
||||
A barcode is successfully read if its prefix and/or length matches the defined rule.
|
||||
|
||||
Odoo supports Barcode Nomenclatures, which determine the mapping and
|
||||
interpretation of the encoded information. You can configure your barcode nomenclature being in
|
||||
:ref:`developer mode <developer-mode>`.
|
||||
To do so, go to :menuselection:`Inventory --> Configuration --> Barcode Nomenclature`.
|
||||
|
||||
You can create a barcode nomenclature from there, and then add a line to
|
||||
create your first rule.
|
||||
|
||||
.. image:: barcode_nomenclature/barcode_nomenclature_01.png
|
||||
:align: center
|
||||
|
||||
The first step is to specify the **rule name**, for example Weight
|
||||
Barcode with 3 Decimals. You then have to specify the type for barcode
|
||||
nomenclature, in our case it will be Weighted Product.
|
||||
|
||||
.. image:: barcode_nomenclature/barcode_nomenclature_02.png
|
||||
:align: center
|
||||
|
||||
The Barcode Pattern is a regular expression that defines the structure
|
||||
of the barcode. In this example 21 defines the products on which the
|
||||
rule will be applied, those are the numbers by which the product barcode
|
||||
should start. The 5 “dots” are the following numbers of the product
|
||||
barcode and are there simply to identify the product in question. The
|
||||
“N” define a number and the “D” define the decimals.
|
||||
|
||||
The encoding allows to specify the barcode encoding on which the rule
|
||||
should be applied.
|
||||
For instance, at a :doc:`Point of Sale <../../../sales/point_of_sale>` station, product weight
|
||||
barcodes in the European Article Number (EAN) format, which begin with `21` and have five digits
|
||||
specifying the weight, are used to weigh products and generate a barcode depicting the weight and
|
||||
price. The `21` and five-digit weight is the barcode pattern used to identify the barcode and can be
|
||||
customized to ensure Odoo correctly interprets all barcodes for the business.
|
||||
|
||||
.. note::
|
||||
You can define different rules and order their priority thanks to the
|
||||
sequence. The first rule which matches the scanned barcode will be
|
||||
applied.
|
||||
Barcodes are also commonly used with Odoo's **Inventory** and **Barcode** apps.
|
||||
|
||||
Configure your Product
|
||||
----------------------
|
||||
Odoo **Barcode** supports |EAN|, Universal Product Code (UPC), and :doc:`GS1 <gs1_nomenclature>`
|
||||
formats. This document exclusively focuses on :ref:`default rules and patterns in Odoo
|
||||
<barcode/operations/default-nomenclature-list>`, which use |UPC| and |EAN| encoding.
|
||||
|
||||
1. The barcode of the product should start by “21”;
|
||||
2. The 5 “dots” are the other numbers of your product barcode, allowing to identify the product;
|
||||
3. The barcode should contain 0’s where you did defined D’s or N’s. In our case we need to set 5 zeros because we configured “21…..{NNDDD}”;
|
||||
4. In EAN-13, the last number is a check number, use an EAN13 generator to know which digit it should be in your case.
|
||||
.. important::
|
||||
|
||||
.. image:: barcode_nomenclature/barcode_nomenclature_03.png
|
||||
:align: center
|
||||
To use |UPC| and |EAN| barcodes for uniquely identifying products across the entire supply chain,
|
||||
they **must** be `purchased from GS1 <https://www.gs1.org/standards/get-barcodes>`_.
|
||||
|
||||
In case you weight 1,5 Kg of pasta, the balance will print you the
|
||||
following barcode 2112345015002. If you scan this barcode in your POS or
|
||||
when receiving products in your barcode application, Odoo will
|
||||
automatically create a new line for the Pasta product for a quantity of
|
||||
1.5 Kg. For the point of sale, a price depending on the quantity will
|
||||
also be computed.
|
||||
In Odoo, custom barcode patterns can be defined to recognize barcodes specific to the company.
|
||||
Barcodes do not need to be purchased if used only within the company, such as in the
|
||||
:ref:`example <barcode/operations/product-weight>` where the barcode is written in the |EAN|
|
||||
format.
|
||||
|
||||
.. image:: barcode_nomenclature/barcode_nomenclature_04.png
|
||||
:align: center
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Rule Types
|
||||
----------
|
||||
To use default nomenclature, navigate to :menuselection:`Inventory app --> Configuration -->
|
||||
Settings`. Under the :guilabel:`Barcode` section, tick the :guilabel:`Barcode Scanner` checkbox.
|
||||
Doing so installs the **Barcode** app in the database.
|
||||
|
||||
- **Priced Product**: allows you to identify the product and specify its price, used in POS.
|
||||
- **Discounted Product**: allows you to create one barcode per applied discount. You can then scan your product in the POS and then scan the discount barcode, discount will be applied on the normal price of the product.
|
||||
- **Weighted Product**: allows you to identify the product and specify its weight, used in both POS (in which the price is computed based on the weight) and in inventory.
|
||||
- **Client**: allows you to identify the customer, for example used with loyalty program.
|
||||
- **Cashier**: allows you to identify the cashier when entering the POS.
|
||||
- **Location**: allows you to identify the location on a transfer when multi-location is activated.
|
||||
- **Package**: allows you to identify packages on a transfer when packages are activated.
|
||||
- **Credit Card**: doesn’t need manual modification, exists for data from the Mercury module.
|
||||
- **Unit Product**: allows you to identify a product for both POS and transfers.
|
||||
Next, in the :guilabel:`Barcode Nomenclature` field, ensure :guilabel:`Default Nomenclature` is
|
||||
selected. Then, click :guilabel:`Save`.
|
||||
|
||||
.. image:: barcode_nomenclature/enable-nomenclature.png
|
||||
:align: center
|
||||
:alt: Enabled barcode setting with Default Nomenclature selected.
|
||||
|
||||
With the **Barcode** module installed, and the :guilabel:`Default Nomenclature` selected, the
|
||||
barcode actions using |UPC| and |EAN|, detailed in the :ref:`default nomenclature list
|
||||
<barcode/operations/default-nomenclature-list>`, are available for use. And, by default, Odoo
|
||||
automatically handles |UPC|/|EAN| conversion.
|
||||
|
||||
.. _barcode/operations/product-weight:
|
||||
|
||||
Example: product weight barcode
|
||||
===============================
|
||||
|
||||
To better understand how barcode nomenclature is used to identify products in Odoo, this example
|
||||
where product weight barcodes in |EAN| format are used to allow a :doc:`Point of Sale
|
||||
<../../../sales/point_of_sale>` business to automatically print barcodes, and calculate the price
|
||||
using the weight of the item.
|
||||
|
||||
To set up barcodes for weighted products, the following rule is used:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Rule Name
|
||||
- Barcode Pattern
|
||||
- Field in Odoo
|
||||
* - Weighted Barcodes 3 Decimals
|
||||
- (21)....{NNDDD}
|
||||
- :guilabel:`Barcode` field on product form
|
||||
|
||||
.. example::
|
||||
To better understand the barcode pattern for weighted products, consider the barcode,
|
||||
`2112345000008`:
|
||||
|
||||
- `21`: code that identifies this a barcode for weighted products.
|
||||
- `12345`: five digits (denoted by `.....` in the table above) that identify the product.
|
||||
- `00000`: five digits (denoted by `{NNDDD}` in the table) representing the weight of the
|
||||
product. On the product form, the five weight values **must** be `00000`. The first two digits
|
||||
are whole number values, and the last three digits are decimal values. For example, "13.5
|
||||
grams" in the `{NNDDD}` format is `13500`.
|
||||
- `8`: `check digit <https://www.gs1.org/services/check-digit-calculator>`_ for `211234500000`.
|
||||
|
||||
Together, these components make up a 13-character |EAN| - 13 barcode.
|
||||
|
||||
To configure the product barcode for `Pasta Bolognese`, the |EAN| barcode for weighted products,
|
||||
`2112345000008`, is entered in the :guilabel:`Barcode` field on the product form (accessible by
|
||||
going to :menuselection:`Inventory app --> Products --> Products`, and selecting the desired
|
||||
product). In addition, the :guilabel:`Unit of Measure` is set to :guilabel:`kg`.
|
||||
|
||||
.. image:: barcode_nomenclature/barcode.png
|
||||
:align: center
|
||||
:alt: Barcode field on the product form.
|
||||
|
||||
Next, a customer's bowl of pasta is weighed to be `1.5` kilograms. This generates a new barcode for
|
||||
the pasta, according to the weight: `211234501500`, which has a check digit of `2`. The new barcode
|
||||
is `2112345015002`.
|
||||
|
||||
.. image:: barcode_nomenclature/weighted-barcode.png
|
||||
:align: center
|
||||
:alt: Generated barcode that includes a weight of 1.5 kg.
|
||||
|
||||
Ensure the products scan properly, by navigating to the :menuselection:`Barcode app --> Operations`.
|
||||
Next, click any operation type, such as :guilabel:`Receipts`. Then, click the :guilabel:`New` button
|
||||
to create a draft stock move. Scan the product weight barcode, such as `2112345015002`, and if the
|
||||
intended product appears, the barcode setup is correct.
|
||||
|
||||
.. image:: barcode_nomenclature/barcode-scan.png
|
||||
:align: center
|
||||
:alt: Show successfully scanned barcode.
|
||||
|
||||
Create rules
|
||||
============
|
||||
|
||||
.. important::
|
||||
Adding new rules is necessary for |UPC| and |EAN| formats that are **not** in Odoo's default
|
||||
list, since barcodes cannot be read successfully if there are unknown fields.
|
||||
|
||||
While new rules can be created, Odoo fields do **not** auto-populate with information from these
|
||||
rules. `Custom development <https://www.odoo.com/appointment/132>`_ is required for this
|
||||
functionality.
|
||||
|
||||
To create a rule, first enable :ref:`developer mode <developer-mode>`. Then, navigate to
|
||||
:menuselection:`Inventory app --> Configuration --> Barcode Nomenclatures`, and select
|
||||
:guilabel:`Default Nomenclature`.
|
||||
|
||||
On this page, configure the following optional fields:
|
||||
|
||||
- :guilabel:`UPC/EAN Conversion`: determines if a |UPC|/|EAN| barcode should be automatically
|
||||
converted when matching a rule with another encoding. Options include :guilabel:`Always` (the
|
||||
default option), :guilabel:`Never`, :guilabel:`EAN-13 to UPC-A`, and :guilabel:`UPC-A to EAN-13`.
|
||||
- :guilabel:`Is GS1 Nomenclature`: ensure this checkbox is **not** ticked, as the
|
||||
:guilabel:`Default Nomenclature` uses |UPC| and |EAN| encoding, *not* GS1 encoding.
|
||||
|
||||
.. image:: barcode_nomenclature/rule-config.png
|
||||
:align: center
|
||||
:alt: Default Nomenclature page setting fields.
|
||||
|
||||
On the :guilabel:`Default Nomenclature` page, click :guilabel:`Add a line` at the bottom of the
|
||||
table, which opens a :guilabel:`Create Rules` pop-up window to create a new rule.
|
||||
|
||||
The :guilabel:`Rule Name` field is used internally to identify what the barcode represents.
|
||||
|
||||
The :guilabel:`Sequence` field represents the priority of the rule; meaning the smaller the value,
|
||||
the higher the rule appears on the table.
|
||||
|
||||
The barcode :guilabel:`Type` field represents different classifications of information that can be
|
||||
understood by the system (e.g., :guilabel:`Package`, :guilabel:`Lot`, :guilabel:`Location`,
|
||||
:guilabel:`Coupon`, etc.).
|
||||
|
||||
The :guilabel:`Encoding` field specifies which encoding the barcode uses. This rule **only** applies
|
||||
if the barcode uses this specific encoding. The available :guilabel:`Encoding` options are:
|
||||
:guilabel:`EAN-13`, :guilabel:`EAN-8`, :guilabel:`UPC-A`, and :guilabel:`GS1-28`.
|
||||
|
||||
The :guilabel:`Barcode Pattern` field represents how the sequence of letters or numbers is
|
||||
recognized by the system to contain information about the product. Sometimes, when a certain amount
|
||||
of digits are required, the number of `.` is shown. `N` represents whole number digits, and `D`
|
||||
represent decimal digits.
|
||||
|
||||
.. example::
|
||||
`1...` represents any 4-digit number that starts with 1. `NNDD` represents a two digit number
|
||||
with two decimal points. For example, `14.25` is 1425.
|
||||
|
||||
After filling in the information, click the :guilabel:`Save & New` button to save the rule, and
|
||||
instantly start creating another rule. Or, click :guilabel:`Save & Close` to save the rule, and
|
||||
return to the table of rules.
|
||||
|
||||
.. _barcode/operations/default-nomenclature-list:
|
||||
|
||||
Default nomenclature list
|
||||
=========================
|
||||
|
||||
The table below contains Odoo's list of :guilabel:`Default Nomenclature` rules. Barcode patterns are
|
||||
written in regular expressions.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Rule Name
|
||||
- Type
|
||||
- Encoding
|
||||
- Barcode Pattern
|
||||
* - Price Barcodes 2 Decimals
|
||||
- Priced Product
|
||||
- EAN-13
|
||||
- 23.....{NNNDD}
|
||||
* - Discount Barcodes
|
||||
- Discounted Product
|
||||
- Any
|
||||
- 22{NN}
|
||||
* - Weight Barcodes 3 Decimals
|
||||
- Weighted Product
|
||||
- EAN-13
|
||||
- 21.....{NNDDD}
|
||||
* - Customer Barcodes
|
||||
- Client
|
||||
- Any
|
||||
- 042
|
||||
* - Coupon & Gift Card Barcodes
|
||||
- Coupon
|
||||
- Any
|
||||
- 043|044
|
||||
* - Cashier Barcodes
|
||||
- Cashier
|
||||
- Any
|
||||
- 041
|
||||
* - Location barcodes
|
||||
- Location
|
||||
- Any
|
||||
- 414
|
||||
* - Package barcodes
|
||||
- Package
|
||||
- Any
|
||||
- PACK
|
||||
* - Lot barcodes
|
||||
- Lot
|
||||
- Any
|
||||
- 10
|
||||
* - Magnetic Credit Card
|
||||
- Credit Card
|
||||
- Any
|
||||
- %.*
|
||||
* - Product Barcodes
|
||||
- Unit Product
|
||||
- Any
|
||||
- .*
|
||||
|
||||
.. note::
|
||||
When the barcode pattern contains .*, it means that it can contain any
|
||||
number of characters, those characters being any number.
|
||||
When the :guilabel:`Barcode Pattern` contains `.*`, it means it can contain any number or type of
|
||||
characters.
|
||||
|
||||
.. seealso::
|
||||
:doc:`gs1_nomenclature`
|
||||
|
||||
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 43 KiB |