Compare commits
35 Commits
master-mas
...
saas-18.1-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31f480261b | ||
|
|
d2f5f224fd | ||
|
|
ca88450e9e | ||
|
|
818a633089 | ||
|
|
97ae039524 | ||
|
|
325d5cda17 | ||
|
|
c8b5ec9b8b | ||
|
|
01f3e490e2 | ||
|
|
beb10a0649 | ||
|
|
584221de4b | ||
|
|
43226c1c1d | ||
|
|
213a8b5272 | ||
|
|
9e0440653f | ||
|
|
bc1e3def1d | ||
|
|
fd6286996d | ||
|
|
69a5e540ea | ||
|
|
8c334b663f | ||
|
|
95e4fee78f | ||
|
|
cd9a550691 | ||
|
|
deabf8bcb2 | ||
|
|
7346b921e1 | ||
|
|
82d326b89c | ||
|
|
71c6e2c728 | ||
|
|
87250c8510 | ||
|
|
ffa8f068b3 | ||
|
|
25ee78901b | ||
|
|
b678d14483 | ||
|
|
ba6083172a | ||
|
|
4142841a43 | ||
|
|
85cbb4349f | ||
|
|
267ed1371c | ||
|
|
8cbe296a12 | ||
|
|
7b1341bb6c | ||
|
|
e6a052c4dd | ||
|
|
6b399d13d1 |
2
Makefile
@@ -27,7 +27,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-18.1
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
||||
3
conf.py
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
version = release = 'saas-18.1'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
@@ -231,6 +231,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-18.1': "Odoo Online",
|
||||
'18.0': "Odoo 18",
|
||||
'saas-17.4': "Odoo Online",
|
||||
'saas-17.2': "Odoo Online",
|
||||
|
||||
@@ -31,6 +31,12 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo SaaS 18.1
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2025
|
||||
-
|
||||
* - **Odoo 18.0**
|
||||
- |green|
|
||||
- |green|
|
||||
@@ -38,17 +44,17 @@ This matrix shows the support status of every version.
|
||||
- October 2024
|
||||
- October 2027 (planned)
|
||||
* - Odoo SaaS 17.4
|
||||
- |green|
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- July 2024
|
||||
-
|
||||
- October 2024
|
||||
* - Odoo SaaS 17.2
|
||||
- |green|
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- April 2024
|
||||
-
|
||||
- October 2024
|
||||
* - **Odoo 17.0**
|
||||
- |green|
|
||||
- |green|
|
||||
|
||||
@@ -28,15 +28,13 @@ select a record, tick the checkbox next to the corresponding record. Finally, cl
|
||||
then :guilabel:`Export`.
|
||||
|
||||
.. image:: export_import_data/list-view-export.png
|
||||
:align: center
|
||||
:alt: View of the different things to enable/click to export data.
|
||||
|
||||
When clicking on :guilabel:`Export`, an :guilabel:`Export Data` pop-over window appears, with
|
||||
several options for the data to export:
|
||||
|
||||
.. image:: export_import_data/export-data-overview.png
|
||||
:align: center
|
||||
:alt: Overview of options to consider when exporting data in Odoo..
|
||||
:alt: Overview of options to consider when exporting data in Odoo.
|
||||
|
||||
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
|
||||
only shows the fields that can be imported. This is helpful in the case where the :ref:`existing
|
||||
@@ -87,7 +85,6 @@ data into an Odoo database.
|
||||
options: :guilabel:`Track history during import` and :guilabel:`Allow matching with subfields`.
|
||||
|
||||
.. image:: export_import_data/advanced-import.png
|
||||
:align: center
|
||||
:alt: Advanced import options when developer mode is activated.
|
||||
|
||||
If the model uses openchatter, the :guilabel:`Track history during import` option sets up
|
||||
@@ -96,6 +93,8 @@ data into an Odoo database.
|
||||
Should the :guilabel:`Allow matching with subfields` option be selected, then all subfields
|
||||
within a field are used to match under the :guilabel:`Odoo Field` while importing.
|
||||
|
||||
.. _essentials/export_import_data/get-started:
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
@@ -103,30 +102,32 @@ Data can be imported on any Odoo business object using either Excel (`.xlsx`) or
|
||||
(Comma-separated Values)` (`.csv`) formats. This includes: contacts, products, bank statements,
|
||||
journal entries, and orders.
|
||||
|
||||
Open the view of the object to which the data should be imported/populated, and click on
|
||||
:menuselection:`⚙️ (Action) --> Import records`.
|
||||
Open the view of the object to which the data should be imported/populated, click the :icon:`fa-cog`
|
||||
(:guilabel:`gear`) icon and select :guilabel:`Import records`.
|
||||
|
||||
.. image:: export_import_data/import-button.png
|
||||
:align: center
|
||||
: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,
|
||||
since the data mapping is already done. To download a template click :guilabel:`Import Template for
|
||||
Customers` at the center of the page.
|
||||
Click :icon:`fa-download`:guilabel:`Import Template for Customers` at the center of the page to
|
||||
download a :ref:`template <essentials/export_import_data/adapt-a-template>` and populate it with
|
||||
the company's own data. Such templates can be imported in one click since the data mapping is
|
||||
already preconfigured.
|
||||
|
||||
.. important::
|
||||
When importing a :abbr:`CSV (Comma-separated Values)` file, Odoo provides :guilabel:`Formatting`
|
||||
options. These options do **not** appear when importing the proprietary Excel file type (`.xls`,
|
||||
`.xlsx`).
|
||||
To upload the downloaded template or your own file, follow the next steps:
|
||||
|
||||
.. image:: export_import_data/formatting.png
|
||||
:align: center
|
||||
:alt: Formatting options presented when a CVS file is imported in Odoo.
|
||||
#. Click :guilabel:`Upload Data File` and select the desired file.
|
||||
#. Adjust the :guilabel:`Formatting` options as needed (for CSV files only).
|
||||
#. Ensure all data in the :guilabel:`File Column` is correctly mapped to the appropriate
|
||||
:guilabel:`Odoo Field` and free of errors.
|
||||
#. (Optional) Click :guilabel:`Load Data File` to reload the same file or upload a different one.
|
||||
#. Click :guilabel:`Test` to verify that the data is valid.
|
||||
#. Click :guilabel:`Import`.
|
||||
|
||||
Make necessary adjustments to the *Formatting* options, and ensure all columns in the
|
||||
:guilabel:`Odoo field` and :guilabel:`File Column` are free of errors. Finally, click
|
||||
:guilabel:`Import` to import the data.
|
||||
.. note::
|
||||
The :guilabel:`Formatting` options do **not** appear when importing the proprietary Excel file
|
||||
type (i.e., `.xls` or `.xlsx`).
|
||||
|
||||
.. _essentials/export_import_data/adapt-a-template:
|
||||
|
||||
Adapt a template
|
||||
----------------
|
||||
@@ -144,7 +145,6 @@ Once the template is downloaded, proceed to follow these steps:
|
||||
(ID) column.
|
||||
|
||||
.. image:: export_import_data/dragdown.gif
|
||||
:align: center
|
||||
:alt: An animation of the mouse dragging down the ID column, so each record has a unique ID.
|
||||
|
||||
.. note::
|
||||
@@ -153,7 +153,6 @@ Once the template is downloaded, proceed to follow these steps:
|
||||
Search the drop-down menu for the corresponding field.
|
||||
|
||||
.. image:: export_import_data/field_list.png
|
||||
:align: center
|
||||
:alt: Drop-down menu expanded in the initial import screen on Odoo.
|
||||
|
||||
Then, use this field's label in the import file to ensure future imports are successful.
|
||||
@@ -203,7 +202,6 @@ If this happens, check the :guilabel:`Show fields of relation fields (advanced)
|
||||
complete list of fields becomes available for each column.
|
||||
|
||||
.. image:: export_import_data/field_list.png
|
||||
:align: center
|
||||
:alt: Searching for the field to match the tax column.
|
||||
|
||||
Change data import format
|
||||
@@ -401,6 +399,33 @@ respective contacts:
|
||||
- :download:`Customers and their respective contacts
|
||||
<export_import_data/o2m_customers_contacts.csv>`
|
||||
|
||||
Import image files
|
||||
------------------
|
||||
|
||||
To import image files along with the :ref:`uploaded <essentials/export_import_data/get-started>`
|
||||
CSV or Excel file, follow the next steps:
|
||||
|
||||
#. Add the image file names to the relevant :guilabel:`Image` column in the data file.
|
||||
#. :ref:`Upload the data file <essentials/export_import_data/get-started>` or reload it by
|
||||
clicking :guilabel:`Load Data File`.
|
||||
#. Click :guilabel:`Upload your files` under the :guilabel:`Files to import` section.
|
||||
#. Select the relevant image files. The number of files selected appears next to the button.
|
||||
#. Click :guilabel:`Test` to verify that all data is valid.
|
||||
#. Click :guilabel:`Import`. During the import process, Odoo performs a file check to automatically
|
||||
link the uploaded images to the imported data file. If there is no match, the data file is
|
||||
imported without any image.
|
||||
|
||||
.. note::
|
||||
- The :guilabel:`Files to import` section is enabled if your product template has an
|
||||
:guilabel:`Image` column with all fields populated.
|
||||
- The image file names in the data file must correspond to the uploaded image files.
|
||||
- When importing a large number of images, you can specify the maximum batch size in megabytes
|
||||
and set a delay to prevent the system from becoming overloaded. To do so, :doc:`enable the
|
||||
developer mode <../general/developer_mode>` and fill in the :guilabel:`Max size per
|
||||
batch` and the :guilabel:`Delay after each batch` fields in the :guilabel:`Files to import`
|
||||
section. By default, the delay meets the RPC/API call limit defined in the `Odoo Cloud -
|
||||
Acceptable Use Policy <https://www.odoo.com/acceptable-use>`_.
|
||||
|
||||
Import records several times
|
||||
----------------------------
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ which include action buttons.
|
||||
.. image:: bank/card.png
|
||||
:alt: Bank journals are displayed on the Accounting Dashboard and contain action buttons
|
||||
|
||||
.. _bank_accounts/manage:
|
||||
.. _accounting/bank/manage_accounts:
|
||||
|
||||
Manage your bank and cash accounts
|
||||
==================================
|
||||
@@ -36,7 +36,7 @@ follow the instructions.
|
||||
.. seealso::
|
||||
:doc:`bank/bank_synchronization`
|
||||
|
||||
.. _bank_accounts/create:
|
||||
.. _accounting/bank/create_account:
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
@@ -61,7 +61,7 @@ To create a new cash journal, go to :menuselection:`Accounting --> Configuration
|
||||
Journals`, click on :guilabel:`Create` and select :guilabel:`Cash` in the :guilabel:`Type` field.
|
||||
|
||||
For more information on the accounting information fields, read the
|
||||
:ref:`bank_accounts/configuration` section of this page.
|
||||
:ref:`accounting/bank/configuration` section of this page.
|
||||
|
||||
.. note::
|
||||
A default cash journal is available and can be used straight away. You can review it by going to
|
||||
@@ -73,7 +73,7 @@ Edit an existing bank or cash journal
|
||||
To edit an existing bank journal, go to :menuselection:`Accounting --> Configuration --> Accounting:
|
||||
Journals` and select the journal you want to modify.
|
||||
|
||||
.. _bank_accounts/configuration:
|
||||
.. _accounting/bank/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -137,7 +137,7 @@ Bank feeds
|
||||
- :doc:`bank/bank_synchronization`
|
||||
- :doc:`bank/transactions`
|
||||
|
||||
.. _bank/outstanding-accounts:
|
||||
.. _accounting/bank/outstanding-accounts:
|
||||
|
||||
Outstanding accounts
|
||||
====================
|
||||
@@ -175,7 +175,6 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
|
||||
:guilabel:`Outstanding Receipts/Payments accounts`, then update the account.
|
||||
|
||||
.. image:: bank/toggle-button.png
|
||||
:align: center
|
||||
:alt: Select the toggle button and click on outstanding Accounts
|
||||
|
||||
.. note::
|
||||
@@ -192,5 +191,6 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
|
||||
bank/transactions
|
||||
bank/reconciliation
|
||||
bank/reconciliation_models
|
||||
bank/internal_transfers
|
||||
bank/foreign_currency
|
||||
bank/loans
|
||||
|
||||
@@ -11,7 +11,7 @@ To check if your bank is compatible with Odoo, go to `Odoo Accounting Features
|
||||
<https://www.odoo.com/page/accounting-features>`_, and click on
|
||||
:guilabel:`See list of supported institutions`.
|
||||
|
||||
Odoo supports more than 25,000 institutions around the world.
|
||||
Odoo supports more than 26,000 institutions around the world.
|
||||
|
||||
To connect to the banks, Odoo uses multiple web-services:
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
==================
|
||||
Internal transfers
|
||||
==================
|
||||
|
||||
Internal money transfers can be handled in Odoo. At least two bank or cash accounts are needed to
|
||||
make internal transfers.
|
||||
|
||||
.. seealso::
|
||||
:ref:`How to add an additional bank account <accounting/bank/create_account>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
An internal transfer account is automatically created on your database based on your company's
|
||||
:doc:`localization <../../fiscal_localizations>` and depending on your country’s legislation. To
|
||||
modify the default :guilabel:`Internal Transfer` account, go to :menuselection:`Accounting -->
|
||||
Configuration --> Settings` and scroll down to the :guilabel:`Default Accounts` section.
|
||||
|
||||
Register an internal transfer from one bank to another
|
||||
======================================================
|
||||
|
||||
When money is transferred from one bank or cash account to another, that amount appears as two
|
||||
transactions on the corresponding journals, whether the transactions are created manually, via
|
||||
import, or via :doc:`bank synchronization <bank_synchronization>`. When reconciling the transaction,
|
||||
select the :guilabel:`Internal Transfers` :doc:`reconciliation model <reconciliation_models>`
|
||||
button. This reconciliation model button writes the transaction off to the :guilabel:`Internal
|
||||
Transfer` account.
|
||||
|
||||
.. tip::
|
||||
Remember to reconcile the transaction for both the outgoing transaction on the journal that sends
|
||||
the payment and the incoming transaction on the journal that receives the payment.
|
||||
|
||||
.. example::
|
||||
Take, for example, a transfer of $1000 from Bank A to Bank B:
|
||||
|
||||
- Bank journal (Bank A)
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Bank A account
|
||||
-
|
||||
- $1,000
|
||||
* - **Internal transfer account**
|
||||
- **$1,000**
|
||||
-
|
||||
|
||||
- Bank journal (Bank B)
|
||||
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Bank B account
|
||||
- $1,000
|
||||
-
|
||||
* - **Internal transfer account**
|
||||
-
|
||||
- **$1,000**
|
||||
|
||||
.. seealso::
|
||||
:doc:`reconciliation`
|
||||
:doc:`reconciliation_models`
|
||||
@@ -15,7 +15,7 @@ for use at a later date:
|
||||
reduce/settle unpaid invoices/bills.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Internal transfers <payments/internal_transfers>`
|
||||
- :doc:`Internal transfers <bank/internal_transfers>`
|
||||
- :doc:`bank/reconciliation`
|
||||
- `Odoo Tutorials: Bank Configuration
|
||||
<https://www.odoo.com/slides/slide/bank-configuration-6832>`_
|
||||
@@ -27,10 +27,10 @@ Registering payment from an invoice or bill
|
||||
|
||||
When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new
|
||||
journal entry and changes the amount due according to the payment amount. The counterpart is
|
||||
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
|
||||
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
|
||||
the outstanding account is reconciled with a bank transaction line, the invoice or vendor bill
|
||||
changes to the :guilabel:`Paid` status.
|
||||
reflected in an :ref:`outstanding <accounting/bank/outstanding-accounts>` **receipts** or
|
||||
**payments** account. At this point, the customer invoice or vendor bill is marked as :guilabel:`In
|
||||
payment`. Then, when the outstanding account is reconciled with a bank transaction line, the invoice
|
||||
or vendor bill changes to the :guilabel:`Paid` status.
|
||||
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal, click
|
||||
@@ -51,8 +51,8 @@ information about the payment. To access additional information, such as the rel
|
||||
|
||||
.. tip::
|
||||
If the main bank account is set as an :ref:`outstanding account
|
||||
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
|
||||
bank transaction), invoices and bills are directly registered as :guilabel:`Paid`.
|
||||
<accounting/bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a
|
||||
related bank transaction), invoices and bills are directly registered as :guilabel:`Paid`.
|
||||
|
||||
.. _accounting/payments/not-tied:
|
||||
|
||||
@@ -184,7 +184,6 @@ finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
payments/batch
|
||||
payments/batch_sdd
|
||||
payments/follow_up
|
||||
payments/internal_transfers
|
||||
payments/pay_sepa
|
||||
payments/pay_checks
|
||||
payments/forecast
|
||||
|
||||
@@ -17,7 +17,7 @@ into account checks yet to be cashed.
|
||||
statement.
|
||||
|
||||
.. seealso::
|
||||
* :ref:`Outstanding accounts <bank/outstanding-accounts>`
|
||||
* :ref:`Outstanding accounts <accounting/bank/outstanding-accounts>`
|
||||
* :ref:`Bank reconciliation <accounting/reconciliation>`
|
||||
|
||||
.. _checks/outstanding-account:
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
==================
|
||||
Internal transfers
|
||||
==================
|
||||
|
||||
Internal money transfers can be handled in Odoo. At least two bank accounts are needed to make
|
||||
internal transfers.
|
||||
|
||||
.. seealso::
|
||||
:doc:`How to add an additional bank account <../bank>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
An internal transfer account is automatically created on your database based on your company's
|
||||
localization and depending on your country’s legislation. To modify the default :guilabel:`Internal
|
||||
transfer account`, go to :menuselection:`Accounting --> Configuration --> Settings` and scroll down
|
||||
to the :guilabel:`Default Accounts` section.
|
||||
|
||||
Register an internal transfer from one bank to another
|
||||
======================================================
|
||||
|
||||
If you want to transfer money from one bank to another, access the Accounting Dashboard, click the
|
||||
drop-down selection button (:guilabel:`⋮`) on the bank from which you want to make the transfer,
|
||||
then click :guilabel:`Payments`. Select or create a payment, tick the :guilabel:`Internal Transfer`
|
||||
checkbox, and select a :guilabel:`Destination Journal` before you :guilabel:`Confirm` the internal
|
||||
transfer.
|
||||
|
||||
The money is now booked in the transfer account and another payment is automatically created in the
|
||||
destination journal.
|
||||
|
||||
.. example::
|
||||
|
||||
- Bank journal (Bank A)
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Payments account
|
||||
-
|
||||
- $1,000
|
||||
* - **Internal transfer account**
|
||||
- **$1,000**
|
||||
-
|
||||
|
||||
- Bank journal (Bank B)
|
||||
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Receipts account
|
||||
- $1,000
|
||||
-
|
||||
* - **Internal transfer account**
|
||||
-
|
||||
- **$1,000**
|
||||
|
||||
There is **one outstanding payment** and **one outstanding receipt** pending in your two bank
|
||||
account journals because the bank statement confirming the sending and receiving of the money
|
||||
has not been booked yet.
|
||||
|
||||
Once this is done, you can book and reconcile your bank statement lines as usual.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../bank/reconciliation`
|
||||
@@ -35,9 +35,6 @@ To do so, go to :menuselection:`Accounting --> Configuration --> Settings`. Unde
|
||||
- :guilabel:`Reminder`: define when Odoo should remind you to submit your tax return;
|
||||
- :guilabel:`Journal`: select the journal in which to record the tax return.
|
||||
|
||||
.. image:: tax_returns/tax_return_periodicity.png
|
||||
:align: center
|
||||
:alt: Configure how often tax returns have to be made in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
This is usually configured during the :doc:`app's initial set up <../get_started>`.
|
||||
@@ -53,16 +50,11 @@ You can see the :guilabel:`Tax Grids` by opening the :guilabel:`Journal Items` t
|
||||
invoice and bill.
|
||||
|
||||
.. image:: tax_returns/tax_return_grids.png
|
||||
:align: center
|
||||
:alt: see which tax grids are used to record transactions in Odoo Accounting
|
||||
|
||||
To configure your tax grids, go to :menuselection:`Accounting --> Configuration --> Taxes`,
|
||||
and open the tax you want to modify. There, you can edit your tax settings, along with the tax
|
||||
grids that are used to record invoices or credit notes.
|
||||
|
||||
.. image:: tax_returns/tax_return_taxes.png
|
||||
:align: center
|
||||
:alt: Configure taxes and their tax grids in Odoo Accounting
|
||||
grids that are used to record invoices or refunds.
|
||||
|
||||
.. note::
|
||||
Taxes and reports are usually already pre-configured in Odoo: a :ref:`fiscal localization package
|
||||
@@ -76,40 +68,41 @@ Close a tax period
|
||||
|
||||
.. _tax-returns/lock-date:
|
||||
|
||||
Tax Lock Date
|
||||
Tax lock date
|
||||
-------------
|
||||
|
||||
Any new transaction whose accounting date prior to the :guilabel:`Tax Lock Date` has its tax values
|
||||
moved to the next open tax period. This is useful to make sure that no change can be made to a
|
||||
report once its period is closed.
|
||||
Any new transaction whose accounting date prior to the :guilabel:`Lock Tax Return` date has its tax
|
||||
values moved to the next open tax period. This is useful to make sure that no change can be made to
|
||||
a report once its period is closed.
|
||||
|
||||
Therefore, we recommend locking your tax date before working on your
|
||||
:guilabel:`Closing Journal Entry`.
|
||||
This way, other users cannot modify or add transactions that would have an impact on the
|
||||
:guilabel:`Closing Journal Entry`, which can help you avoid some tax declaration errors.
|
||||
|
||||
To check the current :guilabel:`Tax Lock Date`, or to edit it, go to
|
||||
:menuselection:`Accounting --> Accounting --> Actions: Lock Dates`.
|
||||
|
||||
.. image:: tax_returns/tax_return_lock.png
|
||||
:align: center
|
||||
:alt: Lock your tax for a specific period in Odoo Accounting
|
||||
To check the current :guilabel:`Lock Tax Return` date, or to edit it, go to
|
||||
:menuselection:`Accounting --> Accounting --> Lock Dates`.
|
||||
|
||||
.. _tax-returns/report:
|
||||
|
||||
Tax Report
|
||||
Tax return
|
||||
----------
|
||||
|
||||
Once all the transactions involving taxes have been posted for the period you want to report, open
|
||||
your :guilabel:`Tax Report` by going to :menuselection:`Accounting --> Reporting -->
|
||||
Audit Reports: Tax Report`. Make sure to select the right period you want to declare by using the
|
||||
date filter, this way you can have an overview of your tax report. From this view, you can easily
|
||||
access different formats of your tax report, such as `PDF` and XLSX. These include all the values to
|
||||
report to the tax authorities, along with the amount you have to pay or be refunded.
|
||||
the :guilabel:`Tax Return` report by going to :menuselection:`Accounting --> Reporting --> Tax
|
||||
Return`. Select the period you want to declare using the date filter to have an overview of the tax
|
||||
return. Then, click :guilabel:`Closing Entry` to create a tax closing journal entry. Odoo
|
||||
automatically proposes the details of the journal entry. Make any necessary changes and click
|
||||
:guilabel:`Post`.
|
||||
|
||||
.. image:: tax_returns/tax_return_report.png
|
||||
:align: center
|
||||
:alt: download the PDF with your Tax Report in Odoo Accounting
|
||||
From the report, click :guilabel:`PDF` to download a PDF of the tax return. Alternatively, click the
|
||||
:icon:`fa-cog` (:guilabel:`gear`) icon, then click :guilabel:`Download Excel` to download an XLSX of
|
||||
the tax return. To save the report to the Documents app, click the :icon:`fa-cog` (:guilabel:`gear`)
|
||||
icon, then click :guilabel:`Copy to Documents`. Select the format to :guilabel:`Export to`, the
|
||||
:guilabel:`Documents Name`, the :guilabel:`Folder` to store it in, and add any :guilabel:`Tags`.
|
||||
|
||||
The report includes all the values to report to the tax authorities, along with the amount to be
|
||||
paid or refunded.
|
||||
|
||||
.. note::
|
||||
If you forgot to lock your tax date before clicking on :guilabel:`Closing Journal Entry`, then
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -24,6 +24,10 @@ localization.
|
||||
- `l10n_at_saft`
|
||||
- Adds the SAF-T export.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in Austria
|
||||
<../accounting/customer_invoices/electronic_invoicing/austria>`
|
||||
|
||||
Financial reports
|
||||
=================
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@ Install the :guilabel:`🇧🇪 Belgium` :ref:`fiscal localization package
|
||||
<fiscal_localizations/packages>` to get all the default accounting features of the Belgian
|
||||
localization, following the :abbr:`IFRS(International Financial Reporting Standards)` rules.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in Belgium
|
||||
<../accounting/customer_invoices/electronic_invoicing/belgium>`
|
||||
|
||||
.. _belgium/coa:
|
||||
|
||||
Chart of accounts
|
||||
|
||||
@@ -205,11 +205,11 @@ An Odoo local server works as a bridge between your computer and your Odoo datab
|
||||
Download the Odoo Community installer from the page https://www.odoo.com/page/download and start the
|
||||
installation on your computer.
|
||||
|
||||
Select :guilabel:`Local Proxy Mode` as the type of install.
|
||||
Select :guilabel:`Odoo IoT` as the type of install.
|
||||
|
||||
.. image:: egypt/install-odoo-local-proxy.png
|
||||
:align: center
|
||||
:alt: Selection of "Local Proxy Mode" during the installation of Odoo Community.
|
||||
:alt: Selection of "Odoo IoT" during the installation of Odoo Community.
|
||||
|
||||
.. note::
|
||||
This installation of Odoo only works as a server and does not install any Odoo apps on your
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
@@ -2,6 +2,10 @@
|
||||
France
|
||||
======
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in France
|
||||
<../accounting/customer_invoices/electronic_invoicing/france>`
|
||||
|
||||
.. _localization/france/fec:
|
||||
|
||||
FEC - Fichier des Écritures Comptables
|
||||
|
||||
@@ -2,222 +2,154 @@
|
||||
Germany
|
||||
=======
|
||||
|
||||
German Chart of Accounts
|
||||
========================
|
||||
Accounting
|
||||
==========
|
||||
|
||||
The chart of accounts SKR03 and SKR04 are both supported in Odoo. You can choose the
|
||||
one you want by going in :menuselection:`Accounting --> Configuration` then choose the
|
||||
package you want in the Fiscal Localization section.
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing's legality and compliance in Germany
|
||||
<../accounting/customer_invoices/electronic_invoicing/germany>`
|
||||
|
||||
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
||||
Chart of accounts
|
||||
-----------------
|
||||
|
||||
.. tip::
|
||||
Both SKR03 and SKR04 charts of accounts are supported in Odoo. When you create a new Odoo Online
|
||||
database, SKR03 is installed by default.
|
||||
|
||||
When you create a new Odoo Online database, the SKR03 is installed by default.
|
||||
Verify which is installed by going to :menuselection:`Accounting --> Configuration --> Settings`
|
||||
and checking the :guilabel:`Package` field under the :guilabel:`Fiscal Localization` section.
|
||||
|
||||
German Accounting Reports
|
||||
=========================
|
||||
.. warning::
|
||||
Selecting another package is only possible if you have not created an accounting entry. If one
|
||||
was posted, a new company or database must be set up to select another package. In
|
||||
addition, all journal entries will need to be created again.
|
||||
|
||||
Here is the list of German-specific reports available on Odoo Enterprise:
|
||||
Reports
|
||||
-------
|
||||
|
||||
The following German-specific reports available on Odoo Enterprise:
|
||||
|
||||
- Balance Sheet
|
||||
- Profit & Loss
|
||||
- Tax Report (Umsatzsteuervoranmeldung)
|
||||
- Partner VAT Intra
|
||||
- EC Sales List
|
||||
- Intrastat
|
||||
|
||||
Export from Odoo to Datev
|
||||
=========================
|
||||
Exporting entries from Odoo to DATEV
|
||||
------------------------------------
|
||||
|
||||
It is possible to export your accounting entries from Odoo to Datev. To be able to use this
|
||||
feature, the german accounting localization needs to be installed on your Odoo Enterprise database.
|
||||
Then you can go in :menuselection:`Accounting --> Reporting --> General Ledger` then click on the
|
||||
**Export Datev (csv)** button.
|
||||
Provided that one of the German :ref:`fiscal localization packages
|
||||
<fiscal_localizations/accounting>` is installed, you can export your accounting entries from Odoo to
|
||||
DATEV from the general ledger.
|
||||
|
||||
.. _germany/pos:
|
||||
|
||||
Point of Sale in Germany: Technical Security System
|
||||
===================================================
|
||||
|
||||
The **Kassensicherungsverordnung** (The Act on Protection against Manipulation of Digital Records)
|
||||
requires that electronic record-keeping systems - including the :doc:`point of sale
|
||||
</applications/sales/point_of_sale>` systems - must be equipped with a **Technical Security System**
|
||||
(also called **TSS** or **TSE**).
|
||||
|
||||
Odoo offers a service that is compliant with the help of `fiskaly <https://fiskaly.com>`_, a
|
||||
*cloud-based solution*.
|
||||
|
||||
.. important::
|
||||
Since this solution is cloud-based, a working internet connection is required.
|
||||
Two types of exports are needed: first the DATEV ATCH export, then the DATEV DATA export.
|
||||
|
||||
.. note::
|
||||
The only VAT rates allowed are given by fiskaly. You can check these rates by consulting:
|
||||
`fiskaly DSFinV-K API: VAT Definition
|
||||
<https://developer.fiskaly.com/api/dsfinvk/v0/#tag/VAT-Definition>`_.
|
||||
Both are needed at different stages to transfer the data correctly to DATEV, as DATEV works with
|
||||
two interfaces, one for clients (DUO - DATEV Unternehmen Online) and one for tax advisors (DATEV
|
||||
Rechnungswesen).
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
1. DATEV ATCH
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Modules installation
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
Go to :menuselection:`Accounting --> Reporting --> General Ledger`, click the :icon:`fa-cog`
|
||||
(:guilabel:`Actions`) button, and select :guilabel:`Datev ATCH (zip)`.
|
||||
|
||||
#. If your database was created before June 2021, :ref:`upgrade <general/upgrade>` your **Point of
|
||||
Sale** app (`point_of_sale`) and the **Restaurant** module (`pos_restaurant`).
|
||||
#. :ref:`Install <general/install>` the **Germany - Certification for Point of Sale**
|
||||
(`l10n_de_pos_cert`) and **Germany - Certification for Point of Sale of type restaurant**
|
||||
(`l10n_de_pos_res_cert`) modules.
|
||||
.. image:: germany/datev-export.png
|
||||
:alt: General ledger's actions menu with DATEV exports
|
||||
|
||||
.. tip::
|
||||
If these modules are not listed, :ref:`update the app list <general/install>`.
|
||||
Upload the downloaded ZIP file via the `DATEV Belegtransfer software <https://www.datev.de/web/de/service-und-support/software-bereitstellung/download-bereich/betriebliches-rechnungswesen/belegtransfer>`_.
|
||||
|
||||
.. image:: germany/pos-upgrade.png
|
||||
:align: center
|
||||
:alt: Upgrading Odoo Point of Sale from the Apps dashboard
|
||||
If you do not have the DATEV Belegtransfer software installed on your computer, ask your tax advisor
|
||||
to help you with this.
|
||||
|
||||
Register your company at the financial authority
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
.. warning::
|
||||
The DATEV ATCH ZIP file includes the files (reports) linked to an Odoo invoice or bill. For
|
||||
customer invoices, the file must have been generated by using the :guilabel:`Send` button. For
|
||||
vendor bills, the file must have been received via an email alias or uploaded by using the
|
||||
:guilabel:`Upload` button.
|
||||
|
||||
To register your company, go to :menuselection:`Settings --> General Settings --> Companies -->
|
||||
Update Info`, fill out the following fields and *Save*.
|
||||
.. admonition:: DATEV ATCH ZIP file
|
||||
|
||||
- **Company name**
|
||||
- Valid **address**
|
||||
- **VAT** number
|
||||
- **St.-Nr** (Steuernummer): this number is assigned by the tax office to every taxable natural or
|
||||
legal person. (e.g., `2893081508152`)
|
||||
- **W-IdNr** (Wirtschafts-Identifikationsnummer): this number is used as a permanent
|
||||
identification number for economically active persons.
|
||||
The ZIP file contains two types of files:
|
||||
|
||||
You can then **register your company through fiskaly** by opening the *fiskaly* tab and clicking on
|
||||
the *fiskaly Registration* button.
|
||||
- the individual invoice/bill files (PDF, JPEG, etc.) for the selected period on the general
|
||||
ledger, and
|
||||
- a :file:`document.xml` file used to generate a unique ID (GUID) for each file.
|
||||
|
||||
.. image:: germany/fiskaly-registration.png
|
||||
:align: center
|
||||
:alt: Button to register a company through fiskaly in Odoo
|
||||
These unique IDs are essential as they allow DATEV to automatically link the files to the
|
||||
individual journal items, which will be imported with the DATEV DATA file in the next step.
|
||||
|
||||
.. tip::
|
||||
If you do not see the *fiskaly Registration* button, make sure that you *saved* your company
|
||||
details and are not in *editing mode* anymore.
|
||||
2. DATEV DATA
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Once the registration has been finalized, new fields appear:
|
||||
Go to :menuselection:`Accounting --> Reporting --> General Ledger`, click the :icon:`fa-cog`
|
||||
(:guilabel:`Actions`) button, and select :guilabel:`Datev DATA (zip)`.
|
||||
|
||||
- **fiskaly organization ID** refers to the ID of your company at the fiskaly side.
|
||||
- **fiskaly API key** and **secret** are the credentials the system uses to access the services
|
||||
offered by fiskaly.
|
||||
Transfer the downloaded ZIP file to your tax advisor. They should import the ZIP file into DATEV
|
||||
Rechnungswesen.
|
||||
|
||||
.. image:: germany/fiskaly-keys.png
|
||||
:align: center
|
||||
:alt: fiskaly keys as displayed on Odoo
|
||||
Check with your tax advisor how often they need these files.
|
||||
|
||||
.. note::
|
||||
It is possible to request new credentials if there is any issue with the current ones.
|
||||
.. admonition:: DATEV ATCH ZIP file
|
||||
|
||||
Create and link a Technical Security System to your PoS
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The ZIP file contains three CSV files:
|
||||
|
||||
.. image:: germany/create-tss.png
|
||||
:align: right
|
||||
:alt: Create TSS option from a point of sale
|
||||
|
||||
To use your point of sale in Germany, you first have to create a :abbr:`TSS (Technical Security
|
||||
System)` for it.
|
||||
|
||||
To do so, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, open the point
|
||||
of sale you want to edit, then check the box next to **Create TSS** and *Save*.
|
||||
|
||||
.. image:: germany/tss-ids.png
|
||||
:align: right
|
||||
:alt: Example of TSS ID and Client ID from fiskaly in Odoo Point of Sale
|
||||
|
||||
Once the creation of the TSS is successful, you can find your **TSS ID** and **Client ID** under the
|
||||
*fiskaly API* section.
|
||||
|
||||
- **TSS ID** refers to the ID of your TSS at fiskaly's side.
|
||||
- **Client ID** refers to your PoS but at fiskaly's side.
|
||||
|
||||
DSFinV-K
|
||||
--------
|
||||
|
||||
.. image:: germany/dsfinv-k-export.png
|
||||
:align: right
|
||||
:alt: Menu to export DSFinV-K
|
||||
|
||||
Whenever you close a PoS session, the orders' details are sent to the :abbr:`DSFinV-K (Digitale
|
||||
Schnittstelle der Finanzverwaltung für Kassensysteme)` service of fiskaly.
|
||||
|
||||
In case of an audit, you can export the data sent to DSFinV-K by going to :menuselection:`Point of
|
||||
Sale --> Orders --> DSFinV-k exports`.
|
||||
|
||||
These fields are mandatory:
|
||||
|
||||
- **Name**
|
||||
- **Start Datetime** (export data with dates larger than or equal to the given start date)
|
||||
- **End Datetime** (export data with dates smaller than or equal to the given end date)
|
||||
|
||||
Leave the **Point of Sale** field blank if you want to export the data of all your points of sale.
|
||||
Specify a Point of Sale if you want to export this specific PoS' data only.
|
||||
|
||||
The creation of a DSFinV-K export triggers on export at fiskaly's side.
|
||||
|
||||
.. image:: germany/dsfinv-k-export-fields.png
|
||||
:align: center
|
||||
:alt: Pending DSFinV-K export on Odoo
|
||||
|
||||
As you can see, the **State** is *Pending*. This means that the export has been successfully
|
||||
triggered and is being processed. You have to click on *Refresh State* to check if it is ready.
|
||||
- the :file:`EXTF_customer_accounts.csv` file containing all information related to your
|
||||
customers,
|
||||
- the :file:`EXTF_vendor_accounts.csv` file containing all information related to your vendors,
|
||||
and
|
||||
- the :file:`EXTF_accounting_entries.csv` containing all journal items for the period defined on
|
||||
the general ledger, as well as the unique IDs (GUID) so that the journal items can be linked to
|
||||
the files inside the DATEV ATCH ZIP file.
|
||||
|
||||
.. _germany/gobd:
|
||||
|
||||
German Tax Accounting Standards: Odoo's guide to GoBD Compliance
|
||||
================================================================
|
||||
GoBD compliance
|
||||
---------------
|
||||
|
||||
**GoBD** stands for *Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
|
||||
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff*.
|
||||
In short, it is a **guideline for the proper management and storage of books, records, and documents
|
||||
in electronic form, as well as for data access**, that is relevant for the German tax authority, tax
|
||||
declaration, and balance sheet.
|
||||
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff*. In short, it is a
|
||||
guideline for the proper management and storage of books, records, and documents in electronic form,
|
||||
as well as for data access, that is relevant for the German tax authority, tax declaration, and
|
||||
balance sheet.
|
||||
|
||||
These principles have been written and published by the Federal Ministry of Finance (BMF) in
|
||||
November 2014. Since January 2015, **they have become the norm** and replace previously accepted
|
||||
practices linked to computer-based accounting. Several changes have been made by the BMF in 2019 and
|
||||
January 2020 to specify some of the content and due to the development of digital solutions (cloud
|
||||
hosting, paperless companies, etc.).
|
||||
November 2014. Since January 2015, **they have become the norm** and have replaced previously
|
||||
accepted practices linked to computer-based accounting. Several changes have been made by the BMF in
|
||||
2019 and January 2020 to specify some of the content due to the development of digital solutions
|
||||
(cloud hosting, paperless companies, etc.).
|
||||
|
||||
.. important::
|
||||
Odoo gives you **the means to be compliant with GoBD**.
|
||||
Odoo is certified **GoBD-compliant**.
|
||||
|
||||
What do you need to know about GoBD when relying on accounting software?
|
||||
------------------------------------------------------------------------
|
||||
Understanding GoBD in relation to accounting software
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If you can, the best way to understand GoBD is to Read the `Official GoBD text
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
|
||||
It is a bit long but quite readable for non-experts. But in short, here is what to expect:
|
||||
|
||||
The **GoBD is binding for companies that have to present accounts, which includes SMEs, freelancers,
|
||||
and entrepreneurs, to the financial authorities**. As such, **the taxpayer himself is the sole
|
||||
responsible** for the complete and exhaustive keeping of fiscal-relevant data (above-mentioned
|
||||
The **GoBD is binding for companies that have to present accounts**, which includes SMEs,
|
||||
freelancers, and entrepreneurs, to the financial authorities. As such, **the taxpayer himself is the
|
||||
sole responsible** for the complete and exhaustive keeping of fiscal-relevant data (above-mentioned
|
||||
financial and related data).
|
||||
|
||||
Apart from software requirements, the user is required to ensure Internal control systems (*in
|
||||
Apart from software requirements, the user is required to ensure internal control systems (*in
|
||||
accordance with sec. 146 of the Fiscal Code*):
|
||||
|
||||
- Access rights control;
|
||||
- Segregation of Duties, Functional separating;
|
||||
- Entry controls (error notifications, plausibility checks);
|
||||
- Reconciliation checks at data entry;
|
||||
- Processing controls;
|
||||
- Measures to prevent intentional or unintentional manipulation of software, data, or documents.
|
||||
- access rights control;
|
||||
- segregation of duties, functional separating;
|
||||
- entry controls (error notifications, plausibility checks);
|
||||
- reconciliation checks at data entry;
|
||||
- processing controls; and
|
||||
- measures to prevent intentional or unintentional manipulation of software, data, or documents.
|
||||
|
||||
The user must distribute tasks within its organization to the relevant positions (*control*) and
|
||||
The user must distribute tasks within their organization to the relevant positions (*control*) and
|
||||
verify that the tasks are properly and completely performed (*supervision*). The result of these
|
||||
controls must be recorded (*documentation*), and should errors be found during these controls,
|
||||
appropriate measures to correct the situation should be put into place (*prevention*).
|
||||
|
||||
What about data security?
|
||||
-------------------------
|
||||
Data security
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
**The taxpayer must secure the system against any data loss due to deletion, removal, or theft of
|
||||
any data**. If the entries are not sufficiently secured, the bookkeeping will be regarded as not in
|
||||
The taxpayer must **secure the system against any data loss** due to deletion, removal, or theft of
|
||||
any data. If the entries are not sufficiently secured, the bookkeeping will be regarded as not in
|
||||
accordance with the GoBD guidelines.
|
||||
|
||||
Once bookings have been finally posted, they can no longer be changed or deleted via the
|
||||
@@ -229,104 +161,183 @@ application.
|
||||
.. seealso::
|
||||
`Odoo Cloud Hosting - Service Level Agreement <https://www.odooo.com/cloud-sla>`_
|
||||
|
||||
- If the server is operated locally, it is the responsibility of the user to create the necessary
|
||||
backup infrastructure.
|
||||
- If the server is operated locally, the user is responsible for creating the necessary backup
|
||||
infrastructure.
|
||||
|
||||
.. important::
|
||||
In some cases, data has to be kept for ten years or more, so always have backups saved. It is
|
||||
even more important if you decide to change software provider.
|
||||
|
||||
Responsibility of the software editor
|
||||
-------------------------------------
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Considering GoBD only applies between the taxpayer and the financial authority, **the software
|
||||
editor can by no means be held responsible for the accurate and compliant documentation of financial
|
||||
transactional data of their users**. It can merely provide the necessary tools for the user to
|
||||
respect the software related guidelines described in the GoBD.
|
||||
Considering GoBD applies only to the taxpayer, **the software editor can by no means be held
|
||||
responsible for the accurate and compliant documentation of their users' financial transactional
|
||||
data**. It can merely provide the necessary tools for the user to respect the software-related
|
||||
guidelines described in the GoBD.
|
||||
|
||||
How can Odoo help you achieve Compliance?
|
||||
-----------------------------------------
|
||||
Ensuring compliance through Odoo
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The key words, when it comes to GoBD, are: **traceable, verifiable, true, clear, and continuous**.
|
||||
In short, you need to have audit-proof archiving in place and Odoo provides you with the means to
|
||||
The keywords, when it comes to GoBD are: **traceable, verifiable, true, clear, and continuous**.
|
||||
In short, you need to have audit-proof archiving in place, and Odoo provides you with the means to
|
||||
achieve all of these objectives:
|
||||
|
||||
#. | **Traceability and verifiability**
|
||||
| Each record in Odoo is stamped with the creator of the document, the creation date, the
|
||||
modification date, and who modified it. In addition, relevant fields are tracked thus it can be
|
||||
seen which value was changed by whom in the chatter of the relevant object.
|
||||
modification date, and who modified it. In addition, relevant fields are tracked. Thus, it can
|
||||
be seen which value was changed by whom in the chatter of the relevant object.
|
||||
#. | **Completeness**
|
||||
| All financial data must be recorded in the system, and there can be no gaps. Odoo ensures that
|
||||
there is no gap in the numbering of the financial transactions. It is the responsibility of the
|
||||
user to encode all financial data in the system. As most financial data in Odoo is generated
|
||||
user to encode all financial data in the system. As most financial data in Odoo is generated
|
||||
automatically, it remains the responsibility of the user to encode all vendor bills and
|
||||
miscellaneous operations completely.
|
||||
#. | **Accuracy**
|
||||
| Odoo ensures with the correct configuration that the correct accounts are used. In addition,
|
||||
| Odoo ensures that, with the correct configuration, the correct accounts are used. In addition,
|
||||
the control mechanisms between purchase orders and sales orders and their respective invoices
|
||||
reflect the business reality. It is the responsibility of the user to scan and attach the
|
||||
paper-based vendor bill to the respective record in Odoo. *Odoo Document helps you automate
|
||||
this task*.
|
||||
reflect the reality of the business. It is the responsibility of the user to scan and attach
|
||||
the paper-based vendor bill to the respective record in Odoo. *Odoo Documents helps you
|
||||
automate this task*.
|
||||
#. | **Timely booking and record-keeping**
|
||||
| As most financial data in Odoo is generated by the transactional objects (for example, the
|
||||
invoice is booked at confirmation), Odoo ensures out-of-the-box timely record-keeping. It is
|
||||
the responsibility of the user to encode all incoming vendor bills in a timely manner, as well
|
||||
as the miscellaneous operations.
|
||||
#. | **Order**
|
||||
| Financial data stored in Odoo is per definition ordered and can be reordered according to most
|
||||
fields present in the model. A specific ordering is not enforced by the GoBD, but the system
|
||||
must ensure that a given financial transaction can be quickly found by a third-party expert.
|
||||
Odoo ensures this out-of-the-box.
|
||||
| Financial data stored in Odoo is, per definition, ordered and can be reordered according to
|
||||
most fields present in the model. A specific ordering is not enforced by the GoBD, but the
|
||||
system must ensure that a given financial transaction can be quickly found by a third-party
|
||||
expert. Odoo ensures this out-of-the-box.
|
||||
#. | **Inalterability**
|
||||
| With the German Odoo localization, Odoo is in standard configured in such a way that the
|
||||
inalterability clause can be adhered to without any further customization.
|
||||
|
||||
Do you need a GoBD-Export?
|
||||
--------------------------
|
||||
GoBD export
|
||||
~~~~~~~~~~~
|
||||
|
||||
In the case of fiscal control, the fiscal authority can request three levels of access to the
|
||||
accounting system (Z1, Z2, Z3). These levels vary from direct access to the interface to the
|
||||
handover of the financial data on a storage device.
|
||||
|
||||
In case of a handover of the financial data on a storage device, the format is **not** enforced by
|
||||
the GoBD. It can be, for example, in XLS, CSV, XML, Lotus 123, SAP-format, AS/400-format, or else.
|
||||
Odoo supports the CSV and XLS-export of financial data out-of-the-box. The GoBD **recommends** the
|
||||
export in a specific XML-based GoBD-format (see "Ergänzende Informationen zur
|
||||
Datenntträgerüberlassung" §3) but it is not binding.
|
||||
In the case of a handover of financial data to a storage device, the GoBD does **not** enforce the
|
||||
format. It can be, for example, in XLS, CSV, XML, Lotus 123, SAP-format, AS/400-format, or else.
|
||||
Odoo supports the CSV and XLS export of financial data out of the box. The GoBD **recommends** the
|
||||
export in a specific XML-based GoBD format (see "Ergänzende Informationen zur
|
||||
Datenträgerüberlassung" §3), but it is not binding.
|
||||
|
||||
What is the role and meaning of the compliance certification?
|
||||
-------------------------------------------------------------
|
||||
Non-compliance
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
The GoBD clearly states that due to the nature of a state of the art accounting software, their
|
||||
configuration possibilities, changing nature, and various forms of use, **no legally binding
|
||||
certification can be given**, nor can the software be made liable towards a public authority.
|
||||
Third-party certificates can indeed have **an informative value** for customers to make software
|
||||
buying decisions but are by no means legally binding or of any other legal value (A. 12, § 181).
|
||||
In the event of an infringement, you can expect a fine and a court order demanding the
|
||||
implementation of specific measures.
|
||||
|
||||
A GoBD certificate states nothing more than that if you use the software according to its
|
||||
guidelines, the software will not refrain you from respecting the GoBD. These certifications are
|
||||
very expensive in terms of time and cost, and their value is very relative. Thus we focus our
|
||||
efforts on ensuring GoBD compliance rather than pay for a marketing tool which does not, however,
|
||||
offer our customer any legal certainty.
|
||||
.. _germany/pos:
|
||||
|
||||
Point of Sale
|
||||
=============
|
||||
|
||||
Technical security system
|
||||
-------------------------
|
||||
|
||||
The **Kassensicherungsverordnung** (The Act on Protection against Manipulation of Digital Records)
|
||||
requires that electronic record-keeping systems - including the :doc:`point of sale
|
||||
</applications/sales/point_of_sale>` systems - must be equipped with a **technical security system**
|
||||
(also called **TSS** or **TSE**).
|
||||
|
||||
Odoo offers a service that is compliant with the help of `fiskaly <https://fiskaly.com>`_, a
|
||||
*cloud-based solution*.
|
||||
|
||||
.. important::
|
||||
The BMF actually states the following in the `Official GoBD text
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_:
|
||||
Since this solution is cloud-based, a working internet connection is required.
|
||||
|
||||
- 180. Positive attestations on the correctness of the bookkeeping - and thus on the correctness
|
||||
of IT-based bookkeeping systems - are not issued either in the context of a tax field audit or
|
||||
in the context of binding information.
|
||||
- 181. "Certificates" or "attestations" from third parties can serve as a decision criterion for
|
||||
the company when selecting a software product, but develop from the in margin no. 179 is not
|
||||
binding on the tax authorities.
|
||||
.. note::
|
||||
The only VAT rates allowed are given by fiskaly. You can check these rates by consulting
|
||||
`fiskaly DSFinV-K API: VAT Definition
|
||||
<https://developer.fiskaly.com/api/dsfinvk/v0/#tag/VAT-Definition>`_.
|
||||
|
||||
.. note::
|
||||
The previous content was `automatically translated from German with Google Translate
|
||||
<https://translate.google.com/?sl=de&tl=en&text=180.%0APositivtestate%20zur%20Ordnungsm%C3%A4%C3%9Figkeit%20der%20Buchf%C3%BChrung%20-%20und%20damit%20zur%20Ordnungsm%C3%A4%C3%9Figkeit%20DV-gest%C3%BCtzter%20Buchf%C3%BChrungssysteme%20-%20werden%20weder%20im%20Rahmen%20einer%20steuerlichen%20Au%C3%9Fenpr%C3%BCfung%20noch%20im%20Rahmen%20einer%20verbindlichen%20Auskunft%20erteilt.%0A%0A181.%0A%E2%80%9EZertifikate%E2%80%9C%20oder%20%E2%80%9ETestate%E2%80%9C%20Dritter%20k%C3%B6nnen%20bei%20der%20Auswahl%20eines%20Softwareproduktes%20dem%20Unternehmen%20als%20Entscheidungskriterium%20dienen%2C%20entfalten%20jedoch%20aus%20den%20in%20Rz.%20179%20genannten%20Gr%C3%BCnden%20gegen%C3%BCber%20der%20Finanzbeh%C3%B6rde%20keine%20Bindungswirkung.%20&op=translate>`_.
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
:ref:`Install <general/install>` the **Germany - Certification for Point of Sale**
|
||||
(`l10n_de_pos_cert`) and **Germany - Certification for Point of Sale of type restaurant**
|
||||
(`l10n_de_pos_res_cert`) modules.
|
||||
|
||||
What happens if you are not compliant?
|
||||
--------------------------------------
|
||||
.. tip::
|
||||
If these modules are not listed, :ref:`update the app list <general/install>`.
|
||||
|
||||
In the event of an infringement, you can expect a fine but also a court order demanding the
|
||||
implementation of specific measures.
|
||||
Company registration at the financial authority
|
||||
***********************************************
|
||||
|
||||
To register your company, open the :guilabel:`Settings` app, click :guilabel:`Update Info` under the
|
||||
:guilabel:`Companies` section, and fill in the following fields:
|
||||
|
||||
- :guilabel:`Company Name`
|
||||
- :guilabel:`Address`
|
||||
- :guilabel:`VAT`
|
||||
- :guilabel:`St.-Nr.` (Steuernummer) this number is assigned by the tax office to every taxable
|
||||
natural or legal person (e.g., `2893081508152`).
|
||||
- :guilabel:`W-IdNr.` (Wirtschafts-Identifikationsnummer) this number is used as a permanent
|
||||
identification number for economically active persons.
|
||||
|
||||
You can then **register your company through fiskaly** by opening the :guilabel:`Fiskaly` tab and
|
||||
clicking the :guilabel:`Fiskaly Registration` button.
|
||||
|
||||
.. tip::
|
||||
If you do not see the :guilabel:`Fiskaly Registration` button, make sure that you *saved* your
|
||||
company details and are not in *editing mode* anymore.
|
||||
|
||||
Once the registration has been finalized, new fields appear:
|
||||
|
||||
- :guilabel:`Fiskaly Organization ID` refers to the ID of your company on fiskaly's side.
|
||||
- :guilabel:`Fiskaly API Key` and :guilabel:`Fiskaly API Secret` are the credentials the system
|
||||
uses to access the services offered by fiskaly.
|
||||
|
||||
.. image:: germany/fiskaly-registration.png
|
||||
:alt: Fiskaly registration tab
|
||||
|
||||
.. note::
|
||||
It is possible to request new credentials if there is any issue with the current ones by clicking
|
||||
the :guilabel:`New keys` button.
|
||||
|
||||
Create a technical security system and link it to a POS
|
||||
*******************************************************
|
||||
|
||||
To use a point of sale in Germany, first create a :abbr:`TSS (Technical Security System)` by going
|
||||
to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, selecting the
|
||||
:guilabel:`Point of Sale` to edit, then checking the :guilabel:`Create TSS` box under the
|
||||
:guilabel:`Fiskaly API` section.
|
||||
|
||||
Once the creation of the TSS is successful, you can find the:
|
||||
|
||||
- :guilabel:`TSS ID`, which refers to the ID of your TSS on fiskaly's side, and
|
||||
- :guilabel:`Fiskaly Client ID`, which refers to your POS on fiskaly's side.
|
||||
|
||||
.. image:: germany/fiskaly-tss.png
|
||||
:alt: Fiskaly API section
|
||||
|
||||
DSFinV-K export
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Whenever you close a PoS session, the details of the orders are sent to the :abbr:`DSFinV-K
|
||||
(Digitale Schnittstelle der Finanzverwaltung für Kassensysteme)` service of fiskaly.
|
||||
|
||||
In case of an audit, you can export the data sent to DSFinV-K by going to :menuselection:`Point of
|
||||
Sale --> Orders --> DSFinV-K Exports --> New`.
|
||||
|
||||
.. image:: germany/pos-orders-menu.png
|
||||
:alt: Menu to export DSFinV-K
|
||||
|
||||
These fields are mandatory:
|
||||
|
||||
- :guilabel:`Start Datetime`: export data with dates larger than or equal to the given start date
|
||||
- :guilabel:`End Datetime`: export data with dates smaller than or equal to the given end date
|
||||
|
||||
Leave the :guilabel:`Point of Sale` field blank to export the data of all your points of sale;
|
||||
specify one if you want to export data for this specific POS only.
|
||||
|
||||
.. image:: germany/dsfinv-k-export.png
|
||||
:alt: Exporting DSFinV-K
|
||||
|
||||
When an export is successfully triggered and is being processed, the :guilabel:`State` field should
|
||||
mention :guilabel:`Pending`. Click :guilabel:`Refresh State` to check if it is ready.
|
||||
|
||||
|
Before Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -33,6 +33,10 @@ localization:
|
||||
- `l10n_it_stock_ddt`
|
||||
- Transport documents - Documento di Trasporto (DDT)
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in Italy
|
||||
<../accounting/customer_invoices/electronic_invoicing/italy>`
|
||||
|
||||
Company information
|
||||
-------------------
|
||||
|
||||
|
||||
@@ -32,6 +32,10 @@ localization:
|
||||
Installing the module :guilabel:`Luxembourg - Accounting Reports` installs all three modules at
|
||||
once.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in Luxembourg
|
||||
<../accounting/customer_invoices/electronic_invoicing/luxembourg>`
|
||||
|
||||
Standard Chart of Accounts - PCN 2020
|
||||
=====================================
|
||||
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
Netherlands
|
||||
===========
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in the Netherlands
|
||||
<../accounting/customer_invoices/electronic_invoicing/netherlands>`
|
||||
|
||||
XAF Export
|
||||
==========
|
||||
|
||||
|
||||
@@ -24,6 +24,10 @@ localization.
|
||||
.. image:: romania/romania-modules.png
|
||||
:alt: Modules for the Romanian localization
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing’s legality and compliance in Romania
|
||||
<../accounting/customer_invoices/electronic_invoicing/romania>`
|
||||
|
||||
D.406 declaration
|
||||
=================
|
||||
|
||||
|
||||
@@ -20,6 +20,12 @@ select a package in the :guilabel:`Fiscal Localization` section.
|
||||
.. warning::
|
||||
You can only change the accounting package as long as you have not created any accounting entry.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Documentation on e-invoicing’s legality and compliance in Spain
|
||||
<../accounting/customer_invoices/electronic_invoicing/spain>`
|
||||
- :doc:`Documentation on e-invoicing’s legality and compliance in the Basque Country
|
||||
<../accounting/customer_invoices/electronic_invoicing/basque_country>`
|
||||
|
||||
Chart of accounts
|
||||
=================
|
||||
|
||||
|
||||
@@ -105,39 +105,61 @@ search for your company to verify the following:
|
||||
Set up a Uruware account
|
||||
------------------------
|
||||
|
||||
To set up a Uruware account, first be sure to have a valid Odoo subscription. Then follow the
|
||||
proceeding steps.
|
||||
To set up a Uruware account, follow these steps:
|
||||
|
||||
Locate the Uruware credentials settings by navigating to the :menuselection:`Accounting -->
|
||||
Configuration --> Settings`. Scroll down to the :guilabel:`Uruguayan Localization` section and click
|
||||
on :guilabel:`Create Uruware Account`.
|
||||
#. Verify that you have a valid Odoo subscription.
|
||||
#. Locate the Uruware credentials settings by navigating to the :menuselection:`Accounting -->
|
||||
Configuration --> Settings`.
|
||||
#. Scroll down to the :guilabel:`Uruguayan Localization` section and select the environment
|
||||
(:guilabel:`Production` or :guilabel:`Testing`).
|
||||
#. Click on :guilabel:`Create Uruware Account`.
|
||||
|
||||
Upon doing so, an email is sent to the address associated with your Odoo subscription with the
|
||||
username and password to enter Uruware's portal and set up your account.
|
||||
password to enter Uruware's portal and set up your account.
|
||||
|
||||
.. tip::
|
||||
Your :guilabel:`Tax ID` needs to be setup to be able to create your account.
|
||||
- The email with the credentials is not immediate; it might take up to 48 hours for the account to
|
||||
be created.
|
||||
- The company's :guilabel:`Tax ID` needs to be set up to be able to create an Uruware account.
|
||||
- The password sent expires after 24 hours. In this case, reset it by using the *Forgot Password*
|
||||
link in Uruware's portal.
|
||||
|
||||
.. note::
|
||||
This action will create an account with Uruware with the following information:
|
||||
|
||||
- Legal name (razón social)
|
||||
- RUT from the company
|
||||
- User name (RUT.odoo)
|
||||
- Username (the Odoo subscription email or `RUT`.odoo. For example: `213344556677.odoo`)
|
||||
- Odoo database link
|
||||
|
||||
To ensure your account is created correctly, please add any missing information from above.
|
||||
|
||||
Once the account is created, a confirmation email is sent to the email linked to your subscription
|
||||
in Odoo, containing the credentials to configure the account directly in the Uruware
|
||||
`testing portal <https://odootest.ucfe.com.uy/Gestion/>`_ or
|
||||
Once the account is created and you have received the email containing the credentials, configure
|
||||
your accounts directly in the Uruware `testing portal <https://odootest.ucfe.com.uy/Gestion/>`_ or
|
||||
`production portal <https://prod6109.ucfe.com.uy/Gestion/>`_:
|
||||
|
||||
Use the account credentials in the email to log in to the portal.
|
||||
Use the account credentials in the email to log in to the to the corresponding (`test
|
||||
<https://odootest.ucfe.com.uy/Gestion/>`_ or `production <https://prod6109.ucfe.com.uy/Gestion/>`_)
|
||||
portal.
|
||||
|
||||
In Uruware's portal, the following steps are needed to be able to issue invoices from Odoo:
|
||||
|
||||
#. Complete and correct the company's information.
|
||||
#. Add your digital certificate.
|
||||
#. Add your :abbr:`CAEs (Constancia de Autorización para Emisión)` for each document-type you plan
|
||||
to issue.
|
||||
#. Configure the format of the PDF to be printed and sent to your customers.
|
||||
|
||||
.. important::
|
||||
Be sure to configure two accounts, one for testing and one for production. The email address can
|
||||
be changed in Uruware and the same can be used in both environments.
|
||||
Be sure to configure two accounts, one for testing and one for production. The certificate is
|
||||
needed in both environments, but :abbr:`CAEs (Constancia de Autorización para Emisión)` are only
|
||||
needed in production.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Uruguay Localization
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-uruguay-432>`_
|
||||
- `Odoo Help Forum: Uruguay
|
||||
<https://www.odoo.com/forum/help-1?search=l10n_uy>`_
|
||||
|
||||
Electronic invoice data
|
||||
-----------------------
|
||||
@@ -156,6 +178,9 @@ First, select the :guilabel:`UCFE Web Services` environment:
|
||||
to the |DGI|. For this reason, rejection errors will not appear in this mode. Every internal
|
||||
validation can be tested in demo mode. Avoid selecting this option in a production database.
|
||||
|
||||
.. note::
|
||||
Using :guilabel:`Demo` mode does not require a Uruware account.
|
||||
|
||||
Then, enter the :guilabel:`Uruware Data`:
|
||||
|
||||
- :guilabel:`Uruware WS Password`
|
||||
@@ -166,9 +191,16 @@ Then, enter the :guilabel:`Uruware Data`:
|
||||
:alt: Required information for electronic invoice.
|
||||
|
||||
.. note::
|
||||
This data can be obtained from the Uruware portal, after configuring the :ref:`Uruware account
|
||||
<l10n_uy/uruware-account>`. The :guilabel:`Uruware WS Password` differs from the password you use
|
||||
to enter your Uruware account.
|
||||
This data can be obtained from the Uruware portal after configuring the :ref:`Uruware account
|
||||
<l10n_uy/uruware-account>`.
|
||||
|
||||
To get the :guilabel:`Uruware WS Password`, go to :menuselection:`Configuration --> Company -->
|
||||
Edit` and look for the :guilabel:`Validators and Additional Information` tab to find
|
||||
:guilabel:`WS Password`.
|
||||
|
||||
To get the :guilabel:`Commerce Code`, go to :menuselection:`Configuration --> Branches`.
|
||||
|
||||
To get the :guilabel:`Terminal Code`, go to :menuselection:`Configuration --> Issuing Points`.
|
||||
|
||||
Master data
|
||||
-----------
|
||||
|
||||
@@ -441,8 +441,8 @@ entries. We recommend you ask your accountant for advice.
|
||||
|
||||
By default, the :guilabel:`Bank Account` defined for the :ref:`payment journal
|
||||
<payment_providers/journal>` is used, but you can also specify an :ref:`outstanding account
|
||||
<bank/outstanding-accounts>` for each payment provider to separate the provider's payments from
|
||||
other payments.
|
||||
<accounting/bank/outstanding-accounts>` for each payment provider to separate the provider's
|
||||
payments from other payments.
|
||||
|
||||
.. image:: payment_providers/bank_journal.png
|
||||
:alt: Define an outstanding account for a payment provider.
|
||||
|
||||
@@ -33,8 +33,6 @@ Configuration on the Xendit Dashboard
|
||||
#. In the :guilabel:`Webhook URL` section, enter your Odoo database's URL, followed by
|
||||
`/payment/xendit/webhook` (e.g., `https://example.odoo.com/payment/xendit/webhook`) in the field
|
||||
:guilabel:`Invoices paid` and click the :guilabel:`Test and save` button next to it.
|
||||
#. Navigate to the `Card Settings page <https://dashboard.xendit.co/settings/payment-methods/cards-configuration>`_
|
||||
and ensure that :guilabel:`Optional 3DS` is enabled while :guilabel:`Dynamic 3DS` is disabled.
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
@@ -100,9 +100,10 @@ Sending emails with an external SMTP server
|
||||
the DNS of an Odoo subdomain is not feasible.
|
||||
|
||||
To add an external SMTP server in Odoo, open :guilabel:`Settings`, and enable the :guilabel:`Use
|
||||
Custom Email Servers` option found under the :guilabel:`Discuss` section.
|
||||
Custom Email Servers` option found under the :guilabel:`Emails` section. Then, click
|
||||
:guilabel:`Save` at the top of the page to save the changes.
|
||||
|
||||
Still under the :guilabel:`Discuss` section, click :guilabel:`Outgoing Email Servers`, then `New` to
|
||||
Returning to the :guilabel:`Emails` section, click :guilabel:`Outgoing Email Servers`, then `New` to
|
||||
create an outgoing mail server record. Most fields are the common parameters used to set up a
|
||||
connection to an SMTP server; use the values provided by your email provider.
|
||||
|
||||
@@ -158,9 +159,8 @@ transactional emails are given priority.
|
||||
:alt: Example of split between transaction and mass mailing mail servers.
|
||||
|
||||
Now, go to :menuselection:`Email Marketing --> Configuration --> Settings`, enable
|
||||
:guilabel:`Dedicated Server`, and select the appropriate email server. Odoo uses the server
|
||||
with the lowest priority value for transactional emails, and the server selected here for mass
|
||||
mailings.
|
||||
:guilabel:`Dedicated Server`, and select the appropriate email server. Odoo uses the server with the
|
||||
lowest priority value for transactional emails, and the server selected here for mass mailings.
|
||||
|
||||
.. image:: email_servers_outbound/dedicated-mass-mail-server.png
|
||||
:alt: Dedicated mail server on Email Marketing app settings.
|
||||
@@ -194,8 +194,8 @@ When an email is sent from Odoo, the following sequence is used to choose the ou
|
||||
If the sender's email address is `test@example.com`, only an email server having a FROM filtering
|
||||
value equal to `test@example.com` or `example.com` can be used.
|
||||
|
||||
- If no server is found based on the first criteria, Odoo looks for the first server
|
||||
without a FROM filtering value set. The email will be overridden with the notification address.
|
||||
- If no server is found based on the first criteria, Odoo looks for the first server without a FROM
|
||||
filtering value set. The email will be overridden with the notification address.
|
||||
|
||||
- If no server is found based on the second criteria, Odoo uses the first server, and the email will
|
||||
be overridden with the notification address.
|
||||
@@ -228,8 +228,8 @@ server is set, the default Odoo's SMTP server will be used.
|
||||
:alt: Splitting of Odoo mail server for transactional emails and Mail server for Mass mailing.
|
||||
|
||||
.. note::
|
||||
On Odoo Online, the command line interface is equivalent to the default Odoo mail
|
||||
server, using the same limit as if there was no outgoing mail server in place.
|
||||
On Odoo Online, the command line interface is equivalent to the default Odoo mail server, using
|
||||
the same limit as if there was no outgoing mail server in place.
|
||||
|
||||
.. tip::
|
||||
On Odoo Online, the page also shows your daily email usage and your daily limit. On Odoo.sh, you
|
||||
|
||||
@@ -140,8 +140,8 @@ serial number.
|
||||
|
||||
.. _inventory/product_management/incoming-outgoing-products:
|
||||
|
||||
Create serial numbers to incoming or outgoing products
|
||||
------------------------------------------------------
|
||||
Create serial numbers for incoming or outgoing products
|
||||
-------------------------------------------------------
|
||||
|
||||
Serial numbers can be assigned to both incoming and outgoing goods. The receipt and delivery order
|
||||
forms mirror one another; the instructions below can be followed to assign serial numbers in either
|
||||
@@ -297,6 +297,43 @@ the desired serial numbers for each individual product.
|
||||
When finished, click the receipt/delivery order's breadcrumbs, and the assigned serial numbers are
|
||||
automatically saved.
|
||||
|
||||
Display serial numbers on delivery slips
|
||||
========================================
|
||||
|
||||
When selling products tracked using serial numbers, it is possible to include the serial numbers on
|
||||
the delivery slips sent to customers. This can be helpful to customers in cases where serial numbers
|
||||
are needed, such as filing an RMA or repair request, or registering the product.
|
||||
|
||||
To include serial numbers on delivery slips, open the :menuselection:`Inventory` app, and navigate
|
||||
to :menuselection:`Configuration --> Settings`. Scroll down to the :guilabel:`Traceability` section,
|
||||
tick the :guilabel:`Display Lots & Serial Numbers on Delivery Slips` checkbox, and click
|
||||
:guilabel:`Save`.
|
||||
|
||||
After enabling the :guilabel:`Display Lots & Serial Numbers on Delivery Slips` setting, serial
|
||||
numbers are listed on delivery slips for products tracked by serial numbers, once the delivery order
|
||||
is validated.
|
||||
|
||||
To view serial numbers on delivery orders and delivery slips, navigate to the
|
||||
:menuselection:`Inventory` app, click on :guilabel:`Delivery Orders`, and select an order containing
|
||||
a product tracked using serial numbers.
|
||||
|
||||
To view the serial numbers of products included in the order, make sure the :guilabel:`Operations`
|
||||
tab is selected, then click the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon to the right of
|
||||
the tab. Ensure that the :guilabel:`Serial Numbers` checkbox is ticked, which causes a
|
||||
:guilabel:`Serial Numbers` column to appear. The serial number(s) for each product included in the
|
||||
order are displayed in this column.
|
||||
|
||||
When the order is ready to be processed, click :guilabel:`Validate` to confirm the delivery and add
|
||||
product information to the delivery slip.
|
||||
|
||||
At the top of the order's form, click the :icon:`fa-cog` :guilabel:`(Actions)` button, and select
|
||||
:menuselection:`Print --> Delivery Slip`. The delivery slip is then downloaded. Open the delivery
|
||||
slip using the device's browser or file manager. Serial numbers are listed next to their respective
|
||||
products in the :guilabel:`Lot/Serial Number` column.
|
||||
|
||||
.. image:: serial_numbers/delivery-slip.png
|
||||
:alt: The order lines section of a delivery slip, showing a product and its serial number.
|
||||
|
||||
Traceability & reporting
|
||||
========================
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 7.1 KiB |
@@ -74,6 +74,21 @@ a form to provide details about the shipping provider, including:
|
||||
- :guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer
|
||||
spends above the specified amount.
|
||||
|
||||
.. _inventory/shipping_receiving/availability:
|
||||
|
||||
Use the :guilabel:`Availability` tab to define conditions for the delivery method based on the
|
||||
order’s content or destination:
|
||||
|
||||
- :guilabel:`Countries`: Specify one or more countries where the method is available.
|
||||
- :guilabel:`Max Weight`: Set a maximum weight; the method is only available for orders below
|
||||
this limit.
|
||||
- :guilabel:`Max Volume`: Set a maximum volume; the method is only available for orders below
|
||||
this limit.
|
||||
- :guilabel:`Must Have Tags`: The method is available only if at least one product in the order
|
||||
has one of these tags.
|
||||
- :guilabel:`Excluded Tags`: The method is unavailable if at least one product in the order has
|
||||
one of these tags.
|
||||
|
||||
For examples on how to configure specific shipping methods, refer to the sections below.
|
||||
|
||||
.. _inventory/shipping/fixed:
|
||||
|
||||
@@ -6,8 +6,8 @@ Set up the *Bpost* shipping connector in Odoo to manage Bpost shipments to clien
|
||||
Odoo. To configure it, complete these steps:
|
||||
|
||||
#. Create a Bpost account.
|
||||
#. Get the :ref:`Account ID and passphrase <inventory/shipping/Bpost-account>`.
|
||||
#. Set up the shipping method in Odoo.
|
||||
#. Get the :ref:`Account ID and passphrase <inventory/shipping_receiving/bpost-account>`.
|
||||
#. :ref:`Set up the shipping method in Odoo <inventory/shipping_receiving/bpost-method>`.
|
||||
|
||||
Upon completion, it is possible to calculate the cost of shipping, based on package size and weight,
|
||||
have the charges applied directly to a Bpost business account, and automatically print Bpost
|
||||
@@ -19,8 +19,8 @@ tracking labels through Odoo.
|
||||
- :doc:`dhl_credentials`
|
||||
- :doc:`ups_credentials`
|
||||
|
||||
Bpost account setup
|
||||
===================
|
||||
Account setup
|
||||
=============
|
||||
|
||||
To begin, go to the `Bpost website <https://parcel.bpost.be/en/home/business>`_ to create, or log
|
||||
into, the company's Bpost business account. When creating the Bpost account, have the company's VAT
|
||||
@@ -30,25 +30,24 @@ Follow the website's steps to complete registration, and sign up for shipping se
|
||||
submits a request to enter a contractual business relationship between the company and Bpost.
|
||||
|
||||
.. important::
|
||||
Odoo **cannot** be integrated with `non-business Bpost
|
||||
<https://bpost.freshdesk.com/support/solutions/articles/174847-account-id-and-passphrase>`_
|
||||
accounts.
|
||||
Odoo **cannot** be integrated with `non-business Bpost <https://www.odoo.com/r/Z4wZ>`_ accounts.
|
||||
|
||||
After completing the setup, get the Bpost account ID and passphrase, by navigating to the
|
||||
:guilabel:`Shipping Manager` menu item.
|
||||
|
||||
.. _inventory/shipping/bpost-account:
|
||||
.. _inventory/shipping_receiving/bpost-account:
|
||||
|
||||
On the :guilabel:`Shipping Manager` page, go to the :guilabel:`Admin` tab, then the
|
||||
:guilabel:`General Settings` tab, to find the :guilabel:`Account ID` and :guilabel:`Passphrase`
|
||||
needed to configure Odoo's shipping method.
|
||||
|
||||
.. image:: bpost/credentials.png
|
||||
:align: center
|
||||
:alt: In the *Admin* tab, show the Account ID and Passphrase.
|
||||
|
||||
Configure Bpost shipping method
|
||||
===============================
|
||||
.. _inventory/shipping_receiving/bpost-method:
|
||||
|
||||
Shipping method configuration
|
||||
=============================
|
||||
|
||||
With those necessary credentials, configure the Bpost shipping method in Odoo by going to
|
||||
:menuselection:`Inventory app --> Configuration --> Shipping Methods`.
|
||||
@@ -69,23 +68,20 @@ Product`, refer to the :doc:`Configure third-party carrier <third_party_shipper>
|
||||
In the :guilabel:`Bpost Configuration` tab, complete the following fields:
|
||||
|
||||
- :guilabel:`Bpost Account Number` (required field): enter the company's unique :ref:`account ID
|
||||
<inventory/shipping/bpost-account>` from the Bpost website.
|
||||
<inventory/shipping_receiving/bpost-account>` from the Bpost website.
|
||||
- :guilabel:`Passphrase` (required field): enter the :ref:`passphrase
|
||||
<inventory/shipping/bpost-account>` from the Bpost website.
|
||||
<inventory/shipping_receiving/bpost-account>` from the Bpost website.
|
||||
- :guilabel:`Bpost Delivery Nature`: select either :guilabel:`Domestic` or :guilabel:`International`
|
||||
shipping services. Choosing :guilabel:`Domestic` shows the :guilabel:`Options` section, while
|
||||
:guilabel:`International` enables the :guilabel:`Bpost Shipment Type` and :guilabel:`Bpost Parcel
|
||||
Return Instructions` fields.
|
||||
- :guilabel:`Bpost Package Type`: select the type of shipping service from the drop-down menu.
|
||||
|
||||
For `domestic delivery
|
||||
<https://help.shipmondo.com/en/articles/6092265-bpost-belgium-parcel-types-and-requirements>`_,
|
||||
the options are: :guilabel:`bpack 24h Pro`, :guilabel:`bpack 24h business`, or :guilabel:`bpack
|
||||
Bus`.
|
||||
For `domestic delivery <https://www.odoo.com/r/uOVM>`_, the options are: :guilabel:`bpack 24h
|
||||
Pro`, :guilabel:`bpack 24h business`, or :guilabel:`bpack Bus`.
|
||||
|
||||
For `international delivery <https://www.bpost.be/en/business-parcels-send/international>`_, the
|
||||
options are: :guilabel:`bpack World Express Pro`, :guilabel:`bpack World Business`, or
|
||||
:guilabel:`bpack Europe Business`.
|
||||
For `international delivery <https://www.odoo.com/r/s6G>`_, the options are: :guilabel:`bpack
|
||||
World Express Pro`, :guilabel:`bpack World Business`, or :guilabel:`bpack Europe Business`.
|
||||
- :guilabel:`Bpost Shipment Type` (required field): for international deliveries, declare the type
|
||||
of goods in the package as :guilabel:`SAMPLE`, :guilabel:`GIFT`, :guilabel:`GOODS`,
|
||||
:guilabel:`DOCUMENTS`, or :guilabel:`OTHER`.
|
||||
@@ -105,6 +101,5 @@ For domestic deliveries, these features are available in the :guilabel:`Options`
|
||||
validating the delivery order.
|
||||
|
||||
.. image:: bpost/bpost.png
|
||||
:align: center
|
||||
:alt: Show Bpost shipping method.
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ The following is a list of available shipping connectors in Odoo:
|
||||
- United States of America
|
||||
* - :doc:`Sendcloud <sendcloud_shipping>`
|
||||
- Some European countries (see details below)
|
||||
* - Bpost
|
||||
* - :doc:`Bpost <bpost>`
|
||||
- Belgium
|
||||
* - Easypost
|
||||
- North America
|
||||
|
||||
@@ -26,19 +26,17 @@ In order to use reordering rules for a product, it must first be correctly confi
|
||||
navigating to :menuselection:`Inventory app --> Products --> Products`, then select an existing
|
||||
product, or create a new one by clicking :guilabel:`New`.
|
||||
|
||||
On the product form, under the :guilabel:`General Information` tab, make sure the :guilabel:`Product
|
||||
Type` is set to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock
|
||||
quantities for storable products, and this number is used to trigger reordering rules.
|
||||
On the product form, under the :guilabel:`General Information` tab, make sure the
|
||||
:guilabel:`Track Inventory` checkbox is ticked. This is necessary for Odoo to track the product's
|
||||
stock levels and trigger reordering rules.
|
||||
|
||||
.. image:: reordering_rules/product-type.png
|
||||
:align: center
|
||||
:alt: Set the Product Type as Storable.
|
||||
|
||||
Next, click on the :guilabel:`Inventory` tab and select one or more routes from the
|
||||
:guilabel:`Routes` section. Doing so tells Odoo which route to use to replenish the product.
|
||||
|
||||
.. image:: reordering_rules/select-routes.png
|
||||
:align: center
|
||||
:alt: Select one or more routes on the Inventory tab.
|
||||
|
||||
If the product is reordered using the :guilabel:`Buy` route, confirm that the :guilabel:`Can be
|
||||
@@ -47,7 +45,6 @@ appear. Click on the :guilabel:`Purchase` tab, and specify at least one vendor,
|
||||
they sell the product for, so that Odoo knows which company the product should be purchased from.
|
||||
|
||||
.. image:: reordering_rules/specify-vendor.png
|
||||
:align: center
|
||||
:alt: Specify a vendor and price on the Purchase tab.
|
||||
|
||||
If the product is replenished using the :guilabel:`Manufacture` route, it needs to have at least one
|
||||
@@ -59,30 +56,40 @@ If a :abbr:`BoM (Bill of Materials)` does not already exist for the product, sel
|
||||
:guilabel:`New` to configure a new :abbr:`BoM (Bill of Materials)`.
|
||||
|
||||
.. image:: reordering_rules/bom-smart-button.png
|
||||
:align: center
|
||||
:alt: The Bill of Materials smart button on a product form.
|
||||
|
||||
Create new reordering rules
|
||||
===========================
|
||||
|
||||
To create a new reordering rule, navigate to :menuselection:`Inventory app --> Configuration -->
|
||||
Reordering Rules`, then click :guilabel:`New`, and fill out the new line as follows:
|
||||
To create a new reordering rule, navigate to :menuselection:`Inventory app --> Operations -->
|
||||
Replenishment`, then click :guilabel:`New`, and fill out the following fields for the new reordering
|
||||
rule line item:
|
||||
|
||||
- :guilabel:`Product`: The product that is replenished by the rule.
|
||||
- :guilabel:`Location`: The location where the product is stored.
|
||||
- :guilabel:`Min Quantity`: The minimum quantity that can be forecasted without the rule being
|
||||
- :guilabel:`Min`: The minimum quantity that can be forecasted without the rule being
|
||||
triggered. When forecasted stock falls below this number, a replenishment order for the product is
|
||||
created.
|
||||
- :guilabel:`Max Quantity`: The maximum quantity that stock is replenished up to.
|
||||
- :guilabel:`Multiple Quantity`: Specify if the product should be replenished in batches of a
|
||||
certain quantity (e.g., a product could be replenished in batches of 20).
|
||||
- :guilabel:`Max`: The maximum quantity at which the stock is replenished.
|
||||
- :guilabel:`To Order`: The number of units, according to the *UoM*, that should be replenished for
|
||||
this reordering rule (e.g., a product could be replenished in batches of 20).
|
||||
- :guilabel:`UoM`: The unit of measure used for reordering the product. This value can simply be
|
||||
`Units` or a specific unit of measurement for weight, length, etc.
|
||||
|
||||
.. image:: reordering_rules/reordering-rule-form.png
|
||||
:align: center
|
||||
:alt: The form for creating a new reordering rule.
|
||||
|
||||
.. note::
|
||||
Two other fields are automatically populated: :guilabel:`On Hand` (the number of units currently
|
||||
available in inventory) and :guilabel:`Forecast` (the number of units expected to be available in
|
||||
inventory after all orders are taken into account). These numbers will only change when an
|
||||
:doc:`inventory adjustment <../inventory_management/count_products>` is made.
|
||||
|
||||
Also, additional fields can be accessed by clicking the :icon:`oi-settings-adjust`
|
||||
:guilabel:`(additional options slider icon)`. For example, :guilabel:`Multiple Quantity`
|
||||
specifies if the product should be replenished in batches of a certain quantity (e.g., a product
|
||||
could be replenished in batches of 20).
|
||||
|
||||
.. tip::
|
||||
Reordering rules can also be created from each product form. To do so, navigate to
|
||||
:menuselection:`Inventory app --> Products --> Products`, and select a product. Then, click the
|
||||
@@ -137,7 +144,6 @@ In the :guilabel:`Min Quantity` field and :guilabel:`Max Quantity` field, leave
|
||||
`0.00`. In the :guilabel:`To Order` field, enter a value of `1.00`.
|
||||
|
||||
.. image:: reordering_rules/001-rule.png
|
||||
:align: center
|
||||
:alt: A 0/0/1 reordering rule.
|
||||
|
||||
With the reordering rule configured using these values, each time an |SO| causes the forecasted
|
||||
@@ -183,7 +189,6 @@ titles, and enable the :guilabel:`Trigger` option from the additional options dr
|
||||
appears.
|
||||
|
||||
.. image:: reordering_rules/enable-trigger.png
|
||||
:align: center
|
||||
:alt: Enable the Trigger field by toggling it in the additional options menu
|
||||
|
||||
In the :guilabel:`Trigger` column, select :guilabel:`Auto` or :guilabel:`Manual`. Refer to the
|
||||
@@ -215,7 +220,6 @@ Automatic reordering rules, configured by setting the reordering rule's :guilabe
|
||||
:guilabel:`Forecast` is `55.00`, the reordering rule is **not** triggered.
|
||||
|
||||
.. image:: reordering_rules/auto.png
|
||||
:align: center
|
||||
:alt: Show automatic reordering rule from the Reordering Rule page.
|
||||
|
||||
If the :guilabel:`Buy` route is selected, then an :abbr:`RFQ (Request for Quotation)` is generated.
|
||||
@@ -252,7 +256,6 @@ When a product appears on the replenishment dashboard, clicking the :guilabel:`O
|
||||
generates the purchase or manufacturing order with the specified amounts :guilabel:`To Order`.
|
||||
|
||||
.. image:: reordering_rules/manual.png
|
||||
:align: center
|
||||
:alt: Click the Order Once button on the replenishment dashboard to replenish stock.
|
||||
|
||||
.. _inventory/product_management/visibility-days:
|
||||
@@ -284,11 +287,10 @@ advance.
|
||||
is February 27th.
|
||||
|
||||
.. image:: reordering_rules/need-dates.png
|
||||
:align: center
|
||||
:alt: Graphic representing when the need appears on the replenishment dashboard: Feb 27th.
|
||||
|
||||
To see the product on the replenishment dashboard for the current date, February 20, set
|
||||
the :guilabel:`Visibility Days` to `7.00`.
|
||||
To see the product on the replenishment dashboard for the current date, February 20, set the
|
||||
:guilabel:`Visibility Days` to `7.00`.
|
||||
|
||||
To determine the amount of visibility days needed to see a product on the replenishment dashboard,
|
||||
subtract *today's date* from the *date the need appears* on the replenishment dashboard.
|
||||
@@ -307,7 +309,6 @@ subtract *today's date* from the *date the need appears* on the replenishment da
|
||||
the need **not** appearing on the replenishment dashboard.
|
||||
|
||||
.. image:: reordering_rules/visibility-days.png
|
||||
:align: center
|
||||
:alt: Show the replenishment dashboard with the correct and incorrect visibility days set.
|
||||
|
||||
.. _inventory/product_management/route:
|
||||
@@ -332,7 +333,6 @@ Click inside of the column on the row of a reordering rule, and a drop-down menu
|
||||
routes for that rule. Select one to set it as the preferred route.
|
||||
|
||||
.. image:: reordering_rules/select-preferred-route.png
|
||||
:align: center
|
||||
:alt: Select a preferred route from the drop-down.
|
||||
|
||||
.. important::
|
||||
|
||||
@@ -62,10 +62,10 @@ The following are fields found on an event form:
|
||||
pop-up window appears, displaying various pre-configured language translation options available
|
||||
in the database.
|
||||
|
||||
- :guilabel:`Date`: when the event is scheduled to take place. This field is auto-populated, but
|
||||
modifiable, and is **required**.
|
||||
- :guilabel:`Timezone`: the corresponding timezone related to the event. This field is
|
||||
auto-populated, but modifiable, and is **required**.
|
||||
- :guilabel:`Date`: when the event is scheduled to take place (expressed in your local timezone).
|
||||
This field is auto-populated, but modifiable, and is **required**.
|
||||
- :guilabel:`Display Timezone`: the timezone in which the event dates/times will be displayed on the
|
||||
website. This field is auto-populated, but modifiable, and is **required**.
|
||||
- :guilabel:`Language`: designate a specific language for all event communications to be translated
|
||||
into, if necessary. This field is blank, by default, so if event-related communications are being
|
||||
sent to recipients who speak a different language, be sure to configure this field properly.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Helpdesk
|
||||
========
|
||||
|
||||
Odoo *Helpdesk* is a ticketing-based customer support application. Multiple teams can be configured
|
||||
Odoo **Helpdesk** is a ticket-based customer support application. Multiple teams can be configured
|
||||
and managed in one dashboard, each with their own pipeline for tickets submitted by customers.
|
||||
Pipelines are organized in customizable stages that enable teams to track, prioritize, and solve
|
||||
customer issues quickly and efficiently.
|
||||
@@ -13,12 +13,11 @@ customer issues quickly and efficiently.
|
||||
Create a Helpdesk team
|
||||
======================
|
||||
|
||||
To view or modify *Helpdesk* teams, go to :menuselection:`Helpdesk app --> Configuration -->
|
||||
Helpdesk Teams`. To create a new team, click the :guilabel:`New` button in the top-left of the
|
||||
To view or modify **Helpdesk** teams, go to :menuselection:`Helpdesk app --> Configuration -->
|
||||
Helpdesk Teams`. To create a new team, click the :guilabel:`New` button on the top-left of the
|
||||
dashboard.
|
||||
|
||||
.. image:: helpdesk/helpdesk-teams-list.png
|
||||
:align: center
|
||||
:alt: View of the Helpdesk teams page in Odoo Helpdesk.
|
||||
|
||||
On the blank Helpdesk team form, enter a :guilabel:`Name` for the new team. Then, enter a
|
||||
@@ -32,7 +31,6 @@ team is assigned to, select it from the :guilabel:`Company` drop-down menu.
|
||||
use only.
|
||||
|
||||
.. image:: helpdesk/team-description-webform.png
|
||||
:align: center
|
||||
:alt: View of a Helpdesk team's website form displaying the team description.
|
||||
|
||||
Visibility & Assignment
|
||||
@@ -47,13 +45,13 @@ Determine team visibility
|
||||
Under the :guilabel:`Visibility` section, select one of the following options to determine who can
|
||||
view this team and its tickets:
|
||||
|
||||
- :guilabel:`Invited internal users (private)`: internal users can access the team and the tickets
|
||||
- :guilabel:`Invited internal users (private)`: Internal users can access the team and the tickets
|
||||
they are following. This access can be modified on each ticket individually by adding or removing
|
||||
the user as a follower. Internal users are considered *invited* once they are added as followers
|
||||
to an individual ticket, or :ref:`to the team itself <helpdesk/follow>`.
|
||||
- :guilabel:`All internal users (company)`: all internal users can access the team and all of its
|
||||
- :guilabel:`All internal users (company)`: All internal users can access the team and all of its
|
||||
tickets.
|
||||
- :guilabel:`Invited portal users and all internal users (public)`: all internal users can access
|
||||
- :guilabel:`Invited portal users and all internal users (public)`: All internal users can access
|
||||
the team and all of its tickets. Portal users can only access the tickets they are following.
|
||||
|
||||
.. example::
|
||||
@@ -65,7 +63,8 @@ view this team and its tickets:
|
||||
|
||||
.. warning::
|
||||
A team's visibility can be altered after the initial configuration. However, if the team changes
|
||||
from public access to either private or company-only access, portal users are removed as
|
||||
from *Invited portal users and all internal users (public)* access to either *Invited internal
|
||||
users (private)* or *All internal users (company)*-only access, portal users are removed as
|
||||
followers from both the team, and from individual tickets.
|
||||
|
||||
.. _helpdesk/follow:
|
||||
@@ -86,23 +85,20 @@ Automatically assign new tickets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When tickets are received, they need to be assigned to a member of the team. This is done either
|
||||
manually on each ticket individually, or through :guilabel:`Automatic Assignment`. Check the
|
||||
manually on each individual ticket, or through :guilabel:`Automatic Assignment`. Check the
|
||||
:guilabel:`Automatic Assignment` checkbox to enable this feature for the team.
|
||||
|
||||
.. image:: helpdesk/helpdesk-visibility-assignment.png
|
||||
:align: center
|
||||
:alt: View of a Helpdesk team settings page emphasizing the automatic assignment features in Odoo
|
||||
Helpdesk.
|
||||
|
||||
As soon as :guilabel:`Automatic Assignment` has been enabled, additional fields appear.
|
||||
|
||||
Select one of the following assignment methods, based on how the workload should be allocated across
|
||||
the team:
|
||||
|
||||
- :guilabel:`Each user is assigned an equal number of tickets`: tickets are assigned to team members
|
||||
- :guilabel:`Each user is assigned an equal number of tickets`: Tickets are assigned to team members
|
||||
based on total ticket count, regardless of the number of open or closed tickets they are
|
||||
currently assigned.
|
||||
- :guilabel:`Each user has an equal number of open tickets`: tickets are assigned to team members
|
||||
- :guilabel:`Each user has an equal number of open tickets`: Tickets are assigned to team members
|
||||
based on how many open tickets they are currently assigned.
|
||||
|
||||
.. note::
|
||||
@@ -118,7 +114,7 @@ field empty to include all employees who have the proper assignments and access
|
||||
their user account settings.
|
||||
|
||||
.. important::
|
||||
If an employee has time off scheduled in the *Time Off* application, they are **not** assigned
|
||||
If an employee has time off scheduled in the **Time Off** application, they are **not** assigned
|
||||
tickets during that time. If no employees are available, the system looks ahead until there is a
|
||||
match.
|
||||
|
||||
@@ -129,7 +125,7 @@ their user account settings.
|
||||
Merge tickets
|
||||
=============
|
||||
|
||||
If duplicate tickets are found in *Helpdesk*, they can be combined into a single ticket using the
|
||||
If duplicate tickets are found in **Helpdesk**, they can be combined into a single ticket using the
|
||||
*merge* feature.
|
||||
|
||||
.. important::
|
||||
@@ -143,6 +139,44 @@ drop-down menu. Doing so opens a new page where the selected tickets are listed
|
||||
:guilabel:`Similarity` rating. From here, click either :ref:`Merge <data_cleaning/merge-records>` to
|
||||
combine the tickets, or :guilabel:`DISCARD`.
|
||||
|
||||
Convert tickets to opportunities
|
||||
================================
|
||||
|
||||
Some tickets may be better handled by the sales team, rather than the support team. In this case,
|
||||
tickets can be converted to *opportunities* and assigned to a sales team for follow-up.
|
||||
|
||||
.. important::
|
||||
This feature is **only** available if the :doc:`CRM <../sales/crm>` app is installed.
|
||||
|
||||
To convert a ticket to an opportunity, first navigate to a ticket, either from a team's pipeline,
|
||||
or by navigating to :menuselection:`Helpdesk app --> Tickets` and clicking a ticket to open it.
|
||||
|
||||
At the top of the ticket, click the :guilabel:`Convert to Opportunity` button.
|
||||
|
||||
.. note::
|
||||
If :doc:`leads <../sales/crm/acquire_leads/convert>` are enabled on the **CRM** app, tickets are
|
||||
converted to *leads*, and the button reads :guilabel:`Convert to Lead`.
|
||||
|
||||
This opens the :guilabel:`Convert to Opportunity` pop-up. Fill in or select the following
|
||||
information on the pop-up:
|
||||
|
||||
- :guilabel:`Customer`: Select whether to :guilabel:`Create a new customer`, :guilabel:`Link to an
|
||||
existing customer`, or :guilabel:`Do not link to a customer`. If :guilabel:`Link to a customer` is
|
||||
chosen, select the appropriate customer name from the :guilabel:`Customer` drop-down.
|
||||
|
||||
- :guilabel:`Sales Team`: Specify which :guilabel:`Sales Team` and :guilabel:`Salesperson` this
|
||||
created opportunity is assigned to.
|
||||
|
||||
.. image:: helpdesk/convert-to-opp.png
|
||||
:alt: The convert to opportunity pop-up window.
|
||||
|
||||
After completing the form, click :guilabel:`Convert to Opportunity`. Doing so creates a new
|
||||
opportunity in the **CRM** app. The original ticket is linked in the chatter of the new opportunity
|
||||
for traceability.
|
||||
|
||||
.. note::
|
||||
After the ticket is converted to an opportunity, the ticket is archived.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Helpdesk <https://www.odoo.com/slides/helpdesk-51>`_
|
||||
|
||||
|
||||
BIN
content/applications/services/helpdesk/convert-to-opp.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 17 KiB |
@@ -2,25 +2,25 @@
|
||||
Help Center
|
||||
===========
|
||||
|
||||
Odoo *Helpdesk* integrates with the *Forum*, *eLearning*, and *Knowledge* apps to create the *Help
|
||||
Center*. The *Help Center* is a centralized location where teams and customers can search for and
|
||||
share detailed information about products and services.
|
||||
.. |plus| replace:: :icon:`fa-plus` :guilabel:`(plus)` icon
|
||||
|
||||
Odoo **Helpdesk** integrates with the **Forums**, **eLearning**, and **Knowledge** apps to create
|
||||
the *Help Center*. The *Help Center* is a centralized location where teams and customers can search
|
||||
for and share detailed information about products and services.
|
||||
|
||||
.. image:: help_center/help-center-enable-features.png
|
||||
:align: center
|
||||
:alt: Overview of the settings page of a team emphasizing the Help Center features.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To activate any *Help Center* features (*Forums*, *eLearning*, or *Knowledge*) on a *Helpdesk* team,
|
||||
go to :menuselection:`Helpdesk app --> Configuration --> Helpdesk Teams` and select a team, or
|
||||
create a :doc:`new one <../../helpdesk>`. Verify the :guilabel:`Visibility` of the team is set to
|
||||
:guilabel:`Invited portal users and all internal users (public)` in the :guilabel:`Visibility &
|
||||
Assignment` section.
|
||||
To activate any of the *Help Center* features on a *Helpdesk* team, go to :menuselection:`Helpdesk
|
||||
app --> Configuration --> Helpdesk Teams` and select a team, or create a :doc:`new one
|
||||
<../../helpdesk>`. Verify the :guilabel:`Visibility` of the team is set to :guilabel:`Invited portal
|
||||
users and all internal users (public)` in the :guilabel:`Visibility & Assignment` section.
|
||||
|
||||
Additionally, the :guilabel:`Website Form` option on the *Helpdesk* team page **must** be enabled to
|
||||
activate any of the *Help Center* features. When one or more of the *Help Center* features is
|
||||
Additionally, the :guilabel:`Website Form` option on the **Helpdesk** team form **must** be enabled
|
||||
to activate any of the *Help Center* features. When one or more of the *Help Center* features is
|
||||
enabled, the :guilabel:`Website Form` is automatically enabled, as well.
|
||||
|
||||
.. danger::
|
||||
@@ -28,8 +28,8 @@ enabled, the :guilabel:`Website Form` is automatically enabled, as well.
|
||||
of them may result in the installation of additional modules or applications.
|
||||
|
||||
Installing a new application on a *One-App-Free* database will trigger a 15-day trial. At the end
|
||||
of the trial, if a paid subscription has **not** been added to the database, it will no longer be
|
||||
active or accessible.
|
||||
of the trial, if a `paid subscription <https://www.odoo.com/pricing>`_ has **not** been added to
|
||||
the database, it will no longer be active or accessible.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Helpdesk Overview <../../helpdesk>`
|
||||
@@ -37,24 +37,29 @@ enabled, the :guilabel:`Website Form` is automatically enabled, as well.
|
||||
Knowledge
|
||||
=========
|
||||
|
||||
Odoo's *Knowledge* application is a collaborative library, where users can store, edit, and share
|
||||
information. The *Knowledge* app is accessible throughout the database by clicking on the
|
||||
:guilabel:`Knowledge (bookmark)` icon.
|
||||
Odoo's **Knowledge** application is a collaborative library, where users can store, edit, and share
|
||||
information. The **Knowledge** app can be used to publish user guides and :abbr:`FAQs (Frequently
|
||||
Asked Questions)` with customers externally, while also collaborating internally on shared
|
||||
documents.
|
||||
|
||||
.. image:: help_center/help-center-knowledge-bookmark-icon.png
|
||||
:align: center
|
||||
The **Knowledge** app is accessible throughout the database by clicking on the :guilabel:`Knowledge
|
||||
(bookmark)` icon.
|
||||
|
||||
.. figure:: help_center/help-center-knowledge-bookmark-icon.png
|
||||
:alt: View of a message in Helpdesk focusing on the Knowledge bookmark icon.
|
||||
|
||||
The Knowledge app is represented by the bookmark icon.
|
||||
|
||||
Enable Knowledge on a Helpdesk team
|
||||
-----------------------------------
|
||||
|
||||
To enable the *Knowledge* feature on a *Helpdesk* team, go to :menuselection:`Helpdesk app -->
|
||||
To enable the **Knowledge** feature on a *Helpdesk* team, go to :menuselection:`Helpdesk app -->
|
||||
Configuration --> Helpdesk Teams` and select a team, or create a :doc:`new one <../../helpdesk>`.
|
||||
|
||||
When a team has been selected or created, Odoo displays that team's detail form.
|
||||
|
||||
On the team's detail form, scroll down to the :guilabel:`Help Center` section. Then, click the box
|
||||
next to :guilabel:`Knowledge` to activate the *Knowledge* feature. When clicked, a new field
|
||||
next to :guilabel:`Knowledge` to activate the **Knowledge** feature. When clicked, a new field
|
||||
labeled, :guilabel:`Article` appears.
|
||||
|
||||
Clicking the :guilabel:`Article` field reveals a drop-down menu. At first, there is only one option
|
||||
@@ -64,15 +69,14 @@ in the drop-down menu titled :guilabel:`Help`, which Odoo provides by default. S
|
||||
.. tip::
|
||||
To create a new article, go to the :menuselection:`Knowledge app`, then hover the cursor next to
|
||||
the :guilabel:`Workspace` section heading, located in the left sidebar. Moving the cursor there
|
||||
reveals a hidden :guilabel:`➕ (plus sign)` icon.
|
||||
reveals a hidden |plus|.
|
||||
|
||||
Click the :guilabel:`➕ (plus sign)` icon to create a new article in the :guilabel:`Workspace`.
|
||||
In the upper-right corner of the page, click the :guilabel:`Share` button, and slide the
|
||||
:guilabel:`Share to Web` toggle switch until it reads :guilabel:`Article Published`. It can then
|
||||
be added to a *Helpdesk* team.
|
||||
Click the |plus| to create a new article in the :guilabel:`Workspace`. Click the
|
||||
:icon:`fa-share-alt` :guilabel:`Share` icon, and slide the :guilabel:`Share to Web` toggle switch
|
||||
until it reads :guilabel:`Article Published`. It can then be added to a **Helpdesk** team.
|
||||
|
||||
Once an article has been created and assigned to a *Helpdesk* team, content can be added and
|
||||
organized through the *Knowledge* app.
|
||||
Once an article has been created and assigned to a **Helpdesk** team, content can be added and
|
||||
organized through the **Knowledge** app.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Editing Knowledge articles <../../../productivity/knowledge/articles_editing>`
|
||||
@@ -80,10 +84,10 @@ organized through the *Knowledge* app.
|
||||
Search articles from a Helpdesk ticket
|
||||
--------------------------------------
|
||||
|
||||
When members of a *Helpdesk* team are trying to solve a ticket, they can search through the content
|
||||
in the *Knowledge* app for more information on the issue.
|
||||
When members of a **Helpdesk** team are trying to solve a ticket, they can search through the
|
||||
content in the **Knowledge** app for more information on the issue.
|
||||
|
||||
To search *Knowledge* articles, open a ticket — either from the *Helpdesk* app dashboard, or by
|
||||
To search **Knowledge** articles, open a ticket — either from the **Helpdesk** app dashboard, or by
|
||||
going to :menuselection:`Helpdesk app --> Tickets --> All Tickets`, then select a ticket from the
|
||||
list.
|
||||
|
||||
@@ -93,12 +97,11 @@ Click the :guilabel:`Knowledge (bookmark)` icon, located at the top-right of the
|
||||
pop-up search window.
|
||||
|
||||
.. image:: help_center/help-center-knowledge-search.png
|
||||
:align: center
|
||||
:alt: View of knowledge search window from a helpdesk ticket.
|
||||
|
||||
.. tip::
|
||||
*Knowledge* articles can also be searched by pressing :command:`Ctrl + K` to open the command
|
||||
palette, then typing `?`, followed by the name of the desired article.
|
||||
**Knowledge** articles can also be searched by pressing :command:`Ctrl + K` to open the command
|
||||
palette, then typing :kbd:`?`, followed by the name of the desired article.
|
||||
|
||||
When Odoo reveals the desired article, click it, or highlight the :guilabel:`Article` title, and
|
||||
press :command:`Enter`. This will open the article in the :guilabel:`Knowledge` application.
|
||||
@@ -112,7 +115,8 @@ To open the article in a new tab, press :command:`Ctrl + Enter`.
|
||||
Share an article to the Help Center
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To make a *Knowledge* article available to customers and website visitors, it **must** be published.
|
||||
To make a **Knowledge** article available to customers and website visitors, it **must** be
|
||||
published.
|
||||
|
||||
.. important::
|
||||
Even though the *Help* article has been enabled on a team, Odoo does **not** share all the nested
|
||||
@@ -120,17 +124,16 @@ To make a *Knowledge* article available to customers and website visitors, it **
|
||||
be viewable on the website.
|
||||
|
||||
To publish an article, navigate to the desired article, by following the above steps, and click the
|
||||
:guilabel:`Share` icon in the upper-right corner. This reveals a menu. Slide the toggle button
|
||||
labeled :guilabel:`Share to Web` to read :guilabel:`Article Published`.
|
||||
:icon:`fa-share-alt` :guilabel:`Share` icon. This reveals a menu. Slide the toggle button labeled
|
||||
:guilabel:`Share to Web` to read :guilabel:`Article Published`.
|
||||
|
||||
.. image:: help_center/help-center-knowledge-sharing.png
|
||||
:align: center
|
||||
:alt: View of a knowledge article focused on sharing and publishing options.
|
||||
|
||||
Solve tickets with a clipboard box
|
||||
----------------------------------
|
||||
|
||||
*Clipboard* boxes can be added to *Knowledge* articles to allow content to be reused, copied, sent
|
||||
*Clipboard* boxes can be added to **Knowledge** articles to allow content to be reused, copied, sent
|
||||
as messages, or added to the description on a ticket. This allows teams to maintain consistency when
|
||||
answering customer tickets, and minimize the amount of time spent on responding to repeat questions.
|
||||
|
||||
@@ -138,33 +141,32 @@ Add clipboard boxes to articles
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To create a clipboard box, go to :menuselection:`Knowledge app --> Help`. Click on an existing
|
||||
nested article or create a new one by clicking the :guilabel:`➕ (plus sign)` icon next to *Help*.
|
||||
nested article or create a new one by clicking the |plus| next to *Help*.
|
||||
|
||||
Type `/` to open the *powerbox*, and view a drop-down list of :doc:`commands
|
||||
<../../../productivity/knowledge/articles_editing>`. Select or type `clipboard`. A gray block is
|
||||
then added to the page. Add any necessary content to this block.
|
||||
Type :kbd:`/` to open the *powerbox*, and view a drop-down list of :doc:`commands
|
||||
<../../../productivity/knowledge/articles_editing>`. Select or type :kbd:`clipboard`. A gray block
|
||||
is then added to the page. Add any necessary content to this block.
|
||||
|
||||
.. image:: help_center/help-center-knowledge-clipboard-options.png
|
||||
:align: center
|
||||
:alt: View of a clipboard in knowledge with focus on send and copy options.
|
||||
|
||||
.. note::
|
||||
Clipboard boxes only display the :guilabel:`Use as description` or :guilabel:`Send as Message`
|
||||
options if they are accessed directly from the *Helpdesk*.
|
||||
options if they are accessed directly from the **Helpdesk**.
|
||||
|
||||
Use clipboard boxes in tickets
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Clipboard boxes can be used to respond directly to a *Helpdesk* ticket as a message, or to add
|
||||
Clipboard boxes can be used to respond directly to a **Helpdesk** ticket as a message, or to add
|
||||
information to the ticket's description.
|
||||
|
||||
To use clipboard boxes in a *Helpdesk* ticket, first, open a ticket, either from the
|
||||
To use clipboard boxes in a **Helpdesk** ticket, first, open a ticket, either from the
|
||||
:guilabel:`Helpdesk` dashboard or by going to :menuselection:`Helpdesk app --> Tickets --> All
|
||||
Tickets` and selecting a ticket from the list.
|
||||
|
||||
Click on the :guilabel:`Knowledge (bookmark)` icon in the top-right corner. This opens a search
|
||||
window. In this search window, select, or search, for the desired article. Doing so reveals that
|
||||
article page in the Odoo *Knowledge* application.
|
||||
article page in the Odoo **Knowledge** application.
|
||||
|
||||
To use a clipboard box to respond to a ticket, click :guilabel:`Send as message` in the upper-right
|
||||
corner of the clipboard box, located in the body of the article.
|
||||
@@ -184,13 +186,13 @@ Community Forum
|
||||
===============
|
||||
|
||||
A *Community Forum* provides a space for customers to answer each other's questions and share
|
||||
information. By integrating a forum with a *Helpdesk* team, tickets submitted by customers can be
|
||||
information. By integrating a forum with a **Helpdesk** team, tickets submitted by customers can be
|
||||
converted to posts and shared.
|
||||
|
||||
Enable forums on a Helpdesk team
|
||||
--------------------------------
|
||||
|
||||
To enable :guilabel:`Community Forums` on a *Helpdesk* team, start by navigating to
|
||||
To enable :guilabel:`Community Forums` on a **Helpdesk** team, start by navigating to
|
||||
:menuselection:`Helpdesk app --> Configuration --> Helpdesk Teams` and select a team, or create a
|
||||
:doc:`new one <../../helpdesk>`.
|
||||
|
||||
@@ -213,7 +215,7 @@ To create a new forum, type a name into the blank :guilabel:`Forums` field, then
|
||||
Create a forum post from a Helpdesk ticket
|
||||
------------------------------------------
|
||||
|
||||
When a *Helpdesk* team has a *Forum* enabled, tickets submitted to that team can be converted to
|
||||
When a **Helpdesk** team has a *Forum* enabled, tickets submitted to that team can be converted to
|
||||
forum posts.
|
||||
|
||||
To do that, select a ticket, either from a team's pipeline or from :menuselection:`Tickets --> All
|
||||
@@ -222,7 +224,6 @@ Tickets` in the :guilabel:`Helpdesk` application.
|
||||
At the top of the ticket detail form, click the :guilabel:`Share on Forum` button.
|
||||
|
||||
.. image:: help_center/help-center-share-on-forum.png
|
||||
:align: center
|
||||
:alt: Overview of the Forums page of a website to show the available ones in Odoo Helpdesk.
|
||||
|
||||
When clicked, a pop-up window appears. Here, the :guilabel:`Forum` post and :guilabel:`Title` can be
|
||||
@@ -232,10 +233,29 @@ edited to correct any typos, or modified to remove any proprietary or client inf
|
||||
users to locate during a search. When all adjustments have been made, click :guilabel:`Create and
|
||||
View Post`.
|
||||
|
||||
Create a Helpdesk ticket from a forum post
|
||||
------------------------------------------
|
||||
|
||||
Forum posts submitted by portal users can be converted to **Helpdesk** tickets.
|
||||
|
||||
To create a ticket, navigate to a forum post, and click the :icon:`fa-ellipsis-h`
|
||||
:guilabel:`(ellipsis)` icon. Then, click :guilabel:`Create Ticket`.
|
||||
|
||||
.. image:: help_center/help-center-create-ticket.png
|
||||
:alt: A forum post with the create ticket option visible.
|
||||
|
||||
This opens a :guilabel:`Create Ticket` pop-up. Make any necessary edits to the :guilabel:`Create
|
||||
Ticket` field. Then, confirm the :guilabel:`Helpdesk Team` the ticket should be assigned to.
|
||||
|
||||
Click :guilabel:`Create & View Ticket` or :guilabel:`Create Ticket`.
|
||||
|
||||
.. note::
|
||||
The original forum post is linked in the chatter on the new ticket.
|
||||
|
||||
eLearning
|
||||
=========
|
||||
|
||||
Odoo *eLearning* courses offer customers additional training and content in the form of videos,
|
||||
Odoo **eLearning** courses offer customers additional training and content in the form of videos,
|
||||
presentations, and certifications/quizzes. Providing additional training enables customers to work
|
||||
through issues and find solutions on their own. They can also develop a deeper understanding of the
|
||||
services and products they are using.
|
||||
@@ -243,7 +263,7 @@ services and products they are using.
|
||||
Enable eLearning courses on a Helpdesk team
|
||||
-------------------------------------------
|
||||
|
||||
To enable *eLearning* courses on a *Helpdesk* team, go to :menuselection:`Helpdesk app -->
|
||||
To enable **eLearning** courses on a **Helpdesk** team, go to :menuselection:`Helpdesk app -->
|
||||
Configuration --> Helpdesk Teams` and select a team, or create a :doc:`new one <../../helpdesk>`.
|
||||
|
||||
On the team's settings page, scroll to the :guilabel:`Help Center` section, and check the box next
|
||||
@@ -257,10 +277,10 @@ courses can be assigned to a single team.
|
||||
Create an eLearning course
|
||||
--------------------------
|
||||
|
||||
A new *eLearning* course can be created from the :guilabel:`Helpdesk` team's settings page, as in
|
||||
the step above, or from the *eLearning* app.
|
||||
A new **eLearning** course can be created from the :guilabel:`Helpdesk` team's settings page, as in
|
||||
the step above, or from the **eLearning** app.
|
||||
|
||||
To create a course directly through the *eLearning* application, navigate to
|
||||
To create a course directly through the **eLearning** application, navigate to
|
||||
:menuselection:`eLearning --> New`. This reveals a blank course template that can be customized and
|
||||
modified as needed.
|
||||
|
||||
@@ -284,7 +304,6 @@ where instructed. Click :guilabel:`Save` when finished. Click :guilabel:`Add Sec
|
||||
the course in sections.
|
||||
|
||||
.. image:: help_center/help-center-elearning-course-contents-page.png
|
||||
:align: center
|
||||
:alt: View of a course being published for Odoo Helpdesk.
|
||||
|
||||
.. note::
|
||||
@@ -309,7 +328,7 @@ To allow customers to enroll in a course, both the course and the contents **mus
|
||||
To make the entire course available at once, each piece of course content must be published first,
|
||||
then the course can be published.
|
||||
|
||||
To publish a course, choose a course from the *eLearning* dashboard. On the course template page,
|
||||
To publish a course, choose a course from the **eLearning** dashboard. On the course template page,
|
||||
click the :guilabel:`Go to Website` smart button.
|
||||
|
||||
This will reveal the front end of the course's web page. At the top of the course web page, move
|
||||
@@ -318,15 +337,14 @@ the :guilabel:`Unpublished` toggle switch to :guilabel:`Published`.
|
||||
Publish eLearning course contents from the back-end
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To publish *eLearning* course content from the back-end, choose a course from the *eLearning*
|
||||
To publish **eLearning** course content from the back-end, choose a course from the **eLearning**
|
||||
dashboard. On the course template page, click the :guilabel:`Published Contents` smart button.
|
||||
|
||||
Doing so reveals a separate page displaying all the published content related to that course. Remove
|
||||
the default :guilabel:`Published` filter from the search bar in the upper-right corner, to reveal
|
||||
all the content related to the course - even the non-published content.
|
||||
|
||||
Click the :guilabel:`≣ (bars)` icon in the upper-right corner, directly beneath the search bar to
|
||||
switch to list view.
|
||||
Click the :icon:`oi-view-list` :guilabel:`(list)` icon to switch to list view.
|
||||
|
||||
While in list view, there is a checkbox on the far-left of the screen, above the listed courses, to
|
||||
the left of the :guilabel:`Title` column title. When that checkbox is clicked, all the course
|
||||
@@ -337,5 +355,4 @@ This reveals a pop-up window, asking for confirmation that all selected records
|
||||
published. Click :guilabel:`Confirm` to automatically publish all course content.
|
||||
|
||||
.. image:: help_center/help-center-elearning-publish-back-end.png
|
||||
:align: center
|
||||
:alt: View of a course contents being published in Odoo Helpdesk back-end.
|
||||
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 16 KiB |
@@ -2,21 +2,23 @@
|
||||
Service level agreements (SLA)
|
||||
==============================
|
||||
|
||||
A *service level agreement* (SLA) defines the level of service a customer can expect from a
|
||||
supplier. :abbr:`SLAs (Service Level Agreements)` provide a timeline that tells customers when they
|
||||
can expect results, and keeps the support team on target.
|
||||
.. |SLAs| replace:: :abbr:`SLAs (Service Level Agreements)`
|
||||
.. |SLA| replace:: :abbr:`SLA (Service Level Agreements)`
|
||||
|
||||
A *service level agreement* (SLA) defines the level of support a customer can expect from a service
|
||||
provider. |SLAs| provide a timeline that tells customers when they can expect results and keeps the
|
||||
support team on target.
|
||||
|
||||
.. note::
|
||||
The *SLA Policies* feature is enabled by default on newly created *Helpdesk* teams.
|
||||
The *SLA Policies* feature is enabled by default on newly created **Helpdesk** teams.
|
||||
|
||||
To turn off the feature, or edit the working hours, navigate to :menuselection:`Helpdesk app -->
|
||||
Configuration --> Helpdesk Teams`. Click on a team to open that team's configuration page.
|
||||
|
||||
From here, scroll to the :guilabel:`Performance` section. To turn off the :abbr:`SLAs (Service
|
||||
Level Agreements)` feature for the team, clear the :guilabel:`SLA Policies` checkbox.
|
||||
From here, scroll to the :guilabel:`Performance` section. To turn off the |SLAs| feature for the
|
||||
team, clear the :guilabel:`SLA Policies` checkbox.
|
||||
|
||||
.. image:: sla/sla-enable.png
|
||||
:align: center
|
||||
:alt: View of a team page in Helpdesk focusing on the SLA Policies setting.
|
||||
|
||||
Create a new SLA policy
|
||||
@@ -29,8 +31,8 @@ Alternatively, go to :menuselection:`Helpdesk app --> Configuration --> Helpdesk
|
||||
on a team. Then, click the :guilabel:`SLA Policies` smart button at the top of the team's settings
|
||||
page, and click :guilabel:`New`.
|
||||
|
||||
On the blank :abbr:`SLA (Service Level Agreement)` policy form, enter a :guilabel:`Title` and a
|
||||
:guilabel:`Description` for the new policy, and proceed to fill out the form using the steps below.
|
||||
On the blank |SLA| policy form, enter a :guilabel:`Title` and a :guilabel:`Description` for the new
|
||||
policy, and proceed to fill out the form using the steps below.
|
||||
|
||||
Define the criteria for an SLA policy
|
||||
-------------------------------------
|
||||
@@ -42,89 +44,82 @@ Fill out the following fields to adjust the selection criteria:
|
||||
.. note::
|
||||
Unless otherwise indicated, multiple selections can be made for each field.
|
||||
|
||||
- :guilabel:`Helpdesk Team`: a policy can only be applied to one team. *This field is required.*
|
||||
- :guilabel:`Priority`: the priority level for a ticket is identified by selecting one, two, or
|
||||
three of the :guilabel:`⭐ (star)` icons, representing the priority level on the Kanban card or on
|
||||
the ticket itself. The :abbr:`SLA (Service Level Agreement)` is **only** applied after the
|
||||
priority level has been updated on the ticket to match the :abbr:`SLA (Service Level Agreement)`
|
||||
criteria. If no selection is made in this field, this policy only applies to tickets marked as
|
||||
`Low Priority`, meaning those with zero :guilabel:`⭐ (star)` icons.
|
||||
- :guilabel:`Tags`: tags are used to indicate what the ticket is about. Multiple tags can be applied
|
||||
- :guilabel:`Helpdesk Team`: A policy can only be applied to one team. *This field is required.*
|
||||
- :guilabel:`Priority`: The priority level for a ticket is identified by selecting one, two, or
|
||||
three of the :icon:`fa-star-o` :guilabel:`(star)` icons, representing the priority level on the
|
||||
Kanban card or on the ticket itself. The |SLA| is **only** applied after the priority level has
|
||||
been updated on the ticket to match the |SLA| criteria. If no selection is made in this field,
|
||||
this policy only applies to tickets marked as `Low Priority`, meaning those with zero
|
||||
:icon:`fa-star-o` :guilabel:`(star)` icons.
|
||||
- :guilabel:`Tags`: Tags are used to indicate what the ticket is about. Multiple tags can be applied
|
||||
to a single ticket.
|
||||
- :guilabel:`Customers`: individual contacts or companies may be selected in this field.
|
||||
- :guilabel:`Sales Order Items`: this field is available only if a team has the *Timesheets* app
|
||||
enabled. This allows the ticket to link directly to a specific line on a sales order, which must
|
||||
be indicated on the ticket in the :guilabel:`Sales Order Items` field.
|
||||
- :guilabel:`Customers`: Individual contacts or companies may be selected in this field.
|
||||
- :guilabel:`Services`: This field is available only if a team has the **Timesheets** app enabled.
|
||||
This allows the ticket to link directly to a specific line on a sales order, which must be
|
||||
indicated on the ticket in the :guilabel:`Sales Order Items` field.
|
||||
|
||||
.. example::
|
||||
A support team needs to address urgent issues for VIP customers within one business day.
|
||||
|
||||
The new policy, titled `8 Hours to close`, is assigned to the `VIP Support` team. It **only**
|
||||
applies to tickets that are assigned three :guilabel:`⭐ (star)` icons, which equates to an
|
||||
`Urgent` priority level.
|
||||
applies to tickets that are assigned three :icon:`fa-star-o` :guilabel:`(star)` icons, which
|
||||
equates to an `Urgent` priority level.
|
||||
|
||||
At the same time, the tickets can be related to multiple issues, so the policy applies to tickets
|
||||
with `Repair`, `Service`, or `Emergency` tags.
|
||||
|
||||
.. image:: sla/sla-create-new.png
|
||||
:align: center
|
||||
:alt: View of a new SLA policy record with all the relevant information entered.
|
||||
|
||||
Establish a target for an SLA policy
|
||||
------------------------------------
|
||||
|
||||
A *target* is the stage a ticket needs to reach, and the time allotted to reach that stage, in order
|
||||
to satisfy the :abbr:`SLA (Service Level Agreement)` policy. Any stage assigned to a team may be
|
||||
selected for the :guilabel:`Reach Stage` field.
|
||||
to satisfy the |SLA| policy. Any stage assigned to a team may be selected for the :guilabel:`Reach
|
||||
Stage` field.
|
||||
|
||||
Time spent in stages selected in the :guilabel:`Excluding Stages` field are **not** included in the
|
||||
calculation of the :abbr:`SLA (Service Level Agreement)` deadline.
|
||||
calculation of the |SLA| deadline.
|
||||
|
||||
.. example::
|
||||
An :abbr:`SLA (Service Level Agreement)` titled `8 Hours to Close` tracks the working time before
|
||||
An |SLA| titled `8 Hours to Close` tracks the working time before
|
||||
a ticket is completed, and would have `Solved` as the :guilabel:`Reach Stage`. Simultaneously, an
|
||||
:abbr:`SLA (Service Level Agreement)` titled `2 Days to Start` tracks the working time before
|
||||
|SLA| titled `2 Days to Start` tracks the working time before
|
||||
work on a ticket has begun, and would have `In Progress` as the :guilabel:`Reach Stage`.
|
||||
|
||||
Meet SLA deadlines
|
||||
==================
|
||||
|
||||
As soon as it is determined that a ticket fits the criteria of an :abbr:`SLA (Service Level
|
||||
Agreement)` policy, a deadline is calculated. The deadline is based on the creation date of the
|
||||
ticket, and the targeted working hours.
|
||||
As soon as it is determined that a ticket fits the criteria of an |SLA| policy, a deadline is
|
||||
calculated. The deadline is based on the creation date of the ticket, as well as the targeted
|
||||
working hours.
|
||||
|
||||
.. note::
|
||||
The value indicated next to the :guilabel:`Working Hours` field of an :abbr:`SLA (Service Level
|
||||
Agreement)` policy is used to determine the deadline. By default, this is determined by the value
|
||||
set in the :guilabel:`Company Working Hours` field under :menuselection:`Settings app -->
|
||||
Employees --> Work Organization`.
|
||||
The value indicated next to the :guilabel:`Working Hours` field of an |SLA| policy is used to
|
||||
determine the deadline. By default, this is determined by the value set in the :guilabel:`Company
|
||||
Working Hours` field under :menuselection:`Settings app --> Employees --> Work Organization`.
|
||||
|
||||
The deadline is then added to the ticket, as well as a tag indicating the name of the :abbr:`SLA
|
||||
(Service Level Agreement)` applied.
|
||||
The deadline is then added to the ticket, as well as a tag indicating the name of the |SLAs|
|
||||
applied.
|
||||
|
||||
.. image:: sla/sla-open-deadline.png
|
||||
:align: center
|
||||
:alt: View of a ticket's form emphasizing an open SLA deadline on a ticket in Odoo Helpdesk.
|
||||
|
||||
When a ticket satisfies an :abbr:`SLA (Service Level Agreement)` policy, the :abbr:`SLA (Service
|
||||
Level Agreement)` tag turns green, and the deadline disappears from view on the ticket.
|
||||
When a ticket satisfies an |SLA| policy, the |SLA| tag turns green, and the deadline disappears
|
||||
from view on the ticket.
|
||||
|
||||
.. image:: sla/sla-deadline.png
|
||||
:align: center
|
||||
:alt: View of a ticket's form emphasizing a satisfied SLA in Odoo Helpdesk.
|
||||
|
||||
.. important::
|
||||
If a ticket fits the criteria for more than one :abbr:`SLA (Service Level Agreement)`, the
|
||||
earliest occurring deadline is displayed on the ticket. After that deadline has passed, the next
|
||||
deadline is displayed.
|
||||
If a ticket fits the criteria for more than one |SLA|, the earliest occurring deadline is
|
||||
displayed on the ticket. After that deadline has passed, the next deadline is displayed.
|
||||
|
||||
If the :abbr:`SLA (Service Level Agreement)` deadline passes and the ticket has not moved to the
|
||||
:guilabel:`Reach Stage`, the :abbr:`SLA (Service Level Agreement)` tag turns red. After the
|
||||
:abbr:`SLA (Service Level Agreement)` has failed, the red tag stays on the ticket, even after the
|
||||
ticket is moved to the :guilabel:`Reach Stage`.
|
||||
If the |SLA| deadline passes and the ticket has not moved to the :guilabel:`Reach Stage`, the |SLA|
|
||||
tag turns red. After the |SLA| has failed, the red tag stays on the ticket, even after the ticket is
|
||||
moved to the :guilabel:`Reach Stage`.
|
||||
|
||||
.. image:: sla/sla-passing-failing.png
|
||||
:align: center
|
||||
:alt: View of a ticket's form with a failing and passing SLA in Odoo Helpdesk.
|
||||
|
||||
.. _helpdesk/analyze-sla-performance:
|
||||
@@ -132,20 +127,18 @@ ticket is moved to the :guilabel:`Reach Stage`.
|
||||
Analyze SLA performance
|
||||
=======================
|
||||
|
||||
The :guilabel:`SLA Status Analysis` report tracks how quickly an :abbr:`SLA (Service Level
|
||||
Agreement)` is fulfilled, as well as the performance of individual team members. Navigate to the
|
||||
report, and corresponding pivot table, by going to :menuselection:`Helpdesk app --> Reporting -->
|
||||
SLA Status Analysis`.
|
||||
The :guilabel:`SLA Status Analysis` report tracks how quickly an |SLA| is fulfilled, as well as the
|
||||
performance of individual team members. Navigate to the report, and corresponding pivot table, by
|
||||
going to :menuselection:`Helpdesk app --> Reporting --> SLA Status Analysis`.
|
||||
|
||||
Pivot view
|
||||
----------
|
||||
|
||||
By default, the report displays in a :guilabel:`Pivot` view. Any :abbr:`SLA (Service Level
|
||||
Agreement)` policies in the database with tickets that failed to fulfill a policy, are in progress,
|
||||
or have satisfied a policy are listed. By default, they are grouped by team and ticket count.
|
||||
By default, the report displays in a :guilabel:`Pivot` view. Any |SLA| policies in the database with
|
||||
tickets that failed to fulfill a policy, are in progress, or have satisfied a policy are listed. By
|
||||
default, they are grouped by team and ticket count.
|
||||
|
||||
.. figure:: sla/sla-status-analysis.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in Odoo Helpdesk.
|
||||
|
||||
The pivot view aggregates data, which can be manipulated by adding measures and filters.
|
||||
@@ -153,36 +146,32 @@ or have satisfied a policy are listed. By default, they are grouped by team and
|
||||
To change the display, or add additional measurements, click the :guilabel:`Measures` button to
|
||||
reveal a drop-down menu of reporting criteria, and choose from the options available.
|
||||
|
||||
Whenever a measurement is picked, a :guilabel:`✔️ (checkmark)` icon appears in the drop-down menu to
|
||||
indicate that the measurement is included, and a corresponding new column emerges in the pivot table
|
||||
to show the relevant calculations.
|
||||
Whenever a measurement is picked, a :icon:`fa-check` :guilabel:`(check)` icon appears in the
|
||||
drop-down menu to indicate that the measurement is included, and a corresponding new column emerges
|
||||
in the pivot table to show the relevant calculations.
|
||||
|
||||
.. image:: sla/sla-pivot-measures.png
|
||||
:align: center
|
||||
:alt: View of the available measures in the SLA status analysis report.
|
||||
|
||||
To add a group to a row or column, click the :guilabel:`➕ (plus)` icon next to the policy name and
|
||||
then select one of the groups. To remove one, click the :guilabel:`➖ (minus)` icon next to the
|
||||
policy name.
|
||||
To add a group to a row or column, click the :icon:`fa-plus-square` :guilabel:`(plus)` icon next to
|
||||
the policy name and then select one of the groups. To remove one, click the
|
||||
:icon:`fa-minus-square-o` :guilabel:`(minus)` icon next to the policy name.
|
||||
|
||||
.. image:: sla/sla-pivot-groups.png
|
||||
:align: center
|
||||
:alt: View of the available group by options in the SLA status analysis report.
|
||||
|
||||
Graph view
|
||||
----------
|
||||
|
||||
The :guilabel:`SLA Status Analysis` report can also be viewed as a :guilabel:`Bar Chart`,
|
||||
:guilabel:`Line Chart`, or :guilabel:`Pie Chart`. Toggle between these views by first selecting the
|
||||
:guilabel:`Graph` button at the top-right of the dashboard. Then, select the appropriate chart icon
|
||||
at the top-left of the graph.
|
||||
Switch to the graph view by selecting the :icon:`fa-area-chart` :guilabel:`(graph view)` icon at the
|
||||
top of the screen. To switch between the different charts, select the *related icon* at the top of
|
||||
the chart, while in graph view.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Bar Chart
|
||||
|
||||
.. figure:: sla/sla-report-bar.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in bar view.
|
||||
|
||||
A bar chart can deal with larger data sets and compare data across several categories.
|
||||
@@ -190,7 +179,6 @@ at the top-left of the graph.
|
||||
.. tab:: Line Chart
|
||||
|
||||
.. figure:: sla/sla-report-line.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in line view.
|
||||
|
||||
A line chart can visualize data trends or changes over time.
|
||||
@@ -198,30 +186,27 @@ at the top-left of the graph.
|
||||
.. tab:: Pie Chart
|
||||
|
||||
.. figure:: sla/sla-report-pie.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in pie chart view.
|
||||
|
||||
A pie chart compares data among a small number of categories.
|
||||
|
||||
.. tip::
|
||||
Both the :guilabel:`Bar Chart` and :guilabel:`Line Chart` views can be :guilabel:`Stacked` by
|
||||
selecting the :guilabel:`Stacked` icon. This displays two or more groups on top of each other
|
||||
instead of next to each other, making it easier to compare data.
|
||||
Both the *bar chart* and *line chart* can utilize the *stacked* view option. This presents two
|
||||
or more groups of data on top of each other, instead of next to each other, making it easier to
|
||||
compare data. While viewing either a bar chart or line chart, click the :icon:`fa-database`
|
||||
:guilabel:`(stacked)` icon to toggle the stacked view option on or off.
|
||||
|
||||
.. image:: sla/sla-report-stacked.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in bar view, stacked.
|
||||
|
||||
Cohort view
|
||||
-----------
|
||||
|
||||
The :guilabel:`Cohort` view is used to track the changes in data over a period of time. To display
|
||||
the :guilabel:`SLA Status Analysis` report in a :guilabel:`Cohort` view, click the
|
||||
:guilabel:`Cohort` button, represented by :guilabel:`(four cascading horizontal lines)`, in the
|
||||
top-right corner, next to the other view options.
|
||||
The *cohort* view is used to track the changes in data over a period of time. To display the
|
||||
:guilabel:`SLA Status Analysis` report in a cohort view, click the :icon:`oi-view-cohort`
|
||||
:guilabel:`(cohort)` icon, next to the other view options.
|
||||
|
||||
.. figure:: sla/sla-report-cohort.png
|
||||
:align: center
|
||||
:alt: View of the SLA status analysis report in cohort view.
|
||||
|
||||
The cohort view examines the life cycle of data over time.
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 26 KiB |
@@ -17,4 +17,5 @@ coworkers, and keep track of each project's profitability.
|
||||
:titlesonly:
|
||||
|
||||
project/project_management
|
||||
project/project_dashboard
|
||||
project/tasks
|
||||
|
||||
113
content/applications/services/project/project_dashboard.rst
Normal file
@@ -0,0 +1,113 @@
|
||||
=================
|
||||
Project dashboard
|
||||
=================
|
||||
|
||||
The project dashboard allows you to get a comprehensive overview of your project's status. It
|
||||
displays information such as the total number of tasks, timesheets, and planned hours linked to the
|
||||
project, as well as detailed information about project milestones and its costs and revenues. Within
|
||||
the project dashboard, you can create :guilabel:`Project updates`, which allow you to take a
|
||||
snapshot of the project's status at a certain point in time. As such, it is a crucial tool for
|
||||
effective project management and ensuring that your project stays on track.
|
||||
|
||||
Using the project dashboard
|
||||
===========================
|
||||
|
||||
To access the project dashboard, open the **Project** app and hover over the desired project’s
|
||||
card. Then, click the :icon:`fa-vertical-ellipsis` (:guilabel:`vertical ellipsis`) icon and
|
||||
select :guilabel:`Dashboard`.
|
||||
|
||||
The left side of the dashboard displays a list of existing :ref:`project updates <project/project-dashboard/updates>`,
|
||||
and the right side provides :ref:`detailed information about records linked to the project
|
||||
<project/project-dashboard/smart-buttons>`, as well as :ref:`milestones <project/project-dashboard/milestones>`,
|
||||
:ref:`profitability <project/project-dashboard/profitability>`, and :ref:`budgets
|
||||
<project/project-dashboard/budgets>`.
|
||||
|
||||
.. note::
|
||||
The information displayed on the project dashboard varies depending on the applications installed
|
||||
on your database. For example, you will not see information about **Timesheets**, **Planning**,
|
||||
or **Purchase Orders** if the corresponding applications are not installed.
|
||||
|
||||
.. _project/project-dashboard/smart-buttons:
|
||||
|
||||
Totals smart buttons
|
||||
--------------------
|
||||
|
||||
The following smart buttons are displayed on the top left of the project dashboard:
|
||||
|
||||
- :guilabel:`Tasks`: the number of completed (i.e., :guilabel:`Done` or :guilabel:`Canceled`
|
||||
:ref:`tasks <project/tasks/task_stages_statuses/statuses>`) and all tasks, in format
|
||||
completed/all, as well as the entire project's completion percentage estimation.
|
||||
- :guilabel:`Timesheets`: the number of hours or days (depending on the **Timesheets** app
|
||||
configuration) linked to the project. This includes all :doc:`timesheets <../timesheets>`,
|
||||
whether or not they have been validated.
|
||||
- :guilabel:`Planned`: the number of hours that have been planned for shifts in the **Planning**
|
||||
app. This includes all :doc:`planned shifts <../planning>`, including past shifts and shifts that
|
||||
have not yet been published.
|
||||
- :guilabel:`Documents`: number of :doc:`documents <../../productivity/documents>` in the
|
||||
project’s workspace.
|
||||
- :guilabel:`Burndown Chart`: click the smart button to access a :doc:`report </applications/essentials/reporting>`
|
||||
on the status of the project’s tasks over time.
|
||||
- :guilabel:`Timesheets and Planning`: click the smart button to access a :doc:`report </applications/essentials/reporting>`
|
||||
on the project’s timesheets and shifts.
|
||||
- **Additional fields**, such as :guilabel:`Sales Orders`, :guilabel:`Sales Order Items`,
|
||||
:guilabel:`Purchase Orders`, and more, represent the number of records linked to the project.
|
||||
|
||||
.. tip::
|
||||
Use the project dashboard smart buttons to update the project records easily. Click
|
||||
:guilabel:`Timesheets` to validate timesheets, :guilabel:`Planned` to create project planning,
|
||||
:guilabel:`Documents` to view and validate documents, etc.
|
||||
|
||||
.. _project/project-dashboard/milestones:
|
||||
|
||||
Milestones
|
||||
----------
|
||||
|
||||
This section is only visible if :doc:`milestones </applications/sales/sales/invoicing/milestone>`
|
||||
have been created for this project. Click :guilabel:`Add Milestone` to create a new milestone.
|
||||
Click a milestone in the checklist to edit it, enable its checkbox to mark it as completed, or
|
||||
click the :icon:`fa-trash` (:guilabel:`trash`) icon to remove it.
|
||||
|
||||
.. _project/project-dashboard/profitability:
|
||||
|
||||
Profitability
|
||||
-------------
|
||||
|
||||
This section only applies to billable projects and provides a breakdown of project costs and
|
||||
revenues.
|
||||
|
||||
.. _project/project-dashboard/budgets:
|
||||
|
||||
Budgets
|
||||
-------
|
||||
|
||||
If a budget has been set for the project, its status and related details are displayed in this
|
||||
section. Click :guilabel:`Add Budget` to create a new budget for the project.
|
||||
|
||||
.. note::
|
||||
:doc:`Analytic accounting </applications/finance/accounting/reporting/analytic_accounting>` must
|
||||
be enabled in your database’s **Accounting** application in order for this section to be
|
||||
displayed.
|
||||
|
||||
.. _project/project-dashboard/updates:
|
||||
|
||||
Project updates
|
||||
===============
|
||||
|
||||
Project updates allow you to take a snapshot of the project’s overall status at a given point in
|
||||
time, for example, during a periodic (weekly, bi-weekly, or monthly) review. This allows you to
|
||||
compare specific data points, note any aspects of the project that need improvement, and estimate
|
||||
if the project is on or off track.
|
||||
|
||||
To create a new project update, go to the project dashboard, click :guilabel:`New`, and fill in the
|
||||
following fields:
|
||||
|
||||
- :guilabel:`Status`: Choose between :guilabel:`On Track`, :guilabel:`At Risk`, :guilabel:`Off
|
||||
Track`, :guilabel:`On Hold`, and :guilabel:`Done`. Once the status is set, a color-coded dot is
|
||||
displayed on the project’s Kanban card, allowing the project manager to easily identify which
|
||||
projects need attention.
|
||||
- :guilabel:`Progress`: Manually input the completion percentage based on the project's progress.
|
||||
- :guilabel:`Date` and :guilabel:`Author`: These fields are automatically filled in with
|
||||
appropriate information based on the user who created the update and the current date.
|
||||
- :guilabel:`Description`: Use this rich-text field to gather notes. Depending on the project
|
||||
configuration (e.g., if the project is billable), this field may be pre-filled with current
|
||||
information on aspects such as profitability, budget, milestones, etc.
|
||||
@@ -11,3 +11,4 @@ Task management
|
||||
tasks/task_creation
|
||||
tasks/recurring_tasks
|
||||
tasks/sub-tasks
|
||||
tasks/task_dependencies
|
||||
|
||||
@@ -18,22 +18,26 @@ activate :guilabel:`Recurring Tasks`, and press :guilabel:`Save`.
|
||||
Set up task recurrence
|
||||
----------------------
|
||||
|
||||
In an existing task, press the :guilabel:`Recurrent` button next to the :guilabel:`Planned date`.
|
||||
Then, configure :guilabel:`Repeat Every` field according to your needs.
|
||||
In an existing task, click the :icon:`fa-repeat` (:guilabel:`Recurrent`) button next to the
|
||||
:guilabel:`Deadline` field. Then, configure the :guilabel:`Repeat Every` field according to your
|
||||
needs.
|
||||
|
||||
A new task in recurrence will be created once either of this conditions is met:
|
||||
- Previous task in recurrence has been closed.
|
||||
- On the day of the planned recurrence.
|
||||
A new task in recurrence will be created once the status of the previous task is set to
|
||||
:guilabel:`Done` or :guilabel:`Canceled`.
|
||||
|
||||
The new task is created on your project dashboard with the following configuration:
|
||||
The new task is created on the project dashboard with the following configuration:
|
||||
|
||||
- :guilabel:`Stage`: first stage of the project dashboard (:guilabel:`New` or equivalent);
|
||||
- :guilabel:`Stage`: is set to the first stage of the project dashboard (:guilabel:`New` or
|
||||
equivalent);
|
||||
- :guilabel:`Name`, :guilabel:`Description`, :guilabel:`Project`, :guilabel:`Assignees`,
|
||||
:guilabel:`Customer`, :guilabel:`Tags`: copied from the original task;
|
||||
- :guilabel:`Milestones`, :guilabel:`Deadline`, :guilabel:`Timesheets`, :guilabel:`Chatter`,
|
||||
:guilabel:`Activities`, :guilabel:`Subtasks`: those fields are not copied;
|
||||
:guilabel:`Customer`, :guilabel:`Tags`: are copied from the original task;
|
||||
- :guilabel:`Deadline`: is updated based on the :guilabel:`Repeat Every` field (e.g., if the task is
|
||||
set to repeat once a week, 7 days will be added to the deadline);
|
||||
- :guilabel:`Milestones`, :guilabel:`Timesheets`, :guilabel:`Chatter`,
|
||||
:guilabel:`Activities`, :guilabel:`Subtasks`: are **not** copied from the original task.
|
||||
|
||||
- A **smart button** on the task displays the total number of existing recurrences.
|
||||
Once a recurrence is configured, a **smart button** on the task displays the total number of
|
||||
existing recurrences.
|
||||
|
||||
Edit or stop task recurrence
|
||||
----------------------------
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
=================
|
||||
Task dependencies
|
||||
=================
|
||||
|
||||
Odoo Project allows you to break down projects into tasks and establish relationships between those
|
||||
tasks to determine the order in which they are executed. Task dependencies ensure that certain tasks
|
||||
begin only after the preceding tasks are completed.
|
||||
|
||||
To enable task dependencies in projects, go to :menuselection:`Project --> Configuration -->
|
||||
Settings`, enable :guilabel:`Task Dependencies`, and click :guilabel:`Save`.
|
||||
|
||||
Set task dependencies
|
||||
=====================
|
||||
|
||||
Task dependencies can be created from the task form or the project's Gantt view by linking the
|
||||
successor task (i.e., the task blocked by other tasks) to its predecessor task(s) (i.e., the tasks
|
||||
blocking the successor task).
|
||||
|
||||
To create task dependencies from the task form, access the desired task and, in the
|
||||
:guilabel:`Blocked by` tab, click :guilabel:`Add a line`. Click :guilabel:`View` to access the
|
||||
predecessor task. To access the successor tasks from the predecessor task, click the
|
||||
:guilabel:`Blocked Tasks` smart button.
|
||||
|
||||
To create a task dependency from the Gantt view, hover your mouse over the predecessor task, then
|
||||
click one of the dots that appear around it. Drag and drop the dot onto the successor task. An arrow
|
||||
appears, indicating the dependency from the predecessor task to the successor.
|
||||
|
||||
.. image:: task_dependencies/task-dependency.png
|
||||
:scale: 80%
|
||||
:alt: Task dependency
|
||||
|
||||
Odoo automatically manages task progress based on their dependency. Successor tasks are assigned the
|
||||
:guilabel:`Waiting` status and cannot be moved to :guilabel:`In Progress` until their predecessor
|
||||
task(s) are marked as :guilabel:`Approved`, :guilabel:`Cancelled`, or :guilabel:`Done`.
|
||||
|
||||
Remove dependencies
|
||||
===================
|
||||
|
||||
To remove a task dependency, proceed as follows:
|
||||
|
||||
- From the task form, go to the **Blocked by** tab and click the :icon:`fa-times`
|
||||
(:guilabel:`times`) button.
|
||||
- From the Gantt view, click the red :icon:`fa-times` (:guilabel:`times`) button that appears at the
|
||||
center of the arrow when you hover your mouse over it.
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -47,6 +47,8 @@ there, click one of the following:
|
||||
- :guilabel:`Delete`: to delete this stage.
|
||||
- :guilabel:`Archive/Unarchive all`: to archive or unarchive all of the tasks in this stage.
|
||||
|
||||
.. _project/tasks/task_stages_statuses/statuses:
|
||||
|
||||
Task statuses
|
||||
=============
|
||||
|
||||
|
||||
@@ -43,8 +43,8 @@ contacts, sales orders, products, etc.
|
||||
|
||||
- To structure a form, drag and drop the :guilabel:`Tabs and Columns` element found under the
|
||||
:guilabel:`+ Add` tab.
|
||||
- To prevent users from creating, editing, or deleting records, untick :guilabel:`Can Create`,
|
||||
:guilabel:`Can Edit`, or :guilabel:`Can Delete`.
|
||||
- To prevent users from creating, editing, deleting or duplicating records, untick :guilabel:`Can Create`,
|
||||
:guilabel:`Can Edit`, :guilabel:`Can Delete` or :guilabel:`Can Duplicate`.
|
||||
- To add a button, click :guilabel:`Add a button` at the top of the form, enter a :guilabel:`Label`,
|
||||
and select the button's action:
|
||||
|
||||
@@ -136,8 +136,8 @@ List
|
||||
The :guilabel:`List` :icon:`oi-view-list` view is used to overview many records at once, look for
|
||||
records, and edit simple records.
|
||||
|
||||
- To prevent users from creating, editing, or deleting records, untick :guilabel:`Can Create`,
|
||||
:guilabel:`Can Edit`, or :guilabel:`Can Delete`.
|
||||
- To prevent users from creating, editing, deleting or duplicating records, untick
|
||||
:guilabel:`Can Create`, :guilabel:`Can Edit`, :guilabel:`Can Delete`, or :guilabel:`Can Duplicate`.
|
||||
- To create and edit records directly within the view, select either :guilabel:`Add record at the
|
||||
bottom`, :guilabel:`Add record on top` or :guilabel:`Open form view` under
|
||||
:guilabel:`When Creating Record`.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===============================
|
||||
Checkout, payment, and shipping
|
||||
Checkout, payment, and delivery
|
||||
===============================
|
||||
|
||||
.. toctree::
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
========
|
||||
Shipping
|
||||
Delivery
|
||||
========
|
||||
|
||||
Odoo eCommerce allows you to configure various shipping methods, enabling customers to choose
|
||||
their preferred option at checkout. These methods include :ref:`external providers
|
||||
Odoo eCommerce allows you to configure various delivery methods, enabling customers to choose
|
||||
their preferred option at :doc:`checkout <checkout>`. These methods include :ref:`external providers
|
||||
<ecommerce/shipping/external-provider>`, :ref:`custom options <ecommerce/shipping/custom-method>`
|
||||
such as flat-rate or free shipping, local carriers via
|
||||
:doc:`Sendcloud <../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping>`
|
||||
@@ -24,11 +24,11 @@ A shipping connector links to these providers, automating :doc:`tracking labels
|
||||
<../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/labels>` and shipping
|
||||
processes.
|
||||
|
||||
To enable a third-party shipping provider, go to :menuselection:`Website --> Configuration -->
|
||||
Settings`, scroll to the :guilabel:`Shipping` section, select the desired shipping provider(s),
|
||||
To enable a third-party delivery provider, go to :menuselection:`Website --> Configuration -->
|
||||
Settings`, scroll to the :guilabel:`Delivery` section, select the desired delivery provider(s),
|
||||
and :guilabel:`Save`.
|
||||
|
||||
Go to :menuselection:`Website --> Configuration --> Shipping Methods` and select the shipping method
|
||||
Go to :menuselection:`Website --> Configuration --> Delivery Methods` and select the delivery method
|
||||
in the list to :ref:`configure it <inventory/shipping_receiving/configure-delivery-method>`.
|
||||
|
||||
.. seealso::
|
||||
@@ -36,10 +36,10 @@ in the list to :ref:`configure it <inventory/shipping_receiving/configure-delive
|
||||
<../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper>`
|
||||
|
||||
.. important::
|
||||
The field used to define additional fees **must** be filled **in your third-party shipping
|
||||
The field used to define additional fees **must** be filled **in your third-party delivery
|
||||
provider account**, even if you do not plan to charge customers any additional fee. If you do not
|
||||
want to apply a fee, enter `0`. If the field is left empty, the delivery price cannot be
|
||||
calculated, and an error message prompts the customer to select an alternative shipping method.
|
||||
calculated, and an error message prompts the customer to select an alternative delivery method.
|
||||
|
||||
Margin on delivery rate
|
||||
-----------------------
|
||||
@@ -61,47 +61,65 @@ field to add a fixed amount.
|
||||
|
||||
.. _ecommerce/shipping/custom-method:
|
||||
|
||||
Custom shipping method
|
||||
Custom delivery method
|
||||
======================
|
||||
|
||||
Custom shipping methods must be created, for example:
|
||||
Custom delivery methods must be created, for example:
|
||||
|
||||
- to integrate shipping carriers through :doc:`Sendcloud
|
||||
- to integrate delivery carriers through :doc:`Sendcloud
|
||||
<../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping>`;
|
||||
- to configure specific rules (e.g., to offer free shipping for orders above a specific amount) for
|
||||
a specific provider;
|
||||
- to configure :ref:`Fixed Price <inventory/shipping/fixed>` shipping or shipping
|
||||
:ref:`Based on Rules <inventory/shipping/rules>`.
|
||||
|
||||
To create a custom shipping method, go to :menuselection:`Website --> Configuration -->
|
||||
Shipping Methods`, click :guilabel:`New` and fill in the :ref:`fields
|
||||
To create a custom delivery method, go to :menuselection:`Website --> Configuration --> Delivery
|
||||
Methods`, click :guilabel:`New`, and fill in the :ref:`fields
|
||||
<inventory/shipping_receiving/shipping-methods-details>`.
|
||||
|
||||
In the :guilabel:`Provider` field, select :ref:`Based on Rules <inventory/shipping/rules>`,
|
||||
:ref:`Fixed Price <inventory/shipping/fixed>`, or :ref:`Pickup in store <inventory/shipping/pickup>`
|
||||
if the shiping method does not involve any specific provider.
|
||||
if the shipping method does not involve any specific provider.
|
||||
|
||||
.. tip::
|
||||
Upon :ref:`configuring <inventory/shipping_receiving/configure-delivery-method>` a shipping
|
||||
Upon :ref:`configuring <inventory/shipping_receiving/configure-delivery-method>` a delivery
|
||||
method, you can:
|
||||
|
||||
- restrict it :doc:`to a specific website <../../website/configuration/multi_website>` by
|
||||
selecting it in :guilabel:`Website` field;
|
||||
- use the :guilabel:`Destination availability` tab to filter the delivery carriers displayed
|
||||
based on the customer's area;
|
||||
- click the :guilabel:`Test Environment` smart button to switch to
|
||||
the :guilabel:`Production Environment`, then click :guilabel:`Unpublished` to
|
||||
:guilabel:`Publish` the shipping method and make it available to website visitors.
|
||||
- Restrict it :doc:`to a specific website <../../website/configuration/multi_website>` by
|
||||
selecting it in the :guilabel:`Website` field;
|
||||
- Click the :guilabel:`Test Environment` smart button to switch to the
|
||||
:guilabel:`Production Environment`. Then, click :guilabel:`Unpublished` to :guilabel:`Publish`
|
||||
the delivery method and make it available to website visitors;
|
||||
- Use the :guilabel:`Availability` tab to define :ref:`conditions
|
||||
<inventory/shipping_receiving/availability>` for the delivery method based on the order’s
|
||||
content or destination.
|
||||
|
||||
.. _ecommerce/shipping/instore-pickup:
|
||||
|
||||
In-store pickup
|
||||
Click & Collect
|
||||
===============
|
||||
|
||||
To allow customers to reserve products online and pay for/collect them in person at the store, go to
|
||||
:menuselection:`Website --> Configuration --> Settings`, scroll to the :guilabel:`Shipping` section,
|
||||
enable :guilabel:`On Site Payments & Picking`, and :guilabel:`Save`.
|
||||
To allow customers to reserve products online and pay for/collect them in-store, follow these steps:
|
||||
|
||||
Then, click :guilabel:`Customize Pickup Sites`, select the shipping method or click :guilabel:`New`
|
||||
to create a new one and :ref:`configure <inventory/shipping_receiving/configure-delivery-method>`
|
||||
the fields. Make sure the :guilabel:`Provider` field is set to :guilabel:`Pickup in store`.
|
||||
#. Go to :menuselection:`Website --> Configuration --> Settings`.
|
||||
#. Scroll to the :guilabel:`Delivery` section, enable :guilabel:`Click & Collect`, and
|
||||
:guilabel:`Save`.
|
||||
#. Click :icon:`fa-arrow-right` :guilabel:`Configure Pickup Locations` to :ref:`configure
|
||||
<inventory/shipping_receiving/configure-delivery-method>` the delivery method and ensure the
|
||||
:guilabel:`Provider` field is set to :guilabel:`Pick up in store`.
|
||||
#. In the :guilabel:`Stores` tab, click :guilabel:`Add a line` and select the warehouse(s) where
|
||||
customers can collect their orders.
|
||||
#. Once your setup is complete, click the :guilabel:`Unpublish` button to change the status to
|
||||
:guilabel:`Publish` and make the delivery method available to customers.
|
||||
|
||||
.. note::
|
||||
- When the product is in stock, a location selector is displayed on the :doc:`product
|
||||
<../products>` and :doc:`checkout <checkout>` pages. Customers cannot select a pickup location
|
||||
if the product is out of stock at that location. The :ref:`Continue selling
|
||||
<ecommerce/products/stock-management>` option for out-of-stock products is not supported.
|
||||
- If the :ref:`Show Available Qty <ecommerce/products/stock-management>` option is enabled for a
|
||||
product, customers can view the stock quantity available for each warehouse in the location
|
||||
selector on the product page.
|
||||
- Each warehouse must have a **complete address** to ensure its location is accurately displayed
|
||||
to customers. Incomplete addresses prevent the warehouse from being shown.
|
||||
- The Click & Collect option is not available for services.
|
||||
|
||||
@@ -828,6 +828,16 @@ Domain (`domain`)
|
||||
|
||||
- Supported field types: `char`
|
||||
|
||||
Options:
|
||||
|
||||
- `model`: the name of the char field encoding the `res_model` on which the domain applies.
|
||||
|
||||
- `foldable` (default: `false`): if true, the domain field is rendered compactly and unfolds
|
||||
itself upon user interaction.
|
||||
|
||||
- `in_dialog` (default: `false`): if true, the widget opens a dialog when the user wants to edit
|
||||
the domain whereas by default, the domain editor is rendered just below the value.
|
||||
|
||||
Link button (`link_button`)
|
||||
The `LinkButton` widget actually simply displays a span with an icon and the
|
||||
text value as content. The link is clickable and will open a new browser
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
applications/finance/payment_providers/ogone.rst applications/finance/payment_providers/worldline.rst
|
||||
applications/finance/payment_providers/sips.rst applications/finance/payment_providers/worldline.rst
|
||||
applications/finance/accounting/payments/internal_transfers.rst applications/finance/accounting/bank/internal_transfers.rst
|
||||
|
||||
# applications/point of sale
|
||||
|
||||
|
||||