Compare commits
388 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bdaf736eef | |||
| 83d105c067 | |||
| 79289bf99b | |||
| ee2cfe2bb5 | |||
| 490eb9a865 | |||
| f019e3b18f | |||
| 31bfb0c693 | |||
| 069fa84987 | |||
| a4cdf38bd6 | |||
| cc8c576936 | |||
| 9ff60ea1d7 | |||
| c54584a3f0 | |||
| ee735a813f | |||
| 6bd2a67549 | |||
| 878da9318e | |||
| 094924d5ff | |||
| 7e30d6f7da | |||
| e3eae6ac88 | |||
| 192281038d | |||
| 56cf586061 | |||
| b5bfc45f09 | |||
| f16d89dbc7 | |||
| 656064ea1c | |||
| 36ca933672 | |||
| 92b3166167 | |||
| 880f1cc01d | |||
| 0fbf9995f0 | |||
| 97f5c6f02a | |||
| 51a70769ca | |||
| ffcdc7f3ea | |||
| b65460db47 | |||
| fdda9ff30a | |||
| 90606a0d56 | |||
| c63dda1e5f | |||
| e4057858a1 | |||
| 2c613fdfc4 | |||
| 2e99e9b57e | |||
| 7353d7b2cc | |||
| 4a28f69400 | |||
| c2a84d65f7 | |||
| dfb88db7b6 | |||
| 3d82c7671c | |||
| 9a5074848c | |||
| e0e97ea763 | |||
| 3e4463c978 | |||
| 735097850c | |||
| d8494b2c4b | |||
| f4bcdc815e | |||
| e655f90e62 | |||
| d7595e5eb8 | |||
| 0b6bef6516 | |||
| 3a18276d4a | |||
| bb9cb27935 | |||
| 148eaedfa9 | |||
| a9d4fbbd5a | |||
| 7cacdf626b | |||
| b07ea8d014 | |||
| 158a1dee79 | |||
| bfcb1fa443 | |||
| 6355b52f87 | |||
| d43cc3e466 | |||
| 281d3976da | |||
| 02a47a607d | |||
| 36ab5e74c3 | |||
| 33712a339f | |||
| 5a8691d249 | |||
| 20865bfaea | |||
| 4255e514a9 | |||
| 632add350d | |||
| d36e0b095c | |||
| 946a55b029 | |||
| e259853486 | |||
| fd8b628b0e | |||
| bcd3747156 | |||
| 1f1f574615 | |||
| 89c63cb952 | |||
| 2da5c1664f | |||
| 25f95ce12d | |||
| 300345957a | |||
| ffaa9ec7a8 | |||
| 60d55082ce | |||
| d8b4b1d60f | |||
| 10cd2a061b | |||
| 41b3bd3bc9 | |||
| 9be4c889e3 | |||
| dc5136cc45 | |||
| 2d0505c0bd | |||
| 22b294400f | |||
| ef3e57c994 | |||
| 04f9ea14cd | |||
| 4742f77ef9 | |||
| df01a6edf4 | |||
| d3f17c6609 | |||
| a54e626075 | |||
| 069ee16ee1 | |||
| df48788817 | |||
| dc0dfea959 | |||
| 1c2897c54d | |||
| f87f12c53a | |||
| a7f87a913a | |||
| 77b0cc21ee | |||
| 41c33f1165 | |||
| 6d923e4729 | |||
| 59dcc0e921 | |||
| 3875f79b5c | |||
| befe1d0c8d | |||
| f65dbd4c15 | |||
| 40015002bd | |||
| 2383ecff09 | |||
| d266d142a8 | |||
| f8c1f3538d | |||
| 757f750358 | |||
| f61b571960 | |||
| 6349f5a13e | |||
| 76b234ba3a | |||
| c1f4f1fb57 | |||
| b2bad17b19 | |||
| 1ad921a1d1 | |||
| 8291dc0379 | |||
| 1534cf4e19 | |||
| 3dc21be0a7 | |||
| 9cbc9e3610 | |||
| 269d602af0 | |||
| 0bde5db3bc | |||
| ac9eb58b7a | |||
| 3229ee3210 | |||
| 21362bea09 | |||
| 3867472761 | |||
| b3fc71894a | |||
| 3fada867de | |||
| 75fa2c64b3 | |||
| af5ac872e7 | |||
| dc3bdd3824 | |||
| ce85e620f1 | |||
| 00faf01516 | |||
| dcf55ac08a | |||
| b0009b8e10 | |||
| b154ed017f | |||
| 54f7faa593 | |||
| 2a00746f71 | |||
| ee1ef85417 | |||
| 9f21404579 | |||
| 212da24684 | |||
| ca71dfa66a | |||
| 715bd20ac1 | |||
| 7576501508 | |||
| 00771d68bd | |||
| 83ca0c26ff | |||
| e0010641ac | |||
| 2198e60c5e | |||
| d4d62b6967 | |||
| 48bfcc6d93 | |||
| 5eb6fc8cbc | |||
| af0853ec77 | |||
| 9265f644ad | |||
| 1da9a538c2 | |||
| 91201d199a | |||
| c612a4e1fa | |||
| caffe57110 | |||
| 7cf18082ad | |||
| deecd2ae21 | |||
| f07ce400b0 | |||
| 23b5138038 | |||
| 18fd3f00e4 | |||
| a8d88ed33e | |||
| 281137ccfb | |||
| 81509af376 | |||
| 8b76aedf88 | |||
| cffbd073fb | |||
| 5400f76019 | |||
| a5803c0a57 | |||
| 72a7fa97e0 | |||
| 9331fce764 | |||
| 2abc1ceb54 | |||
| c330f4d72e | |||
| e8576b7a04 | |||
| 07333c0061 | |||
| 05370926ff | |||
| 67894e33f6 | |||
| 2118084f11 | |||
| cbe72a69bb | |||
| e6c1f703ab | |||
| 484cf203a9 | |||
| 474d0b7b94 | |||
| df637c5746 | |||
| 539435d14d | |||
| 05637af163 | |||
| 5689bc1039 | |||
| aecf49d6c8 | |||
| a787a2652f | |||
| e5586b3180 | |||
| 439c4521ad | |||
| 6a7bc2d449 | |||
| 03ace4206c | |||
| bc6c92d786 | |||
| 6391349a6d | |||
| eded294b05 | |||
| 856a60cd24 | |||
| 05be4c72db | |||
| fb48206c21 | |||
| 47300c10bf | |||
| 403c616602 | |||
| 6f81a3b076 | |||
| 9223318b05 | |||
| 7e45e144a6 | |||
| 998addbdb2 | |||
| f751e9548a | |||
| 9aa0b714ef | |||
| fd598899c2 | |||
| a926fbf998 | |||
| 8ebfc5cd2a | |||
| 75734d8c6d | |||
| 8f8e65640a | |||
| 5f416e028f | |||
| 3099ce8e0b | |||
| 968177ade5 | |||
| 9776aa010c | |||
| bb99bd6bf6 | |||
| 82f68ea5fc | |||
| 9c417efadc | |||
| 6b963f8f7d | |||
| 9e777948c1 | |||
| 73fc5e9be4 | |||
| 01883d07c1 | |||
| 8557dbf8c2 | |||
| 313a22ba60 | |||
| c847bdc4dd | |||
| 054801995e | |||
| 7d5afdda56 | |||
| cace3cc370 | |||
| 0178034f89 | |||
| a1eaf3af64 | |||
| f499de92ab | |||
| a56255286a | |||
| cc03963248 | |||
| f62c7f83c5 | |||
| 9e740e90d1 | |||
| 66959cf6ee | |||
| edb41d8c51 | |||
| 648cc25775 | |||
| bdcd01f798 | |||
| 2a46a816bc | |||
| e0ab490d57 | |||
| d0fc3e23f7 | |||
| ab5a5e0997 | |||
| a969aaf498 | |||
| 5be62e15e2 | |||
| 2e0df8e810 | |||
| fc363ad00f | |||
| 336801a842 | |||
| b7ce6cf74e | |||
| 0387e3f518 | |||
| d81d63945b | |||
| 1df1c46ff1 | |||
| c219ff72c2 | |||
| 6d6e82a158 | |||
| 2bffc3d457 | |||
| 3e450bafa6 | |||
| 16fb06757a | |||
| 3411cdb2ae | |||
| 6b9ba7f9ed | |||
| 230461a3e8 | |||
| a4f0e6b9b8 | |||
| 4fac976025 | |||
| bdc6660120 | |||
| c2c3b912ed | |||
| eba685e7d9 | |||
| 4ef21b06cd | |||
| 554193a14b | |||
| 6dbaeeb29b | |||
| cba598cac8 | |||
| f23dcb7d35 | |||
| e4fd701fd2 | |||
| 5a298f09eb | |||
| 5995f3dcce | |||
| 2025434058 | |||
| 2cfaf34d9b | |||
| da20d2f5f8 | |||
| 882a34c2bd | |||
| 3d4a275196 | |||
| 066c662509 | |||
| 613420f55e | |||
| ea2145960b | |||
| 8b6e7a0323 | |||
| 74d5918ff3 | |||
| b9a40d117e | |||
| a08970722b | |||
| feeb8dc18f | |||
| 97e3173c7c | |||
| ae77baa7f3 | |||
| fbd85e82ba | |||
| e0921f7b6e | |||
| b35f9305c9 | |||
| 1d61839374 | |||
| 567b22f30c | |||
| f3a4770775 | |||
| 77f1a1fc12 | |||
| b9ba63fde0 | |||
| ed6f2aba4d | |||
| a6d3a8d497 | |||
| b6964f128e | |||
| d0761052da | |||
| 54f32b3df6 | |||
| 1cffbdfa5b | |||
| 675eaa8068 | |||
| 2d749c3134 | |||
| c605694f0b | |||
| bf87dbeccb | |||
| 68fcd62330 | |||
| 2b0059937a | |||
| e24c83a0a1 | |||
| e28bed32d0 | |||
| 533f7f884c | |||
| b188381b70 | |||
| 8ba87a67ce | |||
| 1a44524ab5 | |||
| 8ecbd48796 | |||
| 51b98a71d4 | |||
| 61cad6cd0d | |||
| 2662fa5437 | |||
| ebc80297af | |||
| b44913931d | |||
| be835f7493 | |||
| 11076c8cdd | |||
| 23b88dbff5 | |||
| 8e3008f06a | |||
| d337b38433 | |||
| c9affa54a8 | |||
| 1860805474 | |||
| 8025fdd915 | |||
| ae08218516 | |||
| 25a7492e74 | |||
| 32517aa638 | |||
| e8106a55c4 | |||
| 05da049af4 | |||
| 4d48d1dfa6 | |||
| 3da8280f33 | |||
| ccf0b02713 | |||
| 37e10a53d9 | |||
| b50ca9703a | |||
| 01d5b97ee0 | |||
| ff6f914a09 | |||
| 2459ad79b9 | |||
| 386a3a9e10 | |||
| 4fff23c50e | |||
| 1fc36ffa82 | |||
| 01625aa661 | |||
| 80aa3b74dc | |||
| 9be2b43adb | |||
| e946be6abd | |||
| a70677317a | |||
| d7218a2d75 | |||
| 507c4a07e1 | |||
| f92a81d051 | |||
| e5ee15e20d | |||
| 5070f160ed | |||
| 52b86aab37 | |||
| ae1ad46925 | |||
| ee93bc9d9d | |||
| 0336359c57 | |||
| 5d840a56d7 | |||
| b09c1e045e | |||
| f938a012ad | |||
| 787ec0f787 | |||
| 7cb346fbb1 | |||
| 5e579431e1 | |||
| 1a353a6b91 | |||
| 17885d893e | |||
| f13d8b52fc | |||
| 7f69acd5aa | |||
| 66414a765e | |||
| 1c0678a99a | |||
| b237af1ba8 | |||
| 03cf50013a | |||
| 9ab09aa0a5 | |||
| 255b3b2651 | |||
| 07bb9ec349 | |||
| 717b45bf56 | |||
| 60490b0a7d | |||
| 6ce9a014a7 | |||
| c4f0e9c11c | |||
| 4fdfda7ddb | |||
| 765d8935d4 | |||
| 6cb55a5cce | |||
| fd7d95f707 | |||
| ffe569a625 | |||
| 077b7a577f | |||
| 9d94d155fd |
@@ -21,6 +21,16 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:essentials]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/essentials.po
|
||||
source_file = locale/sources/essentials.pot
|
||||
type = POT
|
||||
minimum_perc = 0
|
||||
resource_name = essentials
|
||||
replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:finance]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/finance.po
|
||||
source_file = locale/sources/finance.pot
|
||||
@@ -41,6 +51,16 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:hr]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/hr.po
|
||||
source_file = locale/sources/hr.pot
|
||||
type = POT
|
||||
minimum_perc = 0
|
||||
resource_name = hr
|
||||
replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:index]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/index.po
|
||||
source_file = locale/sources/index.pot
|
||||
@@ -111,6 +131,16 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:studio]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/studio.po
|
||||
source_file = locale/sources/studio.pot
|
||||
type = POT
|
||||
minimum_perc = 0
|
||||
resource_name = studio
|
||||
replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:websites]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/websites.po
|
||||
source_file = locale/sources/websites.pot
|
||||
|
||||
@@ -26,7 +26,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/17.0
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
||||
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
version = release = '17.0'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
@@ -213,6 +213,7 @@ 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-17.2': "Odoo Online",
|
||||
'saas-17.1': "Odoo Online",
|
||||
'17.0': "Odoo 17",
|
||||
'saas-16.4': "Odoo Online",
|
||||
|
||||
@@ -61,4 +61,5 @@ functionalities, including functional support, upgrades, and hosting. `Pricing
|
||||
administration/upgrade
|
||||
administration/neutralized_database
|
||||
administration/supported_versions
|
||||
administration/mobile
|
||||
administration/odoo_accounts
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
================
|
||||
Odoo mobile apps
|
||||
================
|
||||
|
||||
Two kind of Odoo mobile app exist: the progressive web app (PWA) and store apps. Using the PWA is
|
||||
recommended.
|
||||
|
||||
Progressive web app (PWA)
|
||||
=========================
|
||||
|
||||
PWAs are web-based applications designed to function across different devices and platforms,
|
||||
leveraging web browsers to deliver user experiences similar to native apps.
|
||||
|
||||
The Odoo PWA features include:
|
||||
|
||||
- Quick access by adding the PWA to a device's home screen
|
||||
- Seamless and borderless navigation experience
|
||||
- Push notifications
|
||||
- SSO authentication
|
||||
|
||||
To install the Odoo PWA, launch a browser supporting PWAs, and sign in to an Odoo database. The
|
||||
instructions to install a PWA depend on the platform and browser used.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Android
|
||||
|
||||
**Chrome**: open Chrome's menu (:guilabel:`⋮`), select :guilabel:`Install app`, and tap
|
||||
:guilabel:`Install`.
|
||||
|
||||
**Firefox**: open Firefox's menu (:guilabel:`⋮`), select :guilabel:`Install`, and either touch
|
||||
and hold the Odoo icon or tap :guilabel:`Add automatically`.
|
||||
|
||||
The PWA can also be installed with **Samsung Internet**, **Edge**, and **Opera**.
|
||||
|
||||
.. tab:: iOS
|
||||
|
||||
**Safari**: open the **Share** menu by tapping the square with an arrow pointing upwards icon,
|
||||
select :guilabel:`Add to Home Screen`, edit the PWA details if desired, and tap
|
||||
:guilabel:`Add`.
|
||||
|
||||
On iOS 16.4 and above, the PWA can also be installed with **Chrome**, **Firefox**, and
|
||||
**Edge**.
|
||||
|
||||
.. tab:: Desktop
|
||||
|
||||
**Chrome** and **Edge**: click the installation icon at the right of the address bar and click
|
||||
:guilabel:`Install`.
|
||||
|
||||
.. seealso::
|
||||
- `Google Chrome Help: Use progressive web apps
|
||||
<https://support.google.com/chrome/answer/9658361>`_
|
||||
- `MDN Web Docs: Installing and uninstalling web apps
|
||||
<https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Installing>`_
|
||||
- `Microsoft Support: Install, manage, or uninstall apps in Microsoft Edge <https://support.microsoft.com/en-us/topic/install-manage-or-uninstall-apps-in-microsoft-edge-0c156575-a94a-45e4-a54f-3a84846f6113>`_
|
||||
|
||||
Store apps
|
||||
==========
|
||||
|
||||
The Odoo mobile apps are available for download on the `Google Play Store
|
||||
<https://play.google.com/store/apps/details?id=com.odoo.mobile>`_ and `Apple App Store
|
||||
<https://apps.apple.com/app/odoo/id1272543640>`_.
|
||||
|
||||
.. important::
|
||||
The iOS app cannot be updated and will be deprecated at some point in the future.
|
||||
|
||||
While the store apps support multi-accounts, they are not compatible with SS0 authentication.
|
||||
@@ -9,7 +9,7 @@ internet.
|
||||
|
||||
.. warning:: If you are setting up a public server, be sure to check our :ref:`security` recommendations!
|
||||
|
||||
.. _db_filter:
|
||||
.. _dbfilter:
|
||||
|
||||
dbfilter
|
||||
========
|
||||
@@ -573,12 +573,12 @@ security-related topics:
|
||||
|
||||
- Use appropriate database filters ( :option:`--db-filter <odoo-bin --db-filter>`)
|
||||
to restrict the visibility of your databases according to the hostname.
|
||||
See :ref:`db_filter`.
|
||||
See :ref:`dbfilter`.
|
||||
You may also use :option:`-d <odoo-bin -d>` to provide your own (comma-separated)
|
||||
list of available databases to filter from, instead of letting the system fetch
|
||||
them all from the database backend.
|
||||
|
||||
- Once your ``db_name`` and ``db_filter`` are configured and only match a single database
|
||||
- Once your ``db_name`` and ``dbfilter`` are configured and only match a single database
|
||||
per hostname, you should set ``list_db`` configuration option to ``False``, to prevent
|
||||
listing databases entirely, and to block access to the database management screens
|
||||
(this is also exposed as the :option:`--no-database-list <odoo-bin --no-database-list>`
|
||||
@@ -722,7 +722,7 @@ management screens.
|
||||
the system administrator, including provisioning of new databases and automated backups.
|
||||
|
||||
Be sure to setup an appropriate ``db_name`` parameter
|
||||
(and optionally, ``db_filter`` too) so that the system can determine the target database
|
||||
(and optionally, ``dbfilter`` too) so that the system can determine the target database
|
||||
for each request, otherwise users will be blocked as they won't be allowed to choose the
|
||||
database themselves.
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ Odoo requires **Python 3.10** or later to run.
|
||||
to download and install Python 3 if needed.
|
||||
|
||||
.. note::
|
||||
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
|
||||
If Python 3 is already installed, make sure that the version is 3.10 or above, as previous
|
||||
versions are not compatible with Odoo.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@@ -31,6 +31,12 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~17.2
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- April 2024
|
||||
-
|
||||
* - Odoo saas~17.1
|
||||
- |green|
|
||||
- N/A
|
||||
|
||||
@@ -20,7 +20,7 @@ can aid in reporting on activities, although, Odoo provides a precise and easy r
|
||||
each available application.
|
||||
|
||||
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
|
||||
(:guilabel:`☰ (three horizontal lines)` icon), on the items that need to be exported, and then
|
||||
(:guilabel:`≣ (four horizontal lines)` icon), on the items that need to be exported, and then
|
||||
select the records that should be exported. To select a record, tick the checkbox next to the
|
||||
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
|
||||
|
||||
@@ -55,8 +55,9 @@ several options for the data to export:
|
||||
can)` icon to remove the field.
|
||||
#. For recurring reports, it is helpful to save export presets. Select all the needed fields, and
|
||||
click on the template drop-down menu. Once there, click on :guilabel:`New template`, and give a
|
||||
unique name to the export just created. The next time the same list needs to be exported, select
|
||||
the related template that was previously saved from the drop-down menu.
|
||||
unique name to the export just created. Click the :guilabel:`💾 (floppy drive)` icon to save the
|
||||
configuration. The next time the same list needs to be exported, select the related template that
|
||||
was previously saved from the drop-down menu.
|
||||
|
||||
.. tip::
|
||||
It is helpful to know the field's external identifier. For example, :guilabel:`Related Company`
|
||||
@@ -98,11 +99,11 @@ Data can be imported on any Odoo business object using either Excel (`.xlsx`) or
|
||||
journal entries, and orders.
|
||||
|
||||
Open the view of the object to which the data should be imported/populated, and click on
|
||||
:menuselection:`⭐ Favorites --> Import records`.
|
||||
:menuselection:`⚙️ (Action) --> Import records`.
|
||||
|
||||
.. image:: export_import_data/import-button.png
|
||||
:align: center
|
||||
:alt: Favorites menu revealed with the import records option highlighted.
|
||||
:alt: Action menu revealed with the import records option highlighted.
|
||||
|
||||
After clicking :guilabel:`Import records`, Odoo reveals a separate page with templates that can be
|
||||
downloaded and populated with the company's own data. Such templates can be imported in one click,
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 47 KiB |
@@ -93,12 +93,11 @@ available on Odoo.
|
||||
- :doc:`Kenya - Accounting <fiscal_localizations/kenya>`
|
||||
- Lithuania - Accounting
|
||||
- :doc:`Luxembourg - Accounting <fiscal_localizations/luxembourg>`
|
||||
- :doc:`Malaysia - Accounting <fiscal_localizations/malaysia>`
|
||||
- Maroc - Accounting
|
||||
- :doc:`Mexico - Accounting <fiscal_localizations/mexico>`
|
||||
- Mongolia - Accounting
|
||||
- :doc:`Netherlands - Accounting <fiscal_localizations/netherlands>`
|
||||
- :doc:`New Zealand - Accounting <fiscal_localizations/new_zealand>`
|
||||
- New Zealand - Accounting
|
||||
- Norway - Accounting
|
||||
- OHADA - Accounting
|
||||
- Pakistan - Accounting
|
||||
@@ -147,10 +146,8 @@ available on Odoo.
|
||||
fiscal_localizations/italy
|
||||
fiscal_localizations/kenya
|
||||
fiscal_localizations/luxembourg
|
||||
fiscal_localizations/malaysia
|
||||
fiscal_localizations/mexico
|
||||
fiscal_localizations/netherlands
|
||||
fiscal_localizations/new_zealand
|
||||
fiscal_localizations/romania
|
||||
fiscal_localizations/peru
|
||||
fiscal_localizations/philippines
|
||||
@@ -162,4 +159,3 @@ available on Odoo.
|
||||
fiscal_localizations/vietnam
|
||||
fiscal_localizations/united_arab_emirates
|
||||
fiscal_localizations/united_kingdom
|
||||
fiscal_localizations/employment_hero
|
||||
|
||||
@@ -948,6 +948,73 @@ the corresponding layout and fiscal stamps stated in the :ref:`Invoice printed r
|
||||
.. seealso::
|
||||
:doc:`Client account creation <../../websites/ecommerce/checkout_payment_shipping/checkout>`
|
||||
|
||||
Liquidity product direct sales
|
||||
------------------------------
|
||||
|
||||
Liquidity product direct sales are used for sales involving third parties. For such
|
||||
sales, the seller and the proprietary company of the goods can each register their corresponding
|
||||
sales and purchases.
|
||||
|
||||
.. note::
|
||||
:ref:`Install <general/install>` the *Argentinian Electronic Invoicing* module (`l10n_ar_edi`) to
|
||||
use this feature.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Purchase journal
|
||||
****************
|
||||
|
||||
A purchase journal is needed to generate an electronic vendor bill with a document type *Liquidity
|
||||
Product*. This journal needs to be synchronized with the AFIP as it will be used to generate the
|
||||
liquidity product electronic document.
|
||||
|
||||
To modify the existing purchase journal or create a new one, navigate to :menuselection:`Accounting
|
||||
--> Configuration --> Journals`. Then, select the existing purchase journal or click the
|
||||
:guilabel:`New` button, and fill in the following required information:
|
||||
|
||||
- :guilabel:`Type`: select :guilabel:`Purchase`.
|
||||
- :guilabel:`Use Documents`: check this field to to be able select the electronic document type.
|
||||
- :guilabel:`Is AFIP POS`: check this field to be able to generate electronic documents.
|
||||
- :guilabel:`AFIP POS System`: select :guilabel:`Electronic Invoice - Web Service` from the
|
||||
drop-down menu in order to send the electronic document to AFIP via web service.
|
||||
- :guilabel:`AFIP POS Number`: is the number configured in the AFIP to identify the operations
|
||||
related to this AFIP POS.
|
||||
- :guilabel:`AFIP POS Address`: is the field related to the commercial address registered for the
|
||||
POS, which is usually the same address as the company. For example, if a company has multiple
|
||||
stores (fiscal locations) then the AFIP will require the company to have one AFIP POS per
|
||||
location. This location will be printed in the invoice report.
|
||||
|
||||
.. image:: argentina/l10n-ar-purchase-journal.png
|
||||
:align: center
|
||||
:alt: l10n_ar Purchase Journal Configuration.
|
||||
|
||||
Sales journal
|
||||
*************
|
||||
|
||||
A sales journal is needed to register the invoice when a product is sold to a third party that will
|
||||
then sell the same product. This journal will not be synced with AFIP as the invoice will not be
|
||||
electronic.
|
||||
|
||||
To modify the existing sales journal or create a new one, navigate to
|
||||
:menuselection:`Accounting --> Configuration --> Journals`. Then, selecting the sales journal or
|
||||
click the :guilabel:`New` button, and fill in the following required information:
|
||||
|
||||
- :guilabel:`Type`: select :guilabel:`Sales`.
|
||||
- :guilabel:`Use Documents`: check this field on the journal to select the electronic document type
|
||||
(in this case the electronic invoice).
|
||||
|
||||
.. image:: argentina/l10n-ar-sales-journal.png
|
||||
:align: center
|
||||
:alt: l10n_ar Sales Journal Configuration.
|
||||
|
||||
Invoicing flow
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Once the configurations are all set, the *Liquidity Product Vendor Bill* will be generated by the
|
||||
company that is selling the product on behalf of another party. For example, a distributor of a
|
||||
specific product.
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
@@ -965,11 +1032,10 @@ VAT reports
|
||||
Sales VAT book
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
In this report, all the sales are recorded, which are taken as the basis for the accounting records
|
||||
to determine the VAT (Tax Debit).
|
||||
|
||||
The :guilabel:`Sales VAT` book report can be exported in a `.zip` file :guilabel:`VAT BOOK (ZIP)`
|
||||
button in the top left, which contains `.txt` files to upload in the AFIP portal.
|
||||
This report records all the sales, which are taken as the basis for the accounting records
|
||||
to determine the VAT (Tax Debit). The :guilabel:`Sales VAT` book report can be exported as a `.zip`
|
||||
file using the :guilabel:`VAT BOOK (ZIP)` button at the top left, containing `.txt` files to upload
|
||||
to the AFIP portal.
|
||||
|
||||
.. image:: argentina/sales-vat-book.png
|
||||
:align: center
|
||||
@@ -978,8 +1044,9 @@ button in the top left, which contains `.txt` files to upload in the AFIP portal
|
||||
Purchases VAT book
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The :guilabel:`Purchases VAT` book report can be exported in a `.zip` file :guilabel:`VAT BOOK
|
||||
(ZIP)` button in the top left, which contains `.txt` files to upload in the AFIP portal.
|
||||
The :guilabel:`Purchases VAT` book report can be exported as a `.zip` file using the
|
||||
:guilabel:`VAT BOOK (ZIP)` button at the top left, which contains `.txt` files to upload to the AFIP
|
||||
portal.
|
||||
|
||||
.. image:: argentina/purchases-vat-book.png
|
||||
:align: center
|
||||
@@ -988,7 +1055,7 @@ The :guilabel:`Purchases VAT` book report can be exported in a `.zip` file :guil
|
||||
VAT summary
|
||||
~~~~~~~~~~~
|
||||
|
||||
Pivot table designed to check the monthly VAT totals. This report is for internal usage, it is not
|
||||
Pivot table designed to check the monthly VAT totals. This report is for internal use and is not
|
||||
sent to the AFIP.
|
||||
|
||||
.. image:: argentina/vat-summary.png
|
||||
@@ -1002,7 +1069,7 @@ IIBB - Sales by jurisdiction
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Pivot table where you can validate the gross income in each jurisdiction. Affidavit for the
|
||||
corresponding taxes to pay, therefore it is not sent to the AFIP.
|
||||
corresponding taxes to pay; and therefore, it is not sent to the AFIP.
|
||||
|
||||
.. image:: argentina/iibb-sales-jurisdiction.png
|
||||
:align: center
|
||||
@@ -1012,7 +1079,7 @@ IIBB - Purchases by jurisdiction
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Pivot table where you can validate the gross purchases in each jurisdiction. Affidavit for the
|
||||
corresponding taxes to pay, therefore it is not sent to the AFIP.
|
||||
corresponding taxes to pay; and therefore, it is not sent to the AFIP.
|
||||
|
||||
.. image:: argentina/iibb-purchases-jurisdiction.png
|
||||
:align: center
|
||||
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 21 KiB |
@@ -35,6 +35,9 @@ Configuration
|
||||
- `l10n_account_customer_statements`
|
||||
- Allows the management and sending of monthly customer statements from the partner ledger and
|
||||
the contact form. Also used in New Zealand.
|
||||
* - :guilabel:`Employment Hero Australian Payroll`
|
||||
- `l10n_au_keypay`
|
||||
- Synchronises all pay runs from Employment Hero with Odoo’s journal entries.
|
||||
|
||||
.. _australia/coa:
|
||||
|
||||
@@ -858,12 +861,70 @@ from the batch.
|
||||
|
||||
.. _australia/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
Employment Hero Australian Payroll
|
||||
==================================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
If your business is already up and running with `Employment Hero <https://employmenthero.com/>`_,
|
||||
you can use our connector as an alternative payroll solution.
|
||||
|
||||
The Employment Hero module synchronises payslip accounting entries (e.g., expenses, social charges,
|
||||
liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done
|
||||
in Employment Hero. We only record the **journal entries** in Odoo.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Australia**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.com.au/`.
|
||||
KeyPay was rebranded as **Employment Hero** in March 2023.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Australian Payroll` module
|
||||
(`l10n_au_keypay`).
|
||||
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
|
||||
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
|
||||
Integration`.
|
||||
|
||||
.. image:: australia/employment-hero-integration.png
|
||||
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
|
||||
settings
|
||||
|
||||
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
|
||||
|
||||
.. image:: australia/employment-hero-myaccount.png
|
||||
:alt: "Account Details" section on the Employment Hero dashboard
|
||||
|
||||
- The **Payroll URL** is pre-filled with `https://keypay.yourpayroll.com.au`.
|
||||
|
||||
.. warning::
|
||||
Do not change the **pre-filled Payroll URL**
|
||||
|
||||
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
|
||||
|
||||
.. image:: australia/employment-hero-business-id.png
|
||||
:alt: The Employment Hero "Business ID" number is in the URL
|
||||
|
||||
- You can choose any Odoo journal to post the payslip entries.
|
||||
|
||||
How does the API work?
|
||||
----------------------
|
||||
|
||||
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
|
||||
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
|
||||
the same record in Employment Hero and Odoo.
|
||||
|
||||
.. image:: australia/employment-hero-journal-entry.png
|
||||
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
|
||||
|
||||
By default, the synchronisation happens once per week. You can fetch the records manually by going
|
||||
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
|
||||
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
|
||||
|
||||
Employment Hero payslip entries also work based on double-entry bookkeeping.
|
||||
|
||||
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
|
||||
|
||||
.. image:: australia/employment-hero-chart-of-accounts.png
|
||||
:alt: Chart of Accounts menu in Employment Hero
|
||||
|
||||
For the API to work, you need to create the same accounts as the default accounts of your Employment
|
||||
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
|
||||
types in Odoo to generate accurate financial reports.
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -259,7 +259,8 @@ The configuration must be done on each client database. In the following
|
||||
instructions, we will refer to your client's company as *Company* and to your
|
||||
accounting firm as *Accounting Firm*.
|
||||
|
||||
You must first :ref:`install <general/install>` :guilabel:`CodaBox` to start.
|
||||
You must first :ref:`install <general/install>` :guilabel:`CodaBox` and
|
||||
:guilabel:`CodaBox Bridge Wizard` (if available) to start.
|
||||
|
||||
.. important::
|
||||
Make sure the company settings are correctly configured, i.e., the country is set to
|
||||
|
||||
@@ -66,6 +66,8 @@ localization:
|
||||
When you install a database from scratch selecting `Ecuador` as the country, Odoo automatically
|
||||
installs the base module :guilabel:`Ecuadorian - Accounting`.
|
||||
|
||||
.. _l10n_ec/configure-your-company:
|
||||
|
||||
Configure your company
|
||||
----------------------
|
||||
|
||||
@@ -586,3 +588,59 @@ includes the tax code within the parenthesis in order to report it to the SRI.
|
||||
.. image:: ecuador/104-form.png
|
||||
:align: center
|
||||
:alt: Report 104 form for Ecuador.
|
||||
|
||||
ATS report
|
||||
----------
|
||||
|
||||
:ref:`Install <general/install>` the *ATS Report* (`l10n_ec_reports_ats`) module to enable
|
||||
downloading the ATS report in XML format.
|
||||
|
||||
.. note::
|
||||
The Ecuadorian *ATS Report* module is dependent on the previous installation of the *Accounting*
|
||||
app and the *Ecuadorian EDI module*.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
To issue electronic documents, ensure your company is configured as explained in the
|
||||
:ref:`electronic invoice <l10n_ec/configure-your-company>` section.
|
||||
|
||||
In the :abbr:`ATS (Anexo Transaccional Simplificado)`, every document generated in Odoo (invoices,
|
||||
vendor bills, sales and purchases withholdings, credit notes, and debit notes) will be included.
|
||||
|
||||
Vendor bills
|
||||
************
|
||||
|
||||
When generating a vendor bill, it is necessary to register the authorization number from the
|
||||
invoice that the vendor generated for the purchase. To do so, go to :menuselection:`Accounting
|
||||
--> Vendors --> Bills` and select the bill. Then, enter the number from the vendor's invoice in the
|
||||
:guilabel:`Authorization Number` field.
|
||||
|
||||
Credit and debit notes
|
||||
**********************
|
||||
|
||||
When generating a credit note or debit note manually or through importation, it is necessary to link
|
||||
this note to the sales invoice that is being modified by it.
|
||||
|
||||
.. note::
|
||||
Remember to add all required information to the documents before downloading the :abbr:`ATS
|
||||
(Anexo Transaccional Simplificado)` file. For example, add the *Authorization Number* and the
|
||||
*SRI Payment Method* on documents, when needed.
|
||||
|
||||
XML generation
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
To generate the :abbr:`ATS (Anexo Transaccional Simplificado)` report, go to
|
||||
:menuselection:`Accounting --> Reports --> Tax Report` and choose a time period for the desired
|
||||
:abbr:`ATS (Anexo Transaccional Simplificado)` report, then click :guilabel:`ATS`.
|
||||
|
||||
The downloaded XML file is ready to be uploaded to *DIMM Formularios*.
|
||||
|
||||
.. image:: ecuador/ats-report.png
|
||||
:align: center
|
||||
:alt: ATS report download for Ecuador in Odoo Accounting.
|
||||
|
||||
.. note::
|
||||
When downloading the :abbr:`ATS (Anexo Transaccional Simplificado)` report, Odoo generates a
|
||||
warning pop-up alerting the user if a document(s) has missing or incorrect data. Nevertheless,
|
||||
the user can still download the XML file.
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
@@ -1,73 +0,0 @@
|
||||
=======================
|
||||
Employment Hero Payroll
|
||||
=======================
|
||||
|
||||
The `Employment Hero <https://employmenthero.com/>`_ module synchronises payslip accounting entries
|
||||
(e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo.
|
||||
Payroll administration is still done in Employment Hero. We only record the **journal entries** in
|
||||
Odoo.
|
||||
|
||||
.. important::
|
||||
KeyPay was rebranded as **Employment Hero** in March 2023.
|
||||
|
||||
.. _employment_hero/configuration:
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Payroll` module
|
||||
(`l10n_employment_hero`).
|
||||
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
|
||||
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
|
||||
Integration`.
|
||||
|
||||
.. image:: employment_hero/employment-hero-integration.png
|
||||
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
|
||||
settings
|
||||
|
||||
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
|
||||
|
||||
.. image:: employment_hero/employment-hero-myaccount.png
|
||||
:alt: "Account Details" section on the Employment Hero dashboard
|
||||
|
||||
- The **Payroll URL** is left empty by default to avoid any confusion. Please fill it according
|
||||
to the documentation specific to your localization.
|
||||
|
||||
.. note::
|
||||
Employment hero is available for :ref:`Australia <australia/employment-hero>`,
|
||||
:ref:`Malaysia <malaysia/employment-hero>`,
|
||||
:ref:`New Zealand <new-zealand/employment-hero>`,
|
||||
:ref:`Singapore <singapore/employment-hero>`,
|
||||
and the :ref:`United Kingdom <united-kingdom/employment-hero>`.
|
||||
|
||||
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
|
||||
|
||||
.. image:: employment_hero/employment-hero-business-id.png
|
||||
:alt: The Employment Hero "Business ID" number is in the URL
|
||||
|
||||
- You can choose any Odoo journal to post the payslip entries.
|
||||
|
||||
How does the API work?
|
||||
----------------------
|
||||
|
||||
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
|
||||
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
|
||||
the same record in Employment Hero and Odoo.
|
||||
|
||||
.. image:: employment_hero/employment-hero-journal-entry.png
|
||||
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
|
||||
|
||||
By default, the synchronisation happens once per week. You can fetch the records manually by going
|
||||
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
|
||||
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
|
||||
|
||||
Employment Hero payslip entries also work based on double-entry bookkeeping.
|
||||
|
||||
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
|
||||
|
||||
.. image:: employment_hero/employment-hero-chart-of-accounts.png
|
||||
:alt: Chart of Accounts menu in Employment Hero
|
||||
|
||||
For the API to work, you need to create the same accounts as the default accounts of your Employment
|
||||
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
|
||||
types in Odoo to generate accurate financial reports.
|
||||
|
Before Width: | Height: | Size: 8.8 KiB |
@@ -164,48 +164,6 @@ Cancel`.
|
||||
the NIC e-Invoice portal. You can click :guilabel:`Process now` if you want to process the
|
||||
invoice immediately.
|
||||
|
||||
.. _india/e-invoice-negative-lines:
|
||||
|
||||
Management of negative lines in e-Invoices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Negative lines are typically used to represent discounts or adjustments associated with specific
|
||||
products or global discounts. The government portal prohibits the submission of data with negative
|
||||
lines, which means they need to be converted based on the HSN code and GST rate. This is done
|
||||
automatically by Odoo.
|
||||
|
||||
.. example::
|
||||
|
||||
Consider the following example:
|
||||
|
||||
+---------------------------------------------------------------------------------------------------+
|
||||
| **Product Details** |
|
||||
+=======================+==============+==================+==============+==============+===========+
|
||||
| **Product Name** | **HSN Code** | **Tax Excluded** | **Quantity** | **GST Rate** | **Total** |
|
||||
+-----------------------+--------------+------------------+--------------+--------------+-----------+
|
||||
| Product A | 123456 | 1,000 | 1 | 18% | 1,180 |
|
||||
+-----------------------+--------------+------------------+--------------+--------------+-----------+
|
||||
| Product B | 239345 | 1,500 | 2 | 5% | 3,150 |
|
||||
+-----------------------+--------------+------------------+--------------+--------------+-----------+
|
||||
| Discount on Product A | 123456 | -100 | 1 | 18% | -118 |
|
||||
+-----------------------+--------------+------------------+--------------+--------------+-----------+
|
||||
|
||||
Here's the transformed representation:
|
||||
|
||||
+-------------------------------------------------------------------------------------------------------------+
|
||||
| **Product Details** |
|
||||
+==================+==============+==================+==============+==============+==============+===========+
|
||||
| **Product Name** | **HSN Code** | **Tax Excluded** | **Quantity** | **Discount** | **GST Rate** | **Total** |
|
||||
+------------------+--------------+------------------+--------------+--------------+--------------+-----------+
|
||||
| Product A | 123456 | 1,000 | 1 | 100 | 18% | 1,062 |
|
||||
+------------------+--------------+------------------+--------------+--------------+--------------+-----------+
|
||||
| Product B | 239345 | 1,500 | 2 | 0 | 5% | 3,150 |
|
||||
+------------------+--------------+------------------+--------------+--------------+--------------+-----------+
|
||||
|
||||
In this conversion, negative lines have been transformed into positive discounts, maintaining
|
||||
accurate calculations based on the HSN Code and GST rate. This ensures a more straightforward and
|
||||
standardized representation in the E-invoice records.
|
||||
|
||||
.. _india/verify-e-invoice:
|
||||
|
||||
GST e-Invoice verification
|
||||
|
||||
@@ -126,59 +126,3 @@ Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur
|
||||
|
||||
.. image:: indonesia/indonesia-e-faktur-reset.png
|
||||
:align: center
|
||||
|
||||
.. _localization_indonesia/qris-qr:
|
||||
|
||||
QRIS QR code on invoices
|
||||
========================
|
||||
|
||||
`QRIS <https://qris.online/homepage/>`_ is a digital payment system that allows customers to make
|
||||
payments by scanning the QR code from their preferred e-wallet.
|
||||
|
||||
.. important::
|
||||
According to the `QRIS API documentation <https://qris.online/api-doc/create-invoice.php>`_,
|
||||
QRIS expires after 30 minutes. Due to this restriction, the QR code is not included in reports
|
||||
sent to customers and is only available on the customer portal.
|
||||
|
||||
Activate QR codes
|
||||
-----------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
|
||||
Payments` section, activate the :guilabel:`QR Codes` feature.
|
||||
|
||||
QRIS bank account configuration
|
||||
-------------------------------
|
||||
|
||||
Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for
|
||||
which you want to activate QRIS. Set the :guilabel:`QRIS API Key` and :guilabel:`QRIS Merchant ID`
|
||||
based on the information provided by QRIS.
|
||||
|
||||
.. important::
|
||||
The account holder's country must be set to `Indonesia` on its contact form.
|
||||
|
||||
.. image:: indonesia/qris-setup.png
|
||||
:alt: QRIS bank account configuration
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/bank`
|
||||
|
||||
Bank journal configuration
|
||||
--------------------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill
|
||||
out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab.
|
||||
|
||||
.. image:: indonesia/journal-bank-config.png
|
||||
:alt: Bank journal configuration
|
||||
|
||||
Issue invoices with QRIS QR codes
|
||||
---------------------------------
|
||||
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
|
||||
QR-code` option to `QRIS`.
|
||||
|
||||
.. image:: indonesia/invoice-qris.png
|
||||
:alt: Select QRIS QR-code option
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the QRIS QR code.
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@@ -1,15 +0,0 @@
|
||||
========
|
||||
Malaysia
|
||||
========
|
||||
|
||||
.. _malaysia/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Malaysia**, use
|
||||
the following value as :guilabel:`Payroll URL`: `https://apimy.yourpayroll.io/`.
|
||||
@@ -1,15 +0,0 @@
|
||||
===========
|
||||
New Zealand
|
||||
===========
|
||||
|
||||
.. _new-zealand/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **New Zealand**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://api.nzpayroll.co.nz/`.
|
||||
@@ -11,9 +11,9 @@ localization, such as a chart of accounts, taxes, and the BIR 2307 report. These
|
||||
template to get started with using Philippine accounting.
|
||||
|
||||
.. note::
|
||||
- When creating a new database and `Philippines` is selected as a country, the fiscal
|
||||
- When creating a new database and selecting the `Philippines` as a country, the fiscal
|
||||
localization module **Philippines - Accounting** is automatically installed.
|
||||
- If installing the module in an existing company, the **chart of accounts** and **taxes** will
|
||||
- If the module is installed in an existing company, the **chart of accounts** and **taxes** will
|
||||
*not* be replaced if there are already posted journal entries.
|
||||
- The BIR 2307 report is installed, but the withholding taxes may need to be manually created.
|
||||
|
||||
@@ -21,20 +21,22 @@ Chart of accounts and taxes
|
||||
---------------------------
|
||||
|
||||
A minimum configuration default chart of accounts is installed, and the following types of taxes are
|
||||
installed and also linked to the relevant account:
|
||||
installed and linked to the relevant account:
|
||||
|
||||
- VAT 12%
|
||||
- VAT Exempt
|
||||
- Withholding taxes
|
||||
- Sales and Purchase VAT 12%
|
||||
- Sales and Purchase VAT Exempt
|
||||
- Sales and Purchase VAT Zero-Rated
|
||||
- Purchase Withholding
|
||||
|
||||
For the withholding taxes, there is an additional :guilabel:`Philippines ATC` field under the
|
||||
:guilabel:`Philippines` tab.
|
||||
For the withholding taxes (:menuselection:`Configuration --> Taxes`), there is an additional
|
||||
:guilabel:`Philippines ATC` field under the :guilabel:`Philippines` tab.
|
||||
|
||||
.. image:: philippines/philippines-atc-code.png
|
||||
:alt: Philippines ATC code field set on taxes.
|
||||
|
||||
Taxes' ATC codes are used for the BIR 2307 report. If a tax is created manually, its ATC code must
|
||||
be added.
|
||||
.. note::
|
||||
Taxes' ATC codes are used for the BIR 2307 report. If a tax is created manually, its ATC code
|
||||
must be added.
|
||||
|
||||
Contacts
|
||||
--------
|
||||
@@ -59,8 +61,9 @@ For individuals not belonging to a company, identify them by using the following
|
||||
BIR 2307 report
|
||||
===============
|
||||
|
||||
**BIR 2307** report data, also known as *Certificate of Creditable Tax Withheld at Source*,
|
||||
can be generated for purchase orders and vendor payments with the applicable withholding taxes.
|
||||
**BIR 2307** report data, also known as `Certificate of Creditable Tax Withheld at Source
|
||||
<https://www.bir.gov.ph/index.php/bir-forms/certificates.html>`_, can be generated for purchase
|
||||
orders and vendor payments with the applicable withholding taxes.
|
||||
|
||||
To generate a BIR 2307 report, select one or multiple vendor bills from the list view, and click
|
||||
:menuselection:`Action --> Download BIR 2307 XLS`.
|
||||
@@ -68,7 +71,8 @@ To generate a BIR 2307 report, select one or multiple vendor bills from the list
|
||||
.. image:: philippines/philippines-multi-bill.png
|
||||
:alt: Multiple vendor bills selected with action to "Download BIR 2307 XLS".
|
||||
|
||||
The same action can be performed on a vendor bill from the form view.
|
||||
.. tip::
|
||||
The same action can be performed on a vendor bill from the form view.
|
||||
|
||||
A pop-up appears to review the selection, then click on :guilabel:`Generate`.
|
||||
|
||||
@@ -78,18 +82,67 @@ A pop-up appears to review the selection, then click on :guilabel:`Generate`.
|
||||
This generates the `Form_2307.xls` file that lists all the vendor bill lines with the applicable
|
||||
withholding tax.
|
||||
|
||||
The same process above can also be done for a *single* vendor :doc:`payment
|
||||
<../accounting/payments>` if they were linked to one or more :doc:`vendor bills
|
||||
<../accounting/payments>` with applied withholding taxes.
|
||||
The process above can also be used for a *single* vendor :doc:`payment <../accounting/payments>` if
|
||||
it is linked to one or more :doc:`vendor bills <../accounting/payments>` with applied withholding
|
||||
taxes.
|
||||
|
||||
.. note::
|
||||
- If there is no withholding tax applied, then the XLS file will not generate records for those
|
||||
vendor bill lines.
|
||||
- If no withholding tax is applied, then the XLS file will not generate records for those vendor
|
||||
bill lines.
|
||||
- When grouping payments for multiple bills, Odoo splits the payments based on the contact. From
|
||||
a payment, clicking :menuselection:`Action --> Download BIR 2307 XLS`, generates a report that
|
||||
a payment, clicking :menuselection:`Action --> Download BIR 2307 XLS` generates a report that
|
||||
only includes vendor bills related to that contact.
|
||||
|
||||
.. important::
|
||||
Odoo cannot generate the BIR 2307 PDF report or DAT files directly.
|
||||
The generated `Form_2307.xls` file can be exported to an *external* tool to convert it to BIR DAT
|
||||
or PDF format.
|
||||
Odoo cannot generate the BIR 2307 PDF report or DAT files directly. The generated
|
||||
:file:`Form_2307.xls` file can be exported to an *external* tool to convert it to BIR DAT or PDF
|
||||
format.
|
||||
|
||||
SLSP Report
|
||||
===========
|
||||
|
||||
The **SLSP** report, also known as the *Summary List of Sales and Purchases*, can be viewed and
|
||||
exported (in XLSX format). The report can be viewed from :menuselection:`Reporting --> Partner
|
||||
Reports --> Summary List of Sales and Purchases`.
|
||||
|
||||
The report is split into two sections, which can be accessed from their respective buttons at the
|
||||
top:
|
||||
|
||||
- | :guilabel:`Sales` for :abbr:`SLS (Summary List of Sales)` report
|
||||
| All customer invoices with the associated sales taxes applied are shown in this report.
|
||||
- | :guilabel:`Purchases` for :abbr:`SLP (Summary List of Purchases)` report
|
||||
| All vendor bills with the associated purchase taxes applied are shown in this report.
|
||||
|
||||
.. image:: philippines/slsp.png
|
||||
:alt: SLSP Report
|
||||
|
||||
By default, both reports exclude journal entries containing partners without a TIN number set and
|
||||
those with importation taxes set. To view or hide them, the :guilabel:`Options:` button gives
|
||||
additional filters to include these, among others:
|
||||
|
||||
- `Including Partners Without TIN`
|
||||
- `Including Importations`
|
||||
|
||||
.. important::
|
||||
Odoo cannot generate the DAT files directly. The :guilabel:`Export SLSP` and :guilabel:`XLSX`
|
||||
buttons export an XLSX file, which can be processed using an *external* tool to convert to the
|
||||
DAT format.
|
||||
|
||||
2550Q Tax report
|
||||
================
|
||||
|
||||
The tax report report is accessible by navigating to :menuselection:`Reporting --> Statement Reports
|
||||
--> Tax Report --> 2550Q(PH)`. The form is based on the latest *2550Q (Quarterly Value-Added Tax
|
||||
Return)* Jan. 2023 version.
|
||||
|
||||
.. image:: philippines/2550Q.png
|
||||
:alt: 2550Q Tax Report
|
||||
|
||||
.. tip::
|
||||
Most lines in the tax report are automatically computed based on the taxes. For more accurate
|
||||
reporting and filing of the tax report, manual journal entries can also be mapped to the tax
|
||||
report through preconfigured **Tax Grids** for each tax report line.
|
||||
|
||||
.. important::
|
||||
Odoo cannot generate the 2550Q BIR formatted PDF report directly. It should be used as a
|
||||
reference when externally filing the form manually or online.
|
||||
|
||||
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -52,16 +52,3 @@ QR-code` option to *EMV Merchant-Presented QR-code*.
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the PayNow QR code.
|
||||
|
||||
.. _singapore/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Singapore**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://apisg.yourpayroll.io/`.
|
||||
|
||||
|
||||
@@ -115,15 +115,3 @@ each submission:
|
||||
.. note::
|
||||
During this process, the :guilabel:`Connect to HMRC` button no longer appears for other UK-based
|
||||
companies.
|
||||
|
||||
.. _united-kingdom/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **United
|
||||
Kingdom**, use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.co.uk/`.
|
||||
|
||||
@@ -7,3 +7,4 @@ Integrations
|
||||
integrations/mail_plugins
|
||||
integrations/unsplash
|
||||
integrations/geolocation
|
||||
integrations/google_translate
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
================
|
||||
Google Translate
|
||||
================
|
||||
|
||||
*Google Translate* can be used to translate user generated text in the Odoo chatter.
|
||||
|
||||
Google API console
|
||||
==================
|
||||
|
||||
A majority of the setup for integrating *Google Translate* into Odoo is done with the *Google API
|
||||
console*. Once the following processes are complete, an *API key* is created to input in Odoo.
|
||||
|
||||
.. seealso::
|
||||
`Google Translate setup on Google <https://cloud.google.com/translate/docs/setup>`_
|
||||
|
||||
Create a new project
|
||||
--------------------
|
||||
|
||||
To get started, go to the `Google API Console <https://console.developers.google.com>`_. Then, log
|
||||
in with a *Google Workspace* account, if there is one. If not, log in with a personal Gmail account
|
||||
(this should match the email address that has billing attached to it).
|
||||
|
||||
Next, click :guilabel:`Create Project` on the far-right of the :guilabel:`OAuth consent screen`.
|
||||
|
||||
.. tip::
|
||||
If the *Google API Console* has existing projects, click the drop-down menu next to the
|
||||
:guilabel:`Google Cloud` icon, and a pop-over window appears. Next, click :guilabel:`New Project`
|
||||
top-right of the pop-over window.
|
||||
|
||||
On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo Translate`, and
|
||||
browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace
|
||||
organization*. If a personal Gmail account is being used, leave the :guilabel:`Location` as
|
||||
:guilabel:`No Organization`.
|
||||
|
||||
.. image:: google_translate/new-project.png
|
||||
:align: center
|
||||
:alt: Project Name and Location for Google OAuth.
|
||||
|
||||
Click on :guilabel:`Create` to finish this step.
|
||||
|
||||
API library
|
||||
-----------
|
||||
|
||||
Next, the *Cloud Translation API* needs to be installed on this newly-created project. To do that,
|
||||
click :menuselection:`Library` in the left menu. Then, search the term `Cloud Translation API`, and
|
||||
click into the result. This should be a *Google Enterprise API* labeled :guilabel:`Cloud Translation
|
||||
API`.
|
||||
|
||||
Click :guilabel:`Enable` to install the library on this project.
|
||||
|
||||
.. important::
|
||||
Using the *Google Translate* API **requires** a current billing account with `Google
|
||||
<https://https://myaccount.google.com/>`_.
|
||||
|
||||
Once a billing account is setup with *Google* and the library is enabled, click :guilabel:`Manage`
|
||||
to finish configuration on the API.
|
||||
|
||||
Create credentials
|
||||
------------------
|
||||
|
||||
Now that the project is set up, and the *Cloud Translation API* is enabled, credentials **must** be
|
||||
created. This includes the *API key*.
|
||||
|
||||
To begin this process, click :menuselection:`Credentials` in the left sidebar menu.
|
||||
|
||||
Then, click :guilabel:`Create Credentials` in the top menu, and select :guilabel:`API key` from the
|
||||
drop-down menu.
|
||||
|
||||
.. image:: google_translate/api-key.png
|
||||
:align: center
|
||||
:alt: Create an API key in the Google API console.
|
||||
|
||||
Copy the :guilabel:`API key` for use in the next section.
|
||||
|
||||
.. important::
|
||||
For security purposes, the usage of the *API key* can be restricted.
|
||||
|
||||
To do that, go to the *API restrictions* by clicking on :guilabel:`Edit API key` in the pop-over
|
||||
window, or by clicking on the listed API key on the :guilabel:`Credentials` page. From here, key
|
||||
restrictions can be set. This includes setting an application to restrict the use of the API key,
|
||||
and whether this API key can call any API.
|
||||
|
||||
It is recommended that the Odoo *Translate API* be restricted to **only** allow requests from the
|
||||
configured Odoo database and to the *Cloud Translation API*.
|
||||
|
||||
To add the website restriction, click :guilabel:`Websites`, under the :guilabel:`Set an
|
||||
application restriction`. Then, enter the address of the database *Google Translate* is being
|
||||
used in, by clicking on :guilabel:`Add`. Lastly, add the :abbr:`URL (Uniform Resource Locator)`,
|
||||
and click :guilabel:`Done`.
|
||||
|
||||
To restrict use of the key to a selected API, first, select :guilabel:`Restrict key`, under the
|
||||
:guilabel:`API restrictions` section. Then use the drop-down menu to choose the API being
|
||||
configured (*Cloud Translation API*).
|
||||
|
||||
.. tip::
|
||||
- Save the API key: copy the API key and store it somewhere secure.
|
||||
- Do **not** share the API key publicly or expose it in client-side code.
|
||||
|
||||
Odoo configuration
|
||||
==================
|
||||
|
||||
To access the integration in Odoo, navigate to the :menuselection:`Settings app --> Discuss
|
||||
section`. Enter the API key into the field labeled :guilabel:`Message Translation`. Then,
|
||||
:guilabel:`Save` the settings, and *Google Translate* can be used in any chatter throughout the
|
||||
database.
|
||||
|
||||
.. image:: google_translate/odoo-config.png
|
||||
:align: center
|
||||
:alt: Odoo configuration of the API key from the *Google API Console*.
|
||||
|
||||
Translate chatter
|
||||
=================
|
||||
|
||||
To translate a user's text from another language, click the :guilabel:`... (three dot)` icon menu to
|
||||
the right of the chatter. Then, select :guilabel:`Translate`. The content translates to the
|
||||
*language* set on the user's preferences.
|
||||
|
||||
.. image:: google_translate/google-translate.png
|
||||
:align: center
|
||||
:alt: Google Translate present in an Odoo database's chatter.
|
||||
|
||||
.. seealso::
|
||||
:ref:`language/change-user-language`
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 28 KiB |
@@ -100,18 +100,6 @@ printer.
|
||||
Epson and Star receipt printers and Zebra label printers do not need a driver to work. Make sure
|
||||
that no driver is selected for those printers.
|
||||
|
||||
The printer is detected but is not recognized correctly
|
||||
-------------------------------------------------------
|
||||
|
||||
If the printer is not recognized correctly by Odoo and the :abbr:`IoT (Internet of Things)` box, go
|
||||
to the form view of the device (:menuselection:`IoT App --> Devices -->Printer Device`) and change
|
||||
the subtype. The three options available are: :guilabel:`Receipt Printer`, :guilabel:`Label
|
||||
Printer`, and :guilabel:`Office Printer`.
|
||||
|
||||
.. image:: troubleshooting/sub-type.png
|
||||
:align: center
|
||||
:alt: Sub-type selection in a printer IoT device.
|
||||
|
||||
Epson configuration special case
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB |
@@ -73,6 +73,99 @@ Lastly, click :guilabel:`Flash`, and wait for the process to finish.
|
||||
An alternative software for flashing the micro SD card is `Raspberry Pi Imager
|
||||
<https://www.raspberrypi.com/software/>`_.
|
||||
|
||||
Windows IoT update
|
||||
==================
|
||||
|
||||
Windows virtual :abbr:`IoT (Internet of Things)` box may occasionally need an update to work
|
||||
properly.
|
||||
|
||||
The following processes cover the :ref:`uninstallation <iot/config/uninstall-windows-iot>` and
|
||||
:ref:`re-installation <iot/config/re-install-windows-iot>` of the Windows virtual :abbr:`IoT
|
||||
(Internet of Things)` box.
|
||||
|
||||
.. _iot/config/uninstall-windows-iot:
|
||||
|
||||
Uninstalling Windows IoT
|
||||
------------------------
|
||||
|
||||
Prior to upgrading the Windows virtual :abbr:`IoT (Internet of Things)` box, the previous version
|
||||
should be uninstalled first.
|
||||
|
||||
.. important::
|
||||
Before uninstalling a previous version of the Windows virtual :abbr:`IoT (Internet of Things)`
|
||||
box, ensure that there is a newer version of Windows virtual :abbr:`IoT (Internet of Things)` box
|
||||
available, compared to the version currently installed. To do so, navigate to the `Odoo Nightly
|
||||
builds <https://nightly.odoo.com/>`_ page.
|
||||
|
||||
On the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds (stable version)
|
||||
--> windows/` to view the date next to the :file:`odoo_(version).latest.exe` file; where
|
||||
*(version)* is equal to the version of Odoo (e.g. 16.0, 17.0). The latest version of the Windows
|
||||
virtual :abbr:`IoT (Internet of Things)` box can be downloaded by selecting this file, or it is
|
||||
always available at the `Odoo Download <https://odoo.com/download/>`_ page.
|
||||
|
||||
Uninstalling the Windows virtual :abbr:`IoT (Internet of Things)` box is done through the Windows
|
||||
program manager.
|
||||
|
||||
On any version of Windows, search for `program` to open the :menuselection:`Programs --> Programs
|
||||
and Features` section of the :guilabel:`Control Panel`. Then, select :guilabel:`Uninstall or change
|
||||
a program`. Next, search for `Odoo`, and click the :guilabel:`... (three dot)` menu on the
|
||||
:guilabel:`Odoo.exe` program to uninstall.
|
||||
|
||||
Confirm the uninstallation, and follow the steps to uninstall through the Odoo uninstall wizard.
|
||||
|
||||
.. _iot/config/re-install-windows-iot:
|
||||
|
||||
Download and re-install
|
||||
-----------------------
|
||||
|
||||
The latest version of the Windows virtual :abbr:`IoT (Internet of Things)` box can be downloaded
|
||||
from the `Odoo Nightly builds <https://nightly.odoo.com/>`_ page or it is always available at the
|
||||
`Odoo Download <https://odoo.com/download/>`_ page.
|
||||
|
||||
To download from the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds
|
||||
(stable version) --> windows/` to and select the :file:`odoo_(version).latest.exe` file; where
|
||||
*(version)* is equal to the version of Odoo (e.g. 16.0, 17.0).
|
||||
|
||||
To download from the :guilabel:`Odoo Download` page, find the section for the version of Odoo (e.g.
|
||||
16.0, 17.0), and select the :guilabel:`Download` button for :guilabel:`Windows`.
|
||||
|
||||
Next, install and setup the downloaded Odoo :file:`.exe` file. After the instructions screen, click
|
||||
:guilabel:`Next` to start the installation, and agree to the :abbr:`TOS (Terms of Service)`.
|
||||
|
||||
During the next step of the re-installation, select :guilabel:`Odoo IoT` from the :guilabel:`Select
|
||||
the type of install` drop-down menu.
|
||||
|
||||
.. example::
|
||||
For reference, the following should be installed:
|
||||
|
||||
- :guilabel:`Odoo server`
|
||||
- :guilabel:`Odoo IoT`
|
||||
- :guilabel:`Nginx WebServer`
|
||||
- :guilabel:`Ghostscript interpreter`
|
||||
|
||||
Ensure there is enough space on the computer for the installation, then click :guilabel:`Next`.
|
||||
|
||||
Set the destination and complete the installation
|
||||
-------------------------------------------------
|
||||
|
||||
To complete the re-installation, select the :guilabel:`Destination Folder`, and click
|
||||
:guilabel:`Install`.
|
||||
|
||||
.. warning::
|
||||
Choosing `C:\\odoo` as the install location allows for the *Nginx* server to start. Odoo's
|
||||
Windows virtual :abbr:`IoT (Internet of Things)` box software should **not** be installed inside
|
||||
any of the Windows user's directories. Doing so does **not** allow for *Nginx* to initialize.
|
||||
|
||||
The installation may take a few minutes. When complete, click :guilabel:`Next` to continue.
|
||||
|
||||
Then, ensure that the :guilabel:`Start Odoo` box is checked, and click :guilabel:`Finish`. After
|
||||
installation, the Odoo server runs, and automatically opens `http://localhost:8069` on a web
|
||||
browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage.
|
||||
|
||||
.. tip::
|
||||
A :ref:`restart <iot/restart_windows_iot>` of the Windows IoT program may be necessary if the web
|
||||
browser does not display anything.
|
||||
|
||||
.. _iot/config/homepage-upgrade:
|
||||
|
||||
Update from the IoT box home page
|
||||
|
||||
@@ -182,7 +182,7 @@ Configure new rule
|
||||
On the :menuselection:`Rule Type` screen, select :guilabel:`Port`. Then click :guilabel:`Next`. From
|
||||
the :menuselection:`Protocol and Ports` page leave the rule application to :guilabel:`TCP`. Then,
|
||||
select :guilabel:`Specific Local Ports` for the :guilabel:`ports` option. In the text box, type in
|
||||
`8069`. Finally click :guilabel:`Next` to continue to the next step.
|
||||
`8069, 443`. Finally, click :guilabel:`Next` to continue to the next step.
|
||||
|
||||
On the :menuselection:`Actions` page, select :guilabel:`Allow the connection` and click
|
||||
:guilabel:`Next`. The following page on the :menuselection:`Rule Configuration` wizard is the
|
||||
|
||||
@@ -1,67 +1,184 @@
|
||||
=============
|
||||
Access Rights
|
||||
Access rights
|
||||
=============
|
||||
|
||||
Activate the :ref:`developer mode <developer-mode>`, then go to :menuselection:`Settings --> Users &
|
||||
Companies --> Groups`.
|
||||
*Access rights* are permissions that determine the content and applications users can access and
|
||||
edit. In Odoo, these permissions can be set for individual users or for groups of users. Limiting
|
||||
permissions to only those who need them ensures that users do not modify or delete anything they
|
||||
should not have access to.
|
||||
|
||||
Groups
|
||||
======
|
||||
**Only** an *administrator* can change access rights.
|
||||
|
||||
| When choosing the groups the user can have access under
|
||||
:ref:`Access Rights <users/add-individual>`, details of the rules and inheritances of that group
|
||||
are not shown, so this is when the menu *Groups* comes along. *Groups* are created to define rules
|
||||
to models within an application.
|
||||
| Under *Users*, have a list of the current ones. The ones with administrative rights are shown
|
||||
in black.
|
||||
.. danger::
|
||||
Making changes to access rights can have a detrimental impact on the database. This includes
|
||||
*impotent admin*, which means that no user in the database can make changes to the access rights.
|
||||
For this reason, Odoo recommends contacting an Odoo Business Analyst, or our Support Team, before
|
||||
making changes.
|
||||
|
||||
.. image:: access_rights/groups-users.png
|
||||
.. tip::
|
||||
A user **must** have the specific *Administration* access rights set on their user profile, in
|
||||
order to make changes on another user's settings for access rights.
|
||||
|
||||
To access this setting, navigate to :menuselection:`Settings app --> Manage users --> select a
|
||||
user --> Access Rights tab --> Administration section --> Administration field`.
|
||||
|
||||
Once at the setting, an already existing administrator **must** change the setting in the
|
||||
:guilabel:`Administration` field to :guilabel:`Access Rights`.
|
||||
|
||||
Once complete, click :guilabel:`Save` to save the changes, and implement the user as an
|
||||
administrator.
|
||||
|
||||
Users
|
||||
=====
|
||||
|
||||
The access rights for :ref:`individual users <users/add-individual>` are set when the user is added
|
||||
to the database, but they can be adjusted at any point in the user's profile.
|
||||
|
||||
To make changes to a user's rights, click on the desired user to edit their profile.
|
||||
|
||||
.. image:: access_rights/navigate-to-users-menu.png
|
||||
:align: center
|
||||
:alt: View of a group’s form emphasizing the tab users in Odoo
|
||||
:alt: Users menu in the Users & Companies section of the Settings app of Odoo.
|
||||
|
||||
*Inherited* means that users added to this application group are automatically added to the
|
||||
following ones. In the example below, users who have access to the group *Administrator* of *Sales*
|
||||
also have access to *Website/Restricted Editor* and *Sales/User: All Documents*.
|
||||
On the user's profile page, in the :guilabel:`Access Rights` tab, scroll down to view the current
|
||||
permissions.
|
||||
|
||||
.. image:: access_rights/groups-inherited.png
|
||||
For each app, use the drop-down menu to select what level of permission this user should have. The
|
||||
options vary for each section, yet the most common are: :guilabel:`Blank/None`, :guilabel:`User: Own
|
||||
Documents`, :guilabel:`User: All Documents`, or :guilabel:`Administrator`.
|
||||
|
||||
The :guilabel:`Administration` field in the :guilabel:`Access Rights` tab has the following options:
|
||||
:guilabel:`Settings` or :guilabel:`Access Rights`.
|
||||
|
||||
.. image:: access_rights/user-permissions-dropdown-menu.png
|
||||
:align: center
|
||||
:height: 330
|
||||
:alt: View of a group’s form emphasizing the tab inherited in Odoo
|
||||
:alt: The Sales apps drop-down menu to set the user's level of permissions.
|
||||
|
||||
Create and modify groups
|
||||
========================
|
||||
|
||||
*Groups* are app-specific sets of permissions that are used to manage common access rights for a
|
||||
large amount of users. Administrators can modify the existing groups in Odoo, or create new ones to
|
||||
define rules for models within an application.
|
||||
|
||||
To access groups, first activate Odoo's :ref:`developer mode <developer-mode>`, then go to
|
||||
:menuselection:`Settings app --> Users & Companies --> Groups`.
|
||||
|
||||
.. image:: access_rights/click-users-and-companies.png
|
||||
:align: center
|
||||
:alt: Groups menu in the Users & Companies section of the Settings app of Odoo.
|
||||
|
||||
To create a new group from the :guilabel:`Groups` page, click :guilabel:`Create`. Then, from the
|
||||
blank group form, select an :guilabel:`Application`, and complete the group form (detailed below).
|
||||
|
||||
To modify existing groups, click on an existing group from the list displayed on the
|
||||
:guilabel:`Groups` page, and edit the contents of the form.
|
||||
|
||||
Enter a :guilabel:`Name` for the group and tick the checkbox next to :guilabel:`Share Group`, if
|
||||
this group was created to set access rights for sharing data with some users.
|
||||
|
||||
.. important::
|
||||
Remember to always test the settings being changed in order to ensure that they are being applied
|
||||
to the needed and right users.
|
||||
Always test the settings being changed to ensure they are being applied to the correct users.
|
||||
|
||||
The *Menus* tab is where you define which menus (models) the user can have access to.
|
||||
The group form contains multiple tabs for managing all elements of the group. In each tab, click
|
||||
:guilabel:`Add a line` to add a new row for users or rules, and click the :guilabel:`❌ (remove)`
|
||||
icon to remove a row.
|
||||
|
||||
.. image:: access_rights/groups-menus.png
|
||||
.. image:: access_rights/groups-form.png
|
||||
:align: center
|
||||
:height: 330
|
||||
:alt: View of a group’s form emphasizing the tab menus in Odoo
|
||||
:alt: Tabs in the Groups form to modify the settings of the group.
|
||||
|
||||
*Access Rights* rules are the first level of rights. The field is composed of the object name, which
|
||||
is the technical name given to a model. For each model, enable the following options as appropriate:
|
||||
- :guilabel:`Users` tab: lists the current users in the group. Users listed in black have
|
||||
administrative rights. Users without administrative access appear in blue. Click :guilabel:`Add a
|
||||
line` to add users to this group.
|
||||
- :guilabel:`Inherited` tab: inherited means that users added to this group are automatically added
|
||||
to the groups listed on this tab. Click :guilabel:`Add a line` to add inherited groups.
|
||||
|
||||
- *Read*: the values of that object can be only seen by the user.
|
||||
- *Write*: the values of that object can be edited by the user.
|
||||
- *Create*: values for that object can be created by the user.
|
||||
- *Delete*: the values of that object can be deleted by the user.
|
||||
.. example::
|
||||
For example, if the group *Sales/Administrator* lists the group *Website/Restricted Editor* in
|
||||
its :guilabel:`Inherited` tab, then any users added to the *Sales/Administrator* group
|
||||
automatically receive access to the *Website/Restricted Editor* group, as well.
|
||||
|
||||
.. image:: access_rights/groups-access-rights.png
|
||||
:align: center
|
||||
:alt: View of a group’s form emphasizing the tab access rights in Odoo
|
||||
- :guilabel:`Menus` tab: defines which menus/models the group can have access to. Click
|
||||
:guilabel:`Add a line` to add a specific menu.
|
||||
- :guilabel:`Views` tab: lists which views in Odoo the group has access to. Click :guilabel:`Add a
|
||||
line` to add a view to the group.
|
||||
- :guilabel:`Access Rights` tab: lists the first level of rights (models) that this group has access
|
||||
rights to. Click :guilabel:`Add a line` to link access rights to this group. In this tab, the
|
||||
:guilabel:`Model` column represents the common name of the menu/model, and the :guilabel:`Name`
|
||||
column represents the technical name given to the model. For each model, enable the following
|
||||
options as appropriate:
|
||||
|
||||
| As a second layer of editing and visibility rules, *Record Rules* can be formed. They overwrite,
|
||||
or refine, the *Access Rights*.
|
||||
| A record rule is written using a *Domain*. Domains are conditions used to filter or searching
|
||||
data. Therefore, a domain expression is a list of conditions. For each rule, choose among the
|
||||
following options: *Read*, *Write*, *Create* and *Delete* values.
|
||||
- :guilabel:`Read`: users can see the object's existing values.
|
||||
- :guilabel:`Write`: users can edit the object's existing values.
|
||||
- :guilabel:`Create`: users can create new values for the object.
|
||||
- :guilabel:`Delete`: users can delete values for the object.
|
||||
|
||||
.. image:: access_rights/groups-record-rules.png
|
||||
:align: center
|
||||
:alt: View of a group’s form emphasizing the tab record rules in Odoo
|
||||
.. tip::
|
||||
First try searching for the common name of the model in the drop-down menu of the
|
||||
:guilabel:`Model` column. The :guilabel:`Model` technical name can be found by expanding the
|
||||
model common name, which can be done by clicking the :guilabel:`(external link)` icon.
|
||||
|
||||
The model technical name can also be accessed in :ref:`developer mode <developer-mode>`.
|
||||
|
||||
On a form, navigate to any field, and hover over the field name. A box of backend information
|
||||
reveals itself with the specific Odoo :guilabel:`Object` name in the backend. This is the
|
||||
technical name of the model that should be added.
|
||||
|
||||
.. image:: access_rights/technical-info.png
|
||||
:align: center
|
||||
:alt: Technical information shown on a field of a model, with object highlighted.
|
||||
|
||||
- :guilabel:`Record Rules`: lists the second layer of editing and visibility rights.
|
||||
:guilabel:`Record Rules` overwrite, or refine, the group's access rights. Click :guilabel:`Add a
|
||||
line` to add a record rule to this group. For each rule, choose values for the following options:
|
||||
|
||||
- :guilabel:`Apply for Read`.
|
||||
- :guilabel:`Apply for Write`.
|
||||
- :guilabel:`Apply for Create`.
|
||||
- :guilabel:`Apply for Delete`.
|
||||
|
||||
.. important::
|
||||
Record rules are written using a *domain*, or conditions that filter data. A domain expression
|
||||
is a list of such conditions. For example:
|
||||
|
||||
`[('mrp_production_ids', 'in', user.partner_id.commercial_partner_id.production_ids.ids)]`
|
||||
|
||||
This record rule is to enable MRP consumption warnings for subcontractors.
|
||||
|
||||
Odoo has a library of preconfigured record rules for ease of use. Users without knowledge of
|
||||
domains (and domain expressions) should consult an Odoo Business Analyst, or the Odoo Support
|
||||
Team, before making changes.
|
||||
|
||||
Superuser mode
|
||||
==============
|
||||
|
||||
*Superuser mode* allows the user to bypass record rules and access rights. To activate *Superuser
|
||||
mode*, first, activate :ref:`developer mode <developer-mode>`. Then, navigate to the *debug* menu,
|
||||
represented by a :guilabel:`🪲 (bug)` icon, located in the top banner.
|
||||
|
||||
Finally, towards the bottom of the menu, click :guilabel:`Become Superuser`.
|
||||
|
||||
.. important::
|
||||
Making changes in access rights can have a big impact on the database. For this reason, we
|
||||
recommend you to contact your Odoo Business Analyst or our Support Team, unless you have
|
||||
knowledge about Domains in Odoo.
|
||||
Only users with *Settings* access for the *Administration* section of the *Access Rights* (in
|
||||
their user profile) are allowed to log in to *Superuser mode*.
|
||||
|
||||
.. danger::
|
||||
*Superuser mode* allows for circumvention of record rules and access rights, and therefore,
|
||||
should be exercised with extreme caution.
|
||||
|
||||
Upon exiting *Superuser mode*, users may be locked out of the database, due to changes that were
|
||||
made. This can cause *impotent admin*, or an administrator without the ability to change access
|
||||
rights/settings.
|
||||
|
||||
In this case contact Odoo Support here: `new help ticket <https://www.odoo.com/help>`_. The
|
||||
support team is able to restore access using a support login.
|
||||
|
||||
To leave *Superuser mode*, log out of the account, by navigating to the upper-right corner, and
|
||||
clicking on the :guilabel:`OdooBot` username. Then, select the :guilabel:`Log out` option.
|
||||
|
||||
.. tip::
|
||||
An alternative way to activate *Superuser mode* is to login as a superuser. To do that, navigate
|
||||
to the login screen, and enter the appropriate :guilabel:`Email` and :guilabel:`Password`.
|
||||
|
||||
Instead of clicking :guilabel:`Login`, click :guilabel:`Log in as superuser`.
|
||||
|
||||
|
After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
@@ -23,6 +23,8 @@ select a language to install and click on **LOAD.**
|
||||
If you check the "Websites to translate" checkbox you will have the option
|
||||
to change the navigation language on your website.
|
||||
|
||||
.. _language/change-user-language:
|
||||
|
||||
Change your language
|
||||
====================
|
||||
|
||||
|
||||
@@ -509,7 +509,7 @@ regardless.
|
||||
- :guilabel:`Application Settings`: enter the employee's :guilabel:`Billing Time Target` for the
|
||||
billing rate leader board in the *Timesheets* application. Next, enter the :guilabel:`Hourly Cost`
|
||||
in a XX.XX format. This is factored in when the employee is working at a :doc:`work center
|
||||
<../../inventory_and_mrp/manufacturing/management/using_work_centers>`.
|
||||
<../../inventory_and_mrp/manufacturing/advanced_configuration/using_work_centers>`.
|
||||
|
||||
If applicable, enter the :guilabel:`Fleet Mobility Card` number.
|
||||
|
||||
|
||||
@@ -106,8 +106,8 @@ The contract template forms the basis of an offer, and can be modified for speci
|
||||
employees, when necessary. If a contract template is created or modified in the *Payroll*
|
||||
application, the changes are also reflected in the *Recruitment* application.
|
||||
|
||||
To view all the current contract templates in the database, navigate to :menuselection:`Payroll
|
||||
app --> Configuration --> Contracts: Templates`.
|
||||
To view all the current contract templates in the database, navigate to :menuselection:`Payroll app
|
||||
--> Configuration --> Contracts: Templates`.
|
||||
|
||||
On the :guilabel:`Contract Templates` page, all current contract templates appear in a list view. To
|
||||
view the details of a contract template, click anywhere on the line to open the contract form. The
|
||||
@@ -219,6 +219,8 @@ list.
|
||||
:align: center
|
||||
:alt: The employment types in the database by default, in a list view.
|
||||
|
||||
.. _payroll/work-entries:
|
||||
|
||||
Work entries
|
||||
============
|
||||
|
||||
|
||||
@@ -2,36 +2,42 @@
|
||||
Job positions
|
||||
=============
|
||||
|
||||
In the default :menuselection:`Recruitment` dashboard view, all job positions are shown, regardless
|
||||
of status. Current published positions with active applicants are shown, as well as job positions
|
||||
that have been created but have not yet been published.
|
||||
In Odoo *Recruitment*, all job positions are shown on the default dashboard in the *Recruitment*
|
||||
app. This includes positions that are being actively recruited for, as well as inactive positions.
|
||||
|
||||
Each job position is shown in an individual kanban card. If the job position is active and
|
||||
candidates can apply, then a :guilabel:`Published` banner will appear in the top-right corner of the
|
||||
card.
|
||||
Each job position is shown in an individual Kanban card. If the job position is active, and
|
||||
candidates can apply, a :guilabel:`Published` banner appears in the top-right corner of the card.
|
||||
|
||||
View submitted applications by clicking anywhere on a job position card.
|
||||
|
||||
.. image:: new_job/jobs.png
|
||||
:align: center
|
||||
:alt: Main dashboard view of Recruitment showing all job positions.
|
||||
:alt: Main dashboard view of Recruitment app showing all job positions.
|
||||
|
||||
Create a new job position
|
||||
=========================
|
||||
|
||||
Create a new job position from the main Recruitment dashboard by clicking the :guilabel:`New` button
|
||||
in the top-left corner.
|
||||
To create a new job position from the main dashboard in the *Recruitment* app, click the
|
||||
:guilabel:`New` button in the top-left corner, and a :guilabel:`Create a Job Position` modal
|
||||
appears.
|
||||
|
||||
Then, a :guilabel:`Create a Job Position` pop-up window will appear. From here, enter the name of
|
||||
the position (such as `Sales Manager`, `Mechanical Engineer`, etc.). When complete, click the
|
||||
:guilabel:`Create` button to save the entry, or the :guilabel:`Discard` button to delete it.
|
||||
First, enter the name of the :guilabel:`Job Position` (such as `Sales Manager`, `Mechanical
|
||||
Engineer`, etc.) in the field.
|
||||
|
||||
Next, enter an :guilabel:`Application email` by typing in the first half of the email address in the
|
||||
first field, then select the second half of the email using the drop-down menu in the second field.
|
||||
Applicants can send a resumé to this specific email address, and Odoo creates an application for
|
||||
them automatically.
|
||||
|
||||
When complete, click the :guilabel:`Create` button to save the entry, or the :guilabel:`Discard`
|
||||
button to delete it.
|
||||
|
||||
.. image:: new_job/job-title.png
|
||||
:align: center
|
||||
:alt: Create a new job position.
|
||||
|
||||
Once the job position has been created, it will appear as a card in the kanban view on the main
|
||||
:guilabel:`Recruitment` dashboard.
|
||||
Once the job position has been created, it appears as a card in the Kanban view on the main
|
||||
*Recruitment* app dashboard.
|
||||
|
||||
Edit a new job position
|
||||
-----------------------
|
||||
@@ -44,40 +50,43 @@ options, and then click :guilabel:`Configuration` to edit the details.
|
||||
:align: center
|
||||
:alt: Edit the job position card.
|
||||
|
||||
Enter the job description in the :guilabel:`Job Summary` tab. This information is what is visible to
|
||||
potential applicants when searching for available jobs.
|
||||
|
||||
Recruitment
|
||||
~~~~~~~~~~~
|
||||
|
||||
All the basic information about the job position is listed under the :guilabel:`Recruitment` tab.
|
||||
None of the fields are required, but it is a good idea to provide at least a few details, such as
|
||||
where the job is located.
|
||||
|
||||
None of the fields are required, but it is important to configure and populate the
|
||||
:guilabel:`Department`, :guilabel:`Location`, :guilabel:`Employment Type`, and :guilabel:`Job
|
||||
Summary` fields, as they are all visible to prospective applicants on the website.
|
||||
|
||||
The fields can be filled out as follows:
|
||||
|
||||
- :guilabel:`Department`: select the relevant department for the job position.
|
||||
- :guilabel:`Job Location`: select the physical address for the job.
|
||||
- :guilabel:`Employment Type`: select what type of position the job is, such as
|
||||
:guilabel:`Full-Time`, :guilabel:`Part-Time`, etc.
|
||||
- :guilabel:`Company`: select the company the job is for.
|
||||
- :guilabel:`Department`: select the relevant department for the job position. This is visible on
|
||||
the website.
|
||||
- :guilabel:`Job Location`: select the physical address for the job. If the job position is remote,
|
||||
leave this field blank. This is visible on the website.
|
||||
- :guilabel:`Email Alias`: enter an email address to which applicants can send a resumé. Once
|
||||
emailed, Odoo automatically creates an application for them.
|
||||
- :guilabel:`Employment Type`: select what type of position the job is, using the drop-down menu.
|
||||
The default options are :guilabel:`Permanent`, :guilabel:`Temporary`, :guilabel:`Seasonal`,
|
||||
:guilabel:`Interim`, :guilabel:`Full-Time`, and :guilabel:`Part-Time`. This is visible on the
|
||||
website.
|
||||
- :guilabel:`Company`: select the company the job is for. This field only appears if using a
|
||||
multi-company database.
|
||||
- :guilabel:`Target`: enter the number of employees to be hired for this position.
|
||||
- :guilabel:`Is Published`: activate this option to publish the job online.
|
||||
- :guilabel:`Website`: select the website where the job will be published.
|
||||
- :guilabel:`Recruiter`: select the person who will be doing the recruiting for this role.
|
||||
- :guilabel:`Interviewers`: select who should perform the interview(s). Multiple people can be
|
||||
- :guilabel:`Website`: select the website the job is published on.
|
||||
- :guilabel:`Recruiter`: select the person responsible for recruiting this role.
|
||||
- :guilabel:`Interviewers`: select who should perform the interviews. Multiple people can be
|
||||
selected.
|
||||
- :guilabel:`Interview Form`: select an :ref:`Interview form <interview>` that applicants will fill
|
||||
out prior to their interview.
|
||||
- :guilabel:`Contract Template`: select a contract template that will be used when offering the job
|
||||
to a candidate.
|
||||
- :guilabel:`Interview Form`: select an :ref:`Interview form <recruitment/interview>` that
|
||||
applicants fill out prior to their interview.
|
||||
- :guilabel:`Contract Template`: select a contract template to be used when offering the job to a
|
||||
candidate.
|
||||
- :guilabel:`Process Details` section: this section contains information that is displayed online
|
||||
for the job position. This informs the applicants of the timeline and steps for the recruitment
|
||||
process, so they know when to expect a reply.
|
||||
|
||||
- :guilabel:`Time to Answer`: enter the number of days before the applicant is contacted.
|
||||
- :guilabel:`Process`: enter the various stages the candidate will go through during the
|
||||
recruitment process.
|
||||
- :guilabel:`Process`: enter the various stages the candidate goes through during the recruitment
|
||||
process.
|
||||
- :guilabel:`Days to get an Offer`: enter the number of days before the applicant should expect
|
||||
an offer after the recruitment process has ended.
|
||||
|
||||
@@ -86,11 +95,13 @@ The fields can be filled out as follows:
|
||||
selected from a drop-down menu. The text is displayed on the website exactly as it appears in
|
||||
this tab.
|
||||
|
||||
Finally, enter the job description in the :guilabel:`Job Summary` tab.
|
||||
|
||||
.. image:: new_job/recruitment-tab.png
|
||||
:align: center
|
||||
:alt: Enter job information details in the recruitment tab.
|
||||
|
||||
.. _interview:
|
||||
.. _recruitment/interview:
|
||||
|
||||
Create interview form
|
||||
---------------------
|
||||
@@ -99,350 +110,27 @@ An *Interview Form* is used to determine if a candidate is a good fit for a job
|
||||
forms can be as specific or general as desired, and can take the form of a certification, an exam,
|
||||
or a general questionnaire. Interview forms are determined by the recruitment team.
|
||||
|
||||
All interview forms must be created, there are no pre-configured forms in Odoo. To create an
|
||||
interview form, start from the recruitment tab of the :guilabel:`Job Position` form. In the
|
||||
:guilabel:`Interview Form` field, enter a name for the new interview form. As the name is typed,
|
||||
several options populate beneath the entry, :guilabel:`Create (interview form name)`,
|
||||
:guilabel:`View all`, and :guilabel:`Create and edit...`. Click :guilabel:`Create and edit...`. and
|
||||
a :guilabel:`Create Interview Form` pop-up window appears.
|
||||
Before creating an interview form, ensure the proper settings are enabled. Navigate to
|
||||
:menuselection:`Recruitment app --> Configuration --> Settings`, and under the
|
||||
:guilabel:`Recruitment Process` section, ensure the :guilabel:`Send Interview Survey` option is
|
||||
enabled.
|
||||
|
||||
Since there are no pre-configured forms in Odoo, all interview forms must be created. To create an
|
||||
interview form, start from the :guilabel:`Recruitment` tab of the :guilabel:`Job Position` form. In
|
||||
the :guilabel:`Interview Form` field, enter a name for the new interview form. As the name is typed,
|
||||
several options populate beneath the entry: :guilabel:`Create (interview form name)`,
|
||||
:guilabel:`Search More...`, and :guilabel:`Create and edit...`. Click :guilabel:`Create and edit...`
|
||||
and a :guilabel:`Create Interview Form` modal appears.
|
||||
|
||||
.. image:: new_job/blank-interview-form.png
|
||||
:align: center
|
||||
:alt: The blank interview form modal.
|
||||
|
||||
.. note::
|
||||
The option :guilabel:`View all` only appears if there are any interview forms already created.
|
||||
If no interview forms exist, the only options available are :guilabel:`Create (interview form
|
||||
name)`, and :guilabel:`Create and edit...`.
|
||||
The option :guilabel:`Search More...` only appears if there are any interview forms already
|
||||
created. If no interview forms exist, the only options available are :guilabel:`Create (interview
|
||||
form name)`, and :guilabel:`Create and edit...`.
|
||||
|
||||
First, enter a name for the form in the :guilabel:`Name` field. This should be indicative of when
|
||||
the form should be used. For example, is the form specific to a job position, or is it a general
|
||||
form that can be used for all recruitment scenarios?
|
||||
|
||||
Next, select what kind of interview form is being created. The default is :guilabel:`Custom`, which
|
||||
is pre-selected. The various options are :guilabel:`Survey`, :guilabel:`Live session`,
|
||||
:guilabel:`Assessment`, :guilabel:`Custom`, and :guilabel:`Appraisal`.
|
||||
|
||||
Then select the person responsible for the form from the drop-down menu for the
|
||||
:guilabel:`Responsible` field.
|
||||
|
||||
If desired, an image can be added to the interview form. Mouse over the camera icon on the far right
|
||||
and a :guilabel:`✏️ (pencil)` icon appears. Click the :guilabel:`✏️ (pencil)` icon and a file
|
||||
explorer window appears. Navigate to the desired image file, then click :guilabel:`Open` to select
|
||||
it.
|
||||
|
||||
.. image:: new_job/create-interview-form.png
|
||||
:align: center
|
||||
:alt: The top portion of the new interview form with everything filled out and selected.
|
||||
|
||||
Questions
|
||||
~~~~~~~~~
|
||||
|
||||
In the :guilabel:`Questions` tab, click on :guilabel:`Add a section` to add a section to the form. A
|
||||
line appears, and a section heading can be entered. When complete, click off the line, or press
|
||||
enter to lock in the new section on the form.
|
||||
|
||||
Next, click :guilabel:`Add a question` to add a question to the section. A :guilabel:`Create
|
||||
Sections and Questions` pop-up window appears where the question details are entered. Type out the
|
||||
question in the top line.
|
||||
|
||||
There are several :guilabel:`Question Types` to choose from:
|
||||
|
||||
- :guilabel:`Multiple choice: only one answer`: a multiple choice question that only allows the
|
||||
candidate to select one answer
|
||||
- :guilabel:`Multiple choice: multiple answers allowed`: a multiple choice question that allows the
|
||||
candidate to select multiple answers
|
||||
- :guilabel:`Multiple Lines Text Box`: allows the applicant to enter several lines of text
|
||||
- :guilabel:`Single Line Text Box`: limits the applicant to only a single line of text
|
||||
- :guilabel:`Numerical Value`: only allows a number to be entered
|
||||
- :guilabel:`Date`: a calendar module is presented to select a date
|
||||
- :guilabel:`Datetime`: a calendar module and a clock icon is presented to select a date and time
|
||||
- :guilabel:`Matrix`: a customizable table that allows the candidate to choose an answer for each
|
||||
row
|
||||
|
||||
After selecting a question type, a sample question appears in gray. This represents how the question
|
||||
will be displayed to applicants.
|
||||
|
||||
.. image:: new_job/questions.png
|
||||
:align: center
|
||||
:alt: Add a new question to the interview form.
|
||||
|
||||
Questions and sections can be reorganized. Move them by clicking and dragging individual section
|
||||
headings or question lines to their desired position(s).
|
||||
|
||||
Sections are indicated by a gray background, while questions have a white background.
|
||||
|
||||
.. image:: new_job/questions-matrix.png
|
||||
:align: center
|
||||
:alt: A sample of categories and questions for a candidate.
|
||||
|
||||
Answers
|
||||
*******
|
||||
|
||||
If :guilabel:`Multiple choice: only one answer`, :guilabel:`Multiple choice: multiple answers
|
||||
allowed`, :guilabel:`Single Line Text Box`, or :guilabel:`Matrix` is selected for the
|
||||
:guilabel:`Question Type`, an :guilabel:`Answers` tab appears beneath the question. If another
|
||||
question type is selected, the :guilabel:`Answers` tab remains hidden from view.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Multiple choice
|
||||
|
||||
For both the :guilabel:`Multiple choice: only one answer` and :guilabel:`Multiple choice:
|
||||
multiple answers allowed` question type, the answers are populated in the same way.
|
||||
|
||||
First, in the :guilabel:`Answers` tab, click :guilabel:`Add a line`. A line appears, and an
|
||||
answer can be entered. After typing in the answer, click off the line, or press enter to lock
|
||||
in the new answer on the form and have another answer line appear.
|
||||
|
||||
If desired, an image can be attached to the answer. Click on a line to select it, and an
|
||||
:guilabel:`Upload your file` button appears on the right side. Click the :guilabel:`Upload
|
||||
your file` button and a file explorer window appears. Navigate to the image file, select it,
|
||||
then click :guilabel:`Open` to select it.
|
||||
|
||||
Repeat this for all the answers to be added for the multiple choice question. The answers can
|
||||
be rearranged in any order. To move an answer, click on the six small squares on the far left
|
||||
of each answer line, and drag the answer to the desired position. The order the answers appear
|
||||
in the form is the order the answers will appear online.
|
||||
|
||||
To delete a line, click on the :guilabel:`🗑️ (trash can)` icon on the far right side of the
|
||||
answer line.
|
||||
|
||||
.. image:: new_job/multi-answers.png
|
||||
:align: center
|
||||
:alt: Answers to a multiple choice question, where each line has a different answer listed.
|
||||
|
||||
.. tab:: Single Line Text Box
|
||||
|
||||
If the :guilabel:`Single Line Text Box` question type is selected, only two checkboxes appear
|
||||
in the :guilabel:`Answers` tab:
|
||||
|
||||
- :guilabel:`Input must be an email`: activate this option if the answer must be in the format
|
||||
of an email address.
|
||||
|
||||
- :guilabel:`Save as user email?`: this option appears if :guilabel:`Input must be an email`
|
||||
is selected. This saves the email entered on the form as the user's email, and will be
|
||||
used anytime Odoo contacts the user via email.
|
||||
|
||||
- :guilabel:`Save as user nickname?`: activate this option to populate the answer as the
|
||||
user's nickname. This is stored and used anywhere Odoo uses a nickname.
|
||||
|
||||
.. image:: new_job/single-line.png
|
||||
:align: center
|
||||
:alt: The three possible checkboxes that can appear if a single line of text is selected
|
||||
for the question type.
|
||||
|
||||
.. tab:: Matrix
|
||||
|
||||
Sometimes, a question is asked that does not fit a standard answer format, and is best suited
|
||||
for a matrix. For example, asking an applicant what is their availability to work compared to
|
||||
the various shifts is a perfect question for a matrix format. In this example, an applicant
|
||||
can click on all the shifts they are available to work.
|
||||
|
||||
For a :guilabel:`Matrix` question type, there are two sets of data that need to be input. The
|
||||
rows and columns must both be configured. The columns are represented by the
|
||||
:guilabel:`Choices` section, while the rows are configured in the :guilabel:`Rows` section.
|
||||
|
||||
The method for populating both sections is the same. In the :guilabel:`Answers` tab, click
|
||||
:guilabel:`Add a line` in either the :guilabel:`Choices` or :guilabel:`Row` section. A line
|
||||
appears, and an answer can be entered. After typing in the answer, click off the line, or
|
||||
press enter to lock in the new answer on the form and have another answer line appear. Repeat
|
||||
this for all answers for both the :guilabel:`Choices` and :guilabel:`Rows` sections.
|
||||
|
||||
.. figure:: new_job/matrix.png
|
||||
:align: center
|
||||
|
||||
This is an example matrix that asks an applicant what shifts they are available to work on
|
||||
Saturdays and Sundays, either morning, afternoon, or evening.
|
||||
|
||||
Description
|
||||
***********
|
||||
|
||||
Enter any information that may be helpful to an applicant. This description will appear for this
|
||||
specific question only, and therefore should be question-specific and not generalized.
|
||||
|
||||
Options
|
||||
*******
|
||||
|
||||
To view the options that are available to set for a question, click on the :guilabel:`Options` tab.
|
||||
The :guilabel:`Layout`, :guilabel:`Constraints`, and :guilabel:`Live Sessions` sections are
|
||||
universal for all :guilabel:`Question Types`, while the :guilabel:`Answers` tab is specific to the
|
||||
:guilabel:`Question Type` selected, and changes based on the selection.
|
||||
|
||||
Answers
|
||||
^^^^^^^
|
||||
|
||||
- :guilabel:`Multiple choice: only one answer` and :guilabel:`Multiple choice: multiple answers
|
||||
allowed`: a :guilabel:`Show Comments Field` option appears. Activate the option to allow the
|
||||
applicant to answer the question by typing in an answer (or comment). A :guilabel:`Comment
|
||||
Message` and :guilabel:`Comment is an answer` field appear if activated. Enter the text to appear
|
||||
in the :guilabel:`Comment Message` field. This should be helpful to the applicant, such as `If
|
||||
other, please specify`. Last, if the comment should be logged as the applicant's answer, activate
|
||||
the box.
|
||||
- :guilabel:`Multiple Lines Text Box`: a :guilabel:`Placeholder` field appears. Enter any text that
|
||||
should appear with the question to help clarify how the applicant should answer.
|
||||
- :guilabel:`Single Line Text Box` and :guilabel:`Numerical Value`: a :guilabel:`Validate entry`
|
||||
option appears. Activate this option if what the applicant enters must be a numerical value, *and*
|
||||
needs to be verified. The answer can *only* be verified if it is a numerical entry. When
|
||||
activated, several other options appear. Enter the values for the :guilabel:`Min/Max Limits` in
|
||||
the two fields. Next, enter the text that appears when the answer given does not fit within the
|
||||
designated minimum and maximum parameters. Last, enter any text in the :guilabel:`Placeholder`
|
||||
field to provide any additional information or directions to assist the applicant.
|
||||
- :guilabel:`Date` and :guilabel:`Datetime`: a :guilabel:`Validate entry` option appears. Activate
|
||||
this option if the applicant's answer needs to be verified. When activated, several other options
|
||||
appear. Enter the date ranges for the :guilabel:`Min/Max Limits` in the two fields. Click on
|
||||
a field, either the :guilabel:`minimum` or :guilabel:`maximum`, and a calendar appears. Select the
|
||||
dates for the corresponding fields. Next, enter the text that appears when the answer given does
|
||||
not fit within the designated minimum and maximum dates. Last, enter any text in the
|
||||
:guilabel:`Placeholder` field to provide any additional information or directions to assist the
|
||||
applicant.
|
||||
- :guilabel:`Matrix`: the first option that appears is :guilabel:`Matrix Type`. Select either
|
||||
:guilabel:`One choice per row` or :guilabel:`Multiple choices per row` using the drop-down menu.
|
||||
The next option is :guilabel:`Show Comments Field`. Activate the option if there should be a
|
||||
comment displayed to the applicant. If activated, a :guilabel:`Comment Message` and
|
||||
:guilabel:`Comment is an answer` field appear. Enter the text to appear in the :guilabel:`Comment
|
||||
Message` field. This should be an instruction helpful to the applicant, such as `If other, please
|
||||
specify`. Last, if the comment should be logged as the applicant's answer, activate the box.
|
||||
|
||||
Constraints
|
||||
^^^^^^^^^^^
|
||||
|
||||
If the question is required to be answered by the applicant, activate the box next to
|
||||
:guilabel:`Mandatory Answer`. An :guilabel:`Error message` field appears, with some example text in
|
||||
gray (*This question requires an answer*). Enter the message that should appear if the applicant
|
||||
attempts to move on to the next question without answering this required one. The text should
|
||||
explain that the question must be answered.
|
||||
|
||||
Layout
|
||||
^^^^^^
|
||||
|
||||
If the question should only appear if a previous question is answered in a specific way, activate
|
||||
the :guilabel:`Conditional Display` option. A new :guilabel:`Triggering Question` field appears.
|
||||
Using the drop-down menu, select the previous question this new question is linked to. Once a
|
||||
previous question is selected, a :guilabel:`Triggering Answer` field appears. Select the answer that
|
||||
must be selected in order for the new question to appear.
|
||||
|
||||
.. example::
|
||||
To further illustrate a triggering question, the following is an example that is applicable to
|
||||
recruitment. The question, `Do you have experience with managing a sales team?` is already
|
||||
added. A new question is then added, `How many years of experience?`. This question should *only*
|
||||
appear if the applicant selected `Yes` to the question `Do you have prior experience managing a
|
||||
sales team?`.
|
||||
|
||||
To properly configure this example, activate the :guilabel:`Conditional Display` option. Then,
|
||||
select `Do you have experience with managing a sales team?` as the :guilabel:`Triggering
|
||||
Question`. Then, select :guilabel:`Yes` for the triggering answer.
|
||||
|
||||
|
||||
.. image:: new_job/layout.png
|
||||
:align: center
|
||||
:alt: The layout field when properly configured for a conditional question.
|
||||
|
||||
Live Sessions
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
If the question is for a live session, activate the :guilabel:`Question Time Limit` option. A
|
||||
:guilabel:`seconds` field appears. Enter the amount of time allotted for the applicant to enter the
|
||||
answer, in seconds.
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
|
||||
Next, configure the various options for the interview form. Click the :guilabel:`Options` tab to
|
||||
view all the options to configure, by category.
|
||||
|
||||
Questions
|
||||
*********
|
||||
|
||||
- :guilabel:`Pagination`: choose how the questions should be displayed.
|
||||
|
||||
- :guilabel:`One page per question`: display a single question on each page.
|
||||
- :guilabel:`One page per section`: display each section with the corresponding questions on an
|
||||
individual page.
|
||||
- :guilabel:`One page with all the questions`: display all sections and questions at the same
|
||||
time.
|
||||
|
||||
|
||||
- :guilabel:`Display Progress as`: choose how to display the percentage of questions remaining to
|
||||
answer. This option only appears if either :guilabel:`One page per question` or :guilabel:`One
|
||||
page per section` is selected for :guilabel:`Pagination`.
|
||||
|
||||
- :guilabel:`Percentage left`: display the remaining amount in a percentage (%).
|
||||
- :guilabel:`Number`: display the remaining amount in a numerical value.
|
||||
|
||||
|
||||
- :guilabel:`Question Selection`: choose which questions are presented.
|
||||
|
||||
- :guilabel:`All questions`: display the entire form, with all questions form all sections.
|
||||
- :guilabel:`Randomized per Section`: display only a random selection of questions from each
|
||||
section.
|
||||
|
||||
|
||||
- :guilabel:`Back Button`: activate this option if the applicant is able to click a back button to
|
||||
go back to previous questions.
|
||||
|
||||
.. note::
|
||||
Although it is a selectable option, the :guilabel:`Randomized per section` option should only be
|
||||
used if receiving partial information/an incomplete survey from every applicant is acceptable to
|
||||
the business.
|
||||
|
||||
Time & Scoring
|
||||
**************
|
||||
|
||||
- :guilabel:`Survey Time Limit`: activate this option to limit the time allowed to complete the
|
||||
form. When selected, a field to enter the minutes appears next to the checked box. Enter the time
|
||||
(using an XX:XX minute/second format) in the field.
|
||||
- :guilabel:`Scoring`: choose how the questions should be scored.
|
||||
|
||||
- :guilabel:`No scoring`: select this option to not score the form.
|
||||
- :guilabel:`Scoring with answers at the end`: select this option to score the form and display
|
||||
the correct answers for the candidate when they are finished with the form.
|
||||
- :guilabel:`Scoring without answers at the end`: select this option to score the form but not
|
||||
display the answers to the candidate.
|
||||
|
||||
- :guilabel:`Required Score (%)`: this option appears if one of the scoring options was selected.
|
||||
Enter the percentage the candidate needs to pass the exam (example, 80.00%). The entry should be
|
||||
written in an “XX.XX” format.
|
||||
|
||||
- :guilabel:`Is a Certification`: activate this option if the form is a certification exam. When
|
||||
activated, a drop-down menu appears next to the checkbox. Select one of the default formats for
|
||||
the PDF certificate that will be sent to the candidate after completing the certification exam.
|
||||
Click the :guilabel:`Preview` button to view an example of the PDF certificate.
|
||||
- :guilabel:`Certified Email Template`: if the :guilabel:`Is a Certification` box is activated, a
|
||||
:guilabel:`Certified Email Template` appears. Select the email template from the drop-down menu
|
||||
that is to be used when the applicant passes the test. Click the :guilabel:`External Link` icon to
|
||||
the right of the email template to preview the email.
|
||||
|
||||
Participants
|
||||
************
|
||||
|
||||
- :guilabel:`Access Mode`: specify who can access the exam. Either :guilabel:`Anyone with the link`
|
||||
or :guilabel:`Invited people only`.
|
||||
- :guilabel:`Require Login`: activate this option to require candidates to log in before taking the
|
||||
exam, whether they have a valid token or not.
|
||||
- :guilabel:`Limit Attempts`: if there is a limit to how many times the exam can be taken, activate
|
||||
this box, then enter the maximum attempt number in the field next to it.
|
||||
|
||||
Live Session
|
||||
************
|
||||
|
||||
- :guilabel:`Session Code`: enter the access code that will allow the viewers into the live exam
|
||||
session.
|
||||
- :guilabel:`Session Link`: the link appears in a box next to the :guilabel:`Session Link` option.
|
||||
Click the :guilabel:`Copy` button to copy the link.
|
||||
- :guilabel:`Reward quick answers`: if the exam is to be taken live, activate this option to award
|
||||
more points to participants who answer quickly.
|
||||
|
||||
After all fields have been entered, click the :guilabel:`Save` button to save the changes, or click
|
||||
:guilabel:`Discard` to delete the changes.
|
||||
|
||||
.. image:: new_job/options.png
|
||||
:align: center
|
||||
:alt: Various options to configure for the interview form.
|
||||
|
||||
Description
|
||||
~~~~~~~~~~~
|
||||
|
||||
When the applicant begins the survey, the text entered in this tab appears at the top of the survey
|
||||
page. Enter any information or descriptions that would be helpful to the applicant.
|
||||
|
||||
End Message
|
||||
~~~~~~~~~~~
|
||||
|
||||
After the survey is complete, the message entered in this tab is displayed for the applicant.
|
||||
Proceed to fill out the modal interview form as a typical survey. For specific directions on how to
|
||||
create a survey, refer to the :doc:`survey essentials <../../marketing/surveys/create>` document,
|
||||
which provides step-by-step instructions on how to create and configure a survey.
|
||||
|
||||
|
Before Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 21 KiB |
@@ -1,90 +1,125 @@
|
||||
=================================================
|
||||
How to invoice the shipping cost to the customer?
|
||||
=================================================
|
||||
=======================
|
||||
Shipping cost invoicing
|
||||
=======================
|
||||
|
||||
.. _inventory/shipping/invoice:
|
||||
|
||||
Overview
|
||||
========
|
||||
Invoicing customers for shipping after delivery ensures accurate charges based on real-time shipping
|
||||
factors like distance, weight, and method.
|
||||
|
||||
There are two ways to invoice the shipping costs:
|
||||
In Odoo, shipping costs can be invoiced in two ways:
|
||||
|
||||
1. Agree with the customer over a cost and seal it down in the sale
|
||||
order
|
||||
#. Agree with the customer on a fixed cost and :ref:`include it in the sale order.
|
||||
<inventory/shipping/invoice-so>`
|
||||
|
||||
2. Invoice the real cost of the shipping.
|
||||
#. :ref:`Invoice shipping costs to the customer post-delivery
|
||||
<inventory/shipping/invoice-shipping>`, reflecting the actual expenses incurred by the business.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure the price of your delivery methods, go to the **Inventory**
|
||||
app, click on :menuselection:`Configuration --> Delivery --> Delivery Methods`.
|
||||
To set prices to delivery methods, go to :menuselection:`Inventory app --> Configuration -->
|
||||
Settings`. Under the :guilabel:`Shipping` section, enable the :guilabel:`Delivery Methods` feature.
|
||||
Then, click :guilabel:`Save`.
|
||||
|
||||
You can manually set a price for the shipping: It can be fixed or based
|
||||
on rules.
|
||||
|
||||
Or you can use the transportation company computation system by :doc:`integrating a third-party
|
||||
shipper <../setup_configuration/third_party_shipper>`.
|
||||
|
||||
How to invoice the shipping costs to the customer?
|
||||
==================================================
|
||||
|
||||
Invoice the price set on the sale order
|
||||
---------------------------------------
|
||||
|
||||
On your sale order, choose the carrier that will be used. Click on
|
||||
**Delivery Method** to choose the right one.
|
||||
|
||||
.. image:: invoicing/invoicing06.png
|
||||
.. image:: invoicing/enable-delivery.png
|
||||
:align: center
|
||||
:alt: Enable the "Delivery Methods" feature in Settings.
|
||||
|
||||
The price is computed when you **save** the sale order or when you click on
|
||||
**Set price**.
|
||||
Add shipping method
|
||||
===================
|
||||
|
||||
To invoice the price of the delivery charge on the sale order, click on
|
||||
**Set price**, it will add a line with the name of the delivery method as
|
||||
a product. It may vary from the real price.
|
||||
Next, configure the the price of each delivery method by going to :menuselection:`Inventory app -->
|
||||
Configuration --> Shipping Methods` and click the :guilabel:`Create` button. Doing so opens a form
|
||||
to provide details about the shipping provider, including:
|
||||
|
||||
When you create the invoice, it will take the price set on the sale
|
||||
order.
|
||||
- :guilabel:`Shipping Method` (*required*) the name of the delivery method (e.g. `flat-rate
|
||||
shipping`, `same day delivery`, etc.).
|
||||
- :guilabel:`Provider` (*required*): choose the delivery service, like FedEx, if using a
|
||||
third-party carrier Ensure the integration with the shipping carrier is properly installed and
|
||||
select the provider from the drop-down menu.
|
||||
|
||||
.. image:: invoicing/invoicing01.png
|
||||
.. seealso::
|
||||
:doc:`../setup_configuration/third_party_shipper`
|
||||
|
||||
- :guilabel:`Company`: if the shipping method should apply to a specific company, select it from the
|
||||
drop-down menu. Leave the field blank to apply the method to all companies.
|
||||
|
||||
- :guilabel:`Website`: configure shipping methods for an e-commerce page. Select the applicable
|
||||
website from the drop-down menu, or leave it blank to apply the method to all web pages.
|
||||
|
||||
- :guilabel:`Delivery Product` (*required*): the product listed on the :ref:`sales order line
|
||||
<inventory/shipping/invoice-on-so>` as the delivery charge.
|
||||
- :guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer
|
||||
spends above the specified amount.
|
||||
|
||||
.. _inventory/shipping/invoice-so:
|
||||
|
||||
Invoice cost on sales order
|
||||
===========================
|
||||
|
||||
To invoice shipping costs on the sales order, before the item is delivered, go to the
|
||||
:menuselection:`Sales app` and select the desired sales order.
|
||||
|
||||
On the sales order, click the :guilabel:`Add Shipping` button at the bottom-right corner.
|
||||
|
||||
.. image:: invoicing/add-shipping.png
|
||||
:align: center
|
||||
:alt: Click "Add Shipping" button at the bottom right, near the total.
|
||||
|
||||
Invoice the real shipping costs
|
||||
-------------------------------
|
||||
In the :guilabel:`Add a shipping method` pop-up window, choose the intended carrier in the
|
||||
:guilabel:`Shipping Method` field.
|
||||
|
||||
On your sale order, choose the carrier that will be used. Click on
|
||||
**Delivery Method** to choose the right one.
|
||||
Then, click the :guilabel:`Get Rate` button to the calculate shipping price based on real-time
|
||||
shipping data Odoo's shipping carrier integration.
|
||||
|
||||
.. image:: invoicing/invoicing05.png
|
||||
The :guilabel:`Cost` is automatically calculated using the weight of the items in the order.
|
||||
Finally, click the :guilabel:`Add` button to close the window.
|
||||
|
||||
.. image:: invoicing/add-a-shipping-method.png
|
||||
:align: center
|
||||
:alt: Calculate shipping by selecting a shipping method.
|
||||
|
||||
The price is computed when you **save** the sale order. Confirm the sale
|
||||
order and proceed to deliver the product.
|
||||
.. _inventory/shipping/invoice-on-so:
|
||||
|
||||
The real shipping cost is computed when the delivery order is
|
||||
validated, you can see the real cost in the chatter of the delivery order.
|
||||
On the sales order, the delivery product appears in the :guilabel:`Order Lines` tab, with the
|
||||
:guilabel:`Unit Price` set as the shipping cost calculated in the :guilabel:`Add a shipping method`
|
||||
pop-up window.
|
||||
|
||||
.. image:: invoicing/invoicing02.png
|
||||
.. image:: invoicing/delivery-product.png
|
||||
:align: center
|
||||
:alt: Show delivery product on the sales order line.
|
||||
|
||||
Go back to the sale order, the real cost is now added to the sale
|
||||
order.
|
||||
Finally, after the product is delivered, click the :guilabel:`Create invoice` button, and an invoice
|
||||
is created that includes the shipping cost that was added earlier.
|
||||
|
||||
.. image:: invoicing/invoicing03.png
|
||||
.. image:: invoicing/create-invoice.png
|
||||
:align: center
|
||||
:alt: Show "Create Invoice" button.
|
||||
|
||||
When you create the invoice, it will take the price computed by the
|
||||
carrier.
|
||||
Then, click the :guilabel:`Create and View Invoice` button, and a draft invoice is generated, with
|
||||
the shipping cost included in the :guilabel:`Invoice Lines` tab.
|
||||
|
||||
.. image:: invoicing/invoicing04.png
|
||||
.. image:: invoicing/invoice-line.png
|
||||
:align: center
|
||||
:alt: Show delivery product in the invoice line.
|
||||
|
||||
.. note::
|
||||
If you split the delivery and make several ones, each delivery
|
||||
order will add a line to the sale order.
|
||||
.. _inventory/shipping/invoice-shipping:
|
||||
|
||||
Invoice real shipping costs
|
||||
===========================
|
||||
|
||||
To modify the invoice to reflect the real cost of shipping, follow the steps :ref:`above
|
||||
<inventory/shipping/invoice-so>` to create an invoice with a delivery product with a :guilabel:`Unit
|
||||
Price` of zero.
|
||||
|
||||
Then, on a draft invoice, modify the :guilabel:`Unit Price` to reflect the real shipping cost.
|
||||
Finally, invoice the customer the adjusted shipping cost by clicking :guilabel:`Confirm`.
|
||||
|
||||
.. image:: invoicing/invoice-cost.png
|
||||
:align: center
|
||||
:alt: Show delivery product on the invoice line.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../setup_configuration/third_party_shipper`
|
||||
* :doc:`labels`
|
||||
- :doc:`../setup_configuration/third_party_shipper`
|
||||
- :doc:`labels`
|
||||
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 26 KiB |