Compare commits
32 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 |
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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 |
@@ -745,6 +745,55 @@ If you claim a vendor bill, the status changes from :guilabel:`Draft` to :guilab
|
||||
automatically. Considering this as best practice, all the claimed documents should be canceled as
|
||||
they won't be valid for your accounting records.
|
||||
|
||||
Electronic purchase invoice
|
||||
---------------------------
|
||||
|
||||
The *electronic purchase invoice* is a feature included in the `l10n_cl_edi` module.
|
||||
|
||||
Once all configurations have been made for :ref:`electronic invoices <chile/electronic-invoice>`
|
||||
(e.g., uploading a valid company certificate, setting up master data, etc.), the electronic
|
||||
purchase invoices need their own :abbr:`CAFs (Folio Authorization Code)`. Please refer to the
|
||||
:ref:`CAF documentation <chile/caf-documentation>` to check the details on how to acquire the
|
||||
:abbr:`CAFs (Folio Authorization Code)` for electronic purchase invoices.
|
||||
|
||||
Electronic purchase invoices are useful when vendors are not obligated to expedite an electronic
|
||||
vendor bill for your purchase. Still, your obligations require a document to be sent to the
|
||||
:abbr:`SII (Servicio de Impuestos Internos)` as proof of purchase.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
To generate an electronic purchase invoice from a vendor bill, the bill must be created in a
|
||||
purchase journal with the *Use Documents* feature enabled. It is possible to modify an existing
|
||||
purchase journal or create a new one in the following process.
|
||||
|
||||
To modify the existing purchase journal, or create a new purchase journal, navigate to
|
||||
:menuselection:`Accounting --> Configuration --> Journals`. Then, click the :guilabel:`New` button,
|
||||
and fill in the following required information:
|
||||
|
||||
- :guilabel:`Type`: select :guilabel:`Purchase` from the drop-down menu for vendor bill journals.
|
||||
- :guilabel:`Use Documents`: check this field so the journal can generate electronic documents (in
|
||||
this case the electronic purchase invoice).
|
||||
|
||||
Generate an electronic purchase invoice
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To generate this type of document, it is necessary to create a vendor bill in Odoo. To do so,
|
||||
navigate to :menuselection:`Accounting --> Vendors --> Bills`, and click the :guilabel:`New` button.
|
||||
|
||||
When all of the electronic purchase invoice information is filled, select the option :guilabel:`(46)
|
||||
Electronic Purchase Invoice` in the :guilabel:`Document Type` field:
|
||||
|
||||
After the vendor bill is posted:
|
||||
|
||||
- The :abbr:`DTE (Documentos Tributarios Electrónicos)` file (Electronic Tax Document) is
|
||||
automatically created and added to the chatter.
|
||||
- The :guilabel:`DTE SII Status` is set as :guilabel:`Pending to be sent`.
|
||||
|
||||
Odoo automatically updates the *DTE Status* every night using a scheduled action. To get a response
|
||||
from the :abbr:`SII (Servicio de Impuestos Internos)` immediately, click the :guilabel:`Send now to
|
||||
SII` button.
|
||||
|
||||
Delivery guide
|
||||
--------------
|
||||
|
||||
|
||||
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 21 KiB |
@@ -1,7 +1,7 @@
|
||||
.. _use-routes:
|
||||
|
||||
==========================
|
||||
Routes and Pull/Push Rules
|
||||
Routes and push/pull rules
|
||||
==========================
|
||||
|
||||
In inventory management, the supply chain strategy determines when products should be
|
||||
@@ -33,11 +33,10 @@ in the manufacturing process), while others are directly stored in their respect
|
||||
:align: center
|
||||
:alt: View of a generic push to rule when receiving products.
|
||||
|
||||
Here is an example of a fulfillment route. In the morning, items are picked for all the orders
|
||||
that need to be prepared during the day. These items are picked from storage locations and moved to
|
||||
the picking area, close to where the orders are packed. Then, the orders are packed in their
|
||||
respective boxes and conveyors bring them close to the shipping docks, ready to be delivered to
|
||||
customers.
|
||||
Here is an example of a fulfillment route. In the morning, items are picked for all the orders that
|
||||
need to be prepared during the day. These items are picked from storage locations and moved to the
|
||||
picking area, close to where the orders are packed. Then, the orders are packed in their respective
|
||||
boxes, and conveyor belts bring them to the shipping docks, ready to be delivered to customers.
|
||||
|
||||
.. image:: use_routes/pull-from-rule-example.png
|
||||
:align: center
|
||||
@@ -50,8 +49,8 @@ With *Pull Rules*, a demand for some products triggers procurements, while *Push
|
||||
triggered by products arriving in a specific location.
|
||||
|
||||
Pull Rules are used to fulfill a sales order. Odoo generates a need at the *Customer Location* for
|
||||
each product in the order. Because pull rules are triggered by a need, Odoo looks for a pull
|
||||
rule defined on the *Customer Location*.
|
||||
each product in the order. Because pull rules are triggered by a need, Odoo looks for a pull rule
|
||||
defined on the *Customer Location*.
|
||||
|
||||
In this case, a "delivery order" pull rule that transfers products from the *Shipping Area* to the
|
||||
*Customer Location* is found, and a transfer between the two locations is created.
|
||||
@@ -130,7 +129,7 @@ can view the warehouse's pre-configured routes for :guilabel:`Incoming Shipments
|
||||
|
||||
.. image:: use_routes/example-preconfigured-warehouse.png
|
||||
:align: center
|
||||
:alt: A preconfigured warehouse in Odoo Inventory.
|
||||
:alt: A pre-configured warehouse in Odoo Inventory.
|
||||
|
||||
Some more advanced routes, such as pick-pack-ship, are also available. The user can select the
|
||||
route that best fits their business needs. Once the :guilabel:`Incoming Shipments` and
|
||||
@@ -270,15 +269,8 @@ source location:
|
||||
the available stock of the source location. If there is no stock available, the system tries to
|
||||
find a rule to bring the products to the source location.
|
||||
|
||||
In the *Scheduling* section, you can determine how Odoo behaves when one of the chain's pickings is
|
||||
rescheduled. In case you decide to **Propagate Rescheduling**, the next move is also to be
|
||||
rescheduled.
|
||||
|
||||
If you prefer having the choice to reschedule the next move, you can decide to receive an alert in
|
||||
the form of a *next activity*.
|
||||
|
||||
Sample full route flow
|
||||
======================
|
||||
Example flow
|
||||
============
|
||||
|
||||
In this example, let's use a custom *Pick - Pack - Ship* route to try a full flow with an advanced
|
||||
custom route.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
@@ -19,5 +18,7 @@ allow workers to trigger maintenance operations, feedback loops, quality issues,
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
manufacturing/management
|
||||
manufacturing/basic_setup
|
||||
manufacturing/advanced_configuration
|
||||
manufacturing/workflows
|
||||
manufacturing/shop_floor
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
:nosearch:
|
||||
|
||||
======================
|
||||
Advanced configuration
|
||||
======================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
advanced_configuration/product_variants
|
||||
advanced_configuration/kit_shipping
|
||||
advanced_configuration/sub_assemblies
|
||||
advanced_configuration/using_work_centers
|
||||
advanced_configuration/work_order_dependencies
|
||||
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |