Compare commits
89 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b742dd3950 | |||
| aa5d9911b3 | |||
| 5c72ee6f63 | |||
| 123ea24f91 | |||
| 8495357d6e | |||
| 52d8565f02 | |||
| b6e6515fbf | |||
| 49b75e3213 | |||
| bb69f01e71 | |||
| c7fb228d91 | |||
| 75f0258d19 | |||
| 7e375cfd54 | |||
| 853583b0ce | |||
| d7c0cdddbf | |||
| be14393043 | |||
| 6ad97e2fea | |||
| 27acb59d79 | |||
| a94c8ed498 | |||
| b9e82b8c29 | |||
| 7d4f6dc77a | |||
| 44db5c84b3 | |||
| a57baa8d09 | |||
| 968ca03d70 | |||
| 4aca6cd71e | |||
| 4d3fafe972 | |||
| 66022fbb57 | |||
| 7f711c6ef2 | |||
| 6bf147384b | |||
| 2f050805bb | |||
| 00eb919fb4 | |||
| b8f2514f93 | |||
| 68d7b8ccc1 | |||
| 0fc08e02f8 | |||
| 4fc13ed595 | |||
| eee06ac7c4 | |||
| c792d379de | |||
| 989f2faf9a | |||
| a9ff26efdd | |||
| 6051f2f638 | |||
| 565022703a | |||
| 8b1f8e1fc6 | |||
| f3d8007c29 | |||
| e241c7a088 | |||
| 8750d5f859 | |||
| a541383a1d | |||
| 60a0d4cdb5 | |||
| 88e1bee845 | |||
| 654970a436 | |||
| 0a329f11dc | |||
| 9917949408 | |||
| c4e0f35aa9 | |||
| 90048d2484 | |||
| cc226a7e1d | |||
| 9c5f9f7aa6 | |||
| 8f77236070 | |||
| 39f6f220e1 | |||
| e6bc52d641 | |||
| 3ab129a370 | |||
| d690755327 | |||
| bf6fe2f147 | |||
| cc6306277b | |||
| abdcb372ba | |||
| dfe54bdce3 | |||
| 2d721c04eb | |||
| 40c830298c | |||
| b22893c1bd | |||
| 3bb0b21494 | |||
| 02bcc265fb | |||
| 78b9c43030 | |||
| 04ac6de366 | |||
| 7c6aa7f2c4 | |||
| b78d7b86e6 | |||
| 983346ae6b | |||
| 84abf415bc | |||
| a37453b18f | |||
| fc83a645cf | |||
| ef647fd809 | |||
| d31f160707 | |||
| b6b6cf9de8 | |||
| 38d6b71519 | |||
| 5042a4af90 | |||
| d7dcbff91f | |||
| eaffb4d160 | |||
| 21eb260fc8 | |||
| bc2da4dd91 | |||
| 5dea50eef0 | |||
| d4841aee90 | |||
| 80310b0e1c | |||
| 602d51c44b |
@@ -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",
|
||||
|
||||
@@ -64,4 +64,4 @@ The Odoo mobile apps are available for download on the `Google Play Store
|
||||
.. important::
|
||||
The iOS app cannot be updated and will be deprecated at some point in the future.
|
||||
|
||||
While the store apps support multi-accounts, they are not compatible with SS0 authentication.
|
||||
While the store apps support multi-accounts, they are not compatible with SSO authentication.
|
||||
|
||||
@@ -132,7 +132,7 @@ be downloaded from the `Odoo download page <https://www.odoo.com/page/download>`
|
||||
.. group-tab:: Fedora
|
||||
|
||||
.. note::
|
||||
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 36.
|
||||
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 38.
|
||||
|
||||
Once downloaded, the package can be installed using the 'dnf' package manager:
|
||||
|
||||
|
||||
@@ -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
|
||||
----------------------------
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Bank and cash accounts
|
||||
======================
|
||||
|
||||
You can manage as many bank or cash accounts as needed on your database. Configuring them well
|
||||
You can manage as many bank or cash accounts as needed on your database. Configuring them correctly
|
||||
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
|
||||
<bank/reconciliation>` with your journal entries.
|
||||
|
||||
@@ -21,22 +21,22 @@ 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:
|
||||
|
||||
Manage your bank and cash accounts
|
||||
==================================
|
||||
Manage bank and cash accounts
|
||||
=============================
|
||||
|
||||
Connect your bank for automatic synchronization
|
||||
-----------------------------------------------
|
||||
Connect a bank for automatic synchronization
|
||||
--------------------------------------------
|
||||
|
||||
To connect your bank account to your database, go to :menuselection:`Accounting --> Configuration
|
||||
--> Banks: Add a Bank Account`, select your bank in the list, click on :guilabel:`Connect`, and
|
||||
follow the instructions.
|
||||
--> Add a Bank Account`, select your bank in the list, click on :guilabel:`Connect`, and follow the
|
||||
instructions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`bank/bank_synchronization`
|
||||
|
||||
.. _bank_accounts/create:
|
||||
.. _accounting/bank/create:
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
@@ -44,8 +44,9 @@ Create a bank account
|
||||
If your banking institution is not available in Odoo, or if you don't want to connect your bank
|
||||
account to your database, you can configure your bank account manually.
|
||||
|
||||
To manually add a bank account, go to :menuselection:`Accounting --> Configuration --> Banks:
|
||||
Add a Bank Account`, click on :guilabel:`Create it` (at the bottom right), and fill out the form.
|
||||
To manually add a bank account, go to :menuselection:`Accounting --> Configuration --> Add a Bank
|
||||
Account`, click on :guilabel:`Record transactions manually` (at the bottom right), fill out the bank
|
||||
information, and click :guilabel:`Create`.
|
||||
|
||||
.. note::
|
||||
- Odoo automatically detects the bank account type (e.g., IBAN) and enables some features
|
||||
@@ -61,7 +62,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 +74,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
|
||||
=============
|
||||
@@ -86,14 +87,23 @@ You can edit the accounting information and bank account number according to you
|
||||
.. seealso::
|
||||
- :doc:`get_started/multi_currency`
|
||||
- :doc:`bank/transactions`
|
||||
- `Bank configuration <https://www.youtube.com/watch?v=tVhhXw-VnGE>`_
|
||||
|
||||
.. _bank_accounts/suspense:
|
||||
.. _accounting/bank/suspense:
|
||||
|
||||
Suspense account
|
||||
----------------
|
||||
|
||||
Bank statement transactions are posted on the :guilabel:`Suspense Account` until the final
|
||||
reconciliation allows finding the right account.
|
||||
Bank statement transactions are posted on the suspense account until they are reconciled. At any
|
||||
moment, the suspense account's balance in the general ledger shows the balance of transactions that
|
||||
have not yet been reconciled.
|
||||
|
||||
.. note::
|
||||
When a bank transaction is reconciled, the journal entry is modified to replace the bank suspense
|
||||
account with the account of the journal item it is reconciled with. This account is usually the
|
||||
:ref:`outstanding receipts or payments account <accounting/bank/outstanding-accounts>` if
|
||||
reconciling with a registered payment or the account receivable or payable if reconciling with
|
||||
an invoice or bill directly.
|
||||
|
||||
Profit and loss accounts
|
||||
------------------------
|
||||
@@ -105,16 +115,18 @@ register a loss when the ending balance of a cash register differs from what the
|
||||
Currency
|
||||
--------
|
||||
|
||||
You can edit the currency used to enter the statements.
|
||||
You can edit the currency used to enter the transactions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`get_started/multi_currency`
|
||||
|
||||
.. _accounting/bank/account-number:
|
||||
|
||||
Account number
|
||||
--------------
|
||||
|
||||
If you need to **edit your bank account details**, click on the external link arrow next to your
|
||||
:guilabel:`Account Number`. On the new page, click on the external link arrow next to your
|
||||
:guilabel:`Account Number`. On the account page, click on the external link arrow next to your
|
||||
:guilabel:`Bank` and update your bank information accordingly. These details are used when
|
||||
registering payments.
|
||||
|
||||
@@ -124,12 +136,13 @@ registering payments.
|
||||
Bank feeds
|
||||
----------
|
||||
|
||||
:guilabel:`Bank Feeds` defines how the bank statements are registered. Three options are available:
|
||||
:guilabel:`Bank Feeds` defines how the bank transactions are registered. Three options are
|
||||
available:
|
||||
|
||||
- :guilabel:`Undefined yet`, which should be selected when you don’t know yet if you will
|
||||
synchronize your bank account with your database or not.
|
||||
- :guilabel:`Import (CAMT, CODA, CSV, OFX, QIF)`, which should be selected if you want to import
|
||||
your bank statement using a different format.
|
||||
your bank statements and transactions using a different format.
|
||||
- :guilabel:`Automated Bank Synchronization`, which should be selected if your bank is synchronized
|
||||
with your database.
|
||||
|
||||
@@ -137,53 +150,47 @@ Bank feeds
|
||||
- :doc:`bank/bank_synchronization`
|
||||
- :doc:`bank/transactions`
|
||||
|
||||
.. _bank/outstanding-accounts:
|
||||
.. _accounting/bank/outstanding-accounts:
|
||||
|
||||
Outstanding accounts
|
||||
====================
|
||||
|
||||
By default, payments are registered through transitory accounts named **outstanding accounts**,
|
||||
before being recorded in your bank account.
|
||||
By default, payments in Odoo do not create journal entries, but they can easily be configured to
|
||||
create journal entries using **outstanding accounts**.
|
||||
|
||||
- An **outstanding payments account** is where outgoing payments are posted until they are linked
|
||||
with a withdrawal from your bank statement.
|
||||
- An **outstanding receipts account** is where incoming payments are posted until they are linked
|
||||
with a deposit from your bank statement.
|
||||
with incoming bank transactions.
|
||||
- An **outstanding payments account** is where outgoing payments are posted until they are linked
|
||||
with outgoing bank transactions.
|
||||
|
||||
These accounts should be of :ref:`type <chart-of-account/type>` :guilabel:`Current Assets`.
|
||||
These accounts are usually of :ref:`type <chart-of-account/type>` :guilabel:`Current Assets` and
|
||||
:guilabel:`Current Liabilities`.
|
||||
|
||||
Payments that are registered in Odoo are posted to the outstanding receipts and outstanding accounts
|
||||
until they are reconciled. At any moment, the outstanding receipts account's balance in the general
|
||||
ledger shows the balance of registered incoming payments that have not yet been reconciled, and the
|
||||
outstanding payments account's balance in the general ledger shows the balance of registered
|
||||
outgoing payments that have not yet been reconciled.
|
||||
|
||||
Bank and cash journal configuration
|
||||
-----------------------------------
|
||||
|
||||
To configure payments to create journal entries, set outstanding accounts for the journal's payment
|
||||
methods. This can be done for any journal with the :ref:`type <chart-of-account/type>`
|
||||
:guilabel:`Bank` or :guilabel:`Cash`.
|
||||
|
||||
To configure the outstanding accounts for a journal's payment methods, first go to
|
||||
:menuselection:`Accounting --> Configuration --> Journals` and select a bank or cash journal. In the
|
||||
:guilabel:`Incoming Payments` and :guilabel:`Outgoing Payments` tabs, set :guilabel:`Outstanding
|
||||
Receipts accounts` and :guilabel:`Outstanding Payments accounts` for each payment method that you
|
||||
want to create journal entries.
|
||||
|
||||
.. note::
|
||||
The movement from an outstanding account to a bank account is done automatically when you
|
||||
reconcile the bank account with a bank statement.
|
||||
|
||||
Default accounts configuration
|
||||
------------------------------
|
||||
|
||||
The outstanding accounts are defined by default. If necessary, you can update them by going to
|
||||
:menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and update your
|
||||
:guilabel:`Outstanding Receipts Account` and :guilabel:`Outstanding Payments Account`.
|
||||
|
||||
Bank and cash journals configuration
|
||||
------------------------------------
|
||||
|
||||
You can also set specific outstanding accounts for any journal with the :ref:`type
|
||||
<chart-of-account/type>` :guilabel:`Bank` or :guilabel:`Cash`.
|
||||
|
||||
From your :guilabel:`Accounting Dashboard`, click on the menu selection ⋮ of the journal you want to
|
||||
configure, and click on :guilabel:`Configuration`, then open the :guilabel:`Incoming/Outgoing
|
||||
Payments` tab. To display the outstanding accounts column, click on the toggle button and check the
|
||||
: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::
|
||||
- If you do not specify an outstanding payments account or an outstanding receipts account for a
|
||||
specific journal, Odoo uses the default outstanding accounts.
|
||||
- If your main bank account is added as an outstanding receipts account or outstanding payments
|
||||
account, when a payment is registered, the invoice or bill's status is directly set to
|
||||
:guilabel:`Paid`.
|
||||
- If the main bank account of the journal is added as an outstanding receipts account or
|
||||
outstanding payments account, when a payment is registered, the invoice or bill's status is
|
||||
directly set to :guilabel:`Paid`.
|
||||
- If the outstanding receipts or outstanding payments account for a payment method is left blank,
|
||||
registering a payment with that payment method will not create any journal entry.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
@@ -192,5 +199,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
|
||||
|
||||
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 25 KiB |
@@ -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:
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
@@ -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>`
|
||||
|
||||
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`
|
||||
@@ -44,22 +44,31 @@ goods and services. Make sure the following fields are appropriately completed:
|
||||
upon confirmation.
|
||||
- :guilabel:`Due Date` or :doc:`payment terms <customer_invoices/payment_terms>`: To specify when
|
||||
the customer has to pay the invoice.
|
||||
- :guilabel:`Journal`: Is automatically set and can be changed if needed.
|
||||
- :doc:`Currency <get_started/multi_currency>`
|
||||
- :guilabel:`Product`: Click :guilabel:`Add a line` to add a product.
|
||||
- :guilabel:`Journal`: Automatically set and can be changed if needed.
|
||||
- :doc:`Currency <get_started/multi_currency>`. If the invoice's currency differs from the
|
||||
company's currency, the currency exchange rate is automatically displayed.
|
||||
|
||||
In the :guilabel:`Invoice Lines` tab:
|
||||
|
||||
- :guilabel:`Product`: Click :guilabel:`Add a line`, then search for and select the product.
|
||||
- :guilabel:`Quantity`
|
||||
- :guilabel:`Price`
|
||||
- :doc:`Taxes <taxes>` (if applicable)
|
||||
|
||||
To access the product catalog and view all items in an organized display, click :doc:`Catalog
|
||||
</applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/product_catalog>`.
|
||||
When the products and quantities are selected, click :guilabel:`Back to Invoice` to return to the
|
||||
invoice; the selected catalog items will appear in the invoice lines.
|
||||
|
||||
.. tip::
|
||||
To display the total amount of the invoice in words, go to :menuselection:`Accounting -->
|
||||
Configuration --> Settings` and activate the :guilabel:`Total amount of invoice in letters`
|
||||
option.
|
||||
|
||||
The :guilabel:`Journal Items` tab displays the accounting entries created.
|
||||
Additional invoice information such as the :guilabel:`Customer Reference`, :doc:`Fiscal Positions
|
||||
<taxes/fiscal_positions>`, :doc:`Incoterms <customer_invoices/incoterms>`, and more can be added or
|
||||
modified in the :guilabel:`Other Info` tab.
|
||||
The :guilabel:`Journal Items` tab displays the accounting entries created. Additional invoice
|
||||
information such as the :guilabel:`Customer Reference`, :guilabel:`Payment Reference`, :doc:`Fiscal
|
||||
Positions <taxes/fiscal_positions>`, :doc:`Incoterms <customer_invoices/incoterms>`, and more can be
|
||||
added or modified in the :guilabel:`Other Info` tab.
|
||||
|
||||
.. note::
|
||||
Odoo initially creates invoices in :guilabel:`Draft` status. Draft invoices have no accounting
|
||||
@@ -73,9 +82,9 @@ modified in the :guilabel:`Other Info` tab.
|
||||
Invoice confirmation
|
||||
====================
|
||||
|
||||
Click :guilabel:`Confirm` when the document is completed. The document's status changes to
|
||||
Click :guilabel:`Confirm` when the invoice is completed. The invoice's status changes to
|
||||
:guilabel:`Posted`, and a journal entry is generated based on the invoice configuration. On
|
||||
confirmation, Odoo assigns each document a unique number from a defined
|
||||
confirmation, Odoo assigns each invoice a unique number from a defined
|
||||
:ref:`sequence <accounting/invoice/sequence>`.
|
||||
|
||||
.. note::
|
||||
@@ -89,16 +98,56 @@ confirmation, Odoo assigns each document a unique number from a defined
|
||||
Invoice sending
|
||||
===============
|
||||
|
||||
To send the invoice to the customer, click :guilabel:`Send & Print`. A :guilabel:`Configure your
|
||||
document layout` pop-up window will appear if a :ref:`default invoice layout
|
||||
<studio/pdf-reports/default-layout>` hasn't been customized. Then, select how to send this invoice
|
||||
to the customer in the :guilabel:`Send` window.
|
||||
To set a preferred :guilabel:`Invoice sending` method for a customer, go to
|
||||
:menuselection:`Accounting --> Customers --> Customers` and select the customer. In the
|
||||
:guilabel:`Accounting` tab of the contact form, select the preferred :guilabel:`Invoice sending`
|
||||
method in the :guilabel:`Customer Invoices` section.
|
||||
|
||||
To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`
|
||||
and select them. Then click the :icon:`fa-cog` :guilabel:`Actions` menu and select
|
||||
:guilabel:`Send & Print`. A banner will appear on the selected invoices to indicate they are part of
|
||||
an ongoing send and print batch. This helps prevent the process from being triggered manually again,
|
||||
as it may take some time to complete for exceptionally large batches.
|
||||
.. note::
|
||||
Sending letters in Odoo requires :doc:`In-App Purchase (IAP) <../../essentials/in_app_purchase>`
|
||||
credit or tokens.
|
||||
|
||||
To send the invoice to the customer, navigate back to the invoice record and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Print & Send`.
|
||||
#. If the :ref:`default invoice layout <studio/pdf-reports/default-layout>` has not been customized
|
||||
yet, a :guilabel:`Configure your document layout` pop-up window appears. Configure the layout and
|
||||
click :guilabel:`Continue`.
|
||||
|
||||
.. note::
|
||||
- The document layout can be changed at any time in the general settings.
|
||||
- To add a QR code for banking app payments to the invoice, enable the :guilabel:`QR Code`
|
||||
option in the :guilabel:`Configure Your Document Layout` window. To modify this option, go
|
||||
to :menuselection:`Accounting --> Configuration --> Settings`, scroll down to the
|
||||
:guilabel:`Customer Payments` section, and enable/disable the :guilabel:`QR Codes` option.
|
||||
|
||||
#. In the :guilabel:`Print & Send` window:
|
||||
|
||||
- If a preferred :guilabel:`Invoice sending` method was set in the contact form, it is selected
|
||||
by default. Select another one if needed.
|
||||
- If no preferred :guilabel:`Invoice sending` method was set in the contact form, select the
|
||||
method to use for sending the invoice to the customer.
|
||||
|
||||
#. Click :guilabel:`Print & Send` if the :guilabel:`by Email` option is selected, or click
|
||||
:guilabel:`Print`.
|
||||
|
||||
.. _accounting/invoice/sending-multiple-invoices:
|
||||
|
||||
Sending multiple invoices
|
||||
-------------------------
|
||||
|
||||
To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`,
|
||||
select them in the :guilabel:`Invoices` list view and click :guilabel:`Print & Send`. The
|
||||
:guilabel:`Print & Send` window displays the selected invoice sending methods based on the preferred
|
||||
method set.
|
||||
|
||||
A banner is added to the selected invoices to indicate they are part of an ongoing send and print
|
||||
batch. This helps prevent the process from being triggered manually again, as it may take some time
|
||||
to complete for exceptionally large batches.
|
||||
|
||||
To check all invoices that have not yet been sent, go to :menuselection:`Accounting --> Customers
|
||||
--> Invoices`. In the :guilabel:`Invoices` list view, click into the search bar and filter on
|
||||
:guilabel:`Not Sent`.
|
||||
|
||||
.. _accounting/invoice/paymentandreconciliation:
|
||||
|
||||
@@ -128,11 +177,11 @@ same customer, the actions are performed on the most overdue invoice.
|
||||
Sequence
|
||||
========
|
||||
|
||||
The sequence that Odoo assigns to each document is a unique number made up of a prefix and a number.
|
||||
The prefix combines the journal code and the entry date and is used to group entries by period. The
|
||||
number is unique for each period and is used to identify the entry. The default sequence on customer
|
||||
invoices is INV/YYYY/number. In some specific cases,
|
||||
:ref:`resequencing <accounting/invoice/resequencing>` invoices might be necessary.
|
||||
Odoo assigns each document a unique sequence made up of a prefix and a number. The prefix combines
|
||||
the journal code and the entry date and groups entries by period. The number is unique for each
|
||||
period and is used to identify the entry. The default sequence on customer invoices is
|
||||
INV/YYYY/number. In some specific cases, :ref:`resequencing <accounting/invoice/resequencing>`
|
||||
invoices might be necessary.
|
||||
|
||||
.. _accounting/invoice/resequencing:
|
||||
|
||||
|
||||
@@ -15,10 +15,15 @@ one of the application of EDI.
|
||||
|
||||
Odoo supports e-invoicing in many countries. Refer to the country's page for more details:
|
||||
|
||||
- :doc:`Argentina <electronic_invoicing/argentina>`
|
||||
- :doc:`Austria <electronic_invoicing/austria>`
|
||||
- :doc:`Belgium <electronic_invoicing/belgium>`
|
||||
- :doc:`Brazil <electronic_invoicing/brazil>`
|
||||
- :doc:`Chile <electronic_invoicing/chile>`
|
||||
- :doc:`Colombia <electronic_invoicing/colombia>`
|
||||
- :doc:`Croatia <electronic_invoicing/croatia>`
|
||||
- :doc:`Denmark <electronic_invoicing/denmark>`
|
||||
- :doc:`Ecuador <electronic_invoicing/ecuador>`
|
||||
- :doc:`Estonia <electronic_invoicing/estonia>`
|
||||
- :doc:`Finland <electronic_invoicing/finland>`
|
||||
- :doc:`France <electronic_invoicing/france>`
|
||||
@@ -29,14 +34,17 @@ Odoo supports e-invoicing in many countries. Refer to the country's page for mor
|
||||
- :doc:`Latvia <electronic_invoicing/latvia>`
|
||||
- :doc:`Lithuania <electronic_invoicing/lithuania>`
|
||||
- :doc:`Luxembourg <electronic_invoicing/luxembourg>`
|
||||
- :doc:`Mexico <electronic_invoicing/mexico>`
|
||||
- :doc:`Netherlands <electronic_invoicing/netherlands>`
|
||||
- :doc:`Norway <electronic_invoicing/norway>`
|
||||
- :doc:`Peru <electronic_invoicing/peru>`
|
||||
- :doc:`Poland <electronic_invoicing/poland>`
|
||||
- :doc:`Portugal <electronic_invoicing/portugal>`
|
||||
- :doc:`Romania <electronic_invoicing/romania>`
|
||||
- :doc:`Slovenia <electronic_invoicing/slovenia>`
|
||||
- :doc:`Spain <electronic_invoicing/spain>`
|
||||
- :doc:`Spain - Basque Country <electronic_invoicing/basque_country>`
|
||||
- :doc:`Uruguay <electronic_invoicing/uruguay>`
|
||||
|
||||
.. seealso::
|
||||
:doc:`Fiscal localizations documentation <../../fiscal_localizations>`
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
:orphan:
|
||||
|
||||
======================================
|
||||
Odoo electronic invoicing in Argentina
|
||||
======================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Argentina's regulatory standards and compatible with the requirements set
|
||||
forth by the `Administración Federal de Ingresos Públicos (AFIP) <https://www.afip.gob.ar/>`_.
|
||||
|
||||
Legal framework for e-invoicing in Argentina
|
||||
============================================
|
||||
|
||||
In Argentina, e-invoicing is regulated by the :abbr:`AFIP (Administración Federal de Ingresos
|
||||
Públicos)` and is mandatory for most businesses to ensure tax compliance and transparency. The
|
||||
primary regulations governing e-invoicing include:
|
||||
|
||||
- `General Resolution No. 4290/2018 <https://biblioteca.afip.gob.ar/search/query/norma.aspx?p=t:RAG|n:4290|o:3|a:2018|f:02/08/2018>`_
|
||||
which establishes the mandatory use of electronic invoices for specific economic activities and
|
||||
turnover thresholds.
|
||||
- Fiscal code regulations: Requires electronic invoices for all VAT-registered businesses, including
|
||||
B2B, :abbr:`B2G (business-to-government)`, and B2C transactions.
|
||||
- Implementation of :abbr:`CAE (Código de Autorización Electrónico)`: Every electronic invoice must
|
||||
include a :abbr:`CAE (Código de Autorización Electrónico)` issued by the :abbr:`AFIP
|
||||
(Administración Federal de Ingresos Públicos)`, ensuring its validity and authenticity.
|
||||
|
||||
Compliance with Argentinian e-invoicing regulations
|
||||
===================================================
|
||||
|
||||
Odoo Invoicing simplifies the process of adhering to Argentina's e-invoicing regulations, offering
|
||||
features designed to ensure compliance:
|
||||
|
||||
- **Supported formats**: Odoo supports Argentina's authorized e-invoice formats, including :abbr:`FE
|
||||
(Factura Electrónica)` with :abbr:`AFIP (Administración Federal de Ingresos Públicos)`-compliant
|
||||
digital validation, XML with :abbr:`CAE (Código de Autorización Electrónico)` authorization for
|
||||
real-time integration with :abbr:`AFIP (Administración Federal de Ingresos Públicos)`, and
|
||||
digitally signed PDF invoices featuring :abbr:`CAE (Código de Autorización Electrónico)` and
|
||||
QR codes for secure validation.
|
||||
- **Secure storage and retrieval**: Complying with Argentina’s ten-year storage requirement, Odoo
|
||||
provides tamper-proof archiving and easy retrieval for audits or tax inspections.
|
||||
- **Automatic VAT calculation and reporting**: Odoo ensures compliance with Argentina's VAT
|
||||
regulations by automatically calculating VAT, incorporating it into invoices, and adhering to
|
||||
legal reporting requirements for accurate tax submissions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Argentinian fiscal localization documentation <../../../fiscal_localizations/argentina>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Argentine e-invoicing laws and how Odoo’s invoicing
|
||||
module supports compliance with AFIP regulations and the Fiscal Code. It is not intended as legal
|
||||
advice. We recommend consulting with a tax advisor or legal professional familiar with
|
||||
Argentinian e-invoicing regulations to ensure compliance tailored to your specific business
|
||||
needs.
|
||||
@@ -0,0 +1,53 @@
|
||||
:orphan:
|
||||
|
||||
===================================
|
||||
Odoo electronic invoicing in Brazil
|
||||
===================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Brazil's regulatory standards and compatible with the requirements set
|
||||
forth by the `Secretaria da Fazenda (SEFAZ) <https://www.gov.br/receitafederal/pt-br>`_.
|
||||
|
||||
Legal framework for e-invoicing in Brazil
|
||||
=========================================
|
||||
|
||||
In Brazil, e-invoicing is highly regulated and mandatory for most businesses to ensure tax
|
||||
compliance and transparency. The key regulations governing e-invoicing include:
|
||||
|
||||
- :abbr:`NF-e (Nota Fiscal Eletrônica)`: A mandatory e-invoice for goods and services used in B2B
|
||||
and :abbr:`B2G (business-to-government)` transactions.
|
||||
- :abbr:`CT-e (Conhecimento de Transporte Eletrônico)`: Specific to freight and logistics services.
|
||||
- :abbr:`NFS-e (Nota Fiscal de Serviços Eletrônica)`: Issued for service-based transactions, with
|
||||
implementation varying by municipality.
|
||||
- Integration with :abbr:`SEFAZ (Secretaria da Fazenda)`: Every electronic invoice must be
|
||||
authorized by :abbr:`SEFAZ (Secretaria da Fazenda)` and issued with a unique authorization code
|
||||
(Autorização de Uso).
|
||||
|
||||
Compliance with Brazilian e-invoicing regulations
|
||||
=================================================
|
||||
|
||||
Odoo Invoicing simplifies the process of adhering to Brazil’s complex e-invoicing regulations,
|
||||
offering features designed to ensure compliance:
|
||||
|
||||
- **Supported formats**: Odoo supports Brazil's authorized e-invoice formats, including :abbr:`NF-e
|
||||
(Nota Fiscal Eletrônica)` for goods and services compliant with :abbr:`SEFAZ (Secretaria da
|
||||
Fazenda)`, :abbr:`NFS-e (Nota Fiscal de Serviços Eletrônica)` customizable for municipal
|
||||
requirements, :abbr:`CT-e (Conhecimento de Transporte Eletrônico)` for logistics and
|
||||
transportation, and digital PDF invoices with :abbr:`SEFAZ (Secretaria da Fazenda)` authorization
|
||||
codes and QR codes.
|
||||
- **Secure storage and retrieval**: Complying with Brazil's five-year storage requirement, Odoo
|
||||
offers tamper-proof archiving for easy retrieval during audits or inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for ICMS, IPI, and
|
||||
ISS, ensuring compliance with regional tax rules and generating reports compatible with
|
||||
:abbr:`SEFAZ (Secretaria da Fazenda)` and municipal requirements.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Brazilian fiscal localization documentation <../../../fiscal_localizations/brazil>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Brazilian e-invoicing laws and how Odoo’s invoicing
|
||||
module supports compliance with :abbr:`SEFAZ (Secretaria da Fazenda)` regulations. It is not
|
||||
intended as legal advice. We recommend consulting with a tax advisor or legal professional
|
||||
familiar with Brazilian e-invoicing regulations to ensure compliance tailored to your specific
|
||||
business needs.
|
||||
@@ -0,0 +1,51 @@
|
||||
:orphan:
|
||||
|
||||
==================================
|
||||
Odoo electronic invoicing in Chile
|
||||
==================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Chile's regulatory requirements and compatible with standards set by the
|
||||
`Servicio de Impuestos Internos (SII) <https://homer.sii.cl/>`_.
|
||||
|
||||
Legal framework for e-invoicing in Chile
|
||||
========================================
|
||||
|
||||
Chile is a pioneer in mandatory electronic invoicing, with comprehensive regulations to ensure tax
|
||||
compliance and enhance transparency. Key elements include:
|
||||
|
||||
- **Factura Electrónica**: Mandatory for most businesses to issue invoices digitally through the
|
||||
:abbr:`SII (Servicio de Impuestos Internos)`'s system.
|
||||
- **Boleta Electrónica**: Required for retail transactions to report sales and tax information.
|
||||
- **Guía de Despacho Electrónica**: Necessary for tracking the transport of goods.
|
||||
- **Integration with SII**: All electronic invoices must be validated by the :abbr:`SII (Servicio
|
||||
de Impuestos Internos)`, assigned a unique Folio authorization code, and reported for tax
|
||||
purposes.
|
||||
|
||||
Compliance with Chilean e-invoicing regulations
|
||||
===============================================
|
||||
|
||||
Odoo Invoicing simplifies adherence to Chile's e-invoicing requirements with features designed to
|
||||
ensure compliance:
|
||||
|
||||
- **Supported formats**: Odoo supports all major Chilean e-invoice formats, including Factura
|
||||
Electrónica, Boleta Electrónica, and Guía de Despacho Electrónica, ensuring :abbr:`SII (Servicio
|
||||
de Impuestos Internos)` compatibility with digital validation and Folio assignment.
|
||||
- **Integration with SII**: Odoo seamlessly connects with :abbr:`SII (Servicio de Impuestos
|
||||
Internos)`'s systems, automating invoice submission and ensuring real-time validation for
|
||||
compliant issuance.
|
||||
- **Secure storage and retrieval**: Complying with Chile's mandatory storage period of six years,
|
||||
Odoo provides tamper-proof archiving for invoices, enabling easy access for audits or tax
|
||||
inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates calculations for VAT (IVA) and other
|
||||
applicable taxes, ensuring accurate invoicing and adherence to Chile's tax reporting standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Chilean fiscal localization documentation <../../../fiscal_localizations/chile>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Chilean e-invoicing laws and how Odoo supports
|
||||
compliance with :abbr:`SII (Servicio de Impuestos Internos)` regulations. It is not intended as
|
||||
legal or tax advice. We recommend consulting a tax advisor or legal professional familiar with
|
||||
Chilean e-invoicing regulations to ensure compliance tailored to your specific business needs.
|
||||
@@ -0,0 +1,51 @@
|
||||
:orphan:
|
||||
|
||||
=====================================
|
||||
Odoo electronic invoicing in Colombia
|
||||
=====================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Colombia's regulatory requirements and fully compatible with the
|
||||
guidelines established by the `Dirección de Impuestos y Aduanas Nacionales (DIAN)
|
||||
<https://www.dian.gov.co/>`_.
|
||||
|
||||
Legal framework for e-invoicing in Colombia
|
||||
===========================================
|
||||
|
||||
Colombia has implemented mandatory e-invoicing for most businesses to enhance tax compliance and
|
||||
improve transparency. Key elements include:
|
||||
|
||||
- **Factura Electrónica**: Mandatory for B2B, B2C, and :abbr:`B2G (business-to-government)`
|
||||
transactions, requiring compliance with :abbr:`DIAN (Dirección de Impuestos y Aduanas
|
||||
Nacionales)`'s technical specifications.
|
||||
- **Integration with DIAN**: All electronic invoices must be submitted to :abbr:`DIAN (Dirección de
|
||||
Impuestos y Aduanas Nacionales)` for validation, where they are assigned a unique :abbr:`CUFE
|
||||
(Código Único de Factura Electrónica)` authorization code.
|
||||
- **Adoption of XML Standards**: Colombian e-invoicing uses XML as the standard format for
|
||||
electronic invoices, ensuring interoperability and standardized reporting.
|
||||
|
||||
Compliance with Colombian e-invoicing regulations
|
||||
=================================================
|
||||
|
||||
Odoo Invoicing simplifies the complexities of e-invoicing compliance in Colombia, offering tailored
|
||||
features:
|
||||
|
||||
- **Supported formats**: Odoo supports Factura Electrónica in :abbr:`DIAN (Dirección de Impuestos y
|
||||
Aduanas Nacionales)`-compliant XML formats, including legally required :abbr:`CUFE (Código Único
|
||||
de Factura Electrónica)` codes and additional fields for B2B, B2C, and :abbr:`B2G
|
||||
(business-to-government)` transactions.
|
||||
- **Secure storage and retrieval**: In compliance with Colombia's six-year mandatory storage
|
||||
requirement, Odoo provides tamper-proof invoice archiving, ensuring easy access for audits or
|
||||
inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
|
||||
other applicable taxes, ensuring accuracy and compliance with DIAN's tax reporting standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Colombian fiscal localization documentation <../../../fiscal_localizations/colombia>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Colombian e-invoicing regulations and how Odoo supports
|
||||
compliance with DIAN requirements. It is not intended as legal or tax advice. We recommend
|
||||
consulting with a tax advisor or legal professional familiar with Colombian e-invoicing
|
||||
regulations to ensure compliance tailored to your specific business needs.
|
||||
@@ -0,0 +1,50 @@
|
||||
:orphan:
|
||||
|
||||
====================================
|
||||
Odoo electronic invoicing in Ecuador
|
||||
====================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Ecuador's regulatory requirements and fully compatible with the
|
||||
guidelines established by the `Servicio de Rentas Internas (SRI)
|
||||
<https://www.sri.gob.ec/web/intersri/home>`_.
|
||||
|
||||
Legal framework for e-invoicing in Ecuador
|
||||
==========================================
|
||||
|
||||
Ecuador has implemented mandatory electronic invoicing for most businesses aimed to enhance tax
|
||||
compliance and transparency. Key elements include:
|
||||
|
||||
- **Factura Electrónica**: All businesses must issue electronic invoices in XML format for B2B, B2C,
|
||||
and :abbr:`B2G (business-to-government)` transactions, ensuring compliance with :abbr:`SRI
|
||||
(Servicio de Rentas Internas)`'s technical specifications.
|
||||
- **Transmission Requirements**: E-invoices must be transmitted to the SRI within 24 hours of
|
||||
issuance.
|
||||
- **Record Storage**: E-invoices, including the :abbr:`SRI (Servicio de Rentas Internas)`'s
|
||||
acceptance messages, must be stored for a minimum of seven years.
|
||||
|
||||
Compliance with Ecuadorian e-invoicing regulations
|
||||
==================================================
|
||||
|
||||
Odoo Invoicing simplifies compliance with Ecuador's e-invoicing requirements by offering tailored
|
||||
features:
|
||||
|
||||
- **Supported formats**: Odoo supports the Ecuadorian e-invoice format (XML) and ensures
|
||||
compatibility with the :abbr:`SRI (Servicio de Rentas Internas)`'s system for validation and
|
||||
authorization, including the necessary digital signature.
|
||||
- **Secure storage and retrieval**: In compliance with Ecuador's seven-year storage requirement,
|
||||
Odoo offers tamper-proof archiving so that invoices can be easily accessed during audits or
|
||||
inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
|
||||
other applicable taxes, ensuring accurate invoicing and adherence to Ecuador's tax reporting
|
||||
standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Ecuadorian fiscal localization documentation <../../../fiscal_localizations/ecuador>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Ecuadorian e-invoicing regulations and how Odoo supports
|
||||
compliance with SRI requirements. It is not intended as legal or tax advice. We recommend
|
||||
consulting with a tax advisor or legal professional familiar with Ecuador's e-invoicing
|
||||
regulations to ensure compliance tailored to your specific business needs.
|
||||
@@ -0,0 +1,57 @@
|
||||
:orphan:
|
||||
|
||||
===================================
|
||||
Odoo electronic invoicing in Mexico
|
||||
===================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Mexico's regulatory requirements and fully compatible with the guidelines
|
||||
established by the :abbr:`SAT (Servicio de Administración Tributaria)`.
|
||||
|
||||
Legal framework for e-invoicing in Mexico
|
||||
=========================================
|
||||
|
||||
Mexico has one of the most advanced e-invoicing systems globally, with electronic invoicing
|
||||
:abbr:`CFDI (Comprobante Fiscal Digital por Internet)` being mandatory for most taxpayers. Key
|
||||
elements include:
|
||||
|
||||
- **CFDI**: A mandatory electronic invoice format for B2B, B2C, and :abbr:`B2G
|
||||
(business-to-government)` transactions, fully compliant with SAT requirements.
|
||||
- **Digital tax receipt validation**: All :abbr:`CFDIs (Comprobante Fiscal Digital por Internet)`
|
||||
must be digitally signed and validated by :abbr:`SAT (Servicio de Administración
|
||||
Tributaria)`-authorized :abbr:`PACs (authorized certification providers)` before issuance.
|
||||
- **Complementos**: Specific complements are required for certain transaction types, such as
|
||||
payroll or foreign trade.
|
||||
- **XML Format**: The XML format is mandatory, ensuring interoperability and compliance with
|
||||
:abbr:`SAT (Servicio de Administración Tributaria)`'s technical standards.
|
||||
|
||||
Compliance with Mexican e-invoicing regulations
|
||||
===============================================
|
||||
|
||||
Odoo Invoicing simplifies compliance with Mexico’s e-invoicing requirements by offering tailored
|
||||
features:
|
||||
|
||||
- **Supported formats**: Odoo supports :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` in
|
||||
:abbr:`SAT (Servicio de Administración Tributaria)`-compliant XML formats, including all
|
||||
mandatory fields, digital signatures, and complements for specialized transactions.
|
||||
- **Integration with PACs**: Odoo integrates with :abbr:`SAT (Servicio de Administración
|
||||
Tributaria)`-authorized :abbr:`PACs (authorized certification providers)` to automate the
|
||||
validation, certification, and issuance of :abbr:`CFDIs (Comprobante Fiscal Digital por
|
||||
Internet)`, ensuring real-time compliance.
|
||||
- **Secure storage and retrieval**: In compliance with Mexico's five-year mandatory storage
|
||||
requirement, Odoo provides tamper-proof archiving for easy access to invoices during audits
|
||||
or inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
|
||||
other applicable taxes, ensuring accuracy and compliance with :abbr:`SAT (Servicio de
|
||||
Administración Tributaria)`'s tax reporting standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Mexican fiscal localization documentation <../../../fiscal_localizations/mexico>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Mexican e-invoicing regulations and how Odoo supports
|
||||
compliance with :abbr:`SAT (Servicio de Administración Tributaria)` requirements. It is not
|
||||
intended as legal or tax advice. We recommend consulting with a tax advisor or legal professional
|
||||
familiar with Mexico's e-invoicing regulations to ensure compliance tailored to your specific
|
||||
business needs.
|
||||
@@ -0,0 +1,55 @@
|
||||
:orphan:
|
||||
|
||||
=================================
|
||||
Odoo electronic invoicing in Peru
|
||||
=================================
|
||||
|
||||
Odoo Invoicing provides secure, efficient, and legally compliant e-invoicing solutions tailored to
|
||||
meet Peru’s regulatory requirements and fully compatible with the guidelines established by the
|
||||
`Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT)
|
||||
<https://www.sunat.gob.pe/>`_.
|
||||
|
||||
Legal framework for e-invoicing in Peru
|
||||
=======================================
|
||||
|
||||
Peru has mandated electronic invoicing for most taxpayers to enhance tax compliance, reduce fraud,
|
||||
and improve transparency. Key elements include:
|
||||
|
||||
- **Comprobante de Pago Electrónico (CPE)**: A mandatory electronic document required for B2B, B2C,
|
||||
and :abbr:`B2G (business-to-government)` transactions, fully compliant with :abbr:`SUNAT
|
||||
(Superintendencia Nacional de Aduanas y de Administración Tributaria)`'s technical specifications.
|
||||
- **Integration with SUNAT**: E-invoices must be submitted to :abbr:`SUNAT (Superintendencia
|
||||
Nacional de Aduanas y de Administración Tributaria)` for validation and authorization. Upon
|
||||
approval, :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`
|
||||
assigns a unique identification code to the invoice.
|
||||
- **XML Format**: All electronic invoices must be issued in XML format, ensuring standardization and
|
||||
interoperability.
|
||||
- **Mandatory adoption timeline**: Electronic invoicing is mandatory for most businesses, with
|
||||
specific deadlines for smaller entities.
|
||||
|
||||
Compliance with Peruvian e-invoicing regulations
|
||||
================================================
|
||||
|
||||
Odoo Invoicing simplifies compliance with Peru’s e-invoicing requirements by offering tailored
|
||||
features:
|
||||
|
||||
- **Supported formats**: Odoo supports the Peruvian :abbr:`CPE (Comprobante de Pago Electrónico` in
|
||||
:abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`-compliant XML
|
||||
formats, including all required fields and authorization codes.
|
||||
- **Secure storage and retrieval**: In compliance with Peru's five-year mandatory storage
|
||||
requirement, Odoo offers tamper-proof archiving, ensuring easy access for audits or inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for :abbr:`IGV
|
||||
(Impuesto General a las Ventas) and other applicable taxes, ensuring accuracy and compliance
|
||||
with :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`'s
|
||||
reporting standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Peruvian fiscal localization documentation <../../../fiscal_localizations/peru>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Peruvian e-invoicing regulations and how Odoo supports
|
||||
compliance with :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración
|
||||
Tributaria)` requirements. It is not intended as legal or tax advice. We recommend consulting
|
||||
with a tax advisor or legal professional familiar with Peru's e-invoicing regulations to ensure
|
||||
compliance tailored to your specific business needs.
|
||||
@@ -0,0 +1,57 @@
|
||||
:orphan:
|
||||
|
||||
====================================
|
||||
Odoo electronic invoicing in Uruguay
|
||||
====================================
|
||||
|
||||
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
|
||||
solutions tailored to meet Uruguay's regulatory requirements and fully compatible with the
|
||||
guidelines established by the `Dirección General Impositiva (DGI)
|
||||
<https://www.gub.uy/direccion-general-impositiva/>`_.
|
||||
|
||||
Legal framework for e-invoicing in Uruguay
|
||||
==========================================
|
||||
|
||||
Uruguay has mandated electronic invoicing under the :abbr:`CFE (Comprobante Fiscal Electrónico)`
|
||||
system, which applies to most businesses to promote tax transparency and streamline financial
|
||||
transactions. Key elements include:
|
||||
|
||||
- **Comprobante Fiscal Electrónico**: A mandatory e-invoice format required for B2B, B2C, and
|
||||
:abbr:`B2G (business-to-government)` transactions, fully compliant with :abbr:`DGI (Dirección
|
||||
General Impositiva)`'s technical standards.
|
||||
- **Integration with DGI**: All :abbr:`CFE (Comprobante Fiscal Electrónico)` must be submitted to
|
||||
the :abbr:`DGI (Dirección General Impositiva)` for validation. Upon approval, the :abbr:`CFE
|
||||
(Comprobante Fiscal Electrónico)` receives a unique identification code and authorization for
|
||||
issuance.
|
||||
- **XML Format**: Uruguay mandates the use of XML as the standard format for e-invoices, ensuring
|
||||
compatibility and interoperability with various systems.
|
||||
- **Adoption Timeline**: E-invoicing is mandatory for most businesses, with specific deadlines for
|
||||
smaller enterprises to transition into the system.
|
||||
|
||||
Compliance with Uruguayan e-invoicing regulations
|
||||
=================================================
|
||||
|
||||
Odoo Invoicing simplifies the complexities of compliance with Uruguay's e-invoicing requirements by
|
||||
offering tailored features:
|
||||
|
||||
- **Supported formats**: Odoo supports the :abbr:`CFE (Comprobante Fiscal Electrónico)` format in
|
||||
:abbr:`DGI (Dirección General Impositiva)`-compliant XML, including all legally required fields,
|
||||
such as the unique identification code, authorization number, and digital signature. Odoo allows
|
||||
the automated submission, validation, and issuance through the :abbr:`DGI (Dirección General
|
||||
Impositiva)`'s e-invoicing platform to ensure compliance in real time.
|
||||
- **Secure storage and retrieval**: In line with Uruguay’s mandatory five-year storage requirement,
|
||||
Odoo provides tamper-proof archiving solutions, ensuring easy access to invoices for audits or
|
||||
inspections.
|
||||
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for IVA (Value-Added
|
||||
Tax) and other applicable taxes, ensuring accuracy and compliance with :abbr:`DGI (Dirección
|
||||
General Impositiva)`'s reporting standards.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Uruguayan fiscal localization documentation <../../../fiscal_localizations/uruguay>`
|
||||
|
||||
.. admonition:: Disclaimer
|
||||
|
||||
This page provides a general overview of Uruguayan e-invoicing regulations and how Odoo supports
|
||||
compliance with DGI requirements. It is not intended as legal or tax advice. We recommend
|
||||
consulting with a tax advisor or legal professional familiar with Uruguay's e-invoicing
|
||||
regulations to ensure full compliance tailored to your specific business requirements.
|
||||
@@ -15,44 +15,115 @@ 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>`_
|
||||
|
||||
.. _accounting/payments/payment-methods:
|
||||
|
||||
Payment methods
|
||||
===============
|
||||
|
||||
Several payment methods are available in Odoo to allow different configurations for different types
|
||||
of payments. Examples of payment methods include manual payments (such as cash), :doc:`checks
|
||||
<payments/pay_checks>`, and batch payment files (such as :ref:`NACHA
|
||||
<l10n_us/ach-electronic-transfers>` and :doc:`SEPA <payments/pay_sepa>`). Payment methods can be
|
||||
configured in the :guilabel:`Incoming Payments` and :guilabel:`Outgoing Payments` tabs of a bank or
|
||||
cash journal.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../sales/point_of_sale/payment_methods` for Point of Sale
|
||||
|
||||
.. _accounting/payments/preferred-payment-methods:
|
||||
|
||||
Preferred payment method
|
||||
------------------------
|
||||
|
||||
A contact's preferred payment method can be set so that when a payment is created for that contact,
|
||||
the payment method is automatically selected by default. Invoices and bills can be filtered by
|
||||
:guilabel:`Payment Method` to simplify :ref:`group <accounting/payments/group-payments>` payments.
|
||||
|
||||
To set a preferred :guilabel:`Payment Method` for a customer or a vendor, go to
|
||||
:menuselection:`Accounting --> Customers --> Customers` or :menuselection:`Accounting --> Vendors
|
||||
--> Vendors` and select the customer or vendor. In the :guilabel:`Sales & Purchase` tab of the
|
||||
contact form, select the preferred :guilabel:`Payment Method` in the :guilabel:`Sales` section for
|
||||
invoice payments or for vendor bill payments in the :guilabel:`Purchase` section.
|
||||
|
||||
.. tip::
|
||||
Access a full list of all contacts from the :guilabel:`Customers` or :guilabel:`Vendors` list
|
||||
view by removing the :guilabel:`Customers` or :guilabel:`Vendors` filter. Alternatively, access
|
||||
the full contact list through the Contacts app.
|
||||
|
||||
.. _accounting/payments/from-invoice-bill:
|
||||
|
||||
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.
|
||||
To register a payment for an invoice or a bill, follow these steps:
|
||||
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal, click
|
||||
:guilabel:`View`.
|
||||
#. Click :guilabel:`Pay` on a customer invoice or vendor bill. In the :guilabel:`Pay` window, select
|
||||
the :guilabel:`Journal` and the :guilabel:`Payment Date`.
|
||||
#. If previously set, the contact's preferred :guilabel:`Payment Method` is automatically selected
|
||||
by default but can be updated if necessary.
|
||||
#. If using :doc:`payment terms <customer_invoices/payment_terms>`, the :guilabel:`Amount` is
|
||||
automatically set based on the installment amounts defined by the payment term. To pay the full
|
||||
amount instead, click :guilabel:`full amount`.
|
||||
#. If necessary, edit the :guilabel:`Memo`.
|
||||
#. Click :guilabel:`Create Payment`.
|
||||
|
||||
.. image:: payments/information-icon.png
|
||||
:alt: See detailed information of a payment.
|
||||
After the payment is registered, the customer invoice or vendor bill is marked as
|
||||
:guilabel:`In payment`.
|
||||
|
||||
.. note::
|
||||
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
|
||||
payment.
|
||||
- If a payment is unreconciled, it still appears in the books but is no longer linked to the
|
||||
invoice.
|
||||
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||
created to post the currency exchange gains/losses (reversal) amount.
|
||||
- If a payment is (un)reconciled and an invoice with cash-basis taxes, a journal entry is
|
||||
automatically created to post the cash-basis tax (reversal) amount.
|
||||
.. tabs::
|
||||
|
||||
.. 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`.
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
If no :ref:`outstanding accounts <accounting/bank/outstanding-accounts>` are configured, no
|
||||
journal entry is created. To display more information about the payment, click the
|
||||
:guilabel:`Payments` smart button.
|
||||
|
||||
When the invoice or vendor bill is :doc:`reconciled <bank/reconciliation>` with a bank
|
||||
transaction, its status is updated to :guilabel:`Paid`.
|
||||
|
||||
.. note::
|
||||
- If a bank transaction is reconciled in a different currency, a journal entry is
|
||||
automatically created to post the currency exchange gains/loss amount.
|
||||
- When a bank transaction is reconciled with an invoice with cash-basis, a journal entry is
|
||||
automatically created to post the cash-basis tax amount.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
By default, payments in Odoo do not create journal entries, but they can easily be configured
|
||||
to create journal entries using :ref:`outstanding accounts
|
||||
<accounting/bank/outstanding-accounts>`.
|
||||
|
||||
Registering a payment on a customer invoice or vendor bill generates a new journal entry and
|
||||
reduces the :guilabel:`Amount Due` based on the payment amount. The counterpart is
|
||||
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 payment is :doc:`reconciled <bank/reconciliation>` with
|
||||
a bank transaction, the invoice or vendor bill status changes to :guilabel:`Paid`.
|
||||
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal,
|
||||
click :guilabel:`View`.
|
||||
|
||||
.. image:: payments/information-icon.png
|
||||
:alt: See detailed information of a payment.
|
||||
|
||||
.. note::
|
||||
- Unreconciling a payment unlinks it from the invoice or bill but does not delete the
|
||||
payment.
|
||||
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||
created to post the currency exchange gains/losses (reversal) amount.
|
||||
- If a payment is (un)reconciled on an invoice with cash-basis taxes, a journal entry is
|
||||
automatically created to post the cash-basis tax (reversal) amount.
|
||||
|
||||
.. tip::
|
||||
If the main bank account is set as the outstanding account on the bank journal's payment
|
||||
method, registering the full payment on an invoice or bill moves the invoice/bill directly
|
||||
to the :guilabel:`Paid` status without requiring bank reconciliation.
|
||||
|
||||
.. _accounting/payments/not-tied:
|
||||
|
||||
@@ -60,71 +131,185 @@ Registering payments not tied to an invoice or bill
|
||||
===================================================
|
||||
|
||||
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not
|
||||
directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
||||
matched with the **outstanding account** until it is manually matched with its related invoice or
|
||||
bill.
|
||||
directly linked to an invoice or bill.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
Payments that are not linked to an invoice or bill should not be registered without using
|
||||
:ref:`outstanding accounts <accounting/bank/outstanding-accounts>`, as there is no way to
|
||||
associate the payment with the invoice or bill since no journal entry is created for the
|
||||
payment. The amount paid or received is not reflected in the accounting and the
|
||||
:guilabel:`Amount Due` is not updated based on the payment amount.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
Instead, the payment's journal entry matches the :guilabel:`outstanding account` with the
|
||||
account receivable or the account payable until the payment is manually matched with its
|
||||
related invoice or bill. Then, :doc:`reconciling <bank/reconciliation>` the payment with the
|
||||
bank transaction completes the payment workflow.
|
||||
|
||||
.. _accounting/payments/payments-matching:
|
||||
|
||||
Payments matching
|
||||
-----------------
|
||||
|
||||
.. note::
|
||||
During the :doc:`bank reconciliation <bank/reconciliation>` process, a remaining balance is
|
||||
identified if the total debits and credits do not match when records are compared with bank
|
||||
transactions. This balance must either be reconciled later or written off immediately.
|
||||
|
||||
.. _accounting/payments/matching-invoices-bills:
|
||||
|
||||
Matching invoices and bills with payments
|
||||
-----------------------------------------
|
||||
For a single invoice or bill
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for
|
||||
this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`ADD`
|
||||
under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
.. tabs::
|
||||
|
||||
.. image:: payments/add-option.png
|
||||
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
|
||||
corresponding bank transaction.
|
||||
By default, payments in Odoo do not create journal entries. As a result, there is no payment
|
||||
to match.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists
|
||||
for this specific customer or vendor. To match it with the invoice or bill, click
|
||||
:guilabel:`Add` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
|
||||
.. image:: payments/add-option.png
|
||||
:alt: Shows the Add option to reconcile an invoice or a bill with a payment.
|
||||
|
||||
The invoice or bill is then marked as :guilabel:`In payment` until the payment is
|
||||
:doc:`reconciled <bank/reconciliation>` with its corresponding :doc:`bank transaction(s)
|
||||
<bank/transactions>`.
|
||||
|
||||
.. _accounting/payments/auto-reconcile-tool:
|
||||
|
||||
For multiple invoices or bills
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
By default, payments in Odoo do not create journal entries. As a result, there is no payment
|
||||
to match, but this feature can still be used to match miscellaneous journal items.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
The :guilabel:`Payments matching` or :guilabel:`Auto-reconcile` tool allows reconciling
|
||||
journal items with each other (i.e., payments with customer invoices or vendor bills) either
|
||||
individually or in batches. Access the :guilabel:`Accounting Dashboard`, click the
|
||||
:icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) button from the :guilabel:`Customer
|
||||
Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`.
|
||||
Alternatively, go to :menuselection:`Accounting --> Accounting --> Reconcile`.
|
||||
|
||||
To manually :guilabel:`Reconcile` journal items, select the individual items from the list
|
||||
view and click :guilabel:`Reconcile`.
|
||||
|
||||
.. _accounting/payments/auto-reconcile-feature:
|
||||
|
||||
Auto-Reconcile Feature
|
||||
**********************
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
To use the :guilabel:`Auto-Reconcile` feature, follow these steps:
|
||||
|
||||
#. In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile`
|
||||
next to the receivable or payable account (or a specific contact's group of journal items
|
||||
in that account).
|
||||
#. In the :guilabel:`Reconcile automatically` window, click :guilabel:`Reconcile`.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
To use the :guilabel:`Auto-Reconcile` feature, follow these steps:
|
||||
|
||||
#. In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile`
|
||||
next to the receivable or payable account (or a specific contact's group of journal items
|
||||
in that account).
|
||||
#. In the :guilabel:`Reconcile Automatically` window, set the
|
||||
:guilabel:`Reconcile` field depending on how you want to match journal items:
|
||||
|
||||
- :guilabel:`Perfect Match`: Each debit journal item will be matched with
|
||||
the corresponding credit journal item of the same value.
|
||||
- :guilabel:`Clear Accounts`: All reconciled journal items will have the same
|
||||
matching number, as they are selected from the same account.
|
||||
|
||||
#. Click :guilabel:`Reconcile`.
|
||||
|
||||
Invoices and bills are automatically matched to their corresponding payments and marked as
|
||||
:guilabel:`In payment` until they are :doc:`reconciled <bank/reconciliation>` with their
|
||||
corresponding :doc:`bank transactions <bank/transactions>`.
|
||||
|
||||
.. _accounting/payments/group-payments:
|
||||
|
||||
Group payments
|
||||
--------------
|
||||
Registering payments on multiple invoices/credit notes or bills/refunds (group payments)
|
||||
========================================================================================
|
||||
|
||||
Group payments allow combining outgoing and incoming payments from the same contact into a single
|
||||
payment to simplify the process and improve payment usability. To register a group payment:
|
||||
To register payments on multiple invoices/credit notes or bills/refunds, follow these steps:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or
|
||||
:menuselection:`Accounting --> Vendors --> Bills/Refunds`.
|
||||
#. Select the relevant invoices/credit notes or bills/refunds linked to a specific contact.
|
||||
#. Click the :icon:`fa-cog` (:guilabel:`Action menu`) icon and select :guilabel:`Register Payment`.
|
||||
#. In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the
|
||||
:guilabel:`Payment Method`, and the :guilabel:`Payment Date`.
|
||||
#. Enable the :guilabel:`Group Payments` option and click :guilabel:`Create payment`.
|
||||
#. In the list view, click into the search bar, group by :guilabel:`Payment Method`, select the
|
||||
relevant invoices/credit notes or bills/refunds and click :guilabel:`Pay`.
|
||||
#. In the :guilabel:`Pay` window, select the :guilabel:`Journal` and the :guilabel:`Payment Date`.
|
||||
#. If previously set, the contact's preferred :guilabel:`Payment Method` is automatically selected
|
||||
by default but can be updated if necessary.
|
||||
#. If using :doc:`payment terms <customer_invoices/payment_terms>`, the :guilabel:`Amount` is
|
||||
automatically set based on the installment amounts defined by the payment term. To pay the full
|
||||
amount instead, click :guilabel:`full amount`.
|
||||
#. To combine all payments from the same contact into a single payment, enable the :guilabel:`Group
|
||||
Payments` option, or leave it unchecked to create separate payments.
|
||||
#. Click :guilabel:`Create payment`.
|
||||
|
||||
The invoices or bills are now marked as :guilabel:`In payment` until they are reconciled with the
|
||||
corresponding bank transactions. The credit notes or refunds are marked as :guilabel:`Paid`.
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
The invoices or bills are then marked as :guilabel:`In payment` until they are
|
||||
:doc:`reconciled <bank/reconciliation>` with the bank transactions.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
The invoices or bills are then marked as :guilabel:`In payment` until the bank transactions
|
||||
are :doc:`reconciled <bank/reconciliation>` with the payments.
|
||||
|
||||
.. _accounting/payments/batch-payments:
|
||||
|
||||
Batch payments
|
||||
--------------
|
||||
Registering a single payment for multiple customers or vendors (batch payments)
|
||||
===============================================================================
|
||||
|
||||
Batch payments allow grouping payments from multiple contacts to ease
|
||||
:doc:`reconciliation <bank/reconciliation>`. They are also useful when depositing :doc:`checks
|
||||
<payments/checks>` to the bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to
|
||||
:menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting -->
|
||||
Vendors --> Batch Payments`. In the list view of payments, to group several payments in a
|
||||
batch, select them and click :menuselection:`Action --> Create Batch Payment`.
|
||||
Batch payments allow grouping payments from multiple contacts to ease :doc:`reconciliation
|
||||
<bank/reconciliation>`. They are also useful when depositing :doc:`checks <payments/checks>` to the
|
||||
bank or for generating bank payment files such as :doc:`SEPA <payments/pay_sepa>` or :ref:`NACHA
|
||||
<l10n_us/nacha>`. To do so, go to :menuselection:`Accounting --> Customers --> Payments` or
|
||||
:menuselection:`Accounting --> Vendors --> Payments`. In the payments list view, select the payments
|
||||
to be grouped in a batch, click :icon:`fa-cog` :guilabel:`Actions`, and select :guilabel:`Create
|
||||
Batch Payment`.
|
||||
|
||||
.. note::
|
||||
All payments in a batch must have the same :ref:`payment method
|
||||
<accounting/payments/payment-methods>`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`payments/batch`
|
||||
- :doc:`payments/batch_sdd`
|
||||
- :doc:`payments/batch`
|
||||
- :doc:`payments/batch_sdd`
|
||||
|
||||
.. _accounting/payments/matching:
|
||||
|
||||
Payments matching
|
||||
-----------------
|
||||
|
||||
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
|
||||
allows them to be processed individually, matching all payments and invoices in one place. Go to the
|
||||
:guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`)
|
||||
button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select
|
||||
:guilabel:`Payments Matching`, or go to :menuselection:`Accounting --> Accounting -->
|
||||
Reconciliation`.
|
||||
The :guilabel:`Payments matching` tool opens all unreconciled journal items and allows them to be
|
||||
processed individually, matching all payments and journal items. Go to the
|
||||
:guilabel:`Accounting Dashboard`, go to :menuselection:`Accounting --> Accounting --> Reconcile` or
|
||||
click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) button from the :guilabel:`Customer
|
||||
Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`.
|
||||
|
||||
.. image:: payments/payments-journal.png
|
||||
:alt: Payments matching menu in the drop-down menu.
|
||||
@@ -134,47 +319,56 @@ Reconciliation`.
|
||||
not match, there is a remaining balance. This either needs to be reconciled at a later date or
|
||||
written off directly.
|
||||
|
||||
.. _accounting/payments/batch-payments-matching:
|
||||
|
||||
Batch payments matching
|
||||
-----------------------
|
||||
|
||||
Use the batch reconciliation feature to reconcile several outstanding payments or invoices
|
||||
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
|
||||
Aged Receivable / Aged Payable`. All transactions that have not yet been reconciled for that
|
||||
contact are visible, and when a customer or vendor is selected, the :guilabel:`Reconcile` option is
|
||||
displayed.
|
||||
|
||||
.. image:: payments/reconcile-option.png
|
||||
:alt: The batch payment reconcile option.
|
||||
|
||||
.. _accounting/payments/partial-payment:
|
||||
|
||||
Registering a partial payment
|
||||
=============================
|
||||
|
||||
To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or
|
||||
bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the
|
||||
outstanding balance. There are two options:
|
||||
To register a partial payment, click on :guilabel:`Pay` from the related invoice or bill.
|
||||
|
||||
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial`
|
||||
banner;
|
||||
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and
|
||||
change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts
|
||||
payable or receivable with the selected account.
|
||||
.. tabs::
|
||||
|
||||
.. image:: payments/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), fill in the :guilabel:`Amount` in the
|
||||
:guilabel:`Pay` window.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field
|
||||
displays the outstanding balance. There are two options:
|
||||
|
||||
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a
|
||||
:guilabel:`Partial` banner;
|
||||
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In`
|
||||
field and change the :guilabel:`Label` if needed. A journal entry will be created to balance
|
||||
the accounts payable or receivable with the selected account.
|
||||
|
||||
.. image:: payments/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
|
||||
.. _accounting/payments/reconciling-payments:
|
||||
|
||||
Reconciling payments with bank transactions
|
||||
===========================================
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
|
||||
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank transaction line to
|
||||
finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In
|
||||
payment`. The next step is :doc:`reconciling <bank/reconciliation>` the related :doc:`bank
|
||||
transaction <bank/transactions>` line with the invoice or bill to finalize the payment
|
||||
workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In
|
||||
payment`. The next step is :doc:`reconciling <bank/reconciliation>` the payment with the
|
||||
related :doc:`bank transaction <bank/transactions>` line to finalize the payment workflow and
|
||||
mark the invoice or bill as :guilabel:`Paid`.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
@@ -184,7 +378,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
|
||||
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -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:
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
@@ -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`
|
||||
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 32 KiB |
@@ -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 |
@@ -43,7 +43,7 @@ Before closing a fiscal year, ensure first everything is accurate and up-to-date
|
||||
- Validate all :doc:`expenses <../../expenses>`, ensuring their accuracy.
|
||||
- Corroborate that all :doc:`received payments <../payments>` have been encoded and recorded
|
||||
accurately.
|
||||
- Close all :ref:`suspense accounts <bank_accounts/suspense>`.
|
||||
- Close all :ref:`suspense accounts <accounting/bank/suspense>`.
|
||||
- Book all :doc:`depreciation <../vendor_bills/assets>` and :doc:`deferred revenue
|
||||
<../customer_invoices/deferred_revenues>` entries.
|
||||
|
||||
@@ -62,7 +62,7 @@ Then, to close the fiscal year:
|
||||
<accounting/reporting/aged-payable>` reports.
|
||||
- Audit all accounts, being sure to fully understand all transactions and their nature, making
|
||||
sure to include loans and fixed assets.
|
||||
- Optionally, run :ref:`payments matching <accounting/payments/matching>` to validate any open
|
||||
- Optionally, :ref:`match payments <accounting/payments/auto-reconcile-tool>` to validate any open
|
||||
vendor bills and customer invoices with their payments. While this step is optional, it could
|
||||
assist the year-end closing process if all outstanding payments and invoices are reconciled,
|
||||
potentially finding errors or mistakes in the system.
|
||||
|
||||
@@ -37,7 +37,7 @@ appropriately completed:
|
||||
- :guilabel:`Vendor`: Odoo automatically fills some information based on the vendor's registered
|
||||
information, previous purchase orders, or bills.
|
||||
- :guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do
|
||||
the :ref:`matching <accounting/payments/matching>` when you receive the products.
|
||||
the :ref:`matching <accounting/payments/payments-matching>` when you receive the products.
|
||||
- :guilabel:`Auto-Complete`: select a past bill/purchase order to automatically complete the
|
||||
document. The :guilabel:`Vendor` field should be completed prior to completing this field.
|
||||
- :guilabel:`Bill Date`: is the issuance date of the document.
|
||||
|
||||
@@ -91,9 +91,10 @@ To buy credits, go to :menuselection:`Accounting --> Configuration --> Settings
|
||||
and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo IAP` and click on
|
||||
:guilabel:`View My Services`.
|
||||
|
||||
.. important::
|
||||
If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits to
|
||||
test the feature.
|
||||
.. note::
|
||||
Enterprise Odoo users with a valid subscription get free credits to test IAP features before
|
||||
deciding to purchase more credits for the database. This includes demo/training databases,
|
||||
educational databases, and one-app-free databases.
|
||||
|
||||
.. seealso::
|
||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_
|
||||
|
||||
@@ -187,17 +187,17 @@ Fiscal localization modules are available for the countries listed below.
|
||||
fiscal_localizations/mexico
|
||||
fiscal_localizations/netherlands
|
||||
fiscal_localizations/new_zealand
|
||||
fiscal_localizations/romania
|
||||
fiscal_localizations/peru
|
||||
fiscal_localizations/philippines
|
||||
fiscal_localizations/romania
|
||||
fiscal_localizations/saudi_arabia
|
||||
fiscal_localizations/singapore
|
||||
fiscal_localizations/spain
|
||||
fiscal_localizations/switzerland
|
||||
fiscal_localizations/thailand
|
||||
fiscal_localizations/vietnam
|
||||
fiscal_localizations/united_arab_emirates
|
||||
fiscal_localizations/united_kingdom
|
||||
fiscal_localizations/united_states
|
||||
fiscal_localizations/uruguay
|
||||
fiscal_localizations/vietnam
|
||||
fiscal_localizations/employment_hero
|
||||
|
||||
@@ -11,7 +11,10 @@ Below you can find videos with a general description of the localization, and ho
|
||||
- `eCommerce - Localización de Argentina <https://www.youtube.com/watch?v=5gUi2WWfRuI>`_.
|
||||
|
||||
.. seealso::
|
||||
`Smart Tutorial - Localización de Argentina <https://www.odoo.com/slides/smart-tutorial-localizacion-de-argentina-130>`_
|
||||
- `Smart Tutorial - Localización de Argentina
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-argentina-130>`_
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Argentina
|
||||
<../accounting/customer_invoices/electronic_invoicing/argentina>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -45,6 +48,9 @@ localization:
|
||||
- `l10n_ar_website_sale`
|
||||
- (optional) Allows the user to see Identification Type and AFIP Responsibility in the
|
||||
eCommerce checkout form in order to create electronic invoices.
|
||||
* - :ref:`Argentina - Payment Withholdings <l10n_ar/payment-withholdings>`
|
||||
- `l10n_ar_withholding`
|
||||
- Allows registering withholdings during the payment of an invoice.
|
||||
|
||||
.. _argentina/configure-your-company:
|
||||
|
||||
@@ -678,6 +684,147 @@ the invoice can then be validated.
|
||||
:align: center
|
||||
:alt: Enter the perception amount.
|
||||
|
||||
.. _l10n_ar/payment-withholdings:
|
||||
|
||||
Withholding management
|
||||
----------------------
|
||||
|
||||
The Argentinean fiscal localization module is already loaded with the necessary withholdings
|
||||
records, which can be seen by navigating to :menuselection:`Accounting app --> Configuration -->
|
||||
Taxes` and removing the default :guilabel:`Sale or Purchase` filter. To verify these records, the
|
||||
**Argentina Payment Withholdings** (`l10n_ar_withholding`) module must be :ref:`installed
|
||||
<general/install>`:
|
||||
|
||||
Journal entries are *not* created when payments are posted unless :ref:`outstanding accounts
|
||||
<accounting/bank/outstanding-accounts>` are set up. Thus, for this feature to work properly, it is
|
||||
important to verify that *all* payment methods within the bank journals have an outstanding payment
|
||||
and receipt account set.
|
||||
|
||||
.. image:: argentina/l10n-ar-outstanding-payments.png
|
||||
:alt: An outstanding payment account must be set.
|
||||
|
||||
This configuration is crucial for the proper accounting of withholding transactions with clients
|
||||
and vendors.
|
||||
|
||||
.. note::
|
||||
In Argentina, withholdings represent the cancellation of a specific portion of the total debt
|
||||
owed to a supplier or a reduction in the total payment to be collected from a customer.
|
||||
Therefore, one or multiple withholdings can be recorded for each payment applied to an invoice.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
While Odoo already creates most of the required withholdings inside the :guilabel:`Taxes`
|
||||
menu, in several cases, it is necessary to apply or modify certain configurations to correctly
|
||||
calculate the withholding amount on vendor payments. The following withholding types are available:
|
||||
|
||||
- :ref:`Earnings <l10n_ar/earnings-withholdings>`
|
||||
- :ref:`Earnings Scale <l10n_ar/earnings-scale-withholdings>`
|
||||
- :ref:`IIBB Total Amount <l10n_ar/iib-total-amount-withholdings>`
|
||||
- :ref:`IIBB Non-Taxable <l10n_ar/iib-nontax-withholdings>`
|
||||
|
||||
.. _l10n_ar/earnings-withholdings:
|
||||
|
||||
Earnings
|
||||
********
|
||||
|
||||
For :guilabel:`Earnings` withholdings, Odoo already has a record for each regime group, which is
|
||||
stated under the name of the tax and the AFIP code.
|
||||
|
||||
Each of these records are ready to be used. As a good practice, the configuration should be double
|
||||
checked to make sure the configuration is updated and well-applied. The fields to validate are:
|
||||
|
||||
- :guilabel:`Amount`: This is the percentage of the total payment amount which is withheld.
|
||||
- :guilabel:`Non-Taxable Amount`: Up to this amount, the withholding does not apply.
|
||||
- :guilabel:`Minimum Withholding`: If the calculated withholding amount is smaller than this value,
|
||||
the total withholding amount is set to `0.0`.
|
||||
- :guilabel:`Withholding Sequence`: This field helps to automate the capture of a withholding number
|
||||
under the payment line. If this field is not set, a number is manually captured while adding a
|
||||
withholding to a payment.
|
||||
|
||||
.. image:: argentina/l10n-ar-earnings.png
|
||||
:alt: Earnings withholding type.
|
||||
|
||||
.. _l10n_ar/earnings-scale-withholdings:
|
||||
|
||||
Earnings Scale
|
||||
**************
|
||||
|
||||
In this particular case, a percentage does not need to be set. Instead, this withholding is
|
||||
calculated based on the value of the :guilabel:`Scale` field.
|
||||
|
||||
To view, modify, or create new scales, navigate to :menuselection:`Accounting app --> Configuration
|
||||
--> Earnings Scale`. By default, the Argentinian localization is preconfigured with two main scales.
|
||||
However, scales should be created and updated as necessary to suit a business's needs.
|
||||
|
||||
.. note::
|
||||
Earnings scales are cumulative, which means that Odoo keeps track of the different records
|
||||
created for a bill and automatically calculates the proper withholding amount.
|
||||
|
||||
.. _l10n_ar/iib-total-amount-withholdings:
|
||||
|
||||
IIBB Total Amount
|
||||
*****************
|
||||
|
||||
In this case, the necessary records related to the applicable province need to be created. The
|
||||
withholding amount is calculated based on the percentage :guilabel:`Amount` set on the tax
|
||||
configuration. Since Odoo does not automatically synchronize the percentages applicable to each
|
||||
province, this information needs to be manually updated.
|
||||
|
||||
The recommendation, in this case, is to always duplicate and apply the different configurations for
|
||||
each record to safeguard any technical configurations that allow the proper calculation and
|
||||
accounting of the withholding.
|
||||
|
||||
.. _l10n_ar/iib-nontax-withholdings:
|
||||
|
||||
IIBB Untaxed
|
||||
************
|
||||
|
||||
The configuration of non-taxable gross income withholdings is very similar to that of a :ref:`total
|
||||
amount withholding <l10n_ar/iib-total-amount-withholdings>`, so the percentage :guilabel:`Amount` in
|
||||
each of the records needs to be maintained. However, Odoo comes preconfigured with several records
|
||||
that apply to different provinces. The difference, in this case, is that it is not necessary to
|
||||
establish a non-taxable amount or minimum withholding for this record type.
|
||||
|
||||
Partner withholding assignation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once the proper configuration is set on each possible withholding for partners, the applicable
|
||||
withholdings need to be assigned to each contact. To do this, open the :guilabel:`Contacts` app and
|
||||
select the desired partner. In the :guilabel:`Accounting` tab, find the :guilabel:`Purchase
|
||||
Withholdings` table.
|
||||
|
||||
By using the additional fields :guilabel:`From Date` and :guilabel:`To Date`, the applicability of
|
||||
multiple withholdings can be automated across different date ranges. The :guilabel:`ref` field
|
||||
allows you to apply an internal control number to each withholding line, which is just for internal
|
||||
reference, so it does not affect any transactions and is not visible on them. These fields are
|
||||
accessible from the :icon:`oi-settings-adjust` :guilabel:`(adjust settings)` menu.
|
||||
|
||||
- :guilabel:`From Date`: the start of the withholding date range.
|
||||
- :guilabel:`To Date`: the end of the withholding date range.
|
||||
- :guilabel:`ref`: apply an internal control number to each withholding line that is only visible
|
||||
for internal reference and does not affect any transactions.
|
||||
|
||||
Automatic withholding calculation and application per payment
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
By applying new payments to vendor bills, Odoo automatically applies and calculates the proper
|
||||
withholding into the payment. Based on the record's configuration, it may be necessary to use a
|
||||
reference number for each withholding line.
|
||||
|
||||
More withholdings can be added, or computed withholdings can be edited if necessary.
|
||||
|
||||
.. image:: argentina/l10n-ar-payment.png
|
||||
:alt: Payment with applied withholdings.
|
||||
|
||||
.. important::
|
||||
The total amount of the debt to be canceled is the total amount of the payment. However, Odoo
|
||||
still captures the net amount (i.e. the amount to be reconciled with the bank), which will be
|
||||
represented as the payment amount after the withholding application.
|
||||
|
||||
.. image:: argentina/l10n-ar-payment-registered.png
|
||||
:alt: Payment registered form.
|
||||
|
||||
Check management
|
||||
----------------
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 21 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
|
||||
@@ -584,8 +588,8 @@ provide the following information:
|
||||
- your company's name, address, and legal structure; and
|
||||
- the Mac address of your IoT Box.
|
||||
|
||||
Once your IoT box is certified, :doc:`connect <../../general/iot/config/connect>` it to your
|
||||
database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the
|
||||
Once your IoT box is certified, :doc:`connect <../../general/iot/connect>` it to your database. To
|
||||
verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the
|
||||
:guilabel:`IOT Device` section, which should display the FDM.
|
||||
|
||||
.. image:: belgium/iot-devices.png
|
||||
|
||||
@@ -34,6 +34,8 @@ needed.
|
||||
<https://youtube.com/playlist?list=PL1-aSABtP6ADqexw4YNCbKPmpFggajxlX&si=RgmZR3Jco3223Np4>`_.
|
||||
- `YouTube playlist - Tutoriais Odoo em Português
|
||||
<https://youtube.com/playlist?list=PL1-aSABtP6ACGOW2UREePGjHQ2Bgdy-UZ&si=j6tiI36eB7BoKVQB>`_.
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Brazil
|
||||
<../accounting/customer_invoices/electronic_invoicing/brazil>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
@@ -15,6 +15,8 @@ Chile
|
||||
- `Chilean localization app tour <https://www.youtube.com/watch?v=3qYkgbmBYHw>`_
|
||||
- `Chilean localization smart tutorial
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-chile-131>`_
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Chile
|
||||
<../accounting/customer_invoices/electronic_invoicing/chile>`
|
||||
|
||||
.. _chile/configuration:
|
||||
|
||||
|
||||
@@ -24,9 +24,11 @@ solution with Odoo:
|
||||
|
||||
.. seealso::
|
||||
- For more information on how to complete the certification process for the |DIAN| module, review
|
||||
the following `webinar <https://www.youtube.com/watch?v=l0G6iDc7NQA>`_.
|
||||
the following `webinar <https://www.youtube.com/watch?v=l0G6iDc7NQA>`_
|
||||
- `Smart Tutorial - Colombian Localization
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_.
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Colombia
|
||||
<../accounting/customer_invoices/electronic_invoicing/colombia>`
|
||||
|
||||
.. _localization/colombia/configuration:
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ each purchase invoice.
|
||||
.. seealso::
|
||||
- `App Tour - Localización de Ecuador <https://www.youtube.com/watch?v=BQOXVSDeeK8>`_
|
||||
- `Smart Tutorial - Localización de Ecuador <https://www.odoo.com/slides/smart-tutorial-localizacion-de-ecuador-170>`_
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Ecuador
|
||||
<../accounting/customer_invoices/electronic_invoicing/ecuador>`
|
||||
|
||||
Glossary
|
||||
--------
|
||||
|
||||
@@ -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:`Print & 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
|
||||
-------------------
|
||||
|
||||
@@ -651,7 +655,7 @@ as follows:
|
||||
#. Make sure the fiscal printer is set to its default state: printer on, start-up cycle complete,
|
||||
and no transaction in progress.
|
||||
#. Type `3333`.
|
||||
#. Press :guilabel:`Chiave`. The screen displays :guilabel:`Scleta Funzione`.
|
||||
#. Press :guilabel:`Chiave`. The screen displays :guilabel:`Scelta Funzione`.
|
||||
#. Type `14`. The screen displays :guilabel:`Apprendimento`.
|
||||
#. Type `62`. The screen displays :guilabel:`Simulazione`.
|
||||
#. To turn the :guilabel:`no` into a :guilabel:`si`, press :guilabel:`X`.
|
||||
@@ -701,3 +705,60 @@ Then, to ensure :doc:`Odoo Point of Sale </applications/sales/point_of_sale>` is
|
||||
fiscal printer, go to :menuselection:`Point of Sale --> Configuration --> Settings`. In the
|
||||
:guilabel:`Connected Devices` section, add the IP address in the :guilabel:`Italian Fiscal Printer
|
||||
IP address` and enable :guilabel:`Use HTTPS`.
|
||||
|
||||
Ri.Ba. (Ricevuta Bancaria)
|
||||
==========================
|
||||
|
||||
:abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request
|
||||
payments through their bank, which forwards the request to the customer's own bank and takes
|
||||
responsibility for the collection. This enables payment automation and reduces risks for the vendor.
|
||||
|
||||
The vendor generally uploads a fixed-format text file with the list of payments to the bank's web
|
||||
portal.
|
||||
|
||||
.. note::
|
||||
- Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international
|
||||
payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. Check that the `l10n_it_riba` module is :ref:`installed <general/install>`.
|
||||
#. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that
|
||||
will use Ri.Ba.
|
||||
#. Fill out the required :guilabel:`SIA Code`.
|
||||
|
||||
.. image:: italy/sia-code.png
|
||||
:alt: The company's SIA code
|
||||
|
||||
.. note::
|
||||
The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used
|
||||
to receive money through specific payment methods. It consists of one letter and four digits
|
||||
(e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank.
|
||||
|
||||
#. Ensure the Company's bank account has an Italian IBAN.
|
||||
|
||||
.. seealso::
|
||||
How to configure :doc:`Bank Accounts <../accounting/bank>`
|
||||
|
||||
Accept Ri.Ba. for your invoices
|
||||
-------------------------------
|
||||
|
||||
Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices`
|
||||
(:menuselection:`Accounting --> Customers --> Invoices`).
|
||||
|
||||
.. important::
|
||||
Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN.
|
||||
|
||||
Then, all Payments must be grouped in a **Batch Payment**.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Batch Payments <../accounting/payments>`
|
||||
- :doc:`Create a Batch Payment <../accounting/payments/batch>`
|
||||
|
||||
Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta
|
||||
Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it
|
||||
through your bank's web portal.
|
||||
|
||||
.. image:: italy/riba-attachment.png
|
||||
:alt: The Ri.Ba. file attached
|
||||
|
||||
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -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
|
||||
=====================================
|
||||
|
||||
|
||||
@@ -104,7 +104,10 @@ portal to grant Odoo the **right to invoice** as an intermediary for your compan
|
||||
|
||||
- :guilabel:`TIN`: `C57800417080`
|
||||
- :guilabel:`BRN`: `BE0477472701`
|
||||
- :guilabel:`Name`: `ODOO S.A.`
|
||||
- :guilabel:`Name`:
|
||||
|
||||
- :guilabel:`Production`: `ODOO S.A.`
|
||||
- :guilabel:`Pre-production`: `OXXX_XXXXO S.A.`
|
||||
|
||||
#. Grant the following permissions by clicking the :icon:`fa-toggle-on` :guilabel:`(toggle-on)`
|
||||
icon:
|
||||
|
||||
@@ -36,6 +36,10 @@ enables foreign trade, and the creation of delivery guides).
|
||||
In order to electronically sign any documents in Odoo, ensure the *Sign* application is
|
||||
installed.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing's legality and compliance in Mexico
|
||||
<../accounting/customer_invoices/electronic_invoicing/mexico>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
|
||||
@@ -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
|
||||
==========
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ Peru
|
||||
.. |GRE| replace:: :abbr:`GRE (Guía de Remisión Electrónica)`
|
||||
.. |RUS| replace:: :abbr:`RUS (Régimen Único Simplificado)`
|
||||
.. |EDI| replace:: :abbr:`EDI (Electronic Data Interchange)`
|
||||
.. |PLE| replace:: :abbr:`PLE (Programa de Libros Electrónico)`
|
||||
|
||||
Modules
|
||||
=======
|
||||
@@ -57,6 +58,10 @@ Peruvian localization.
|
||||
- Adds the delivery guide (Guía de Remisión), which is needed as proof that you are sending
|
||||
goods between A and B. It is only when a delivery order is validated that the delivery guide
|
||||
can be created.
|
||||
* - :guilabel:`Peru - Stock Reports`
|
||||
- `l10n_pe_reports_stock`
|
||||
- Enables the :ref:`PLE reports <peru/reports-ple>` for permanent inventory record in physical
|
||||
units and permanent valued inventory records.
|
||||
* - :guilabel:`Peruvian eCommerce`
|
||||
- `l10n_pe_website_sale`
|
||||
- Enables the identification type in eCommerce checkout forms and the ability to generate
|
||||
@@ -76,6 +81,8 @@ Peruvian localization.
|
||||
- `App Tour - Localización de Peru <https://youtu.be/Ic3mGovkf8Y>`_
|
||||
- `Smart Tutorial - Localización de Peru (videos for workflows and configurations)
|
||||
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-peru-133>`_
|
||||
- :doc:`Documentation on e-invoicing's legality and compliance in Peru
|
||||
<../accounting/customer_invoices/electronic_invoicing/peru>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -724,14 +731,22 @@ and the :ref:`master data <peru-master_data>`, :ref:`install <general/install>`
|
||||
|
||||
Next, you need to retrieve the *client ID* and *client secret* from |SUNAT|. To do so, follow the
|
||||
`manual de servicios web plataforma nueva GRE
|
||||
<https://cpe.sunat.gob.pe/sites/default/files/inline-files/Manual_Servicios_GRE.pdf>`_.
|
||||
<https://cpe.sunat.gob.pe/sites/default/files/inline-files/Manual_Servicios_GRE%20%281%29.pdf>`_.
|
||||
|
||||
.. note::
|
||||
In the |SUNAT| portal, it is important to have the correct access rights enabled, as they may
|
||||
differ from the user set for electronic invoicing.
|
||||
|
||||
These credentials should be used to configure the delivery guide general settings from
|
||||
:menuselection:`Accounting --> Configuration --> Settings --> Peruvian Electronic Invoicing`.
|
||||
:menuselection:`Inventory --> Configuration --> Settings`, and scroll down to the :guilabel:`Peru
|
||||
Delivery Guide` section.
|
||||
|
||||
Configure the following :guilabel:`Sunat Delivery Guide API` fields:
|
||||
|
||||
- :guilabel:`Guide Client ID`: the unique API *client ID* generated in the |SUNAT| portal
|
||||
- :guilabel:`Guide Client Secret`: the unique API *client secret* generated in the |SUNAT| portal
|
||||
- :guilabel:`Guide SOL User`: the RUC Number + SOL username
|
||||
- :guilabel:`Guide SOL Password`: the SOL user password
|
||||
|
||||
.. image:: peru/gre-fields-example.png
|
||||
:alt: Example for the SUNAT Delivery Guide API section configuration.
|
||||
@@ -908,7 +923,7 @@ Configuration
|
||||
After configuring the Peruvian :ref:`electronic invoicing <peru-accounting-settings>` flow, complete
|
||||
the following configurations for the **eCommerce** flow:
|
||||
|
||||
- :ref:`Client account registration <checkout-sign>`;
|
||||
- :ref:`Client account registration <ecommerce/checkout/policy>`;
|
||||
- :ref:`Automatic invoice <handling/legal>`;
|
||||
- :doc:`../../websites/ecommerce/products`: Set the :guilabel:`Invoicing Policy` to
|
||||
:guilabel:`Ordered quantities` and define the desired :guilabel:`Customer taxes`.
|
||||
@@ -940,5 +955,100 @@ based on their tax ID (RUC/DNI). The invoice must then :ref:`be sent to the OSE
|
||||
<peru-electronic-invoice-status>`. By default, all published invoices are sent once a day through
|
||||
a scheduled action, but you can also send each invoice manually if needed.
|
||||
|
||||
Once the invoice is validated with |SUNAT|, customers can download the :file:`.zip` with the CDR,
|
||||
XML, and PDF files directly from the customer portal by clicking the :guilabel:`Download` button.
|
||||
Once the invoice is validated with |SUNAT|, customers can download the .zip file with the CDR, XML,
|
||||
and PDF files directly from the customer portal by clicking the :guilabel:`Download` button.
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
.. _peru/reports-ple:
|
||||
|
||||
Permanent inventory reports: |PLE| 12.1 and |PLE| 13.1
|
||||
------------------------------------------------------
|
||||
|
||||
Odoo can produce two permanent inventory reports as `.txt` files for Peruvian accounting: |PLE| 12.1
|
||||
and |PLE| 13.1. All inventory transactions made need to be reported.
|
||||
|
||||
- |PLE| 12.1 **only tracks inventory in physical units**, focusing on the inflow and outflow of
|
||||
goods for effective management and planning.
|
||||
|
||||
- |PLE| 13.1 tracks **both physical quantities and monetary values of inventory**, providing a
|
||||
comprehensive view for tax and management purposes.
|
||||
|
||||
Both reports must be maintained semi-annually (January-June and July-December), with monthly
|
||||
transaction details reported within these periods. The submission deadlines are October 1st for the
|
||||
first semester and April 1st for the second semester, in accordance with the *Resolución de
|
||||
Superintendencia N° 169-2015*.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Before generating the |PLE| 12.1 or |PLE| 13.1 reports, make sure the :guilabel:`Peru - Stock
|
||||
Reports` (`l10n_pe_reports_stock`) module is installed, then update the fields for:
|
||||
|
||||
- :ref:`Products <peru/reports-ple-products>`
|
||||
- :ref:`Warehouses <peru/reports-ple-warehouses>`
|
||||
- :ref:`Inventory transfers <peru/reports-ple-transfers>`
|
||||
|
||||
.. _peru/reports-ple-products:
|
||||
|
||||
Products
|
||||
********
|
||||
|
||||
Several configurations related to the product or product category are necessary for |PLE| reporting:
|
||||
|
||||
- **Type of existence**: For all products needing |PLE| reporting, go to the product record's
|
||||
:guilabel:`Accounting` tab and select the :guilabel:`Type of Existence` according to |SUNAT|'s
|
||||
table 5 for inventory reporting.
|
||||
|
||||
- **Automatic inventory valuation**: For storable goods (:dfn:`products with tracked inventory`),
|
||||
use :doc:`automatic inventory valuation
|
||||
<../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`.
|
||||
Once automatic inventory valuation is enabled, this valuation method can be enabled for
|
||||
a product's :ref:`product category <inventory/warehouses_storage/valuation-on-product-category>`.
|
||||
|
||||
- **Costing method:** Storable goods must use a :doc:`costing method
|
||||
<../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
|
||||
**other** than :guilabel:`Standard Price`, as the journal entries generated from stock moves are
|
||||
used to populate the |PLE| reports.
|
||||
|
||||
.. _peru/reports-ple-warehouses:
|
||||
|
||||
Warehouses
|
||||
**********
|
||||
|
||||
When :doc:`setting up a warehouse
|
||||
<../../inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses>`, the
|
||||
:guilabel:`Annex Establishment Code` field must be filled. This code acts as a unique ID for each
|
||||
warehouse and should only be a numeric combination, containing between 4 to 7 digits.
|
||||
|
||||
.. _peru/reports-ple-transfers:
|
||||
|
||||
Inventory transfers
|
||||
*******************
|
||||
|
||||
Transferring inventory is a key process captured in the |PLE| 12.1 and |PLE| 13.1 reports.
|
||||
:doc:`Inventory transfers <../../inventory_and_mrp/inventory/shipping_receiving/daily_operations>`
|
||||
include both incoming and outgoing shipments.
|
||||
|
||||
When validating an inventory transfer (either on a warehouse receipt or delivery order), select the
|
||||
:guilabel:`Type of Operation (PE)` performed according to |SUNAT|'s table 12 for permanent inventory
|
||||
reporting.
|
||||
|
||||
Generate a .txt file for permanent inventory Kardex reports
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|PLE| 12.1 and 13.1 come as two separate books. The books need to be downloaded in `.txt` file
|
||||
format from Odoo, and then they should be submitted to the |SUNAT| |PLE| software.
|
||||
|
||||
On the :ref:`Inventory Valuation Report <inventory/management/reporting/valuation-report>`, click
|
||||
the :guilabel:`PLE Reports` button. Then, select the :guilabel:`Period` and choose a report to
|
||||
export: either the :guilabel:`PLE 12.1` or :guilabel:`PLE 13.1`. Odoo generates a `.txt` file
|
||||
for the chosen report.
|
||||
|
||||
.. image:: peru/l10n-ple-export-button.png
|
||||
:alt: Export Buttons selection
|
||||
|
||||
.. note::
|
||||
Only a download of the report in `.txt` format is available. There is no preview or visualization
|
||||
available within Odoo.
|
||||
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -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
|
||||
=================
|
||||
|
||||
@@ -149,11 +155,16 @@ Before configuring the :abbr:`FACe (General Entrance for Electronic Invoices)` s
|
||||
:ref:`install <general/install>` the :guilabel:`Spain - Facturae EDI (l10n_es_edi_facturae)` module
|
||||
and other **Facturae EDI**-related modules.
|
||||
|
||||
To enable FACe, go to :menuselection:`Settings --> General Settings`, click
|
||||
:guilabel:`Update Info` in the :guilabel:`Companies` section, then click :guilabel:`Update Info` and
|
||||
set the :guilabel:`Country` and :guilabel:`Tax ID` of your company. Next, add the
|
||||
:guilabel:`Facturae signature certificate` by clicking :guilabel:`Add a line`, uploading the
|
||||
certificate provided by the tax agency, and entering the provided password.
|
||||
To configure FACe, follow these steps:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Certificates`.
|
||||
#. Click :guilabel:`New` to create a new certificate.
|
||||
#. Complete the fields, including uploading the file of the :guilabel:`Certificate` provided by the
|
||||
tax agency and the provided :guilabel:`Certificate Password`.
|
||||
|
||||
.. note::
|
||||
If using the Invoicing app instead of Accounting, go to :menuselection:`Invoicing -->
|
||||
Configuration --> Certificates`.
|
||||
|
||||
Use case
|
||||
--------
|
||||
|
||||
@@ -25,6 +25,10 @@ The supported documents are:
|
||||
The localization requires an Uruware account, which enables users to generate electronic documents
|
||||
within Odoo.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Documentation on e-invoicing's legality and compliance in Uruguay
|
||||
<../accounting/customer_invoices/electronic_invoicing/uruguay>`
|
||||
|
||||
Glossary
|
||||
--------
|
||||
|
||||
@@ -105,39 +109,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 +182,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 +195,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
|
||||
-----------
|
||||
|
||||
@@ -2,55 +2,271 @@
|
||||
Vietnam
|
||||
=======
|
||||
|
||||
Add Vietnamese QR banking codes to invoices
|
||||
===========================================
|
||||
.. _SInvoice: https://www.sinvoice.vn/
|
||||
|
||||
.. _localizations/vietnam/modules:
|
||||
|
||||
Modules
|
||||
=======
|
||||
|
||||
The following modules are installed automatically with the Vietnamese localization:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`Vietnam - Accounting`
|
||||
- `l10n_vn`
|
||||
- This module includes the default
|
||||
:ref:`fiscal localization package <fiscal_localizations/packages>`.
|
||||
* - :guilabel:`Vietnam - E-invoicing`
|
||||
- `l10n_vn_edi_viettel`
|
||||
- This module includes the features required for integration with :ref:`SInvoice
|
||||
<localizations/vietnam/sinvoice>`.
|
||||
|
||||
.. note::
|
||||
In some cases, such as when upgrading to a version with additional modules, it is possible that
|
||||
modules may not be installed automatically. Any missing modules can be manually :ref:`installed
|
||||
<general/install>`.
|
||||
|
||||
.. _localizations/vietnam/company:
|
||||
|
||||
Company
|
||||
=======
|
||||
|
||||
To use all the features of this fiscal localization, the following fields are required on the
|
||||
:doc:`company record </applications/general/companies>`:
|
||||
|
||||
- :guilabel:`Name`
|
||||
- :guilabel:`Address`, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`,
|
||||
and :guilabel:`Country`.
|
||||
|
||||
- In the :guilabel:`Street` field, enter the street name, number, and any additional address
|
||||
information.
|
||||
- In the :guilabel:`Street 2` field, enter the neighborhood.
|
||||
|
||||
- :guilabel:`Tax ID`: tax identification number.
|
||||
|
||||
.. _localizations/vietnam/sinvoice:
|
||||
|
||||
E-invoicing with SInvoice
|
||||
=========================
|
||||
|
||||
SInvoice_ is an e-invoice service platform provided by Viettel, one of the biggest e-invoice service
|
||||
providers in Vietnam. Odoo supports integration with SInvoice to submit invoices generated in Odoo.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
SInvoice platform
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
To send electronic invoices to SInvoice, the following must be created on SInvoice_:
|
||||
|
||||
- :ref:`SInvoice account <localizations/vietname/sinvoice-registration>`
|
||||
- :ref:`Invoice template <localizations/vietname/sinvoice-template>`
|
||||
- :ref:`Invoice symbol <localizations/vietname/sinvoice-symbol>`
|
||||
- :ref:`Invoice issuance notice <localizations/vietname/sinvoice-notice>`
|
||||
|
||||
.. _localizations/vietname/sinvoice-registration:
|
||||
|
||||
SInvoice registration
|
||||
*********************
|
||||
|
||||
To create an account, go to SInvoice_ and register for the desired plan. Fill in the form that
|
||||
opens to be contacted by SInvoice_ to create an account.
|
||||
|
||||
Once you have an account, log into SInvoice_ using your :guilabel:`Username` and
|
||||
:guilabel:`Password`.
|
||||
|
||||
.. _localizations/vietname/sinvoice-template:
|
||||
|
||||
Invoice template creation
|
||||
*************************
|
||||
|
||||
#. On the left side of the overview page, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Create business information`.
|
||||
#. In the :guilabel:`Update key information` step, fill in the following fields and other optional
|
||||
information if needed: :guilabel:`Unit name`, :guilabel:`Address`, :guilabel:`Contact person`,
|
||||
:guilabel:`Type of representative documents`.
|
||||
#. Click :guilabel:`Update`.
|
||||
#. In the :guilabel:`Look up digital certificate` step, click :guilabel:`Add new` to add a digital
|
||||
certificate.
|
||||
#. Select the :guilabel:`Branch/Enterprise` and the :guilabel:`Type of digital certificate`, then
|
||||
fill in the required fields for each type:
|
||||
|
||||
- :guilabel:`Supplier`: CloudCA
|
||||
- :guilabel:`Signer ID`: CloudCA
|
||||
- :guilabel:`Digital Certificate`: CloudCA
|
||||
- :guilabel:`How to download file`: HSM
|
||||
- :guilabel:`File Upload`: HSM, USB-TOKEN
|
||||
|
||||
#. Click :guilabel:`Generate key pair` to generate encryption keys for authentication, and
|
||||
:guilabel:`Save`.
|
||||
#. In the :guilabel:`Manage invoice templates` step, add a new :guilabel:`Invoice template`.
|
||||
#. Select the :guilabel:`Invoice type` and fill in the :guilabel:`Invoice template code`,
|
||||
:guilabel:`Invoice template name`, and other optional information if needed.
|
||||
#. Click :guilabel:`Update`.
|
||||
|
||||
.. seealso::
|
||||
`SInvoice documentation on electronic invoice template creation
|
||||
<https://www.sinvoice.vn/2021/02/hdsd-tai-lieu-nghiep-vu-tao-mau-hoa-don-dien-tu.html?debug=1>`_
|
||||
|
||||
.. _localizations/vietname/sinvoice-symbol:
|
||||
|
||||
Invoice symbol creation
|
||||
***********************
|
||||
|
||||
On the left side of the main screen, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Invoice symbol` and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Add new` and select the :guilabel:`Invoice template`.
|
||||
#. Set the :guilabel:`Status` to :guilabel:`Active` to activate the symbol and fill in the
|
||||
:guilabel:`Invoice symbol`.
|
||||
#. Enable :guilabel:`Stop automatic sending to tax authorities` and :guilabel:`Default for built-in
|
||||
API` based on preference.
|
||||
#. Click :guilabel:`Save`.
|
||||
|
||||
.. _localizations/vietname/sinvoice-notice:
|
||||
|
||||
Invoice issuance notice
|
||||
***********************
|
||||
|
||||
On the left side of the main screen, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Create issuance notice` and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Add new`, select the :guilabel:`Name of the business unit to issue an e-invoice`
|
||||
and the :guilabel:`Tax agency name`. Based on the business unit and tax agency selected, the
|
||||
:guilabel:`Tax code`, :guilabel:`Address`, :guilabel:`Phone number`, and :guilabel:`Separator
|
||||
used` are automatically filled and uneditable.
|
||||
#. Click :guilabel:`Select the invoice type for issuance`, and then select and fill in the
|
||||
following information :
|
||||
|
||||
- :guilabel:`Invoice type`: The invoice type on which to declare an issuance notice.
|
||||
- :guilabel:`Invoice template`: Select from the list of templates available based on the invoice
|
||||
type.
|
||||
- :guilabel:`Symbol`: Select from the list of symbols available based on the invoice type.
|
||||
- :guilabel:`Quantity`: Total number of invoices to issue for the selected type. Based on the
|
||||
type and template selected, this field is filled in automatically. It can be changed if needed.
|
||||
- :guilabel:`Start date of use`: The date from which the invoice template, range, and quantity
|
||||
are used for the issuance notice.
|
||||
|
||||
#. Click :guilabel:`Save` and select more invoice types if necessary by repeating the steps above.
|
||||
Click :guilabel:`Save` to finish drafting the notice.
|
||||
#. Click :guilabel:`Send to tax authorities` for approval. Once approved, the notice's
|
||||
:guilabel:`Status` is changed to :guilabel:`Active`.
|
||||
|
||||
.. _localizations/vietnam/sinvoice-odoo:
|
||||
|
||||
Odoo database
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Link Odoo to SInvoice
|
||||
*********************
|
||||
|
||||
To connect Odoo with SInvoice, go to :menuselection:`Accounting --> Configuration --> Settings`.
|
||||
In the :guilabel:`Vietnamese Integration` section, fill in your SInvoice :guilabel:`Username` and
|
||||
:guilabel:`Password`. Add a :guilabel:`Default symbol` to generate a prefix for the invoice number
|
||||
managed in SInvoice if needed.
|
||||
|
||||
Invoice template
|
||||
****************
|
||||
|
||||
To create SInvoice templates, go to :menuselection:`Accounting --> Configuration --> Templates`.
|
||||
Click :guilabel:`New` and add a :guilabel:`Template code` and a :guilabel:`Template Invoice Type`.
|
||||
The :guilabel:`Template code` is the initial sequence of digits in the name assigned by SInvoice.
|
||||
For example, if the invoice template is `1/001 - Hóa đơn GTGT - ND123`, the :guilabel:`Template
|
||||
code` is `1/001`. The SInvoice templates in Odoo must match the ones in SInvoice.
|
||||
|
||||
To add :guilabel:`Invoice Symbols`, click :guilabel:`Add a new line`.
|
||||
|
||||
Sending invoices to SInvoice
|
||||
----------------------------
|
||||
|
||||
Invoices can be sent to SInvoice once they have been confirmed. To do so, follow the
|
||||
:ref:`invoice sending <accounting/invoice/sending>` steps. In the :guilabel:`Send` popup, enable
|
||||
:guilabel:`Send to SInvoice` and click :guilabel:`Send & Print`.
|
||||
|
||||
Once the invoice has been successfully submitted to SInvoice, the :guilabel:`SInvoice Status` field
|
||||
in the :guilabel:`SInvoice` tab of the invoice is updated to :guilabel:`Sent`. The
|
||||
:guilabel:`SInvoice Number`, :guilabel:`Issue Date`, :guilabel:`Secret Code` and :guilabel:`eInvoice
|
||||
Number` fields are also updated. The same information is available on SInvoice.
|
||||
|
||||
Replacement or adjustment invoices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A replacement invoice is issued to correct an invoice that has **yet to be tax declared**, whereas
|
||||
an adjustment invoice is issued to correct one that has **already been tax declared**. Follow these
|
||||
steps to issue a replacement or adjustment invoice:
|
||||
|
||||
#. Open the invoice and click :guilabel:`Credit Note`.
|
||||
#. In the :guilabel:`Credit Note` popup, fill in the following fields:
|
||||
|
||||
- :guilabel:`Reason displayed on Credit Note`
|
||||
- :guilabel:`Adjustment type`
|
||||
- :guilabel:`Agreement Name`
|
||||
- :guilabel:`Agreement Date`
|
||||
- :guilabel:`Journal`
|
||||
- :guilabel:`Reversal date`
|
||||
|
||||
#. Click :guilabel:`Reverse and Create Invoice` to issue a replacement invoice, or
|
||||
:guilabel:`Reverse` to issue an adjustment invoice.
|
||||
|
||||
The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to
|
||||
:guilabel:`Replaced` for a replacement invoice or :guilabel:`Adjusted` for an adjustment invoice.
|
||||
|
||||
Invoice cancellation
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If an invoice needs to be canceled, open the invoice and click :guilabel:`Request Cancel`. In the
|
||||
:guilabel:`Invoice Cancellation` popup, enter the cancellation :guilabel:`Reason`,
|
||||
:guilabel:`Agreement Name`, and :guilabel:`Agreement Date`, and click :guilabel:`Request
|
||||
Cancellation`.
|
||||
|
||||
The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to
|
||||
:guilabel:`Canceled`.
|
||||
|
||||
.. _localizations/vietnam/qrcode:
|
||||
|
||||
QR banking codes
|
||||
================
|
||||
|
||||
Vietnamese QR banking is a payment service platform that allows customers to make instant domestic
|
||||
payments to individuals and merchants in Vietnamese dong via online and mobile banking.
|
||||
|
||||
Activate QR codes
|
||||
-----------------
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
|
||||
Payments` section, activate the :guilabel:`QR Codes` feature.
|
||||
To activate QR banking codes, go to :menuselection:`Accounting --> Configuration --> Settings` and
|
||||
enable :guilabel:`QR Codes` in the :guilabel:`Customer Payments` section.
|
||||
|
||||
Vietnamese QR banking bank account configuration
|
||||
------------------------------------------------
|
||||
Bank account
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for
|
||||
which you want to activate Vietnamese QR banking. Set the :guilabel:`Bank Identifier Code` on the
|
||||
bank. Then set the :guilabel:`Proxy Type` and fill in the :guilabel:`Proxy Value` field depending on
|
||||
the type you chose.
|
||||
To activate QR banking for a bank account, go to :menuselection:`Contacts --> Configuration -->
|
||||
Bank Accounts` and select the bank account. Fill in the :guilabel:`Bank Identifier Code`,
|
||||
:guilabel:`Proxy Type` (based on the information used to identify the :guilabel:`Merchant Account`,
|
||||
such as the card number and bank account numbers), and :guilabel:`Proxy Value` fields.
|
||||
|
||||
Enable :guilabel:`Include Reference` to include the invoice number in the QR code.
|
||||
|
||||
.. important::
|
||||
- The account holder's country must be set to `Vietnam` on its contact form.
|
||||
- The account holder's city is mandatory.
|
||||
- You could also include the invoice number in the QR code by checking the :guilabel:`Include
|
||||
Reference` checkbox.
|
||||
|
||||
.. image:: vietnam/vn-paynow-bank-setting.png
|
||||
:alt: Vietnamese QR banking bank account configuration
|
||||
- The account holder's country must be set to `Vietnam`, and their city must be specified on the
|
||||
contact form.
|
||||
- The :ref:`account number <accounting/bank/account-number>` and bank must be set on the
|
||||
:guilabel:`Bank` journal.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/bank`
|
||||
|
||||
Bank journal configuration
|
||||
--------------------------
|
||||
Generating QR codes on invoices
|
||||
-------------------------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill
|
||||
out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab.
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and select :guilabel:`EMV
|
||||
Merchant-Presented QR-code` in the :guilabel:`Payment QR-code` field.
|
||||
|
||||
.. image:: vietnam/vn-bank-account-journal-setting.png
|
||||
:alt: Bank Account's journal configuration
|
||||
|
||||
Issue invoices with Vietnamese QR banking QR codes
|
||||
--------------------------------------------------
|
||||
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
|
||||
QR-code` option to *EMV Merchant-Presented QR-code*.
|
||||
|
||||
.. image:: vietnam/vn-qr-code-invoice-setting.png
|
||||
:alt: Select EMV Merchant-Presented QR-code option
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the Vietnamese QR banking QR code.
|
||||
.. note::
|
||||
Ensure the :guilabel:`Recipient Bank` is configured, as Odoo uses this field to generate QR
|
||||
codes.
|
||||
|
||||
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
@@ -367,6 +367,8 @@ enable :guilabel:`Allow Express Checkout`.
|
||||
.. note::
|
||||
All prices shown on the express checkout payment form always include taxes.
|
||||
|
||||
.. _payment_providers/availability:
|
||||
|
||||
Availability
|
||||
============
|
||||
|
||||
@@ -441,8 +443,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
|
||||
=====================
|
||||
|
||||
@@ -17,6 +17,10 @@ emails. The deliverability is optimized for this subdomain as it uses Odoo’s D
|
||||
If the database subdomain is `company-name.odoo.com` and all mailing configurations are the
|
||||
default ones, all emails will be sent from `notifications@company-name.odoo.com`.
|
||||
|
||||
.. important::
|
||||
Only **one** subdomain can be used as a mailing server in Odoo. Subdomains for additional
|
||||
companies require an external email server with a custom domain.
|
||||
|
||||
.. image:: email_servers_outbound/diagram-inbound-mailing-method.png
|
||||
:alt: Odoo’s default outbound messages configuration.
|
||||
|
||||
@@ -100,9 +104,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 +163,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 +198,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 +232,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
|
||||
|
||||
@@ -8,3 +8,4 @@ Integrations
|
||||
integrations/unsplash
|
||||
integrations/geolocation
|
||||
integrations/google_translate
|
||||
integrations/barcodelookup
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
:show-content:
|
||||
|
||||
==============
|
||||
Barcode Lookup
|
||||
==============
|
||||
|
||||
`Barcode Lookup <https://www.barcodelookup.com/>`_ allows you to scan (or enter) products' barcodes
|
||||
(:abbr:`UPC (Universal Product Code)`, :abbr:`EAN (European Article Number)`, or :abbr:`ISBN
|
||||
(International Standard Book Number)`) to automatically create them in your Odoo database, complete
|
||||
with product names, descriptions, images, categories, etc.
|
||||
|
||||
.. _barcodelookup/configuration:
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
If your database is hosted on **Odoo Online**, you can use Barcode Lookup without configuration.
|
||||
|
||||
If your database is hosted on **Odoo.sh** or **on-premise**, proceed as follows:
|
||||
|
||||
#. Visit the `Barcode Lookup website <https://www.barcodelookup.com/api>`_ and click
|
||||
:guilabel:`Sign Up for the API`.
|
||||
#. Choose the appropriate plan based on the number of barcodes you need to scan.
|
||||
#. Fill in the required details and complete the registration process.
|
||||
#. Copy the API key.
|
||||
#. In Odoo, open the Settings app, scroll down to the :guilabel:`Integrations` section, and, under
|
||||
:guilabel:`Barcode Database`, paste the Barcode Lookup :guilabel:`API Key`.
|
||||
|
||||
Use
|
||||
---
|
||||
|
||||
To fill in product information using Barcode Lookup, create a new product and fill in the
|
||||
:guilabel:`Barcode` field. The product's details are then automatically imported from Barcode
|
||||
Lookup, updating the following fields: :guilabel:`Name`, :guilabel:`Price`, :guilabel:`Description`,
|
||||
:guilabel:`Tax`, :guilabel:`Image`, :guilabel:`Weight`, :guilabel:`Attributes`, :guilabel:`Product
|
||||
category`, and :guilabel:`Volume`. You can then modify any field(s) as needed.
|
||||
|
||||
.. seealso::
|
||||
:ref:`Create new products during internal transfers using the Barcode Lookup database
|
||||
<barcode/setup/barcodelookup>`.
|
||||
@@ -1,14 +1,87 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
:nosearch:
|
||||
|
||||
========================
|
||||
Internet of Things (IoT)
|
||||
========================
|
||||
|
||||
Odoo Internet of Things (IoT) allows to connect physical devices such as barcode scanners, receipt
|
||||
printers, payment terminals, measurement tools, etc. to an Odoo database using an IoT system.
|
||||
|
||||
The following IoT systems are supported:
|
||||
|
||||
- :doc:`IoT box <iot/iot_box>`: micro-computer, plug-and-play device (i.e., the Odoo IoT program is
|
||||
pre-installed);
|
||||
- :doc:`Windows virtual IoT <iot/windows_iot>`: Odoo IoT program for Windows that can be installed
|
||||
on a Windows computer.
|
||||
|
||||
.. note::
|
||||
- :abbr:`MRP (Material Requirement Planning)` devices, including cameras and measurement tools,
|
||||
are not compatible with Windows virtual IoT.
|
||||
- Multiple IoT systems can be used at the same time.
|
||||
- It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However,
|
||||
this option is not supported by Odoo, and no troubleshooting assistance will be provided.
|
||||
|
||||
.. _iot/iot/iot-subscription:
|
||||
|
||||
IoT box subscription
|
||||
====================
|
||||
|
||||
An IoT box subscription is required for production use of IoT systems. If you have issues related
|
||||
to your subscription, contact the database's account manager or Odoo partner for assistance.
|
||||
|
||||
.. tip::
|
||||
If the subscription is linked to an `Odoo.com <https://www.odoo.com>`_ portal user, check the
|
||||
information on the portal's subscription page.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo's compatible IoT devices <https://www.odoo.com/app/iot-hardware>`_
|
||||
- `Odoo Tutorials: Internet of Things (IoT) Tutorials
|
||||
<https://www.odoo.com/slides/internet-of-things-iot-175>`_
|
||||
- `IoT system FAQ <https://www.odoo.com/app/iot-faq>`_
|
||||
|
||||
.. cards::
|
||||
|
||||
.. card:: IoT box
|
||||
:target: iot/iot_box
|
||||
:large:
|
||||
|
||||
Set up an IoT box.
|
||||
|
||||
.. card:: Windows virtual IoT
|
||||
:target: iot/windows_iot
|
||||
:large:
|
||||
|
||||
Set up Windows virtual IoT.
|
||||
|
||||
.. card:: IoT system connection to Odoo
|
||||
:target: iot/connect
|
||||
|
||||
Connect the IoT system to your Odoo database and troubleshoot potential connection issues.
|
||||
|
||||
.. card:: Devices
|
||||
:target: iot/devices
|
||||
|
||||
Connect devices such as printers, screens, measurement tools, etc., to the IoT system.
|
||||
|
||||
.. card:: HTTPS certificate
|
||||
:target: iot/iot_advanced/https_certificate_iot
|
||||
|
||||
Verify your IoT system and database meet the eligibility requirements for HTTPS certificate
|
||||
generation and address any related issues.
|
||||
|
||||
.. card:: IoT system updates
|
||||
:target: iot/iot_advanced/updating_iot
|
||||
|
||||
Update your IoT system's image, core code, and handlers to benefit from the latest IoT fixes
|
||||
and features or reset the IoT system if needed.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
iot/config
|
||||
iot/iot_box
|
||||
iot/windows_iot
|
||||
iot/connect
|
||||
iot/iot_advanced
|
||||
iot/devices
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
=============
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
config/connect
|
||||
config/pos
|
||||
config/https_certificate_iot
|
||||
config/updating_iot
|
||||
config/troubleshooting
|
||||
config/windows_iot
|
||||
config/ssh_connect
|
||||
@@ -1,181 +0,0 @@
|
||||
==========================
|
||||
Connect an IoT box to Odoo
|
||||
==========================
|
||||
|
||||
An Internet of Things (IoT) box is a micro-computer device that allows for the connection of input
|
||||
and output devices to an Odoo database. An :abbr:`IoT (Internet of Things)` box subscription is
|
||||
required in order to use the :abbr:`IoT (Internet of Things)` box with a secured connection. A
|
||||
computer is also required to set up the :abbr:`IoT (Internet of Things)` box.
|
||||
|
||||
.. seealso::
|
||||
`IoT Box FAQ <https://www.odoo.com/app/iot-faq>`_
|
||||
|
||||
Begin the :abbr:`IoT (Internet of Things)` configuration process by :ref:`installing the IoT app
|
||||
<general/install>` on the Odoo database through the :menuselection:`Apps` application.
|
||||
|
||||
.. image:: connect/install-iot-app.png
|
||||
:align: center
|
||||
:alt: The Internet of Things (IoT) app on the Odoo database.
|
||||
|
||||
Next, after the *IoT app* is installed, navigate to :menuselection:`IoT app --> IoT Boxes`, and then
|
||||
click on the :guilabel:`Connect` button located in the upper-left corner of the :menuselection:`IoT
|
||||
Boxes` dashboard.
|
||||
|
||||
.. image:: connect/connect-iot.png
|
||||
:align: center
|
||||
:alt: Connecting an IoT box to the Odoo database.
|
||||
|
||||
There are two recommended ways to connect the :abbr:`IoT (Internet of Things)` box to the database
|
||||
once the *IoT app* is installed. Follow the steps in either of the next two sections to connect the
|
||||
:abbr:`IoT (Internet of Things)` box via :ref:`wired ethernet connection <iot_connect/ethernet>` or
|
||||
via :ref:`WiFi <iot_connect/wifi>`.
|
||||
|
||||
.. image:: connect/connect-iot-box.png
|
||||
:align: center
|
||||
:alt: Connection steps for a wired connection or WiFi connection.
|
||||
|
||||
.. important::
|
||||
The disk image that the :abbr:`IoT (Internet of Things)` box SD card is formatted with is unique
|
||||
to the version of the Odoo database that the :abbr:`IoT (Internet of Things)` box is running on.
|
||||
Ensure that the :abbr:`IoT (Internet of Things)` box is :ref:`flashed <iot/config/flash>` with
|
||||
the most up-to-date disk image.
|
||||
|
||||
.. _iot_connect/ethernet:
|
||||
|
||||
Ethernet connection
|
||||
===================
|
||||
|
||||
The following is the process to connect the :abbr:`IoT (Internet of Things)` box via an ethernet
|
||||
cable to the Odoo database (by way of the ethernet port; RJ-45).
|
||||
|
||||
First, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (ethernet, :abbr:`USB
|
||||
(Universal Serial Bus)` devices, etc.). At minimum, an HDMI screen should be connected. Then, plug
|
||||
the :abbr:`IoT (Internet of Things)` box into a power source.
|
||||
|
||||
Immediately after the unit powers on and boots up, read the *pairing code* from the screen or from
|
||||
the printout of a receipt printer connected to the :abbr:`IoT (Internet of Things)` box.
|
||||
|
||||
.. warning::
|
||||
By default, the :abbr:`IoT (Internet of Things)` box will display the *pairing code* for a
|
||||
maximum of 5 minutes after the unit boots up. After 5 minutes, the *pairing code* will disappear
|
||||
for security purposes and the :abbr:`IoT (Internet of Things)` box will need to be rebooted
|
||||
manually by unplugging the unit from the power source for ten seconds and re-plugging it back in.
|
||||
|
||||
.. note::
|
||||
If no screen is attached to the :abbr:`IoT (Internet of Things)` box, then the *pairing code* can
|
||||
be accessed from the :abbr:`IoT (Internet of Things)` box homepage by clicking on the
|
||||
:guilabel:`POS Display` button. For instructions on how to access the :abbr:`IoT (Internet of
|
||||
Things)` box homepage visit :ref:`iot_connect/token`.
|
||||
|
||||
On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the
|
||||
:guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes`
|
||||
dashboard. Input the *pairing code* in the :guilabel:`Pairing Code` field and click on the
|
||||
:guilabel:`Pair` button. The database will now link to the :abbr:`IoT (Internet of Things)` box and
|
||||
it will appear on the :menuselection:`IoT Boxes` page.
|
||||
|
||||
.. _iot_connect/wifi:
|
||||
|
||||
WiFi connection
|
||||
===============
|
||||
|
||||
The following is the process to connect the :abbr:`IoT (Internet of Things)` box via a WiFi
|
||||
connection to the Odoo database.
|
||||
|
||||
First, ensure there is no ethernet cable plugged into the :abbr:`IoT (Internet of Things)` box.
|
||||
Then, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (:abbr:`USB (Universal
|
||||
Serial Bus)` devices, etc.).
|
||||
|
||||
After connecting the devices, plug the :abbr:`IoT (Internet of Things)` box into to a power source.
|
||||
On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the
|
||||
:guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes`
|
||||
dashboard. Then copy the :guilabel:`Token` from the :guilabel:`WiFi connection` section as this will
|
||||
later be used to link the Odoo database to the :abbr:`IoT (Internet of Things)` box.
|
||||
|
||||
Back on the computer, navigate to the available WiFi networks and connect to the :abbr:`IoT
|
||||
(Internet of Things)` box WiFi network. The WiFi network dispersed by the :abbr:`IoT (Internet of
|
||||
Things)` box will start with `IoTBox-xxxxxxxxxx`.
|
||||
|
||||
.. image:: connect/connect-iot-wifi.png
|
||||
:align: center
|
||||
:alt: WiFi networks available on the computer.
|
||||
|
||||
Upon connecting to the :abbr:`IoT (Internet of Things)` box WiFi, a browser will automatically
|
||||
redirect to the :menuselection:`Configure Iot Box` wizard. Name the :abbr:`IoT (Internet of Things)`
|
||||
box, then paste the previously copied *token* into the :guilabel:`Server Token` field, and then
|
||||
click on :guilabel:`Next`.
|
||||
|
||||
.. image:: connect/server-token.png
|
||||
:align: center
|
||||
:alt: Enter the server token into the IoT box.
|
||||
|
||||
.. note::
|
||||
If the :abbr:`IoT (Internet of Things)` box WiFi connection wizard doesn't start, then see the
|
||||
documentation on :ref:`connecting with a token <iot_connect/token>`.
|
||||
|
||||
Now, choose the WiFi network that the :abbr:`IoT (Internet of Things)` box will connect with (enter
|
||||
the password if there is one) and click on :guilabel:`Connect`. Wait a few seconds and the browser
|
||||
will redirect to the :abbr:`IoT (Internet of Things)` box homepage. The computer may need to be
|
||||
manually re-connected back to the original WiFi connection, if this does not happen automatically.
|
||||
|
||||
.. image:: connect/configure-wifi-network-iot.png
|
||||
:align: center
|
||||
:alt: Configuring the WiFi for the IoT box.
|
||||
|
||||
After completing each step, the :abbr:`IoT (Internet of Things)` box should appear when navigating
|
||||
to :menuselection:`IoT app --> IoT Boxes` on the Odoo database.
|
||||
|
||||
.. image:: connect/iot-box-connected.png
|
||||
:align: center
|
||||
:alt: The IoT box has been successfully configured on the Odoo database.
|
||||
|
||||
.. important::
|
||||
The :abbr:`IoT (Internet of Things)` box may need to be manually rebooted upon successfully
|
||||
connecting via WiFi for the box to appear in the *IoT app* on the Odoo database. To do so, simply
|
||||
unplug the device and plug it back into the power source after ten seconds.
|
||||
|
||||
.. _iot_connect/token:
|
||||
|
||||
Manually connecting the IoT box using the token
|
||||
===============================================
|
||||
|
||||
A manual connection of the :abbr:`IoT (Internet of Things)` box to the :abbr:`IoT (Internet of
|
||||
Things)` app can be made using the *token*, from a computer. The *token* can be found by navigating
|
||||
to :menuselection:`IoT app --> IoT Boxes` and clicking on :guilabel:`Connect`.
|
||||
|
||||
Under the :guilabel:`WiFi Connection` section of the :guilabel:`Connect an IoT Box` page that
|
||||
appears, click :guilabel:`Copy` to the right of the :guilabel:`Token`. This token will be entered
|
||||
into the :abbr:`IoT (Internet of Things)` box homepage.
|
||||
|
||||
Access the :abbr:`IoT (Internet of Things)` box homepage by entering the :abbr:`IP (Internet
|
||||
Protocol)` address of the :abbr:`IoT (Internet of Things)` box into a browser window from a computer
|
||||
on the same network as the :abbr:`IoT (Internet of Things)` box (preferably by ethernet connection).
|
||||
|
||||
.. note::
|
||||
The :abbr:`IP (Internet Protocol)` address can be accessed by the router admin console that the
|
||||
:abbr:`IoT (Internet of Things)` box is connected to, or by connecting a receipt printer to the
|
||||
:abbr:`IoT (Internet of Things)` box. A receipt will print out with the :abbr:`IoT (Internet of
|
||||
Things)` box's :abbr:`IP (Internet Protocol)` address on it.
|
||||
|
||||
On the :abbr:`IoT (Internet of Things)` box homepage, enter the *token* under the :guilabel:`Server`
|
||||
section by clicking on :guilabel:`Configure`. Then, paste the *token* into the :guilabel:`Server
|
||||
Token` field and click :guilabel:`Connect`. The :abbr:`IoT (Internet of Things)` box will then link
|
||||
to the Odoo database.
|
||||
|
||||
.. _iot/connect_schema:
|
||||
|
||||
IoT box schema
|
||||
==============
|
||||
|
||||
Raspberry Pi 4
|
||||
--------------
|
||||
|
||||
.. figure:: connect/iot-box-schema.png
|
||||
|
||||
The Odoo IoT box (Raspberry Pi 4) schema with labels.
|
||||
|
||||
Raspberry Pi 3
|
||||
--------------
|
||||
|
||||
.. figure:: connect/iox-box-schema-3.png
|
||||
|
||||
The Odoo IoT box (Raspberry Pi 3) schema with labels.
|
||||
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -1,258 +0,0 @@
|
||||
.. _iot/https_certificate_iot:
|
||||
|
||||
=======================
|
||||
HTTPS certificate (IoT)
|
||||
=======================
|
||||
|
||||
What is HTTPS?
|
||||
==============
|
||||
|
||||
*Hypertext Transfer Protocol Secure* (HTTPS) is the secure version of *Hypertext Transfer Protocol*
|
||||
(HTTP), which is the primary protocol used to send data back and forth between a web browser and a
|
||||
website. :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is encrypted in order to increase the
|
||||
security of data transfer.
|
||||
|
||||
:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` uses an encryption protocol to encrypt
|
||||
communications. The protocol is called *Transport Layer Security* (TLS), although formerly it was
|
||||
known as *Secure Sockets Layer* (SSL).
|
||||
|
||||
:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` occurs based upon the transmission of :abbr:`TLS
|
||||
(Transport Layer Security)`/:abbr:`SSL (Secure Sockets Layer)` certificates, which verify that a
|
||||
particular provider is who they say they are.
|
||||
|
||||
.. note::
|
||||
In this documentation and throughout Odoo the term "HTTPS certificate" will be used to define the
|
||||
fact that the :abbr:`SSL (Secure Sockets Layer)` certificate is valid and allows a :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` connection.
|
||||
|
||||
Why is it needed?
|
||||
-----------------
|
||||
|
||||
In order to communicate with certain network devices (in particular for payment terminals), the
|
||||
usage of :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is mandatory. If the :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` certificate isn't valid, some devices won't be able to
|
||||
interact with the :abbr:`IoT (Internet of Things)` Box.
|
||||
|
||||
How to obtain a Hypertext Transfer Protocol Secure (HTTPS) certificate
|
||||
======================================================================
|
||||
|
||||
The generation of the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate is automatic.
|
||||
|
||||
The :abbr:`IoT (Internet of Things)` Box will send a specific request to `<https://www.odoo.com>`_
|
||||
which will send back the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate if the
|
||||
:abbr:`IoT (Internet of Things)` box and database are eligible.
|
||||
|
||||
.. _iot/iot-eligibility:
|
||||
|
||||
Internet of Things (IoT) eligibility
|
||||
------------------------------------
|
||||
|
||||
#. The database should be a **production** instance. The database instance should not be a copy, a
|
||||
duplicate, a staging, or a development environment.
|
||||
#. The Odoo subscription must:
|
||||
|
||||
- Have an :guilabel:`IoT Box Subscription` line.
|
||||
- :guilabel:`Status` must be :guilabel:`In Progress`.
|
||||
|
||||
If the subscription is linked to a `<https://www.odoo.com>`_ portal user check the information
|
||||
on the portal subscription page.
|
||||
|
||||
.. figure:: https_certificate_iot/sub-example-in-progress.png
|
||||
:align: center
|
||||
:alt: Odoo.com portal subscriptions filtered by "in progress".
|
||||
|
||||
In this case, both subscriptions are considered "in progress" as the :guilabel:`Filter By\:
|
||||
In Progress` was used.
|
||||
|
||||
.. note::
|
||||
If the subscription is in question, contact the database's Account Manager or Partner
|
||||
regarding the matter.
|
||||
|
||||
Troubleshooting Hypertext Transfer Protocol Secure (HTTPS) certificate errors
|
||||
=============================================================================
|
||||
|
||||
If anything goes wrong during the process of the "HTTPS certificate" generation or reception, a
|
||||
specific error will code be given on the :abbr:`IoT (Internet of Things)` box home page.
|
||||
|
||||
.. tip::
|
||||
Accessing the :abbr:`IoT (Internet of Things)` box homepage will check for the presence of the
|
||||
"HTTPS certificate" and will attempt its generation if it is missing. As such, if there is an
|
||||
error on the :abbr:`IoT (Internet of Things)` box home page, refresh the :abbr:`IoT (Internet of
|
||||
Things)` home page to see if the error disappears.
|
||||
|
||||
`ERR_IOT_HTTPS_CHECK_NO_SERVER`
|
||||
-------------------------------
|
||||
|
||||
Reason:
|
||||
The configuration regarding the server is missing. In other words, the Odoo instance is not
|
||||
connected with the IoT box.
|
||||
|
||||
Solution:
|
||||
Ensure that the server is configured.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/general/iot/config/connect`
|
||||
|
||||
`ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION`
|
||||
-----------------------------------------
|
||||
|
||||
Reason:
|
||||
An unhandled error happened when trying to read the existing :abbr:`HTTPS (Hypertext Transfer
|
||||
Protocol Secure)` certificate.
|
||||
|
||||
Solution:
|
||||
Ensure that the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate file is readable.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL`
|
||||
----------------------------------
|
||||
|
||||
Reason:
|
||||
The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing.
|
||||
|
||||
Solution:
|
||||
Ensure that both values are configured as intended. To modify them, go to the :abbr:`IoT
|
||||
(Internet of Things)` box home page, and navigate to :guilabel:`Credential`.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION`
|
||||
--------------------------------------
|
||||
|
||||
Reason:
|
||||
An unexpected error happened when the :abbr:`IoT (Internet of Things)` box tried to reach
|
||||
`<https://www.odoo.com>`_. The causes are likely due to the network
|
||||
infrastructure/configuration:
|
||||
|
||||
- The :abbr:`IoT (Internet of Things)` box does not have access to internet.
|
||||
- The network does not allow the :abbr:`IoT (Internet of Things)` box to communicate with
|
||||
`<https://www.odoo.com>`_. This may be due to network devices preventing the communication
|
||||
(firewalls, etc.) or the network configuration (:abbr:`VPN (Virtual Private Network)`,
|
||||
etc.).
|
||||
|
||||
.. note::
|
||||
More information regarding the error that occurred can be found in the full request
|
||||
exception details, which are in the :abbr:`IoT (Internet of Things)` box logs.
|
||||
|
||||
Solution:
|
||||
.. warning::
|
||||
Consult with your system or network administrator should this issue arise. This error code
|
||||
depends on the network infrastructure and goes beyond Odoo support's service scope.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS`
|
||||
-----------------------------------
|
||||
|
||||
Reason:
|
||||
The IoT-box was able to reach `<https://www.odoo.com>`_ but received an unusual
|
||||
`HTTP response (status codes)
|
||||
<https://developer.mozilla.org/en-US/docs/Web/HTTP/Status>`_.
|
||||
|
||||
This error code will also give the HTTP response status codes. For example, if the error reads
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS 404` it means that the page returned a 404 error, which is
|
||||
the "Page Not Found" code.
|
||||
|
||||
Solution:
|
||||
Check if `<https://www.odoo.com>`_ is down using a web browser, as it's possible that it is down
|
||||
due to maintenance.
|
||||
|
||||
- If `<https://www.odoo.com>`_ is down due to maintenance, unfortunately there is nothing that
|
||||
can be done but instead wait for it to recover.
|
||||
- If `<https://www.odoo.com>`_ is not down due to maintenance, open a `support ticket
|
||||
<https://www.odoo.com/help>`_ on the matter. Ensure that the 3 digits status code next to the
|
||||
code error is included in the support ticket.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_NO_RESULT`
|
||||
--------------------------------------
|
||||
|
||||
Reason:
|
||||
The :abbr:`IoT (Internet of Things)` box was able to reach `<https://www.odoo.com>`_ but it
|
||||
refused to deliver the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate.
|
||||
|
||||
Solution:
|
||||
Ensure that the :abbr:`IoT (Internet of Things)` box and database are eligible for a
|
||||
certificate: :ref:`Internet of Things (IoT) eligibility <iot/iot-eligibility>`.
|
||||
|
||||
How to ensure that the HTTPS certificate is correct
|
||||
===================================================
|
||||
|
||||
If the certificate has been applied successfully, a new :abbr:`HTTPS (Hypertext Transfer Protocol
|
||||
Secure)` :abbr:`URL (Uniform Resource Locator)` for the :abbr:`IoT (Internet of Things)` box ending
|
||||
with `.odoo-iot.com` will appear on the Odoo database, inside of the :menuselection:`IoT`
|
||||
application on that specific device's form.
|
||||
|
||||
.. image:: https_certificate_iot/odoo-new-domain.png
|
||||
:align: center
|
||||
:alt: Odoo IoT app IoT box with .odoo-iot.com domain.
|
||||
|
||||
When navigating to the :abbr:`URL (Uniform Resource Locator)` in a browser a secured :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` connection will be established.
|
||||
|
||||
.. figure:: https_certificate_iot/secured-connection.png
|
||||
:align: center
|
||||
:alt: Example of valid SSL certificate details on the browser.
|
||||
|
||||
Padlock in Chrome on Windows 10 attesting the fact that the connection is secured in :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)`.
|
||||
|
||||
The IoT-box homepage will now display an `OK` status next to `HTTPS certificate`. The
|
||||
drop-down menu icon, when clicked, will reveal information regarding the certificate.
|
||||
|
||||
.. image:: https_certificate_iot/status-ok.png
|
||||
:align: center
|
||||
:alt: IoT box homepage with HTTPS certificate OK status.
|
||||
|
||||
Domain Name System (DNS) issue
|
||||
==============================
|
||||
|
||||
If the :abbr:`IoT (Internet of Things)` box can be accessed from its :abbr:`IP (Intrernet Protocol)`
|
||||
address but not the Odoo assigned domain: `.odoo-iot.com`; then the :abbr:`IoT (Internet of Things)`
|
||||
box is likely running into a :abbr:`DNS (Domain Name System)` issue. On some browsers, it will give
|
||||
an error code mentioning :abbr:`DNS (Domain Name System)` (like `DNS_PROBE_FINISHED_NXDOMAIN`).
|
||||
|
||||
These :abbr:`DNS (Domain Name System)` issues may appear as the following in different browsers:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Chrome
|
||||
|
||||
.. figure:: https_certificate_iot/dns-chrome.png
|
||||
:align: center
|
||||
:alt: DNS issue on Chrome browser on Windows 10.
|
||||
|
||||
DNS issue on Chrome browser on Windows 10.
|
||||
|
||||
|
||||
.. tab:: Firefox
|
||||
|
||||
.. figure:: https_certificate_iot/dns-firefox.png
|
||||
:align: center
|
||||
:alt: DNS issue on Firefox browser on Windows 10.
|
||||
|
||||
DNS issue on Firefox browser on Windows 10.
|
||||
|
||||
.. tab:: Edge
|
||||
|
||||
.. figure:: https_certificate_iot/dns-edge.png
|
||||
:align: center
|
||||
:alt: DNS issue on Edge browser on Windows 10.
|
||||
|
||||
DNS issue on Edge browser on Windows 10.
|
||||
|
||||
|
||||
Domain Name System (DNS) issue solution
|
||||
---------------------------------------
|
||||
|
||||
#. Should the router allow the :abbr:`DNS (Domain Name System)` to be manually changed, change the
|
||||
DNS to use `Google DNS <https://developers.google.com/speed/public-dns>`_.
|
||||
#. If your router doesn't allow for this, then a change will need to be made on the :abbr:`DNS
|
||||
(Domain Name System)` settings of each of the devices using `Google DNS
|
||||
<https://developers.google.com/speed/public-dns>`_. This will need to occur on **every** device
|
||||
that plans to interact with the :abbr:`IoT (Internet of Things)` box (e.g. computer, tablet or
|
||||
phone). The individual device configuration processes can be found on the website of the
|
||||
device's manufacturer.
|
||||
|
||||
.. note::
|
||||
Other :abbr:`IoT (Internet of Things)` devices such as payment terminals likely won't need
|
||||
their :abbr:`DNS (Domain Name System)` settings changed as they are already configured with
|
||||
custom :abbr:`DNS (Domain Name System)`.
|
||||
|
||||
.. warning::
|
||||
Consult with your system or network administrator should this issue arise. This error code
|
||||
depends on the network infrastructure, and it goes beyond Odoo support's service scope.
|
||||
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |