Compare commits
214 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5b44b70c30 | |||
| 9e75bca747 | |||
| 7c3abb5af5 | |||
| 89cfd364dc | |||
| 8d9d0c90ed | |||
| cce9456f93 | |||
| 1febb15453 | |||
| 832628a8c7 | |||
| b84e81d3a1 | |||
| 4f098945d7 | |||
| 86fac322d3 | |||
| 958fa599e1 | |||
| 0604fb56f9 | |||
| 3fe09dd653 | |||
| 06eaf3a0c7 | |||
| 14c0438764 | |||
| db3db3c727 | |||
| 1be6f341dd | |||
| 39541bb745 | |||
| 157c1e18ea | |||
| ab5c9feb40 | |||
| 6c3385cf90 | |||
| b53427ddde | |||
| e6dbd3d9e4 | |||
| 646bfe2e2c | |||
| e620f27378 | |||
| f10c8d4ad2 | |||
| b4cab2a3db | |||
| 999c8db465 | |||
| 6ec9eb1fcc | |||
| baab56946f | |||
| 73499c595e | |||
| 2c1277d0f7 | |||
| fc98af5814 | |||
| d0b7363de5 | |||
| 65f1e3ce0a | |||
| a48ebe55bf | |||
| 3d28850a40 | |||
| 83a68e4b9b | |||
| be60243eff | |||
| d07052aa57 | |||
| b89d3e56c2 | |||
| 8d87bfe462 | |||
| b72d340b3c | |||
| a197b6c57d | |||
| f0cf3c68ac | |||
| 1f31ba3f06 | |||
| 2f0d98c9f7 | |||
| 4210a31408 | |||
| 080dc64e54 | |||
| 95f8067ed5 | |||
| f453b2266f | |||
| d88b185c27 | |||
| 62a4db0c7d | |||
| de2999c01d | |||
| 494ae5a555 | |||
| 283c843eeb | |||
| b0cc13d4fe | |||
| 6016ed4e93 | |||
| 6c561112a8 | |||
| 7a8f551d67 | |||
| 67adf2fc3b | |||
| 6f3ca9f4a3 | |||
| d1836f349f | |||
| e765370016 | |||
| 15beccfd50 | |||
| cec2e1f322 | |||
| 9cb186f87b | |||
| 075eea9326 | |||
| b5507c4940 | |||
| 64fabeb801 | |||
| 6667e3ec35 | |||
| 7b917cd1c3 | |||
| 884c1b3126 | |||
| b339573354 | |||
| 668420655f | |||
| abb3589471 | |||
| 588801185a | |||
| 78d1f23686 | |||
| e72b21d734 | |||
| 5ff951e927 | |||
| 78b3ca7521 | |||
| 9e3cb9eeaf | |||
| 9115d5d7a4 | |||
| c5b4336b52 | |||
| 78d289c677 | |||
| 14a9073ac9 | |||
| 4eb1baa5c5 | |||
| a2fbef0bc9 | |||
| 0f8e20e0aa | |||
| dfc42d4b62 | |||
| 5bd89e30b9 | |||
| 35602b9f50 | |||
| 79fa32eb3d | |||
| 3905b642fa | |||
| 5b581c31a5 | |||
| 90fffd3039 | |||
| 6fb216f70d | |||
| d4eece9b5f | |||
| 52e107681a | |||
| be6f7e1662 | |||
| 28f9d0c02c | |||
| 643ec40050 | |||
| 629a2852b6 | |||
| 77c1f6ff95 | |||
| 045fb847e8 | |||
| b963e4c7f9 | |||
| 3a3a224b17 | |||
| 86bd9fd91b | |||
| 6935a84404 | |||
| 31387885d6 | |||
| f8dce88995 | |||
| 78d998f5fc | |||
| 3ef14b8254 | |||
| 6d219133e0 | |||
| 2a52e0979b | |||
| f72e7a25e0 | |||
| c21233db05 | |||
| 5d7abe69ac | |||
| f18c11cb41 | |||
| 8c4cb060f0 | |||
| 07e7787668 | |||
| d4b8665fe2 | |||
| 3e7c00af02 | |||
| eff6545537 | |||
| 41cdeab0fa | |||
| 630d4385f4 | |||
| 30b173ff25 | |||
| 620b50f9e2 | |||
| 7612732f7f | |||
| f08db8544a | |||
| de4795724b | |||
| 556b5c4bc3 | |||
| 0c162ecf18 | |||
| 922f540fa6 | |||
| 1defbf7383 | |||
| fd3f3ca5cf | |||
| f10dcbdaf6 | |||
| 883442e483 | |||
| 41442270a3 | |||
| 58d246b8f4 | |||
| eb0c42803d | |||
| 2b8a578c9b | |||
| c27c6f8928 | |||
| 0a2b5e76e1 | |||
| 37af135d31 | |||
| b093bdc871 | |||
| 392d99c2fb | |||
| 38f66dd0f9 | |||
| 688285086b | |||
| 5264899901 | |||
| 70a99d8f87 | |||
| d5f2bf3b8c | |||
| 9be26ea17a | |||
| 48321d0e6b | |||
| 8e548bf770 | |||
| 6fd7446ad9 | |||
| 0dd8974ca1 | |||
| 4cad0e2f82 | |||
| 1a412b334a | |||
| e96721a308 | |||
| 829eb7b851 | |||
| d0af3f6bd1 | |||
| b2a37a0129 | |||
| a7e8e9724a | |||
| a70258c823 | |||
| 16e10c53db | |||
| 4219829976 | |||
| c2190a438c | |||
| 5b44376e52 | |||
| 7067cf372a | |||
| ebbd736540 | |||
| 4fe046b9d0 | |||
| 07c50eae7a | |||
| 671cca36a6 | |||
| 246450c957 | |||
| cc37e41de0 | |||
| 6cff316d86 | |||
| 03c9226547 | |||
| d87112ddef | |||
| 6605ec1988 | |||
| d105f614af | |||
| 10f936247a | |||
| 6a198ad1ce | |||
| 7dc0dc37d2 | |||
| 09e0b8affc | |||
| f3a6cc6779 | |||
| 36b20ff16c | |||
| 068020901c | |||
| 6da7dcccea | |||
| 48679b52e9 | |||
| f85a667236 | |||
| 44f202cff9 | |||
| 4b1b3db6f2 | |||
| db2ee387a9 | |||
| f7cb830798 | |||
| 86bd83705d | |||
| b4eaf1c223 | |||
| 5ec7aff3c5 | |||
| 49ad6221a8 | |||
| 32441c88fc | |||
| 89539f7379 | |||
| 4d88c4ec20 | |||
| 66b08cd4fd | |||
| 4e6983c135 | |||
| f53aca7b32 | |||
| cdc510295c | |||
| 86207443b1 | |||
| d25eecbe13 | |||
| dd6bf8b6c7 | |||
| d53c676288 | |||
| dbb82d83e2 | |||
| a8ef31f215 | |||
| a3e1378919 |
@@ -26,7 +26,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/17.0
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
||||
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = '17.0'
|
||||
version = release = 'master'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
@@ -213,7 +213,6 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-17.1': "Odoo Online",
|
||||
'17.0': "Odoo 17",
|
||||
'saas-16.4': "Odoo Online",
|
||||
'saas-16.3': "Odoo Online",
|
||||
|
||||
@@ -16,8 +16,8 @@ Official **Community** and **Enterprise** packages can be downloaded from the `O
|
||||
<https://www.odoo.com/page/download>`_.
|
||||
|
||||
.. note::
|
||||
It is required to be logged in as a paying on-premise customer or partner to download the
|
||||
Enterprise packages.
|
||||
It is required to be logged in as a paying customer or partner to download the Enterprise
|
||||
packages.
|
||||
|
||||
.. _install/packages/linux:
|
||||
|
||||
|
||||
@@ -15,5 +15,4 @@ Maintain
|
||||
maintain/hosting_changes
|
||||
maintain/odoo_online
|
||||
maintain/on_premise
|
||||
maintain/neutralized_database
|
||||
maintain/supported_versions
|
||||
|
||||
@@ -2,255 +2,293 @@
|
||||
Domain names
|
||||
============
|
||||
|
||||
Domain names are text-based addresses identifying online locations, such as websites. They provide a
|
||||
more memorable and recognizable way for people to navigate the internet than numerical IP addresses.
|
||||
A **domain name** works as an address for your website. It makes the Internet much more accessible
|
||||
as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its
|
||||
server's IP address with a series of numbers.
|
||||
|
||||
**Odoo Online** and **Odoo.sh** databases use a **subdomain** of the `odoo.com` **domain** by
|
||||
default (e.g., `mycompany.odoo.com`).
|
||||
You can use a custom domain name to access your Odoo database and websites:
|
||||
|
||||
However, you can use a custom domain name instead by :ref:`registering a free domain name
|
||||
<domain-name/register>` (only available for Odoo Online databases) or by :ref:`configuring a
|
||||
domain name you already own <domain-name/existing>`.
|
||||
- By :ref:`registering a free domain name with Odoo <domain-name/odoo-register>` (for Odoo Online
|
||||
databases)
|
||||
- By :ref:`configuring a custom domain that you already own <domain-name/existing>`.
|
||||
|
||||
.. note::
|
||||
Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of
|
||||
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
|
||||
|
||||
.. important::
|
||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||
databases for one year. Visitors can then access your website with an address such as
|
||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||
|
||||
.. seealso::
|
||||
`Odoo Tutorials: Register a free domain name [video]
|
||||
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
|
||||
- `Odoo Tutorials: Register a Free Domain Name
|
||||
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
|
||||
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
|
||||
|
||||
.. _domain-name/register:
|
||||
.. _domain-name/about:
|
||||
|
||||
About domain names
|
||||
==================
|
||||
|
||||
Having a **good domain name** is as important to your branding as the name of your business or
|
||||
organization as it is the first thing your visitors will notice. We recommend you keep them *simple,
|
||||
short, easy to remember and spell*.
|
||||
|
||||
A **subdomain** is a domain that is a part of another domain. It often refers to the additional part
|
||||
that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain,
|
||||
but any string of letters can be used as well. You can use subdomains to direct your visitors to
|
||||
other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to
|
||||
a specific page.)
|
||||
|
||||
All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant
|
||||
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
|
||||
to 72 hours to propagate worldwide on all servers.
|
||||
|
||||
.. _domain-name/indexing:
|
||||
|
||||
Indexing of domain names by search engines
|
||||
------------------------------------------
|
||||
|
||||
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
|
||||
the web`) to index all websites and their related domain names. These crawlers discover new URLs
|
||||
thanks to links on known web pages. As a result, search engines should index domain names
|
||||
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
|
||||
|
||||
Improving the appearance and positioning of web pages on search engines is a practice named "Search
|
||||
Engine Optimization" (SEO).
|
||||
|
||||
.. tip::
|
||||
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
|
||||
improve a website's search engine visibility.
|
||||
|
||||
Some search engines provide tools for web admins, such as
|
||||
`Google Search Console <https://search.google.com/search-console>`_ and
|
||||
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
|
||||
page ranking. To use these services, you must prove that you are the owner of your domain name. One
|
||||
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
|
||||
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
|
||||
other providers.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/pages/seo`
|
||||
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
|
||||
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
|
||||
|
||||
.. _domain-name/odoo-register:
|
||||
|
||||
Register a free domain name with Odoo
|
||||
=====================================
|
||||
|
||||
To register a one-year free domain name for your Odoo Online database, sign in to your account and
|
||||
go to the `database manager <https://www.odoo.com/my/databases>`_. Click the gear icon
|
||||
(:guilabel:`⚙️`) next to the database name and select :guilabel:`Domain Names`.
|
||||
|
||||
.. image:: domain_names/domain-names.png
|
||||
:alt: Accessing a database's domain names configuration
|
||||
|
||||
Search for the desired domain name and check its availability.
|
||||
|
||||
.. image:: domain_names/domain-search.png
|
||||
:alt: Searching for an available domain name
|
||||
|
||||
.. tip::
|
||||
Ensure the Website app is installed if the domain name registration option does not appear.
|
||||
|
||||
Select the desired domain name, fill in the :guilabel:`Domain Owner` form, and click
|
||||
:guilabel:`Register`. The chosen domain name is directly linked to the database, but you still need
|
||||
to :ref:`map your domain name to your Odoo website <domain-name/db-map>`.
|
||||
|
||||
.. image:: domain_names/domain-owner.png
|
||||
:alt: Filling in the domain owner information
|
||||
You can register a domain name for your Odoo Online database directly from Odoo Website or your
|
||||
database manager.
|
||||
|
||||
.. important::
|
||||
A verification email from `noreply@domainnameverification.net` will be sent to the email address
|
||||
provided in the :guilabel:`Domain Owner` form. It is essential to verify your email address to
|
||||
keep the domain active and receive the renewal quote before expiration.
|
||||
- Your domain name is **free for one year** if you register it with Odoo!
|
||||
- The domain name is registered with `Gandi <https://www.gandi.net/>`_, the domain name
|
||||
registrar.
|
||||
- You are the owner of the domain name and can use it for other purposes.
|
||||
- Odoo manages payment and technical support for you.
|
||||
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
|
||||
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
|
||||
|
||||
The domain name registration is free for the first year. After this period, Odoo will continue to
|
||||
manage the domain in partnership with **Gandi.net**, the domain name registrar, and you will be
|
||||
charged `Gandi.net's renewal rate <https://www.gandi.net/en/domain>`_. Odoo sends a renewal
|
||||
quotation every year to the email address mentioned in the :guilabel:`Domain Owner` form several
|
||||
weeks before the expiration date of the domain. The domain is renewed automatically when the
|
||||
quotation is confirmed.
|
||||
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
|
||||
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
|
||||
database, then on :guilabel:`Domain names`.
|
||||
|
||||
.. image:: domain_names/register-menu.png
|
||||
:align: center
|
||||
:alt: Clicking on Domain Names from an Odoo website
|
||||
|
||||
Search for the domain name of your choice to check its availability, then select the one you want to
|
||||
register for your website.
|
||||
|
||||
.. image:: domain_names/register-search.png
|
||||
:align: center
|
||||
:alt: The search of the domain name example.com shows which associated domains are available.
|
||||
|
||||
Next, fill in the form with your information to become the domain name owner.
|
||||
|
||||
Your domain name is directly linked to your database, but you still have to :ref:`map your domain
|
||||
name with your website <domain-name/website-map>`.
|
||||
|
||||
.. note::
|
||||
- The offer is only available for **Odoo Online** databases.
|
||||
- The offer is limited to **one** domain name per client.
|
||||
- The offer is limited to the registration of a **new** domain name.
|
||||
- The offer is available to *One App Free* plans. Ensure that your website contains enough
|
||||
original content for Odoo to verify that your request is legitimate and respects `Odoo's
|
||||
Acceptable Use Policy <https://www.odoo.com/acceptable-use>`_. Given the high number of
|
||||
requests, it can take Odoo several days to review them.
|
||||
- Free domain names are also available for free Odoo Online databases (if you installed one app
|
||||
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
|
||||
This process can take several days due to the success of the offer.
|
||||
- This is not available for Odoo.sh databases yet.
|
||||
|
||||
.. _domain-name/register-dns:
|
||||
.. _domain-name/odoo-manage:
|
||||
|
||||
DNS records
|
||||
-----------
|
||||
Manage your domain name registered with Odoo
|
||||
--------------------------------------------
|
||||
|
||||
To manage your free domain name :abbr:`DNS (domain name system)` records, open the `database manager
|
||||
<https://www.odoo.com/my/databases>`_, click the gear icon (:guilabel:`⚙️`) next to the database
|
||||
name, select :guilabel:`Domain Names`, and click :guilabel:`DNS`.
|
||||
To manage the DNS records of your domain name registered with Odoo or to visualize the contacts
|
||||
associated with it, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
|
||||
:guilabel:`Contacts` or :guilabel:`DNS`.
|
||||
|
||||
- :guilabel:`A`: the A record holds the IP address of the domain. It is automatically created and
|
||||
**cannot** be edited or deleted.
|
||||
- :guilabel:`CNAME`: CNAME records forward one domain or subdomain to another domain. One is
|
||||
automatically created to map the `www.` subdomain to the database. If the database is renamed, the
|
||||
CNAME record **must** also be renamed.
|
||||
- :guilabel:`MX`: MX records instruct servers on where to deliver emails.
|
||||
- :guilabel:`TXT`: TXT records can be used for different purposes (e.g., to verify domain name
|
||||
ownership).
|
||||
|
||||
Any modification to the DNS records can take up to **72 hours** to propagate worldwide on all
|
||||
servers.
|
||||
.. image:: domain_names/manage.png
|
||||
:align: center
|
||||
:alt: Management of the domain names linked to an Odoo database
|
||||
|
||||
.. note::
|
||||
`Submit a support ticket <https://www.odoo.com/help>`_ if you need assistance to manage your
|
||||
domain name.
|
||||
|
||||
Mailbox
|
||||
-------
|
||||
|
||||
The one-year free domain name offer does **not** include a mailbox. There are two options to link
|
||||
your domain name with a mailbox.
|
||||
|
||||
Use a subdomain
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
You can create a subdomain (e.g., `subdomain.yourdomain.com`) to use as an alias domain for the
|
||||
database. It allows users to create records in the database from emails received on their
|
||||
`email@subdomain.yourdomain.com` alias.
|
||||
|
||||
To do so, open the `database manager <https://www.odoo.com/my/databases>`_, click the gear icon
|
||||
(:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> DNS --> Add
|
||||
DNS record --> CNAME`. Next, enter the desired subdomain in the :guilabel:`Name` field (e.g.,
|
||||
`subdomain`), the original database domain with a period at the end (e.g., `mycompany.odoo.com.`) in
|
||||
the :guilabel:`Content` field, and click :guilabel:`Add record`.
|
||||
|
||||
Then, add the alias domain as your *own domain* by clicking :guilabel:`Use my own domain`, entering
|
||||
the alias domain (e.g., `subdomain.yourdomain.com`), clicking :guilabel:`Verify`, and then
|
||||
:guilabel:`I confirm, it's done`.
|
||||
|
||||
Finally, go to your database and open the :guilabel:`Settings`. Under the :guilabel:`Alias Domain`
|
||||
field, enter the alias domain (e.g., `subdomain.yourdomain.com`), click :guilabel:`Create`, and then
|
||||
:guilabel:`Save`.
|
||||
|
||||
Use an external email provider
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To use an external email provider, you should configure an MX record. To do so, open the `database
|
||||
manager <https://www.odoo.com/my/databases>`_, click the gear icon (:guilabel:`⚙️`) next to the
|
||||
database name, click :menuselection:`Domain Names --> DNS --> Add DNS record --> MX`. The values you
|
||||
should enter for the :guilabel:`Name`, :guilabel:`Content`, and :guilabel:`Priority` fields depend
|
||||
on the external email provider.
|
||||
|
||||
.. seealso::
|
||||
- `Google Workspace: MX record values <https://support.google.com/a/answer/174125?hl=en>`_
|
||||
- `Outlook and Exchange Online: Add an MX record for email <https://learn.microsoft.com/en-us/microsoft-365/admin/get-help-with-domains/create-dns-records-at-any-dns-hosting-provider?view=o365-worldwide#add-an-mx-record-for-email-outlook-exchange-online>`_
|
||||
Please `submit a support ticket <https://www.odoo.com/help>`_ if you need further assistance to
|
||||
manage your domain name.
|
||||
|
||||
.. _domain-name/existing:
|
||||
|
||||
Configure an existing domain name
|
||||
=================================
|
||||
Configure your existing domain name
|
||||
===================================
|
||||
|
||||
If you already have a domain name, you can use it for your Odoo website.
|
||||
If you already own a domain name, you can use it to point to your website.
|
||||
|
||||
.. warning::
|
||||
It is strongly recommended to follow **in order** these three steps to avoid any :ref:`SSL
|
||||
certificate validation <domain-name/ssl>` issues:
|
||||
To avoid any issue with the :ref:`SSL certificate validation <domain-name/ssl>`, we highly recommend
|
||||
that you proceed with the following actions in this order:
|
||||
|
||||
#. :ref:`Add a CNAME record <domain-name/cname>`
|
||||
#. :ref:`Map your domain name to your Odoo database <domain-name/db-map>`
|
||||
#. :ref:`Map your domain name to your Odoo website <domain-name/website-map>`
|
||||
#. :ref:`Add a CNAME record <domain-name/cname>` on your domain name's DNS zone.
|
||||
#. :ref:`Map your domain name with your Odoo database <domain-name/db-map>`.
|
||||
#. :ref:`Map your domain name with your Odoo website <domain-name/website-map>`.
|
||||
|
||||
.. _domain-name/cname:
|
||||
|
||||
Add a CNAME record
|
||||
------------------
|
||||
|
||||
Creating a CNAME record to forward your domain name to the address of your Odoo database is
|
||||
required.
|
||||
A **CNAME record** is a type of DNS record that points to the domain of another website rather than
|
||||
directly to an IP address.
|
||||
|
||||
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
|
||||
database manager.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
The CNAME record's target address should be your database's address as defined at its creation
|
||||
(e.g., `mycompany.odoo.com`).
|
||||
The target address is the current address of your database, as defined at its creation (e.g.,
|
||||
``example.odoo.com``)
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
The CNAME record's target address can be the project's main address, which can be found on
|
||||
Odoo.sh by going to :menuselection:`Settings --> Project Name`, or a specific branch
|
||||
(production, staging or development) by going to :menuselection:`Branches --> select the
|
||||
branch --> Settings --> Custom domains`, and clicking :guilabel:`How to set up my domain?`. A
|
||||
message indicates which address your CNAME record should target.
|
||||
Your project's main address is defined in :menuselection:`Settings --> Project Name`.
|
||||
|
||||
The specific instructions depend on your DNS hosting service.
|
||||
If you want to target a specific branch (production, staging or development), go to
|
||||
:menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on
|
||||
:guilabel:`How to set up my domain?`. A message indicates which address your CNAME record
|
||||
should target.
|
||||
|
||||
.. seealso::
|
||||
- `GoDaddy: Add a CNAME record <https://www.godaddy.com/help/add-a-cname-record-19236>`_
|
||||
- `Namecheap: How to create a CNAME record for your domain <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
|
||||
- `OVHcloud: Add a new DNS record <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
|
||||
- `Cloudflare: Manage DNS records
|
||||
<https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
|
||||
#. Open your domain name's manager dashboard.
|
||||
#. Open the **DNS zone** management page for the domain name you want to configure.
|
||||
#. Create a **CNAME record** pointing to the address of your database.
|
||||
|
||||
Creating a CNAME record to map the `www` subdomain (`www.yourdomain.com`) as some visitors are used
|
||||
to typing `www.` before entering a domain name.
|
||||
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you
|
||||
can of course use any domain name of your choice, with any subdomain (e.g.,
|
||||
``anything.example.com``).
|
||||
|
||||
.. example::
|
||||
You own the domain name `yourdomain.com`, and your Odoo Online database's address is
|
||||
`mycompany.odoo.com`. You want to access your Odoo database primarily with the domain
|
||||
`www.yourdomain.com` but also with the naked domain :dfn:`(a domain name without any subdomains
|
||||
or prefixes)` `yourdomain.com`.
|
||||
You own the domain name ``example.com``, and you have an Odoo Online database at the address
|
||||
``example.odoo.com``. You want to access your Odoo database primarily with the domain
|
||||
``www.example.com`` but also with the :ref:`naked domain <domain-name/naked-domain>`
|
||||
``example.com``.
|
||||
|
||||
To do so, create a CNAME record for the `www` subdomain, with `mycompany.odoo.com` as the
|
||||
target. Next, create a redirect (301 permanent or visible redirect) to redirect visitors from
|
||||
`yourdomain.com` to `wwww.yourdomain.com`.
|
||||
To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the
|
||||
target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN
|
||||
CNAME example.odoo.com.``
|
||||
|
||||
You also create a redirection from ``example.com`` to ``wwww.example.com``.
|
||||
|
||||
Your new DNS records are propagated to all DNS servers.
|
||||
|
||||
.. note::
|
||||
Here are some specific guidelines to create a CNAME record:
|
||||
|
||||
- `GoDaddy <https://www.godaddy.com/help/add-a-cname-record-19236>`_
|
||||
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
|
||||
- `OVH <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
|
||||
- `CloudFlare <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
|
||||
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
||||
|
||||
.. _domain-name/naked-domain:
|
||||
|
||||
Naked domain
|
||||
~~~~~~~~~~~~
|
||||
|
||||
A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address
|
||||
(e.g., ``odoo.com`` instead of ``www.odoo.com``).
|
||||
|
||||
You may want your naked domain to redirect to your website as some visitors may not type the full
|
||||
domain name to access your website.
|
||||
|
||||
#. Open your domain name's manager dashboard.
|
||||
#. Create a **redirection** from the naked domain (``example.com``) to your main domain name
|
||||
(``www.example.com``).
|
||||
|
||||
.. note::
|
||||
Depending on your domain name registrar, this redirection may be already pre-configured.
|
||||
|
||||
.. _domain-name/db-map:
|
||||
|
||||
Map a domain name to an Odoo database
|
||||
-------------------------------------
|
||||
|
||||
.. warning::
|
||||
Ensure you have :ref:`added a CNAME record <domain-name/cname>` to your domain name's DNS
|
||||
**before** mapping your domain name to your Odoo database.
|
||||
|
||||
Failing to do so may prevent the validation of the :ref:`SSL certificate <domain-name/ssl>` and
|
||||
could result in a *certificate name mismatch* error. Web browsers often display this as a
|
||||
warning, such as *"Your connection is not private"*.
|
||||
|
||||
If you encounter this error after mapping the domain name to your database, wait up to five
|
||||
days, as the validation may still happen. If not, you can `submit a support ticket
|
||||
<https://www.odoo.com/help>`_, including screenshots of your CNAME records.
|
||||
Map your domain name with your Odoo database
|
||||
--------------------------------------------
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
Open the `database manager <https://www.odoo.com/my/databases>`_, click the gear icon
|
||||
(:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> Use my
|
||||
own domain`. Then, enter the domain name (e.g., `yourdomain.com`), click :guilabel:`Verify`
|
||||
and :guilabel:`I confirm, it's done`.
|
||||
Open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
|
||||
:guilabel:`Use my own domain` at the bottom of the right column.
|
||||
|
||||
.. image:: domain_names/map-database-online.png
|
||||
:alt: Mapping a domain name to an Odoo Online database
|
||||
Type the domain name you want to add to this database, then click on :guilabel:`Verify` to
|
||||
check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm,
|
||||
it's done`.
|
||||
|
||||
.. image:: domain_names/online-map.png
|
||||
:align: center
|
||||
:alt: Verification of the CNAME records of a domain name before mapping it with a database
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
On Odoo.sh, go to :menuselection:`Branches --> select your branch --> Settings --> Custom
|
||||
domains`, type the domain name to add, then click :guilabel:`Add domain`.
|
||||
Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type
|
||||
the domain name you want to add to this database, then click on :guilabel:`Add domain`.
|
||||
|
||||
.. image:: domain_names/map-database-sh.png
|
||||
:alt: Mapping a domain name to an Odoo.sh branch
|
||||
.. image:: domain_names/odoo-sh-map.png
|
||||
:align: center
|
||||
:alt: Mapping a domain name with an Odoo.sh branch
|
||||
|
||||
.. seealso::
|
||||
:ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
|
||||
- :ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
|
||||
|
||||
.. warning::
|
||||
Make sure to :ref:`add a CNAME record <domain-name/cname>` to your domain name's DNS **before**
|
||||
mapping your domain name with your Odoo database.
|
||||
|
||||
Failing to do so may impede the validation of the :ref:`SSL certificate <domain-name/ssl>` and
|
||||
would result in a *certificate name mismatch* error. This is often displayed by web browsers as a
|
||||
warning such as *"Your connection is not private"*.
|
||||
|
||||
If this is the case and you have added the domain name to your database's settings less than five
|
||||
days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support
|
||||
ticket <https://www.odoo.com/help>`_ including screenshots of your CNAME records.
|
||||
|
||||
.. _domain-name/ssl:
|
||||
|
||||
SSL encryption (HTTPS protocol)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**SSL encryption** allows visitors to navigate a website through a secure connection, which appears
|
||||
as the *https://* protocol at the beginning of a web address rather than the non-secure *http://*
|
||||
protocol.
|
||||
**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to
|
||||
navigate your website through a secure connection, which appears as an ``https://`` protocol at the
|
||||
beginning of your web address, rather than a non-secure ``http://`` protocol.
|
||||
|
||||
Odoo generates a separate SSL certificate for each domain :ref:`mapped to a database
|
||||
<domain-name/db-map>` using `Let's Encrypt's certificate authority and ACME protocol
|
||||
Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager
|
||||
<domain-name/db-map>`, using integration with `Let's Encrypt Certificate Authority and ACME protocol
|
||||
<https://letsencrypt.org/how-it-works/>`_.
|
||||
|
||||
.. note::
|
||||
- Certificate generation may take up to 24 hours.
|
||||
- Several attempts to validate your certificate are made for five days after you map your domain
|
||||
name to your database.
|
||||
- If you use another service, you can keep using it or change to Odoo's.
|
||||
|
||||
.. important::
|
||||
No SSL certificate is generated for naked domains :dfn:`(domain names without any subdomains
|
||||
or prefixes)`.
|
||||
- The certificate generation may take up to 24h.
|
||||
- Several attempts to validate your certificate are made during the five days following the
|
||||
moment you add your domain name in your database's settings.
|
||||
- If you already use another service, you can keep using it or simply change for Odoo.
|
||||
|
||||
.. _domain-name/web-base-url:
|
||||
|
||||
@@ -258,57 +296,71 @@ Web base URL of a database
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If the Website app is installed on your database, skip this section and continue from the
|
||||
:ref:`Map a domain name to a website <domain-name/website-map>` section.
|
||||
If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name
|
||||
with your website <domain-name/website-map>`.
|
||||
|
||||
The *web base URL* or root URL of a database affects your main website address and all the
|
||||
The **web base URL** of a database, or **root URL** affects your main website address and all the
|
||||
links sent to your customers (e.g., quotations, portal links, etc.).
|
||||
|
||||
To make your custom domain name the *web base URL* of your database, access your database using your
|
||||
custom domain name and log in as an administrator :dfn:`(a user part of the Settings access right
|
||||
group under Administration)`.
|
||||
To configure it, access your Odoo database with your custom address, then log in as an administrator
|
||||
of your database (any user in the *Settings* group) from the login screen.
|
||||
|
||||
.. warning::
|
||||
If you access your database with the original Odoo address (e.g., `mycompany.odoo.com`), the *web
|
||||
base URL* of your database will be updated accordingly. To prevent the automatic update of the
|
||||
*web base URL* when an administrator logs in to the database, activate the :ref:`developer mode
|
||||
<developer-mode>`, go to :menuselection:`Settings --> Technical --> System Parameters --> New`,
|
||||
and enter `web.base.url.freeze` as the :guilabel:`Key` and `True` as the :guilabel:`Value`.
|
||||
Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com``
|
||||
also updates the web base URL of your database. See below to prevent these automatic updates.
|
||||
|
||||
Alternatively, you can do it manually. To do so, activate the :ref:`developer mode
|
||||
<developer-mode>`, then go to :menuselection:`Settings --> Technical --> System Parameters`.
|
||||
|
||||
Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address
|
||||
of your website as value, such as ``https://www.example.com``.
|
||||
|
||||
.. note::
|
||||
You can also set the web base URL manually. To do so, activate the :ref:`developer mode
|
||||
<developer-mode>`, go to :menuselection:`Settings --> Technical --> System Parameters`, and
|
||||
search for the `web.base.url` key (create it if necessary) and enter the full address of your
|
||||
website as the value (e.g., `https://www.yourdomain.com`). The URL must include the protocol
|
||||
`https://` (or `http://`) and *not* end with a slash (`/`).
|
||||
The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash
|
||||
(``/``).
|
||||
|
||||
To prevent the automatic update of the web base URL when an administrator logs in the database, you
|
||||
can create the following System Parameter:
|
||||
|
||||
- key: ``web.base.url.freeze``
|
||||
- value: ``True``
|
||||
|
||||
.. _domain-name/website-map:
|
||||
|
||||
Map a domain name to an Odoo website
|
||||
------------------------------------
|
||||
Map your domain name with your website
|
||||
======================================
|
||||
|
||||
Mapping your domain name to your website is different than mapping it to your database:
|
||||
Mapping your domain name to your website isn't the same as mapping it with your database:
|
||||
|
||||
- It defines your domain name as the main one for your website, helping search engines to index your
|
||||
website correctly.
|
||||
- It defines your domain name as the base URL for your database, including portal links sent by
|
||||
website properly.
|
||||
- It defines your domain name as the base URL for your database, including the portal links sent by
|
||||
email to your customers.
|
||||
- If you have multiple websites, it maps your domain name to the appropriate website.
|
||||
- If you have multiple websites, it maps your domain name with the appropriate website.
|
||||
|
||||
Go to :menuselection:`Website --> Configuration --> Settings`. If you have multiple websites, select
|
||||
the one you want to configure. In the :guilabel:`Domain` field, enter the address of your website
|
||||
(e.g., `https://www.yourdomain.com`) and :guilabel:`Save`.
|
||||
Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple
|
||||
websites, select the one you want to configure.
|
||||
|
||||
In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
|
||||
``https://www.example.com``) and click on :guilabel:`Save`.
|
||||
|
||||
.. image:: domain_names/website-settings.png
|
||||
:align: center
|
||||
:alt: Configuring https://www.example.com as the Domain of the website
|
||||
|
||||
.. warning::
|
||||
Mapping your domain name to your Odoo website prevents Google Search from indexing your original
|
||||
database address (e.g., `mycompany.odoo.com`).
|
||||
Mapping your domain name with your Odoo website prevents Google from indexing both your custom
|
||||
domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``.
|
||||
|
||||
If both addresses are already indexed, it may take some time before the indexation of the second
|
||||
address is removed from Google Search. You can use the `Google Search Console
|
||||
<https://search.google.com/search-console/welcome>`_ to fix the issue.
|
||||
If both addresses are already indexed, it may take some time before Google removes the indexation
|
||||
of the second address. You may also try using the `Google Search Console
|
||||
<https://search.google.com/search-console>`_ to fix this.
|
||||
|
||||
.. note::
|
||||
If you have multiple websites and companies on your database, make sure to select the right
|
||||
:guilabel:`Company` under :menuselection:`Website --> Configuration --> Settings`. Doing so
|
||||
indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
|
||||
If you have multiple websites and companies on your database, make sure that you select the
|
||||
right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing
|
||||
so indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
|
||||
the company in use.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/email_communication/email_servers`
|
||||
|
||||
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
@@ -1,35 +0,0 @@
|
||||
====================
|
||||
Neutralized database
|
||||
====================
|
||||
|
||||
A neutralized database is a non-production database on which several parameters are deactivated.
|
||||
This enables one to carry out tests without the risk of launching specific automated processes that
|
||||
could impact production data (e.g., sending emails to customers). Live access is removed and
|
||||
turned into a testing environment.
|
||||
|
||||
.. note::
|
||||
**Any testing database created is a neutralized database:**
|
||||
|
||||
- testing backup databases
|
||||
- duplicate databases
|
||||
- for Odoo.sh: staging and development databases
|
||||
|
||||
.. important::
|
||||
A database can also be neutralized when upgrading, as it is vital to do some tests before
|
||||
switching to a new version.
|
||||
|
||||
Deactivated features
|
||||
====================
|
||||
|
||||
Here is a non-exhaustive list of the deactivated parameters:
|
||||
|
||||
- all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)
|
||||
- outgoing emails
|
||||
- bank synchronization
|
||||
- payment providers
|
||||
- delivery methods
|
||||
- :abbr:`IAP (In-App Purchase)` tokens
|
||||
|
||||
.. note::
|
||||
**A red banner at the top of the screen is displayed on the neutralized database so that it can
|
||||
be seen immediately.**
|
||||
@@ -72,7 +72,7 @@ Domain names
|
||||
Use a custom :doc:`domain name <domain_names>` to access the database via another URL.
|
||||
|
||||
.. tip::
|
||||
You can :ref:`register a domain name for free <domain-name/register>`.
|
||||
You can :ref:`register a domain name for free <domain-name/odoo-register>`.
|
||||
|
||||
.. _odoo_online/tags:
|
||||
|
||||
|
||||
@@ -31,18 +31,12 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~17.1
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2024
|
||||
-
|
||||
* - **Odoo 17.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- November 2023
|
||||
- October 2026 (planned)
|
||||
- November 2026 (planned)
|
||||
* - Odoo saas~16.4
|
||||
- |green|
|
||||
- N/A
|
||||
|
||||
@@ -64,10 +64,9 @@ If the :guilabel:`Generate Entries` field in the **Settings** is set to :guilabe
|
||||
validation`, Odoo automatically generates the deferral entries when the invoice is validated. Click
|
||||
the :guilabel:`Deferred Entries` smart button to see them.
|
||||
|
||||
One entry, dated on the same day as the invoice's accounting date, moves the invoice amounts from
|
||||
the income account to the deferred account. The other entries are deferral entries which, month
|
||||
after month, move the invoice amounts from the deferred account to the income account to recognize
|
||||
the revenue.
|
||||
One entry, dated on the same day as the invoice, moves the invoice amounts from the income account
|
||||
to the deferred account. The other entries are deferral entries which, month after month, move
|
||||
the invoice amounts from the deferred account to the income account to recognize the revenue.
|
||||
|
||||
.. example::
|
||||
You can defer a January invoice of $1200 over 12 months by specifying a start date of 01/01/2023
|
||||
|
||||
@@ -64,10 +64,9 @@ If the :guilabel:`Generate Entries` field is set to :guilabel:`On invoice/bill v
|
||||
automatically generates the deferral entries when the bill is validated. Click on the
|
||||
:guilabel:`Deferred Entries` smart button to see them.
|
||||
|
||||
One entry, dated on the same day as the bill's accounting date, moves the bill amounts from the
|
||||
expense account to the deferred account. The other entries are deferral entries which will, month
|
||||
after month, move the bill amounts from the deferred account to the expense account to recognize
|
||||
the expense.
|
||||
One entry, dated on the same day as the bill, moves the bill amounts from the expense account to
|
||||
the deferred account. The other entries are deferral entries which will, month after month, move the
|
||||
bill amounts from the deferred account to the expense account to recognize the expense.
|
||||
|
||||
.. example::
|
||||
You can defer a January bill of $1200 over 12 months by specifying a start date of 01/01/2023
|
||||
|
||||
@@ -93,11 +93,12 @@ available on Odoo.
|
||||
- :doc:`Kenya - Accounting <fiscal_localizations/kenya>`
|
||||
- Lithuania - Accounting
|
||||
- :doc:`Luxembourg - Accounting <fiscal_localizations/luxembourg>`
|
||||
- :doc:`Malaysia - Accounting <fiscal_localizations/malaysia>`
|
||||
- Maroc - Accounting
|
||||
- :doc:`Mexico - Accounting <fiscal_localizations/mexico>`
|
||||
- Mongolia - Accounting
|
||||
- :doc:`Netherlands - Accounting <fiscal_localizations/netherlands>`
|
||||
- New Zealand - Accounting
|
||||
- :doc:`New Zealand - Accounting <fiscal_localizations/new_zealand>`
|
||||
- Norway - Accounting
|
||||
- OHADA - Accounting
|
||||
- Pakistan - Accounting
|
||||
@@ -146,8 +147,10 @@ available on Odoo.
|
||||
fiscal_localizations/italy
|
||||
fiscal_localizations/kenya
|
||||
fiscal_localizations/luxembourg
|
||||
fiscal_localizations/malaysia
|
||||
fiscal_localizations/mexico
|
||||
fiscal_localizations/netherlands
|
||||
fiscal_localizations/new_zealand
|
||||
fiscal_localizations/romania
|
||||
fiscal_localizations/peru
|
||||
fiscal_localizations/philippines
|
||||
@@ -159,3 +162,4 @@ available on Odoo.
|
||||
fiscal_localizations/vietnam
|
||||
fiscal_localizations/united_arab_emirates
|
||||
fiscal_localizations/united_kingdom
|
||||
fiscal_localizations/employment_hero
|
||||
|
||||
@@ -41,13 +41,11 @@ localization:
|
||||
- `l10n_ar_edi`
|
||||
- Includes all technical and functional requirements to generate electronic invoices via web
|
||||
service, based on the AFIP regulations.
|
||||
* - :ref:`Argentinean eCommerce <argentina/ecommerce-electronic-invoicing>`
|
||||
* - :guilabel:`Argentinean eCommerce`
|
||||
- `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.
|
||||
|
||||
.. _argentina/configure-your-company:
|
||||
|
||||
Configure your company
|
||||
----------------------
|
||||
|
||||
@@ -551,8 +549,6 @@ When creating a :guilabel:`Credit Note` we can have two scenarios:
|
||||
:align: center
|
||||
:alt: FCE: Es Cancelación?
|
||||
|
||||
.. _argentina/invoice-printed-report:
|
||||
|
||||
Invoice printed report
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -876,78 +872,6 @@ The menu also displays critical information related to these operations, such as
|
||||
- The :guilabel:`Journal` in which the check is currently registered
|
||||
- The **partner** associated with the operation (either customer or vendor).
|
||||
|
||||
.. _argentina/ecommerce-electronic-invoicing:
|
||||
|
||||
Ecommerce electronic invoicing
|
||||
------------------------------
|
||||
|
||||
|
||||
:ref:`Install <general/install>` the *Argentinian eCommerce* (`l10n_ar_website_sale`) module to
|
||||
enable the following features and configurations:
|
||||
|
||||
- Clients being able to create online accounts for eCommerce purposes.
|
||||
- Support for required fiscal fields in the eCommerce application.
|
||||
- Receive payments for sale orders online.
|
||||
- Generate electronic documents from the eCommerce application.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Once all of the configurations are made for the Argentinian :ref:`electronic invoice
|
||||
<argentina/configure-your-company>` flow, it is also necessary to complete certain configurations to
|
||||
integrate the eCommerce flow.
|
||||
|
||||
Client account registration
|
||||
***************************
|
||||
|
||||
To configure your website for client accounts, follow the instructions in the :doc:`checkout
|
||||
<../../websites/ecommerce/checkout_payment_shipping/checkout>` documentation.
|
||||
|
||||
Automatic invoice
|
||||
*****************
|
||||
|
||||
Configure your website to generate electronic documents in the sales process by navigating to
|
||||
:menuselection:`Website --> Configuration --> Settings` and activating the :guilabel:`Automatic
|
||||
Invoice` feature in the :guilabel:`Invoicing` section to automatically generate the required
|
||||
electronic documents when the online payment is confirmed.
|
||||
|
||||
.. image:: argentina/l10nar-automatic-invoicing-ecommerce.png
|
||||
:align: center
|
||||
:alt: Feature activated to invoice automatically.
|
||||
|
||||
Since an online payment needs to be confirmed for the :guilabel:`Automatic Invoice` feature to
|
||||
generate the document, a :doc:`payment provider <../payment_providers>` **must** be configured for
|
||||
the related website.
|
||||
|
||||
Products
|
||||
********
|
||||
|
||||
To allow your products to be invoiced when an online payment is confirmed, navigate to the desired
|
||||
product from :menuselection:`Website --> eCommerce --> Products`. In the :guilabel:`General
|
||||
Information` tab, set the :guilabel:`Invoicing Policy` to :guilabel:`Ordered quantities` and define
|
||||
the desired :guilabel:`Customer Taxes`.
|
||||
|
||||
Invoicing flow for eCommerce
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once the configurations mentioned above are all set, clients can complete the following required
|
||||
steps in the *Argentinian eCommerce* flow to input fiscal fields in the checkout process.
|
||||
|
||||
Fiscal fields are available for input in the checkout process once the :guilabel:`Country` field is
|
||||
set as `Argentina`. Inputting the fiscal data enables the purchase to conclude in the corresponding
|
||||
electronic document.
|
||||
|
||||
.. image:: argentina/l10nar-fiscal-fields-ar-ecommerce.png
|
||||
:align: center
|
||||
:alt: Fiscal required fields for electronic invoicing.
|
||||
|
||||
When the client makes a successful purchase and payment, the necessary invoice is generated with
|
||||
the corresponding layout and fiscal stamps stated in the :ref:`Invoice printed report
|
||||
<argentina/invoice-printed-report>`.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Client account creation <../../websites/ecommerce/checkout_payment_shipping/checkout>`
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 15 KiB |
@@ -35,9 +35,6 @@ Configuration
|
||||
- `l10n_account_customer_statements`
|
||||
- Allows the management and sending of monthly customer statements from the partner ledger and
|
||||
the contact form. Also used in New Zealand.
|
||||
* - :guilabel:`Employment Hero Australian Payroll`
|
||||
- `l10n_au_keypay`
|
||||
- Synchronises all pay runs from Employment Hero with Odoo’s journal entries.
|
||||
|
||||
.. _australia/coa:
|
||||
|
||||
@@ -861,70 +858,12 @@ from the batch.
|
||||
|
||||
.. _australia/employment-hero:
|
||||
|
||||
Employment Hero Australian Payroll
|
||||
==================================
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with `Employment Hero <https://employmenthero.com/>`_,
|
||||
you can use our connector as an alternative payroll solution.
|
||||
|
||||
The Employment Hero module synchronises payslip accounting entries (e.g., expenses, social charges,
|
||||
liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done
|
||||
in Employment Hero. We only record the **journal entries** in Odoo.
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
KeyPay was rebranded as **Employment Hero** in March 2023.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Australian Payroll` module
|
||||
(`l10n_au_keypay`).
|
||||
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
|
||||
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
|
||||
Integration`.
|
||||
|
||||
.. image:: australia/employment-hero-integration.png
|
||||
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
|
||||
settings
|
||||
|
||||
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
|
||||
|
||||
.. image:: australia/employment-hero-myaccount.png
|
||||
:alt: "Account Details" section on the Employment Hero dashboard
|
||||
|
||||
- The **Payroll URL** is pre-filled with `https://keypay.yourpayroll.com.au`.
|
||||
|
||||
.. warning::
|
||||
Do not change the **pre-filled Payroll URL**
|
||||
|
||||
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
|
||||
|
||||
.. image:: australia/employment-hero-business-id.png
|
||||
:alt: The Employment Hero "Business ID" number is in the URL
|
||||
|
||||
- You can choose any Odoo journal to post the payslip entries.
|
||||
|
||||
How does the API work?
|
||||
----------------------
|
||||
|
||||
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
|
||||
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
|
||||
the same record in Employment Hero and Odoo.
|
||||
|
||||
.. image:: australia/employment-hero-journal-entry.png
|
||||
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
|
||||
|
||||
By default, the synchronisation happens once per week. You can fetch the records manually by going
|
||||
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
|
||||
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
|
||||
|
||||
Employment Hero payslip entries also work based on double-entry bookkeeping.
|
||||
|
||||
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
|
||||
|
||||
.. image:: australia/employment-hero-chart-of-accounts.png
|
||||
:alt: Chart of Accounts menu in Employment Hero
|
||||
|
||||
For the API to work, you need to create the same accounts as the default accounts of your Employment
|
||||
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
|
||||
types in Odoo to generate accurate financial reports.
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Australia**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.com.au/`.
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB |
@@ -124,7 +124,7 @@ Categories`. Some categories already exist by default but do not have any rates.
|
||||
This makes the vehicle mandatory while booking a vendor bill.
|
||||
|
||||
To link a disallowed expenses category with a specific account, go to :menuselection:`Accounting -->
|
||||
Configuration --> Accounting: Chart of Accounts`. Find the account you want, and click on
|
||||
Configuration --> Acounting: Chart of Accounts`. Find the account you want, and click on
|
||||
:guilabel:`Setup`. Add the :guilabel:`Disallowed Expense category` in the :guilabel:`Disallowed
|
||||
Expenses` field. From now, when an expense is created with this account, the disallowed expense is
|
||||
calculated based on the rate mentioned in the :guilabel:`Disallowed Expense category`.
|
||||
@@ -234,7 +234,8 @@ SODA
|
||||
files can be imported into the journal you use to record salaries by going to your Accounting
|
||||
**dashboard** and clicking :guilabel:`Upload` in the related journal card form.
|
||||
|
||||
Once your **SODA** files are imported, the entries are created automatically in your salary journal.
|
||||
Once your **SODA** files are imported, the entries are created automatically in your 'salary'
|
||||
journal.
|
||||
|
||||
.. image:: belgium/soda-import.png
|
||||
:alt: Import SODA files
|
||||
@@ -244,7 +245,7 @@ Once your **SODA** files are imported, the entries are created automatically in
|
||||
CodaBox
|
||||
-------
|
||||
|
||||
**CodaBox** is a service that allows Belgian accounting firms to access their clients' bank
|
||||
**CodaBox** is a service that allows Belgian accounting firms accessing their clients' bank
|
||||
information and statements. Odoo provides a way to import such statements automatically.
|
||||
|
||||
.. note::
|
||||
@@ -258,16 +259,15 @@ The configuration must be done on each client database. In the following
|
||||
instructions, we will refer to your client's company as *Company* and to your
|
||||
accounting firm as *Accounting Firm*.
|
||||
|
||||
You must first :ref:`install <general/install>` :guilabel:`CodaBox` and
|
||||
:guilabel:`CodaBox Bridge Wizard` (if available) to start.
|
||||
You must first :ref:`Install <general/install>` :guilabel:`CodaBox` to start.
|
||||
|
||||
.. important::
|
||||
Make sure the company settings are correctly configured, i.e., the country is set to
|
||||
:guilabel:`Belgium`, the :guilabel:`Tax ID` and :guilabel:`Accounting Firm` fields are filled,
|
||||
as well as the :guilabel:`Tax ID` of the accounting firm (if not filled, the :guilabel:`Tax ID`
|
||||
of the company is used).
|
||||
as well as the :guilabel:`Tax ID` of the accounting firm (unless it is the same as the
|
||||
company's :guilabel:`Tax ID`).
|
||||
|
||||
Configure the journals
|
||||
Configure the Journals
|
||||
**********************
|
||||
|
||||
.. tabs::
|
||||
@@ -276,7 +276,7 @@ Configure the journals
|
||||
|
||||
#. :doc:`Create a new bank journal <../accounting/bank>`.
|
||||
#. Set the right IBAN in the :guilabel:`Account Number` field.
|
||||
#. Select :guilabel:`CodaBox synchronization` as the :guilabel:`Bank Feed`.
|
||||
#. Select :guilabel:`CodaBox synchronisation` as the :guilabel:`Bank Feed`.
|
||||
|
||||
.. image:: belgium/codabox_configuration_coda_journal.png
|
||||
:align: center
|
||||
@@ -285,8 +285,7 @@ Configure the journals
|
||||
.. tab:: For SODA files
|
||||
|
||||
#. Create a new miscellaneous journal.
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Settings`, then go to the
|
||||
:guilabel:`CodaBox` section.
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
|
||||
#. Select the journal you just created in the SODA journal field.
|
||||
|
||||
.. image:: belgium/codabox_configuration_soda_setting.png
|
||||
@@ -295,28 +294,54 @@ Configure the journals
|
||||
|
||||
.. _belgium/codabox-configuration-connection:
|
||||
|
||||
Configure the connection
|
||||
Configure the Connection
|
||||
************************
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Settings`, then go to the
|
||||
:guilabel:`CodaBox` section.
|
||||
#. Click on :guilabel:`Manage Connection` to open the connection wizard, which shows the
|
||||
:guilabel:`Accounting Firm VAT` number and the :guilabel:`Company VAT` number that will be used
|
||||
for the connection.
|
||||
#. If this is your **first connection**, click on :guilabel:`Create connection`.
|
||||
The wizard confirms that the connection has been created on **Odoo's side**. Follow the steps
|
||||
to validate the connection on **CodaBox's side**, too.
|
||||
First, you must select which users can access the **CodaBox** connection settings. To do so, go to
|
||||
:menuselection:`Settings --> Users & Companies --> Groups`, and search for the group
|
||||
:guilabel:`Allow to show and modify the CodaBox Connection Settings`. Add the users you want
|
||||
to this group. By default, only the :guilabel:`Administrator` is part of this group.
|
||||
|
||||
If this is **not your first connection**, the :guilabel:`Accounting Firm Password` provided by
|
||||
Odoo during the first connection will be requested to create a new connection.
|
||||
Then, to configure the connection itself, go to
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
|
||||
|
||||
.. note::
|
||||
This :guilabel:`Accounting Firm Password` is unique to Odoo and must be stored securely
|
||||
on your side.
|
||||
The procedure differs depending on whether **CodaBox** is
|
||||
being setup for a first client or an additional one.
|
||||
|
||||
The :guilabel:`Status` should have now switched to :guilabel:`Connected`.
|
||||
.. tabs::
|
||||
|
||||
Synchronization
|
||||
.. tab:: First connection
|
||||
|
||||
#. Click on :guilabel:`Connect`, where you are redirected to
|
||||
the **CodaBox** platform, here validate the connection.
|
||||
#. Once redirected back to Odoo, the :guilabel:`Status` should be set to
|
||||
:guilabel:`Connected` and a new field :guilabel:`Access Token` should appear
|
||||
with a unique value generated by Odoo.
|
||||
|
||||
.. image:: belgium/codabox_configuration_connection_ok.png
|
||||
:align: center
|
||||
:alt: Configured connection.
|
||||
|
||||
.. note::
|
||||
This Odoo :guilabel:`Access Token` will be used to create new connections
|
||||
for other clients without having to validate the connection again.
|
||||
|
||||
.. tab:: Following connection
|
||||
|
||||
#. Copy the :guilabel:`Access Token` from a previous connection.
|
||||
#. Click on :guilabel:`Connect`.
|
||||
|
||||
The **CodaBox** connection linked to the :guilabel:`Access Token` should still exist,
|
||||
therefore there is no need to validate the connection again. A new and different
|
||||
:guilabel:`Access Token` is generated by Odoo, and the :guilabel:`Status` should be set to
|
||||
:guilabel:`Connected`.
|
||||
|
||||
.. note::
|
||||
By having a different :guilabel:`Access Token` for each client, you can
|
||||
easily revoke the access of a client to your CodaBox account without
|
||||
affecting the other clients. One client cannot interfere with another.
|
||||
|
||||
Synchronisation
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Once the connection is established, Odoo can be synchronized with CodaBox.
|
||||
@@ -327,78 +352,95 @@ Once the connection is established, Odoo can be synchronized with CodaBox.
|
||||
|
||||
CODA files are automatically imported from CodaBox every 12 hours. You do
|
||||
not have to do anything. However, if you wish, it can also be done manually,
|
||||
by clicking on :guilabel:`Fetch from CodaBox` in the Accounting Dashboard.
|
||||
by clicking on :guilabel:`Fetch CODA's` in the Accounting Dashboard.
|
||||
|
||||
.. image:: belgium/codabox_dashboard_coda.png
|
||||
:align: center
|
||||
:alt: Manually fetch CODA's.
|
||||
|
||||
.. tab:: For SODA files
|
||||
|
||||
SODA files are automatically imported from CodaBox once a day as a draft. You do not have to
|
||||
do anything. However, if you wish, it can also be done manually by clicking on
|
||||
:guilabel:`Fetch from CodaBox` in the Accounting Dashboard.
|
||||
SODA files are automatically imported from CodaBox once a day as draft. You do
|
||||
not have to do anything. However, if you wish, it can also be done manually,
|
||||
by clicking on :guilabel:`Fetch SODA's` in the Accounting Dashboard.
|
||||
|
||||
By default, if an account in the SODA file is not mapped to an account in Odoo, the Suspense
|
||||
Account (499000) is used, and a note is added to the created journal entry.
|
||||
By default, if an account in the SODA is not mapped to an account in Odoo, the Suspense
|
||||
Account (499000) is used and a note is left in the created journal entry.
|
||||
|
||||
.. image:: belgium/codabox_dashboard_soda.png
|
||||
:align: center
|
||||
:alt: Manually fetch SODA's.
|
||||
|
||||
.. note::
|
||||
You can access the mapping between the SODA and Odoo accounts by going to
|
||||
:menuselection:`Accounting --> Configuration --> Settings` and clicking on the
|
||||
:guilabel:`Open SODA Mapping` button in the :guilabel:`CodaBox` section.
|
||||
You can access the mapping between the SODA accounts and the Odoo accounts by clicking
|
||||
on the :guilabel:`SODA Mapping` button in
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
|
||||
|
||||
.. note::
|
||||
The connection between Odoo and CodaBox can be revoked by using the
|
||||
:guilabel:`Revoke` button in the CodaBox settings, which will revoke
|
||||
the link on Odoo's side only.
|
||||
|
||||
If you have multiple connections, you will still be able to use the
|
||||
Access Token of one of them to easily reconnect Odoo and CodaBox for
|
||||
another client.
|
||||
|
||||
However, if you have only one (remaining) connection, you will not be able
|
||||
to use its Access Token to create new connections. In that case, you will
|
||||
have to revoke the connection from the CodaBox platform too,
|
||||
and then recreate a new one following the steps in the
|
||||
:ref:`first connection <belgium/codabox-configuration-connection>` section.
|
||||
|
||||
Potential issues
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
* **CodaBox is not configured. Please check your configuration.**
|
||||
CodaBox is not configured. Please check your configuration.
|
||||
Either the Company VAT of the Accounting Firm VAT is not set.
|
||||
|
||||
Either the :guilabel:`Company VAT` or the :guilabel:`Accounting Firm VAT` is not set.
|
||||
It seems that the fiduciary VAT number you provided is not valid. Please check your configuration.
|
||||
Either the Company VAT of the Accounting Firm VAT is in the wrong format.
|
||||
|
||||
* **No connection exists with these accounting firms and company VAT numbers.**
|
||||
**Please check your configuration.**
|
||||
It seems that the fiduciary VAT number you provided does not exist in CodaBox. Please check your configuration.
|
||||
The Accounting Firm VAT number you provided is not registered in CodaBox.
|
||||
|
||||
This can happen when checking the connection status, and the :guilabel:`Accounting Firm VAT` and
|
||||
:guilabel:`Company VAT` combination still needs to be registered. This may happen if you have
|
||||
changed the :guilabel:`Company VAT` after the connection was established. For security reasons,
|
||||
you have to :ref:`recreate a connection <belgium/codabox-configuration-connection>`
|
||||
for this :guilabel:`Company VAT`.
|
||||
Error while connecting to the IAP server. Please contact Odoo support.
|
||||
It seems that Odoo's IAP server is down or unreachable. Please contact
|
||||
Odoo support.
|
||||
|
||||
* **It seems that your CodaBox connection is not valid anymore. Please connect again.**
|
||||
It seems that your CodaBox connection is not valid anymore. Please check your configuration.
|
||||
It seems that you have either revoked the access of Odoo to your CodaBox account, or that
|
||||
you have not completed the configuration process. In this case, you must click on the
|
||||
:guilabel:`Revoke connection` button in the settings, and follow again the steps in
|
||||
the :ref:`first connection <belgium/codabox-configuration-connection>` section.
|
||||
|
||||
This can happen if you revoke Odoo's access to your CodaBox account or still need to complete
|
||||
the configuration process. In this case, you must revoke the connection and create a new one.
|
||||
A previous CodaBox registration already exists. Paste the access token from a previous connection here. Odoo will generate a new one, exclusive to this database.
|
||||
It seems that you have already your Accounting Firm with Odoo, but that the Access Token
|
||||
is either not filled or wrong. You should follow the steps in the
|
||||
:ref:`following connection <belgium/codabox-configuration-connection>` tab section.
|
||||
|
||||
* **The provided password is not valid for this accounting firm.**
|
||||
**You must reuse the password you received from Odoo during your first connection.**
|
||||
If you have lost your Access Token, you have to go on the CodaBox platform,
|
||||
and revoke the access of Odoo to your CodaBox account. Then, you will have to follow
|
||||
the steps in the :ref:`first connection <belgium/codabox-configuration-connection>` section.
|
||||
|
||||
The password you provided is different from the one you received from Odoo during your first
|
||||
connection. You must use the password you received from Odoo during your first connection to
|
||||
create a new connection for this accounting firm. If you have lost your password, you must first
|
||||
revoke the Odoo connection on CodaBox's side (i.e., on your myCodaBox portal). Then, you can
|
||||
revoke the connection on Odoo's side and
|
||||
:ref:`create a new one <belgium/codabox-configuration-connection>`.
|
||||
The provided access token is not valid for this fiduciary. Please check your configuration. If you have lost your access token, please contact Odoo support.
|
||||
Same as above.
|
||||
|
||||
* **It seems that the company or accounting firm VAT number you provided is not valid.**
|
||||
**Please check your configuration.**
|
||||
It seems that no connection linked to your database/VAT number exists. Please check your configuration.
|
||||
You may obtain this error when revoking or trying to fetch files from CodaBox if
|
||||
the pair (Accounting Firm VAT, Company VAT) is not registered yet. This may happen if
|
||||
you have changed the company VAT after the connection was established for instance.
|
||||
For security reasons, you have to recreate a connection for this company VAT by following the
|
||||
steps in the :ref:`first connection <belgium/codabox-configuration-connection>` section.
|
||||
|
||||
Either the :guilabel:`Company VAT` or the :guilabel:`Accounting Firm VAT` is not in a valid
|
||||
Belgian format.
|
||||
No files were found. Please check your configuration.
|
||||
This may occur if the company VAT has changed after the connection was established.
|
||||
In that case, you must click on the :guilabel:`Revoke connection` button in the settings,
|
||||
and recreate the connection.
|
||||
|
||||
* **It seems that the accounting firm VAT number you provided does not exist in CodaBox.**
|
||||
**Please check your configuration.**
|
||||
|
||||
The :guilabel:`Accounting Firm VAT` number you provided is not registered in CodaBox.
|
||||
You may not have a valid CodaBox license linked to this VAT number.
|
||||
|
||||
* **It seems you have already created a connection to CodaBox with this accounting firm.**
|
||||
**To create a new connection, you must first revoke the old one on myCodaBox portal.**
|
||||
|
||||
You must go to your myCodaBox portal and revoke Odoo's access to your CodaBox account.
|
||||
Then, you can :ref:`create a new connection <belgium/codabox-configuration-connection>`
|
||||
on Odoo's side.
|
||||
|
||||
.. tip::
|
||||
To revoke the connection between Odoo and CodaBox, go to
|
||||
:menuselection:`Accounting --> Configuration --> Settings`, scroll down to the
|
||||
:guilabel:`CodaBox` section, click on :guilabel:`Manage Connection`, then click on
|
||||
:guilabel:`Revoke`.
|
||||
It seems you have already created a connection to CodaBox with this fiduciary. To create a new connection, you must first revoke the old one on myCodaBox portal.
|
||||
You must go on the CodaBox platform, and revoke the access of Odoo to your CodaBox account.
|
||||
Then, you will have to follow the steps in the
|
||||
:ref:`first connection <belgium/codabox-configuration-connection>` section.
|
||||
|
||||
Electronic invoicing
|
||||
====================
|
||||
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,73 @@
|
||||
=======================
|
||||
Employment Hero Payroll
|
||||
=======================
|
||||
|
||||
The `Employment Hero <https://employmenthero.com/>`_ module synchronises payslip accounting entries
|
||||
(e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo.
|
||||
Payroll administration is still done in Employment Hero. We only record the **journal entries** in
|
||||
Odoo.
|
||||
|
||||
.. important::
|
||||
KeyPay was rebranded as **Employment Hero** in March 2023.
|
||||
|
||||
.. _employment_hero/configuration:
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Payroll` module
|
||||
(`l10n_employment_hero`).
|
||||
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
|
||||
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
|
||||
Integration`.
|
||||
|
||||
.. image:: employment_hero/employment-hero-integration.png
|
||||
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
|
||||
settings
|
||||
|
||||
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
|
||||
|
||||
.. image:: employment_hero/employment-hero-myaccount.png
|
||||
:alt: "Account Details" section on the Employment Hero dashboard
|
||||
|
||||
- The **Payroll URL** is left empty by default to avoid any confusion. Please fill it according
|
||||
to the documentation specific to your localization.
|
||||
|
||||
.. note::
|
||||
Employment hero is available for :ref:`Australia <australia/employment-hero>`,
|
||||
:ref:`Malaysia <malaysia/employment-hero>`,
|
||||
:ref:`New Zealand <new-zealand/employment-hero>`,
|
||||
:ref:`Singapore <singapore/employment-hero>`,
|
||||
and the :ref:`United Kingdom <united-kingdom/employment-hero>`.
|
||||
|
||||
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
|
||||
|
||||
.. image:: employment_hero/employment-hero-business-id.png
|
||||
:alt: The Employment Hero "Business ID" number is in the URL
|
||||
|
||||
- You can choose any Odoo journal to post the payslip entries.
|
||||
|
||||
How does the API work?
|
||||
----------------------
|
||||
|
||||
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
|
||||
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
|
||||
the same record in Employment Hero and Odoo.
|
||||
|
||||
.. image:: employment_hero/employment-hero-journal-entry.png
|
||||
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
|
||||
|
||||
By default, the synchronisation happens once per week. You can fetch the records manually by going
|
||||
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
|
||||
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
|
||||
|
||||
Employment Hero payslip entries also work based on double-entry bookkeeping.
|
||||
|
||||
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
|
||||
|
||||
.. image:: employment_hero/employment-hero-chart-of-accounts.png
|
||||
:alt: Chart of Accounts menu in Employment Hero
|
||||
|
||||
For the API to work, you need to create the same accounts as the default accounts of your Employment
|
||||
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
|
||||
types in Odoo to generate accurate financial reports.
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -126,3 +126,59 @@ Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur
|
||||
|
||||
.. image:: indonesia/indonesia-e-faktur-reset.png
|
||||
:align: center
|
||||
|
||||
.. _localization_indonesia/qris-qr:
|
||||
|
||||
QRIS QR code on invoices
|
||||
========================
|
||||
|
||||
`QRIS <https://qris.online/homepage/>`_ is a digital payment system that allows customers to make
|
||||
payments by scanning the QR code from their preferred e-wallet.
|
||||
|
||||
.. important::
|
||||
According to the `QRIS API documentation <https://qris.online/api-doc/create-invoice.php>`_,
|
||||
QRIS expires after 30 minutes. Due to this restriction, the QR code is not included in reports
|
||||
sent to customers and is only available on the customer portal.
|
||||
|
||||
Activate QR codes
|
||||
-----------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
|
||||
Payments` section, activate the :guilabel:`QR Codes` feature.
|
||||
|
||||
QRIS bank account configuration
|
||||
-------------------------------
|
||||
|
||||
Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for
|
||||
which you want to activate QRIS. Set the :guilabel:`QRIS API Key` and :guilabel:`QRIS Merchant ID`
|
||||
based on the information provided by QRIS.
|
||||
|
||||
.. important::
|
||||
The account holder's country must be set to `Indonesia` on its contact form.
|
||||
|
||||
.. image:: indonesia/qris-setup.png
|
||||
:alt: QRIS bank account configuration
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/bank`
|
||||
|
||||
Bank journal configuration
|
||||
--------------------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill
|
||||
out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab.
|
||||
|
||||
.. image:: indonesia/journal-bank-config.png
|
||||
:alt: Bank journal configuration
|
||||
|
||||
Issue invoices with QRIS QR codes
|
||||
---------------------------------
|
||||
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
|
||||
QR-code` option to `QRIS`.
|
||||
|
||||
.. image:: indonesia/invoice-qris.png
|
||||
:alt: Select QRIS QR-code option
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the QRIS QR code.
|
||||
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,15 @@
|
||||
========
|
||||
Malaysia
|
||||
========
|
||||
|
||||
.. _malaysia/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Malaysia**, use
|
||||
the following value as :guilabel:`Payroll URL`: `https://apimy.yourpayroll.io/`.
|
||||
@@ -0,0 +1,15 @@
|
||||
===========
|
||||
New Zealand
|
||||
===========
|
||||
|
||||
.. _new-zealand/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **New Zealand**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://api.nzpayroll.co.nz/`.
|
||||
@@ -2,11 +2,6 @@
|
||||
Peru
|
||||
====
|
||||
|
||||
.. |SUNAT| replace:: :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`
|
||||
.. |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)`
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
@@ -83,8 +78,6 @@ The chart of accounts for Peru is based on the most updated version of the :abbr
|
||||
Contable General Empresarial)`, which is grouped in several categories and is compatible with NIIF
|
||||
accounting.
|
||||
|
||||
.. _peru/accounting-settings:
|
||||
|
||||
Accounting Settings
|
||||
-------------------
|
||||
|
||||
@@ -246,8 +239,6 @@ directly to its services and get the currency rate either automatically or manua
|
||||
Please refer to the next section in our documentation for more information about
|
||||
:doc:`multicurrencies <../accounting/get_started/multi_currency>`.
|
||||
|
||||
.. _peru/master_data:
|
||||
|
||||
Configure Master data
|
||||
---------------------
|
||||
|
||||
@@ -597,276 +588,3 @@ As part of the Peruvian localization, besides creating credit notes from an exis
|
||||
you can also create debit Notes. For this just use the button “Add Debit Note”.
|
||||
|
||||
By default the Debit Note is set in the document type.
|
||||
|
||||
.. _peru/edg:
|
||||
|
||||
Electronic delivery guide 2.0
|
||||
-----------------------------
|
||||
|
||||
The *Guía de Remisión Electrónica* (GRE) is an electronic document generated by the shipper to
|
||||
support the transportation or transfer of goods from one place to another, such as a warehouse or
|
||||
establishment. In Odoo, there are several configuration steps needed before you can successfully use
|
||||
this feature.
|
||||
|
||||
The use of the *guía de remisión electrónica* electronic document is mandatory and required by
|
||||
|SUNAT| for taxpayers who need to transfer their products, except those under the *Single Simplified
|
||||
Regime* (régimen único simplificado or RUS).
|
||||
|
||||
Delivery guide types
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Sender
|
||||
******
|
||||
|
||||
The *Sender* delivery guide type is issued when a sale is made, a service is rendered (including
|
||||
processing), goods are assigned for use, or goods are transferred between premises of the same
|
||||
company and others.
|
||||
|
||||
This delivery guide is issued by the owner of the goods (i.e., the sender) at the beginning of the
|
||||
shipment. The sender delivery guide is supported in Odoo.
|
||||
|
||||
.. seealso::
|
||||
`SUNAT guía de remisión <https://www.gob.pe/7899-guia-de-remision>`_
|
||||
|
||||
Carrier
|
||||
*******
|
||||
|
||||
The *Carrier* delivery guide type justifies the transportation service the driver (or carrier)
|
||||
performs.
|
||||
|
||||
This delivery guide is issued by the carrier and must be issued to each shipper when the shipment
|
||||
goes through public transport.
|
||||
|
||||
.. important::
|
||||
The carrier delivery guide is **not** supported in Odoo.
|
||||
|
||||
.. seealso::
|
||||
`SUNAT guía de remisión transportista
|
||||
<https://tefacturo.pe/blog/sunat/guia-de-remision-electronica/guia-de-remision-transportista/>`_
|
||||
|
||||
Transportation types
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Private
|
||||
*******
|
||||
|
||||
The *Private* transportation type option is used when the owner transfers goods using their own
|
||||
vehicles. In this case, a sender's delivery guide must be issued.
|
||||
|
||||
Public
|
||||
******
|
||||
|
||||
The *Public* transportation type option is used when an external carrier moves the goods. In
|
||||
this case, two delivery guides must be issued: the sender's delivery guide and the carrier's
|
||||
delivery guide.
|
||||
|
||||
Direct submission to SUNAT
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The creation of the |GRE| delivery guide in Odoo **must** be sent directly to the |SUNAT|,
|
||||
regardless of the electronic document provider: IAP, Digiflow, or |SUNAT|.
|
||||
|
||||
Required information
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 2.0 of the electronic delivery guide requires additional information on the general
|
||||
configuration, vehicles, contacts, and products. In the general configuration, it is necessary to
|
||||
add new credentials that you can retrieve from the |SUNAT| portal.
|
||||
|
||||
Cancellations
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
**Both** the sender and the carrier can cancel the electronic waybill as long as the following
|
||||
conditions are met:
|
||||
|
||||
- The shipment has not been initiated.
|
||||
- If the shipment has been initiated, the receiver **must** be changed before reaching the final
|
||||
destination.
|
||||
|
||||
.. important::
|
||||
The |SUNAT| no longer uses the term "Anula", but now uses the term "Dar de baja" for
|
||||
cancellations.
|
||||
|
||||
Testing
|
||||
~~~~~~~
|
||||
|
||||
The |SUNAT| does not support a test environment. This means that any delivery guides that were
|
||||
generated by mistake **will** be sent to the |SUNAT|.
|
||||
|
||||
If, by mistake, the waybill was created in this environment, it is necessary to delete it from the
|
||||
|SUNAT| portal.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. important::
|
||||
- Electronic sender's |GRE| is currently the only supported type of waybill in Odoo.
|
||||
- The delivery guide is dependent on the Odoo *Inventory* app, the :guilabel:`l10n_pe_edi` and
|
||||
:guilabel:`l10n_pe` modules.
|
||||
- A second user **must** be added for the creation of electronic documents.
|
||||
|
||||
After following the steps to configure the :ref:`electronic invoicing <peru/accounting-settings>`
|
||||
and the :ref:`master data <peru/master_data>`, :ref:`install <general/install>` the
|
||||
:guilabel:`Peruvian - Electronic Delivery Note 2.0` module (`l10n_pe_edi_stock_20`).
|
||||
|
||||
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>`_.
|
||||
|
||||
.. 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`.
|
||||
|
||||
.. image:: peru/gre-fields-example.png
|
||||
:alt: Example for the SUNAT Delivery Guide API section configuration.
|
||||
|
||||
.. note::
|
||||
It is required to follow the format `RUC + UsuarioSol` (e.g., `20557912879SOLUSER`) for the
|
||||
:guilabel:`Guide SOL User` field, depending on the user selected when generating the |GRE| API
|
||||
credentials in the |SUNAT| portal.
|
||||
|
||||
Operator
|
||||
********
|
||||
|
||||
The *operator* is the vehicle's driver in cases where the delivery guide is through *private*
|
||||
transport.
|
||||
|
||||
To create a new operator, navigate to :menuselection:`Contacts --> Create` and fill out the contact
|
||||
information.
|
||||
|
||||
First, select :guilabel:`Individual` as the :guilabel:`Company Type`. Then, add the
|
||||
:guilabel:`Operator License` in the :guilabel:`Accounting` tab of the contact form.
|
||||
|
||||
For the customer address, make sure the following fields are complete:
|
||||
|
||||
- :guilabel:`District`
|
||||
- :guilabel:`Tax ID` (:guilabel:`DNI`/:guilabel:`RUC`)
|
||||
- :guilabel:`Tax ID Number`
|
||||
|
||||
.. image:: peru/operator-configuration.png
|
||||
:alt: Individual type operator configurations in the Contact form.
|
||||
|
||||
Carrier
|
||||
*******
|
||||
|
||||
The *carrier* is used when the delivery guide is through *public* transport.
|
||||
|
||||
To create a new carrier, navigate to :menuselection:`Contacts --> Create` and fill out the contact
|
||||
information.
|
||||
|
||||
First, select :guilabel:`Company` as the :guilabel:`Company Type`. Then, add the :guilabel:`MTC
|
||||
Registration Number`, :guilabel:`Authorization Issuing Entity`, and the :guilabel:`Authorization
|
||||
Number`.
|
||||
|
||||
For the company address, make sure the following fields are complete:
|
||||
|
||||
- :guilabel:`District`
|
||||
- :guilabel:`Tax ID` (:guilabel:`DNI`/:guilabel:`RUC`)
|
||||
- :guilabel:`Tax ID Number`
|
||||
|
||||
.. image:: peru/company-operator-configuration.png
|
||||
:alt: Company type operator configurations in the Contact form.
|
||||
|
||||
Vehicles
|
||||
********
|
||||
|
||||
To configure the available vehicles, navigate to :menuselection:`Inventory --> Configuration -->
|
||||
Vehicles` and fill in the vehicle form with the information needed for the vehicle:
|
||||
|
||||
- :guilabel:`Vehicle Name`
|
||||
- :guilabel:`License Plate`
|
||||
- :guilabel:`Is M1 or L?`
|
||||
- :guilabel:`Special Authorization Issuing Entity`
|
||||
- :guilabel:`Authorization Number`
|
||||
- :guilabel:`Default Operator`
|
||||
- :guilabel:`Company`
|
||||
|
||||
.. important::
|
||||
It is important to check the :guilabel:`Is M1 or L?` checkbox if the vehicle has fewer than four
|
||||
wheels or fewer than eight seats.
|
||||
|
||||
.. image:: peru/vehicle-not-m1-or-l-pe.png
|
||||
:alt: Vehicle not selected as an M1 or L type with extra fields shown.
|
||||
|
||||
Products
|
||||
********
|
||||
|
||||
To configure the available products, navigate to :menuselection:`Inventory --> Products` and open
|
||||
the product to be configured.
|
||||
|
||||
Make sure that the applicable information in the product form is fully configured. The
|
||||
:guilabel:`Partida Arancelaria` (Tariff Item) field needs to be completed.
|
||||
|
||||
Generating a GRE
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Once the delivery from inventory is created during the sales workflow, make sure you complete the
|
||||
|GRE| fields on the top-right section of the transfer form for the fields:
|
||||
|
||||
- :guilabel:`Transport Type`
|
||||
- :guilabel:`Reason for Transfer`
|
||||
- :guilabel:`Departure start date`
|
||||
|
||||
It is also required to complete the :guilabel:`Vehicle` and :guilabel:`Operator` fields under the
|
||||
:guilabel:`Guia de Remision PE` tab.
|
||||
|
||||
The delivery transfer has to be marked as *Done* for the :guilabel:`Generar Guia de Remision` button
|
||||
to appear on the left menu of the transfer form.
|
||||
|
||||
.. image:: peru/generate-gre-transferview.png
|
||||
:alt: Generar Guia de Remision button on a transfer form in the Done stage.
|
||||
|
||||
Once the transfer form is correctly validated by |SUNAT|, the generated XML file becomes available
|
||||
in the chatter. You can now print the delivery slip that shows the transfer details and the QR
|
||||
code validated by |SUNAT|.
|
||||
|
||||
.. image:: peru/gre-delivery-slip.png
|
||||
:alt: Transfer details and QR code on generated delivery slip.
|
||||
|
||||
Common errors
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- `Diferente prefijo para productos (T001 en algunos, T002 en otros)`
|
||||
|
||||
At the moment, Odoo does not support the automation of prefixes for products. This can be done
|
||||
manually for each product output. This can also be done for non-storable products. However, keep
|
||||
in mind that there will be no traceability.
|
||||
- `2325 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo"
|
||||
"Peso"" en el producto`
|
||||
|
||||
This error occurs when the weight on the product is set as `0.00`. To fix this, you need to cancel
|
||||
the waybill and recreate it. Make sure that you fix the weight on the product before creating the
|
||||
new waybill, or it will result in the same error.
|
||||
- `JSONDecodeError: Expecting value: line 1 column 1 (char 0) when creating a Delivery Guide`
|
||||
|
||||
This error is typically generated due to SOL user issues. Verify the user's connection with the
|
||||
|SUNAT|; the SOL user must be established with the company RUT + user ID. For example
|
||||
`2012188549JOHNSMITH`.
|
||||
- `El número de documento relacionado al traslado de mercancía no cumple con el formato establecido:
|
||||
error: documento relacionado`
|
||||
|
||||
The *Related Document Type* and *Related Document Number* fields only apply to invoices and
|
||||
receipts.
|
||||
- `400 Client error: Bad Request for URL`
|
||||
|
||||
This error is not solvable from Odoo; it is advised you reach out to the |SUNAT| and verify the
|
||||
user. It may be necessary to create a new user.
|
||||
|
||||
- `Invalid content was found starting with element 'cac:BuyerCustomerParty'`
|
||||
|
||||
This error occurs when the transfer reason is set as *other*. Please select another option.
|
||||
Following to the official documentation of the |SUNAT|'s waybill guide, the transfer reasons *03
|
||||
(sale with shipment to third party)* or *12 (others)* does not work in Odoo, since you should not
|
||||
have an empty or blank customer.
|
||||
- `Duda cliente: consumo de créditos IAP al usar GRE 2.0`
|
||||
|
||||
For live clients using IAP, no credit is consumed (in theory) because it does not go through the
|
||||
OSE, i.e., these documents are directly sent to the |SUNAT|.
|
||||
- `Errores con formato credenciales GRE 2.0 (traceback error)`
|
||||
|
||||
Odoo currently throws an error with a traceback instead of a message that the credentials are not
|
||||
correctly configured in the database. If this occurs on your database, please verify your
|
||||
credentials.
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -52,3 +52,16 @@ QR-code` option to *EMV Merchant-Presented QR-code*.
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the PayNow QR code.
|
||||
|
||||
.. _singapore/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Singapore**,
|
||||
use the following value as :guilabel:`Payroll URL`: `https://apisg.yourpayroll.io/`.
|
||||
|
||||
|
||||
@@ -2,164 +2,34 @@
|
||||
Spain
|
||||
=====
|
||||
|
||||
Configuration
|
||||
=============
|
||||
Spanish chart of accounts
|
||||
=========================
|
||||
|
||||
Install the 🇪🇸 **Spanish** :doc:`fiscal localization package <../fiscal_localizations>` to get all
|
||||
the default accounting features of the Spanish localization.
|
||||
Several Spanish charts of accounts are available by default in Odoo:
|
||||
|
||||
Three **Spanish** localizations exist, each with its own pre-configured **PGCE** charts of accounts:
|
||||
- PGCE PYMEs 2008
|
||||
- PGCE Completo 2008
|
||||
- PGCE Entitades
|
||||
|
||||
- Spain - SMEs (2008);
|
||||
- Spain - Complete (2008);
|
||||
- Spain - Non-profit entities (2008).
|
||||
To choose the one you want, go to :menuselection:`Accounting --> Configuration --> Settings`,
|
||||
then select a package in the :guilabel:`Fiscal localization` section.
|
||||
|
||||
To select the one to use, go to :menuselection:`Accounting --> Configuration --> Settings` and
|
||||
select a package in the :guilabel:`Fiscal Localization` section.
|
||||
.. tip::
|
||||
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
|
||||
|
||||
.. warning::
|
||||
You can only change the accounting package as long as you have not created any accounting entry.
|
||||
|
||||
Chart of accounts
|
||||
=================
|
||||
Spanish accounting reports
|
||||
==========================
|
||||
|
||||
You can reach the **Chart of Accounts** by going to :menuselection:`Accounting --> Configuration -->
|
||||
Accounting: Chart of Accounts`.
|
||||
If the Spanish accounting localization is installed, you have access to accounting reports specific
|
||||
to Spain:
|
||||
|
||||
.. tip::
|
||||
When you create a new Odoo Online database, **Spain - SMEs (2008)** is installed by default.
|
||||
|
||||
Taxes
|
||||
=====
|
||||
|
||||
Default Spain-specific taxes are created automatically when the
|
||||
:guilabel:`Spanish - Accounting (PGCE 2008) (l10n_es)` module is installed, and tax reports are
|
||||
available when installing the module :guilabel:`Spain - Accounting (PGCE 2008) (l10n_es_reports)`.
|
||||
Each tax impacts the Spain-specific **tax reports (Modelo)**, available by going to
|
||||
:menuselection:`Accounting --> Reporting --> Statements Reports: Tax Report`.
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
Here is the list of Spanish-specific statement reports available:
|
||||
|
||||
- Balance Sheet;
|
||||
- Profit & Loss;
|
||||
- EC Sales List;
|
||||
- Tax Report (Modelo 111);
|
||||
- Tax Report (Modelo 115);
|
||||
- Tax Report (Modelo 303);
|
||||
- Tax Report (Modelo 347);
|
||||
- Tax Report (Modelo 349);
|
||||
- Tax Report (Modelo 390).
|
||||
|
||||
You can access Spain-specific tax reports by clicking on the **book** icon when on a report and
|
||||
selecting its Spain-specific version: :guilabel:`(ES)`.
|
||||
|
||||
.. image:: spain/modelo-reports.png
|
||||
:alt: Spain-specific tax reports.
|
||||
|
||||
TicketBAI
|
||||
=========
|
||||
|
||||
`Ticket BAI <https://www.gipuzkoa.eus/es/web/ogasuna/ticketbai>`_ or **TBAI** is an e-Invoicing
|
||||
system used by the Basque government and its three provincial councils (Álava, Biscay, and
|
||||
Gipuzkoa).
|
||||
|
||||
Odoo supports the **TicketBAI (TBAI)** electronic invoicing format for all three regions of the
|
||||
**Basque Country**. To enable **TicketBAI**, set your company's :guilabel:`Country` and
|
||||
:guilabel:`Tax ID` under :menuselection:`Settings --> General Settings` in the :guilabel:`Companies`
|
||||
section.
|
||||
|
||||
Then, :ref:`install <general/install>` the module :guilabel:`Spain -TicketBAI (l10n_es_edi_TBAI)`,
|
||||
go to :menuselection:`Accounting --> Configuration --> Settings`, and select a **region** in the
|
||||
:guilabel:`Spain Localization` section's :guilabel:`Tax Agency for TBAI` field.
|
||||
|
||||
Once a region is selected, click :guilabel:`Manage certificates (SII/TicketBAI)`, then click
|
||||
:guilabel:`New`, upload the certificate, and enter the password provided by the tax agency.
|
||||
|
||||
.. warning::
|
||||
If you are testing certificates, enable :guilabel:`Test Mode` in the
|
||||
:guilabel:`Spain Localization` section, which can be found under :guilabel:`Accounting` in
|
||||
the **Settings** app.
|
||||
|
||||
Use case
|
||||
--------
|
||||
|
||||
Once an invoice has been :doc:`created <../../finance/accounting/customer_invoices>` and confirmed,
|
||||
a TicketBAI **banner** appears at the top.
|
||||
|
||||
.. image:: spain/ticketbai-invoice.png
|
||||
:alt: TicketBAI banner at the top of the invoice once sent.
|
||||
|
||||
Odoo sends invoices through TicketBAI automatically every **24 hours**. However, you can click
|
||||
:guilabel:`Process now` to send the invoice immediately.
|
||||
|
||||
When the invoice is **sent**, the status of the field :guilabel:`Electronic Invoice` changes to
|
||||
:guilabel:`Sent`, and the XML file can be found in the **chatter**. Under the
|
||||
:guilabel:`EDI Documents` tab, you can see the traceability of other generated documents related to
|
||||
the invoice (e.g., if the invoice should also be sent through the **SII**, it will appear here).
|
||||
|
||||
.. note::
|
||||
The TBAI **QR code** is displayed on the invoice PDF.
|
||||
|
||||
.. image:: spain/qr-code.png
|
||||
:alt: QR code of the TicketBAI on the invoice.
|
||||
|
||||
FACe
|
||||
====
|
||||
|
||||
`FACe <https://face.gob.es/en>`_ is the e-Invoicing platform used by the public administrations in
|
||||
Spain to send electronic invoices.
|
||||
|
||||
Before configuring the :abbr:`FACe (General Entrance for Electronic Invoices)` system,
|
||||
: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.
|
||||
|
||||
Use case
|
||||
--------
|
||||
|
||||
Once you have :doc:`created <../../finance/accounting/customer_invoices>` an invoice and confirmed
|
||||
it, click :guilabel:`Send & Print`. Make sure :guilabel:`Generate Facturae edi file` is enabled, and
|
||||
click :guilabel:`Send & Print` again. Once the invoice is sent, the generated XML file is available
|
||||
in the **chatter**.
|
||||
|
||||
.. warning::
|
||||
The file is **NOT** automatically sent. You have to send it yourself manually.
|
||||
|
||||
.. tip::
|
||||
You can send **FACe** XML files in batch through `the governmental portal <https://www.facturae.gob.es/formato/Paginas/descarga-aplicacion-escritorio.aspx>`_.
|
||||
|
||||
Administrative centers
|
||||
----------------------
|
||||
|
||||
In order for **FACe** to work with **administrative centers**, the invoice *must* include specific
|
||||
data about the centers.
|
||||
|
||||
.. note::
|
||||
Make sure to have the :guilabel:`Spain - Facturae EDI - Administrative Centers Patch
|
||||
(l10n_es_edi_facturae_adm_centers)` module :ref:`installed <general/install>`.
|
||||
|
||||
To add **administrative centers**, create a new **contact** to add to the **partner** company.
|
||||
Select :guilabel:`FACe Center` as the **type**, assign one or more **role(s)** to that contact, and
|
||||
:guilabel:`Save`. The **three** roles usually required are:
|
||||
|
||||
- Órgano gestor: :guilabel:`Receptor` (Receiver);
|
||||
- Unidad tramitadora: :guilabel:`Pagador` (Payer);
|
||||
- Oficina contable: :guilabel:`Fiscal` (Fiscal).
|
||||
|
||||
.. image:: spain/administrative-center.png
|
||||
:alt: Administrative center contact form for public entities.
|
||||
|
||||
.. tip::
|
||||
- If administrative centers need different :guilabel:`Codes` per role, you *must* create
|
||||
different centers for each role.
|
||||
- When an electronic invoice is created using a partner with **administrative centers**, *all*
|
||||
administrative centers are included in the invoice.
|
||||
- You can add one contact with multiple roles or multiple contacts with a different role each.
|
||||
- Balance Sheet
|
||||
- Tax Report (Modelo 111)
|
||||
- Tax Report (Modelo 115)
|
||||
- Tax Report (Modelo 303)
|
||||
- Tax Report (Modelo 347)
|
||||
- Tax Report (Modelo 349)
|
||||
- Tax Report (Modelo 390)
|
||||
|
||||
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
@@ -90,6 +90,9 @@ Go to :menuselection:`Accounting --> Reporting --> Tax report` and click on
|
||||
:guilabel:`Connect to HMRC`. Enter your company information on the HMRC platform. You only need to
|
||||
do it once.
|
||||
|
||||
.. Note::
|
||||
When entering your VAT number, do not add the GB country code. Only the 9 digits are required.
|
||||
|
||||
Periodic submission to HMRC
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -115,3 +118,15 @@ each submission:
|
||||
.. note::
|
||||
During this process, the :guilabel:`Connect to HMRC` button no longer appears for other UK-based
|
||||
companies.
|
||||
|
||||
.. _united-kingdom/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
=======================
|
||||
|
||||
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
|
||||
use our connector as an alternative payroll solution.
|
||||
|
||||
.. important::
|
||||
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **United
|
||||
Kingdom**, use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.co.uk/`.
|
||||
|
||||
@@ -2,114 +2,101 @@
|
||||
Stripe
|
||||
======
|
||||
|
||||
`Stripe <https://stripe.com/>`_ is a United States-based online payment solution provider allowing
|
||||
`Stripe <https://stripe.com/>`_ is a United States-based online payment solution provider, allowing
|
||||
businesses to accept **credit cards** and other payment methods.
|
||||
|
||||
Create your Stripe account with Odoo
|
||||
====================================
|
||||
Link your Stripe Account with Odoo
|
||||
==================================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
|
||||
The method to acquire your credentials depends on your hosting type:
|
||||
|
||||
.. tabs::
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
#. :ref:`Navigate to the payment provider Stripe <payment_providers/supported_providers>` and
|
||||
click :guilabel:`Connect Stripe`.
|
||||
#. Go through the setup process and confirm your email address when Stripe sends you a
|
||||
confirmation email.
|
||||
#. At the end of the process, click :guilabel:`Agree and submit`. If all requested information
|
||||
has been submitted, you are then redirected to Odoo, and your payment provider is enabled.
|
||||
#. Go to the **eCommerce** or the **Sales** app and click on the *Activate Stripe* or the *Set
|
||||
payments* button on the onboarding banner.
|
||||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to Odoo. If you submitted all the requested
|
||||
information, you are all set and your payment provider is enabled.
|
||||
|
||||
.. tip::
|
||||
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
|
||||
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
|
||||
credentials <stripe/api_keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
|
||||
payment provider.
|
||||
|
||||
.. group-tab:: Odoo.sh or On-premise
|
||||
|
||||
#. :ref:`Navigate to the payment provider Stripe <payment_providers/supported_providers>` and
|
||||
click :guilabel:`Connect Stripe`.
|
||||
#. Go through the setup process and confirm your email address when Stripe sends you a
|
||||
confirmation email.
|
||||
#. At the end of the process, click :guilabel:`Agree and submit`; you are then redirected to
|
||||
the payment provider **Stripe** in Odoo.
|
||||
#. Go to the **eCommerce** or the **Sales** app and click on the *Activate Stripe* or the *Set
|
||||
payments* button on the onboarding banner.
|
||||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to the payment provider **Stripe** on Odoo.
|
||||
#. :ref:`Fill in your credentials <stripe/api_keys>`.
|
||||
#. :ref:`Generate a webhook <stripe/webhook>`.
|
||||
#. Set the :guilabel:`State` field to :guilabel:`Enabled`.
|
||||
#. Enable the payment provider.
|
||||
|
||||
.. tip::
|
||||
- To use an existing Stripe account, :ref:`activate the Developer mode <developer-mode>` and
|
||||
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
|
||||
credentials <stripe/api_keys>`, :ref:`generate a webhook <stripe/webhook>`, and enable the
|
||||
payment provider.
|
||||
- You can also test Stripe using the :ref:`payment_providers/test-mode`. To do so, first,
|
||||
`log into your Stripe dashboard <https://dashboard.stripe.com/dashboard>`_ and switch to the
|
||||
**Test mode**. Then, in Odoo, :ref:`activate the Developer mode <developer-mode>`,
|
||||
:ref:`navigate to the payment provider Stripe <payment_providers/supported_providers>`,
|
||||
:ref:`fill in your API credentials <stripe/api_keys>` with the test keys, and set the
|
||||
:guilabel:`State` field to :guilabel:`Test Mode`.
|
||||
To connect your Stripe account after the onboarding is already completed, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers --> Stripe` and click on the
|
||||
*Connect Stripe* button.
|
||||
|
||||
.. important::
|
||||
If you are testing Stripe (in **test mode**), change the **State** to *Test Mode*. We recommend
|
||||
doing this on a test Odoo database rather than on your main database.
|
||||
|
||||
.. _stripe/api_keys:
|
||||
|
||||
Fill in your credentials
|
||||
------------------------
|
||||
|
||||
If your **API credentials** are required to connect with your Stripe account, proceed as follows:
|
||||
In case your **API Credentials** are required to connect with your Stripe account, these are the
|
||||
credentials that must be completed:
|
||||
|
||||
#. Go to `the API keys page on Stripe <https://dashboard.stripe.com/account/apikeys>`_, or log into
|
||||
your Stripe dashboard and go to :menuselection:`Developers --> API Keys`.
|
||||
#. In the :guilabel:`Standard keys` section, copy the :guilabel:`Publishable key` and the
|
||||
:guilabel:`Secret key` and save them for later.
|
||||
#. In Odoo, :ref:`navigate to the payment provider Stripe <payment_providers/supported_providers>`.
|
||||
#. In the :guilabel:`Credentials` tab, fill in the :guilabel:`Publishable Key` and
|
||||
:guilabel:`Secret Key` fields with the values you previously saved.
|
||||
- :ref:`Publishable Key <stripe/api_keys>`: The key solely used to identify the account with Stripe.
|
||||
- :ref:`Secret Key <stripe/api_keys>`: The key to sign the merchant account with Stripe.
|
||||
- :ref:`Webhook Signing Secret <stripe/webhook>`: When you enable your webhook on your Stripe
|
||||
account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo.
|
||||
|
||||
To retrieve the publishable and secret keys, follow this `link to your API keys
|
||||
<https://dashboard.stripe.com/account/apikeys>`_, or log into your Stripe dashboard and go to
|
||||
:menuselection:`Developers --> API Keys --> Standard Keys`.
|
||||
|
||||
.. _stripe/webhook:
|
||||
|
||||
Generate a webhook
|
||||
------------------
|
||||
|
||||
If your **Webhook Signing Secret** is required to connect with your Stripe account, you can create a
|
||||
webhook automatically or manually.
|
||||
In case your **Webhook Signing Secret** is required to connect with your Stripe account, you can
|
||||
create a webhook either automatically or manually.
|
||||
|
||||
.. tabs::
|
||||
.. tab:: Create the webhook automatically
|
||||
|
||||
Make sure your :ref:`Publishable and Secret keys <stripe/api_keys>` are filled in, then click
|
||||
:guilabel:`Generate your webhook`.
|
||||
on the *Generate your Webhook* button.
|
||||
|
||||
.. tab:: Create the webhook manually
|
||||
|
||||
#. Go to the `Webhooks page on Stripe <https://dashboard.stripe.com/webhooks>`_, or log into
|
||||
your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`.
|
||||
#. In the :guilabel:`Hosted endpoints` section, click :guilabel:`Add endpoint`. Then, in the
|
||||
:guilabel:`Endpoint URL` field, enter your Odoo database's URL, followed by
|
||||
`/payment/stripe/webhook`, e.g., `https://yourcompany.odoo.com/payment/stripe/webhook`.
|
||||
#. Click :guilabel:`Select events` at the bottom of the form, then select the following
|
||||
events:
|
||||
Visit the `webhooks page on Stripe <https://dashboard.stripe.com/webhooks>`_, or log into your
|
||||
Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on **Add
|
||||
endpoint** in your **Hosted endpoints** and insert the following data into the pop-up form:
|
||||
|
||||
- in the :guilabel:`Charge` section: :guilabel:`charge.refunded` and
|
||||
:guilabel:`charge.refund.updated`;
|
||||
- in the :guilabel:`Payment intent` section:
|
||||
:guilabel:`payment_intent.amount_capturable_updated`,
|
||||
:guilabel:`payment_intent.payment_failed`, :guilabel:`payment_intent.processing`, and
|
||||
:guilabel:`payment_intent.succeeded`;
|
||||
- in the :guilabel:`Setup intent` section: :guilabel:`setup_intent.succeeded`.
|
||||
- | In the **Endpoint URL**, enter your Odoo database's URL followed by
|
||||
| `/payment/stripe/webhook`.
|
||||
| For example: `https://yourcompany.odoo.com/payment/stripe/webhook`
|
||||
- At the end of the form, you can **Select events** to listen to. Click on it and, in the
|
||||
**Checkout** section, select **checkout.session.completed**.
|
||||
|
||||
#. Click :guilabel:`Add events`.
|
||||
#. Click :guilabel:`Add endpoint`, then click :guilabel:`Reveal` and save your
|
||||
:guilabel:`Signing secret` for later.
|
||||
#. In Odoo, :ref:`navigate to the payment provider Stripe
|
||||
<payment_providers/supported_providers>`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Webhook Signing Secret` field with
|
||||
the value you previously saved.
|
||||
.. note::
|
||||
It is possible to select other events, but they are currently not processed by Odoo.
|
||||
|
||||
.. note::
|
||||
You can select other events, but they are currently not processed by Odoo.
|
||||
|
||||
Enable Apple Pay
|
||||
================
|
||||
|
||||
To allow customers to use the Apple Pay button to pay their eCommerce orders, go to the
|
||||
:guilabel:`Configuration` tab, enable :guilabel:`Allow Express Checkout`, and click
|
||||
:guilabel:`Enable Apple Pay`.
|
||||
When you click on **Add endpoint**, your Webhook is configured. You can then click on
|
||||
**reveal** to display your signing secret.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Express checkout and Google Pay <payment_providers/express_checkout>`
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`Use Stripe as a payment terminal in Point of Sale <../../sales/point_of_sale/payment_methods/terminals/stripe>`
|
||||
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -12,7 +12,6 @@ Miscellaneous
|
||||
general/reporting
|
||||
general/email_communication
|
||||
general/voip
|
||||
general/geolocation
|
||||
general/digest_emails
|
||||
general/in_app_purchase
|
||||
general/developer_mode
|
||||
|
||||
@@ -2,54 +2,43 @@
|
||||
Sign in with LDAP
|
||||
=================
|
||||
|
||||
- Install the Lightweight Directory Access Protocol (LDAP) module in General Settings.
|
||||
- Install the LDAP module in General Settings.
|
||||
|
||||
- Click on **Create** in Setup the :abbr:`LDAP (Lightweight Directory Access Protocol)` Server.
|
||||
- Click on **Create** in Setup your LDAP Server.
|
||||
|
||||
.. image:: ldap/ldap01.png
|
||||
:align: center
|
||||
:alt: LDAP Authentication checkbox highlighted in the integrations settings on Odoo.
|
||||
|
||||
.. image:: ldap/ldap02.png
|
||||
:align: center
|
||||
:alt: Create highlighted in the LDAP server settings.
|
||||
|
||||
- Choose the company using the LDAP.
|
||||
- Choose the company about to use the LDAP.
|
||||
|
||||
.. image:: ldap/ldap03.png
|
||||
:align: center
|
||||
:alt: Select the company drop-down menu highlighted in LDAP setup.
|
||||
|
||||
- In **Server Information**, enter the IP address of the server and the port it listens to.
|
||||
- In **Server Information**, enter the IP address of your server and the port it listens to.
|
||||
|
||||
- Tick **Use TLS** if the server is compatible.
|
||||
- Tick **User TLS** if your server is compatible.
|
||||
|
||||
.. image:: ldap/ldap04.png
|
||||
:align: center
|
||||
:alt: LDAP server settings highlighted in LDAP server setup on Odoo.
|
||||
|
||||
- In **Login Information**, enter ID and password of the account used to query the server. If left
|
||||
empty, the server queries anonymously.
|
||||
- In **Login Information**, enter ID and password of the account used to query the server. If left empty, the server will be queried anonymously.
|
||||
|
||||
.. image:: ldap/ldap05.png
|
||||
:align: center
|
||||
:alt: Login information highlighted in LDAP server setup on Odoo.
|
||||
|
||||
- In **Process Parameter**, enter the domain name of the LDAP server in :abbr:`LDAP (Lightweight
|
||||
Directory Access Protocol)` nomenclature (e.g. ``dc=example,dc=com``).
|
||||
- In **Process Parameter**, enter the domain name of your LDAP server in LDAP nomenclature (e.g. ``dc=example,dc=com``).
|
||||
|
||||
- In **LDAP filter**, enter ``uid=%s``
|
||||
|
||||
.. image:: ldap/ldap06.png
|
||||
:align: center
|
||||
:alt: Process parameter highlighted in LDAP server setup on Odoo.
|
||||
|
||||
- In **User Information**, tick *Create User* if Odoo should create a User profile the first time
|
||||
someone logs in with :abbr:`LDAP (Lightweight Directory Access Protocol)`.
|
||||
- In **User Information**, tick *Create User* if you want Odoo to create a User profile the first time someone log in with LDAP.
|
||||
|
||||
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin
|
||||
profile will be used as template.
|
||||
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin profile will be used as template.
|
||||
|
||||
.. image:: ldap/ldap07.png
|
||||
:align: center
|
||||
:alt: User information highlighted on LDAP server setup on Odoo.
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
.. _communication/emails_servers:
|
||||
|
||||
====================================================
|
||||
Send and receive emails in Odoo with an email server
|
||||
====================================================
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
===========
|
||||
Geolocation
|
||||
===========
|
||||
|
||||
You can locate contacts or places and generate routes on a map in Odoo.
|
||||
|
||||
.. image:: geolocation/contacts.png
|
||||
:alt: Map displaying a contact's location.
|
||||
|
||||
To use the feature, open the :guilabel:`Settings` app, and, under the :guilabel:`Integrations`,
|
||||
section, activate :guilabel:`Geo Localization`. Then, choose between using the OpenStreetMap or
|
||||
Google Places API.
|
||||
|
||||
**OpenStreetMap**
|
||||
|
||||
OpenStreetMap is a free, open geographic database updated and maintained by volunteers. To use it,
|
||||
select :guilabel:`Open Street Map`.
|
||||
|
||||
.. important::
|
||||
OpenStreetMap might not always be accurate. You can `join the OpenStreetMap community
|
||||
<https://www.openstreetmap.org/fixthemap>`_ to fix any issues encountered.
|
||||
|
||||
**Google Places API map**
|
||||
|
||||
The Google Places API map provides detailed info on places, businesses, and points of interest. It
|
||||
supports location-based features like search, navigation, and recommendations.
|
||||
|
||||
.. important::
|
||||
Using the Google Places API could require `payment to Google
|
||||
<https://mapsplatform.google.com/pricing/>`_.
|
||||
|
||||
To use it, select :guilabel:`Google Place Map` and enter your :ref:`API Key
|
||||
<address_autocomplete/generate_api_key>`.
|
||||
|
||||
.. image:: geolocation/google-places-api-key.png
|
||||
:alt: Google Places API key
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../applications/websites/website/configuration/address_autocomplete`
|
||||
|
Before Width: | Height: | Size: 385 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
@@ -1,20 +1,11 @@
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
:nosearch:
|
||||
|
||||
===================================
|
||||
VoIP (Voice over Internet Protocol)
|
||||
===================================
|
||||
|
||||
.. seealso::
|
||||
For more information, reference the `Odoo eLearning (video tutorials) on VoIP
|
||||
<https://www.odoo.com/slides/voip-voice-over-ip-315>`_
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
voip/onsip
|
||||
voip/axivox
|
||||
voip/voip_widget
|
||||
voip/devices_integrations
|
||||
voip/transfer_forward
|
||||
|
||||
@@ -1,17 +1,85 @@
|
||||
:nosearch:
|
||||
=====================================
|
||||
Use VoIP services in Odoo with Axivox
|
||||
=====================================
|
||||
|
||||
====================
|
||||
Axivox configuration
|
||||
====================
|
||||
Introduction
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
Odoo VoIP can be set up to work together with `Axivox <https://www.axivox.com/>`_. In that case, an
|
||||
Asterisk server is not necessary as the infrastructure, as it is hosted and managed by Axivox.
|
||||
|
||||
axivox/axivox_config
|
||||
axivox/manage_users
|
||||
axivox/vm_audio_messages
|
||||
axivox/dynamic_caller_id
|
||||
axivox/conference_calls
|
||||
axivox/dial_plan_basics
|
||||
axivox/dial_plan_advanced
|
||||
axivox/call_queues
|
||||
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
|
||||
doing so, verify that Axivox covers your area and the areas you wish to call.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Go to :menuselection:`Apps` and install the **VoIP Module**.
|
||||
|
||||
.. image:: axivox/voip-installation.png
|
||||
:align: center
|
||||
:alt: VoIP module installation on an Odoo database
|
||||
|
||||
Go to :menuselection:`Settings --> General Settings --> Integrations`, and fill out the **Asterisk
|
||||
(VoIP)** field:
|
||||
|
||||
- **PBX Server IP**: set the domain created by Axivox for your account (e.g.,
|
||||
*yourcompany.axivox.com*)
|
||||
- **WebSocket**: type in ``wss://pabx.axivox.com:3443``
|
||||
- **VoIP Environment**: set as *Production*
|
||||
|
||||
.. image:: axivox/voip-configuration.png
|
||||
:align: center
|
||||
:alt: Integration of Axivox as VoIP provider in an Odoo database
|
||||
|
||||
Configure the VOIP user in the Odoo's user
|
||||
------------------------------------------
|
||||
|
||||
Go to :menuselection:`Settings --> Users & Companies --> Users`, then open the user's form you want
|
||||
to configure. Under the **Preferences** tab, fill out the section **PBX Configuration**:
|
||||
|
||||
- **SIP Login / Browser's Extension**: the Axivox *username*
|
||||
- **SIP Password**: the Axivox *SIP Password*
|
||||
|
||||
.. image:: axivox/odoo-user.png
|
||||
:align: center
|
||||
:alt: Integration of Axivox user in the Odoo user preference
|
||||
|
||||
.. note::
|
||||
You can find all this information by logging in at https://manage.axivox.com/, selecting the user
|
||||
you want to configure, and referring to the fields as pictured below.
|
||||
|
||||
.. image:: axivox/manager-sip.png
|
||||
:align: center
|
||||
:alt: SIP credentials in the Axivox manager
|
||||
|
||||
Phone Calls
|
||||
===========
|
||||
|
||||
You can make phone calls by clicking on the phone icon in the navigation bar.
|
||||
|
||||
You can also receive phone calls. Odoo rings and displays a notification.
|
||||
|
||||
.. note::
|
||||
Your number is the one provided by Axivox.
|
||||
|
||||
.. image:: axivox/incoming-call.png
|
||||
:align: center
|
||||
:alt: Incoming VoIP call in Odoo
|
||||
|
||||
.. tip::
|
||||
If you see a *Missing Parameter* message in the **Odoo softphone**, refresh your Odoo window and
|
||||
try again.
|
||||
|
||||
.. image:: axivox/missing-parameter.png
|
||||
:align: center
|
||||
:alt: "Missing Parameter" error message in the Odoo softphone
|
||||
|
||||
.. tip::
|
||||
If you see an *Incorrect Number* message in the Odoo softphone, make sure to use the
|
||||
international format, leading with the plus (+) sign followed by the international country code.
|
||||
E.g., +16506913277 (where +1 is the international prefix for the United States).
|
||||
|
||||
.. image:: axivox/incorrect-number.png
|
||||
:align: center
|
||||
:alt: "Incorrect Number" error message in the Odoo softphone
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
=================================
|
||||
VoIP services in Odoo with Axivox
|
||||
=================================
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Odoo VoIP (Voice over Internet Protocol) can be set up to work together with `Axivox
|
||||
<https://www.axivox.com/>`_. In that case, an Asterisk server is **not** necessary, as the
|
||||
infrastructure is hosted and managed by Axivox.
|
||||
|
||||
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
|
||||
doing so, verify that Axivox covers the company's area, along with the areas the company's users
|
||||
wish to call.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure Axivox in Odoo, go to the :menuselection:`Apps` application, and search for `VoIP`.
|
||||
Then, install the :guilabel:`VoIP` module.
|
||||
|
||||
Next, go to :menuselection:`Settings app --> General Settings --> Integrations section`, and fill
|
||||
out the :guilabel:`Asterisk (VoIP)` field:
|
||||
|
||||
- :guilabel:`OnSIP Domain`: set the domain created by Axivox for the account (e.g.,
|
||||
`yourcompany.axivox.com`)
|
||||
- :guilabel:`WebSocket`: type in `wss://pabx.axivox.com:3443`
|
||||
- :guilabel:`VoIP Environment`: set as :guilabel:`Production`
|
||||
|
||||
.. image:: axivox_config/voip-configuration.png
|
||||
:align: center
|
||||
:alt: Integration of Axivox as VoIP provider in an Odoo database.
|
||||
|
||||
.. tip::
|
||||
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
|
||||
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
|
||||
Edit (next to any user) --> SIP Identifiers tab --> Domain`.
|
||||
|
||||
Configure VoIP user in Odoo
|
||||
---------------------------
|
||||
|
||||
Next, the user is configured in Odoo, which **must** take place for every Axivox/Odoo user using
|
||||
VoIP.
|
||||
|
||||
In Odoo, go to :menuselection:`Settings app --> Users & Companies --> Users`, then open the desired
|
||||
user's form to configure :abbr:`VoIP (Voice over Internet Protocol)`. Under the
|
||||
:guilabel:`Preferences` tab, fill out the :guilabel:`VOIP Configuration` section:
|
||||
|
||||
- :guilabel:`VoIP username` / :guilabel:`Extension number`: (Axivox) :guilabel:`SIP username`
|
||||
- :guilabel:`OnSip Auth Username`: (Axivox) :guilabel:`SIP username`
|
||||
- :guilabel:`VoIP Secret`: (Axivox) :guilabel:`SIP Password`
|
||||
- :guilabel:`Call from another device`: option to always transfer phone calls to handset
|
||||
- :guilabel:`External device number`: SIP external phone extension
|
||||
- :guilabel:`Reject incoming calls`: option to reject all incoming calls
|
||||
- :guilabel:`How to place calls on mobile`: method to make calls on a mobile device
|
||||
|
||||
.. image:: axivox_config/odoo-user.png
|
||||
:align: center
|
||||
:alt: Integration of Axivox user in the Odoo user preference.
|
||||
|
||||
.. tip::
|
||||
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
|
||||
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
|
||||
Edit (next to the user) --> SIP Identifiers tab --> SIP username / SIP password`.
|
||||
|
||||
.. image:: axivox_config/manager-sip.png
|
||||
:align: center
|
||||
:alt: SIP credentials in the Axivox manager.
|
||||
|
||||
.. important::
|
||||
When entering the :guilabel:`SIP Password` into the user's :guilabel:`Preferences` tab, this
|
||||
value **must** be typed out manually and **not** pasted in. Pasting in causes a `401 server
|
||||
rejection error`.
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
@@ -1,245 +0,0 @@
|
||||
===========
|
||||
Call queues
|
||||
===========
|
||||
|
||||
A call queue is a system that organizes and routes incoming calls. When customers call a business,
|
||||
and all of the agents are busy, the call queue lines up the callers in sequential order, based on
|
||||
the time they called in.
|
||||
|
||||
The callers then wait on hold to be connected to the next available call center agent.
|
||||
|
||||
Implementing a call queue system reduces stress for employees, and helps build brand trust with
|
||||
customers. Many companies use call queues to set expectations with customers, and to distribute the
|
||||
workload equally amongst employees.
|
||||
|
||||
This document covers the process required to configure call queues (with advanced settings), as well
|
||||
as how to log into a call queue from the Odoo database.
|
||||
|
||||
.. seealso::
|
||||
:ref:`voip/axivox/music_on_hold`
|
||||
|
||||
Add a queue
|
||||
===========
|
||||
|
||||
To add a call queue in Axivox, navigate to the `Axivox management console
|
||||
<https://manage.axivox.com>`_. In the left menu, click :guilabel:`Queues`. Next, click
|
||||
:guilabel:`Add a queue`. Doing so reveals a blank :guilabel:`New queue` form with various fields to
|
||||
fill out.
|
||||
|
||||
Name
|
||||
----
|
||||
|
||||
Once the :guilabel:`New queue` page appears, enter the :guilabel:`Name` of the queue.
|
||||
|
||||
Internal extension
|
||||
------------------
|
||||
|
||||
Choose an :guilabel:`Internal extension` for the queue. This is a number to be dialed by users of
|
||||
the database to reach the login prompt for the queue.
|
||||
|
||||
Strategy
|
||||
--------
|
||||
|
||||
Next, is the :guilabel:`Strategy` field. This field determines the call routing of received calls
|
||||
into this queue.
|
||||
|
||||
The following choices are available in the :guilabel:`Strategy` drop-down menu:
|
||||
|
||||
- :guilabel:`Call all available agents`
|
||||
- :guilabel:`Calls the agent who has received the call for the longest time`
|
||||
- :guilabel:`Calls the agent who has received the least call`
|
||||
- :guilabel:`Call a random agent`
|
||||
- :guilabel:`Call agents one after the other`
|
||||
- :guilabel:`Call agents one after the other starting with the first in the list`
|
||||
|
||||
Choose a strategy that best meets the company's needs for customers in the queue.
|
||||
|
||||
Maximum waiting time in seconds
|
||||
-------------------------------
|
||||
|
||||
In the :guilabel:`Maximum waiting time in seconds` field, determine the longest time a customer
|
||||
waits in the queue before going to a voicemail, or wherever else they are directed to in a dial
|
||||
plan. Enter a time in seconds.
|
||||
|
||||
Maximum duration of ringing at an agent
|
||||
---------------------------------------
|
||||
|
||||
In the :guilabel:`Maximum duration of ringing at an agent` field, determine the longest time an
|
||||
individual agent's line rings before moving on to another agent, or moving to the next step in the
|
||||
dial plan. Enter a time in seconds.
|
||||
|
||||
.. seealso::
|
||||
For more information on dial plans, visit:
|
||||
|
||||
- :doc:`dial_plan_basics`
|
||||
- :doc:`dial_plan_advanced`
|
||||
|
||||
Adding agents
|
||||
-------------
|
||||
|
||||
The final two fields on the :guilabel:`New queue` form revolve around adding agents. Adding
|
||||
:guilabel:`Static agents` and :guilabel:`Dynamic agents` are two pre-configured methods for adding
|
||||
agents onto the call queue during the configuration.
|
||||
|
||||
.. _voip/axivox/static-agents:
|
||||
|
||||
Static agents
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
When :guilabel:`Static agents` are added, these agents are automatically added to the queue without
|
||||
the need to log in to receive calls.
|
||||
|
||||
.. _voip/axivox/dynamic-agents:
|
||||
|
||||
Dynamic agents
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
When :guilabel:`Dynamic agents` are added, these agents have the ability to log into this queue.
|
||||
They are **not** logged-in automatically, and **must** log in to receive calls.
|
||||
|
||||
Be sure to :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
|
||||
corner to implement the change in production.
|
||||
|
||||
Agent connection
|
||||
================
|
||||
|
||||
There are three ways call agents can connect to an Axivox call queue:
|
||||
|
||||
#. Dynamic agents connect automatically.
|
||||
#. Manager logs in specific agent(s), via the `Axivox management console
|
||||
<https://manage.axivox.com>`_.
|
||||
#. Agent connects to the queue in Odoo, via the *VoIP* widget.
|
||||
|
||||
.. seealso::
|
||||
See the documentation on setting :ref:`voip/axivox/dynamic-agents` in the `Axivox management
|
||||
console <https://manage.axivox.com>`_.
|
||||
|
||||
Connect via Axivox queue
|
||||
------------------------
|
||||
|
||||
After the initial configuration of the call queue is completed, with the changes saved and
|
||||
implemented, a manager can log into the `Axivox management console <https://manage.axivox.com>`_ and
|
||||
connect dynamic agents to the queue manually.
|
||||
|
||||
To connect an agent, click :guilabel:`Queues`, located in the left-hand column. Doing so reveals the
|
||||
:guilabel:`Queues` dashboard, with a few different columns listed:
|
||||
|
||||
- :guilabel:`Name`: name of the queue.
|
||||
- :guilabel:`Extension`: number of the extension to be dialed to reach the queue.
|
||||
- :guilabel:`Agent Connection`: number to dial to log into the queue.
|
||||
- :guilabel:`Agent disconnection`: number to dial to log out of the queue.
|
||||
- :guilabel:`Connected Agents`: name of agent connected to the queue.
|
||||
|
||||
The following buttons are also available on the :guilabel:`Queues` dashboard:
|
||||
|
||||
- :guilabel:`Connect an agent`: manually connect an agent to the queue.
|
||||
- :guilabel:`Report`: run a report on the queue.
|
||||
- :guilabel:`Delete`: delete the queue.
|
||||
- :guilabel:`Edit`: make changes to the settings of the queue.
|
||||
|
||||
When agents are connected to the queue, or are live with a customer, they are displayed under the
|
||||
:guilabel:`Connected Agents` column.
|
||||
|
||||
If they are static agents, they **always** show up as connected.
|
||||
|
||||
Connect an agent by clicking the orange button labeled, :guilabel:`Connect an agent`. Then, select
|
||||
the desired agent's name from the drop-down menu, and click :guilabel:`Connect`.
|
||||
|
||||
.. image:: call_queues/call-queue.png
|
||||
:align: center
|
||||
:alt: Call queue with connected agents column highlighted and connect an agent and report buttons
|
||||
highlighted.
|
||||
|
||||
.. seealso::
|
||||
For more information on static and dynamic agents, see this documentation:
|
||||
|
||||
- :ref:`voip/axivox/static-agents`
|
||||
- :ref:`voip/axivox/dynamic-agents`
|
||||
|
||||
Report
|
||||
~~~~~~
|
||||
|
||||
Click :guilabel:`Report` to check on the reporting for a particular queue, in order to see who
|
||||
connected when, and what phone calls came in and out of the queue. This information is showcased on
|
||||
a separate :guilabel:`Queue report` page, when the green :guilabel:`Report` button is clicked.
|
||||
|
||||
Reports can be customized by date in the :guilabel:`Period` field, and specified in the
|
||||
:guilabel:`From` and :guilabel:`to` fields. The information can be organized by :guilabel:`Event
|
||||
type`, and :guilabel:`Call ID`.
|
||||
|
||||
When the custom configurations have been entered, click :guilabel:`Apply`.
|
||||
|
||||
Each report can be exported to a :abbr:`CSV (comma separated value)` file for further use and
|
||||
analysis, via the :guilabel:`Export to CSV` button.
|
||||
|
||||
When the :guilabel:`Event type` field is clicked, a drop-down menu appears with the following
|
||||
options:
|
||||
|
||||
- :guilabel:`The caller quit`
|
||||
- :guilabel:`An agent is connecting`
|
||||
- :guilabel:`An agent is disconnecting`
|
||||
- :guilabel:`The call was terminated (agent hangs up)`
|
||||
- :guilabel:`The call was terminated (caller hangs up)`
|
||||
- :guilabel:`The caller is connected to an agent.`
|
||||
- :guilabel:`Someone is entering the queue`
|
||||
- :guilabel:`The caller exits the queue (no agent is connected)`
|
||||
- :guilabel:`The caller exits the queue (timeout)`
|
||||
- :guilabel:`No one is answering`
|
||||
- :guilabel:`No one is answering, the caller hangs up`
|
||||
- :guilabel:`Transfer`
|
||||
- :guilabel:`Blind Transfer`
|
||||
|
||||
.. image:: call_queues/event-type.png
|
||||
:align: center
|
||||
:alt: Event types in the Axivox queue reporting feature.
|
||||
|
||||
There is no limit to how many options can be selected from the :guilabel:`Event type` drop-down
|
||||
menu.
|
||||
|
||||
Clicking :guilabel:`Check all` selects all the available options from the drop-down menu, and
|
||||
clicking :guilabel:`Uncheck all` removes all selections from the drop-down menu.
|
||||
|
||||
To select an individual :guilabel:`Event type`, click on the desired option in the drop-down menu.
|
||||
|
||||
.. image:: call_queues/report.png
|
||||
:align: center
|
||||
:alt: Axivox queue report with result, event type, and period highlighted.
|
||||
|
||||
Connect to queue on Odoo
|
||||
------------------------
|
||||
|
||||
Dynamic agents can connect manually to the Axivox call queue from the Odoo *VoIP* widget, once the
|
||||
*VoIP* app is configured for the individual user in Odoo.
|
||||
|
||||
.. seealso::
|
||||
:doc:`axivox_config`
|
||||
|
||||
To access the Odoo *VoIP* widget, click the :guilabel:`☎️ (phone)` icon in the upper-right corner of
|
||||
the screen, from any window within Odoo.
|
||||
|
||||
.. seealso::
|
||||
For more information on the Odoo *VoIP* widget, see this documentation: :doc:`../voip_widget`
|
||||
|
||||
For an agent to connect to the call queue, simply dial the :guilabel:`Agent connection` number, and
|
||||
press the green call button :guilabel:`📞 (phone)` icon in the *VoIP* widget. Then, the agent hears
|
||||
a short, two-second message indicating the agent is logged in. The call automatically ends
|
||||
(disconnects).
|
||||
|
||||
To view the connected agents in a call queue, navigate to the `Axivox management console
|
||||
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column.
|
||||
|
||||
Then, click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents`
|
||||
column. Any agent (static or dynamic) that is connected to the queue currently, appears in the
|
||||
column next to the queue they are logged into.
|
||||
|
||||
To log out of the queue, open the Odoo *VoIP* widget, dial the :guilabel:`Agent disconnection`
|
||||
number, and press the green call button :guilabel:`📞 (phone)` icon. The agent is disconnected from
|
||||
the queue after a short, two-second message.
|
||||
|
||||
To manually log a dynamic agent out of a call queue, navigate to the `Axivox management console
|
||||
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column. Then,
|
||||
click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents` column.
|
||||
|
||||
To disconnect an agent manually, click the red :guilabel:`Disconnect` button, and they are
|
||||
immediately disconnected. This can be helpful in situations where agents forget to log out at the
|
||||
end of the day.
|
||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB |
@@ -1,98 +0,0 @@
|
||||
================
|
||||
Conference calls
|
||||
================
|
||||
|
||||
Conference calls help employees connect quickly and efficiently, so matters can be discussed in an
|
||||
open forum of sorts. Attendees can be limited, via a sign-in code. That way, confidential matters
|
||||
stay private.
|
||||
|
||||
This document covers the configuration of conference calls in Axivox for use in Odoo *VoIP*.
|
||||
|
||||
Add a virtual conference
|
||||
========================
|
||||
|
||||
To add a virtual conference room, navigate to the `Axivox management console
|
||||
<https://manage.axivox.com>`_. After logging in, click on :guilabel:`Conferences` in the menu on the
|
||||
left.
|
||||
|
||||
Next, click the green button labeled, :guilabel:`Add a conference`, and a :guilabel:`New conference`
|
||||
form appears.
|
||||
|
||||
.. image:: conference_calls/new-conference.png
|
||||
:align: center
|
||||
:alt: New conference form on Axivox.
|
||||
|
||||
From here, fill in the :guilabel:`Name` field, and set an :guilabel:`Internal extension`.
|
||||
|
||||
The internal extension is what everyone in the network uses to quickly dial into the conference
|
||||
call, instead of typing in the whole phone number.
|
||||
|
||||
.. tip::
|
||||
Pick a number between three and five digits long, making it easy to remember and dial.
|
||||
|
||||
Next, set the :guilabel:`Access code`, if the conference room requires security. This is a password
|
||||
to get into the conference, once the extension for the conference is dialed. Immediately after
|
||||
dialing the extension, a digital receptionist prompts for the :guilabel:`Access code`.
|
||||
|
||||
In the :guilabel:`Administrator extension` field, click the drop-down menu, and select the user's
|
||||
extension that manages the call.
|
||||
|
||||
Finally, in the :guilabel:`Wait for the administrator to start the conference` field, click the
|
||||
drop-down menu, and select :guilabel:`Yes` or :guilabel:`No`.
|
||||
|
||||
Should the selection be :guilabel:`Yes`, then nobody is allowed to utilize the virtual conference
|
||||
room until the administrator is present, and logged into the conference call.
|
||||
|
||||
When all fields are filled in, be sure to :guilabel:`Save` the configuration. Then, click
|
||||
:guilabel:`Apply changes` in the upper-right corner to implement the change in production.
|
||||
|
||||
Upon doing so, the conference is added, and the Axivox administrator has the option to
|
||||
:guilabel:`Delete` or :guilabel:`Edit` the conference from the Axivox :guilabel:`Conference` main
|
||||
dashboard.
|
||||
|
||||
To invite an Axivox user to a specific conference call, click :guilabel:`Invite` to the right of the
|
||||
desired conference, and proceed to enter the extension or phone number of the invitee in the pop-up
|
||||
window that appears.
|
||||
|
||||
Once the extension or number is added into the :guilabel:`Please enter the phone number of the
|
||||
person you want to invite` field, click the green :guilabel:`Invite` button, and the recipient
|
||||
immediately receives a phone call, automatically linking them to the conference.
|
||||
|
||||
.. image:: conference_calls/conference-invite.png
|
||||
:align: center
|
||||
:alt: New conference form on Axivox.
|
||||
|
||||
Incoming numbers
|
||||
================
|
||||
|
||||
To open a conference to a wider audience, an Axivox conference can be linked to *Incoming numbers*.
|
||||
|
||||
To do that, log into the `Axivox management console <https://manage.axivox.com>`_, and click
|
||||
:guilabel:`Incoming numbers` in the menu on the left.
|
||||
|
||||
On the :guilabel:`Incoming numbers` dashboard, click :guilabel:`Edit` to the far-right of the
|
||||
:guilabel:`Number` to which the conference should be attached.
|
||||
|
||||
Then, under the first field, labeled, :guilabel:`Destination type for voice call`, click the
|
||||
drop-down menu, and select :guilabel:`Conference`.
|
||||
|
||||
Next, in the :guilabel:`Conference` field, click the drop-down menu, and select the specific
|
||||
conference that should be attached to this incoming number.
|
||||
|
||||
Now, whenever this incoming number is dialed, the caller is let into the conference, if there is not
|
||||
an :guilabel:`Access code` required. If there *is* an :guilabel:`Access code` required, the caller
|
||||
is then prompted to enter the :guilabel:`Access code` to enter the conference.
|
||||
|
||||
Start call in Odoo
|
||||
==================
|
||||
|
||||
Anywhere in the Odoo database, open the *VoIP* widget, by clicking the :guilabel:`☎️ (phone)` icon,
|
||||
located in the upper-right corner. Then, dial the specific extension number for the conference, and
|
||||
click the :guilabel:`📞 (phone)` icon.
|
||||
|
||||
.. image:: conference_calls/phone-widget.png
|
||||
:align: center
|
||||
:alt: Connecting to a conference extension using the Odoo VoIP widget.
|
||||
|
||||
Once the digital receptionist answers, enter the :guilabel:`Access code` (if needed), and press the
|
||||
:guilabel:`# (pound)` icon/key.
|
||||
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,411 +0,0 @@
|
||||
===================
|
||||
Advanced dial plans
|
||||
===================
|
||||
|
||||
Typically, companies have a lot of incoming calls every day, but many do not want their teams to
|
||||
answer calls 24 hours a day, 7 days a week.
|
||||
|
||||
By using Axivox advanced dial plan features, the process can be automated, and routing can be set up
|
||||
for all scenarios. This way, customers are never left waiting, or frustrated, because they cannot
|
||||
get in touch with anyone.
|
||||
|
||||
By utilizing the advanced elements in dial plans, companies can automate call routing for certain
|
||||
days or times, like company holidays. Companies can also allow callers to enter extensions
|
||||
themselves, and get transferred automatically using a digital receptionist. This way, an
|
||||
administrative team does **not** have to be available around the clock.
|
||||
|
||||
There is even the option to route callers, depending on where they are calling from in the world,
|
||||
thus maximizing efficiency.
|
||||
|
||||
.. important::
|
||||
For more information on basic dial plans, and how to add elements, visit :doc:`dial_plan_basics`.
|
||||
|
||||
.. warning::
|
||||
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do
|
||||
**not** use a translator with the Axivox management console.
|
||||
|
||||
Advanced elements
|
||||
=================
|
||||
|
||||
In Axivox dial plans (as described in :doc:`dial_plan_basics`), there are two advanced elements that
|
||||
can be used.
|
||||
|
||||
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
|
||||
settings).
|
||||
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
|
||||
|
||||
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
|
||||
the left side of the `Axivox management console <https://manage.axivox.com>`_.
|
||||
|
||||
Next, click on the :guilabel:`Visual Editor` button to the right of the desired dial plan to edit
|
||||
it. Finally, open the :guilabel:`New element` drop-down menu, select the element, and click
|
||||
:guilabel:`Add`.
|
||||
|
||||
.. image:: dial_plan_advanced/visual-editor.png
|
||||
:align: center
|
||||
:alt: Visual editor for a dial plan in Axivox, with Add and the dispatcher element highlighted.
|
||||
|
||||
For more information, visit :ref:`voip/axivox/dial_plans`.
|
||||
|
||||
.. important::
|
||||
The :guilabel:`Record` element records calls that are routed through this element, and requires
|
||||
an additional plan change in Axivox.
|
||||
|
||||
To enable recording on Axivox, navigate to :guilabel:`Settings` in the `Axivox management console
|
||||
<https://manage.axivox.com>`_. Then, go to the :guilabel:`Recording` drop-down menu, near the bottom
|
||||
of the page. From there, select :guilabel:`Enabled` from the drop-down menu to enable recording
|
||||
using the :guilabel:`Record` element in a dial plan.
|
||||
|
||||
.. tip::
|
||||
If the :guilabel:`Recording` drop-down menu is unavailable and unable to change, then consult
|
||||
Axivox to enable the feature.
|
||||
|
||||
The :guilabel:`Caller ID` element allows for the replacement of the caller ID downstream, after
|
||||
routing.
|
||||
|
||||
Upon adding the :guilabel:`Caller ID` element to the dial plan, and double-clicking it to configure
|
||||
it, two options appear.
|
||||
|
||||
The first is a :guilabel:`Free text` field, where any text can be input to replace the caller ID.
|
||||
The second option is :guilabel:`Replace the caller ID by the called number`. This option replaces
|
||||
the caller's ID with the :guilabel:`Incoming number`.
|
||||
|
||||
.. tip::
|
||||
A company may want to use the :guilabel:`Caller ID` element to replace the :guilabel:`Incoming
|
||||
number`, so employees, or outside transfers, cannot see the number, and information is kept
|
||||
private.
|
||||
|
||||
Basic routing elements
|
||||
======================
|
||||
|
||||
Basic routing elements in Axivox dial plans provide extension-based routing. This can be done by
|
||||
adding either a *Menu* to numerically link the dial-by-numbers to an action, or by using a *Digital
|
||||
Receptionist* to automatically route or listen for an extension, based on a key input from the
|
||||
caller.
|
||||
|
||||
The main difference between the two elements is that the *Digital Receptionist* does **not** need to
|
||||
be pre-configured numerically with actions. Instead, it acts as a virtual receptionist.
|
||||
|
||||
- :guilabel:`Menu`: add a dial-by-number directory and configured downstream actions (not
|
||||
terminal). For example, a dial-by-numbers function could feature an element, wherein clicking '2'
|
||||
takes the caller to the element linked to '2' on the Menu element in the dial plan.
|
||||
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions.
|
||||
|
||||
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
|
||||
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
|
||||
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
|
||||
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`.
|
||||
|
||||
For more information, visit :ref:`voip/axivox/dial_plans`.
|
||||
|
||||
Digital receptionist scenario
|
||||
-----------------------------
|
||||
|
||||
The *Digital Receptionist* element is a listen-feature that accurately routes callers through a dial
|
||||
plan, based on the extension they enter, via the key pad.
|
||||
|
||||
Set a *Digital Receptionist* to eliminate the need of a team, or live receptionist, to be on-call
|
||||
all the time. With that element in place, calls now reach their destination, without a real person
|
||||
interjecting.
|
||||
|
||||
After adding the :guilabel:`Digital Receptionist` element to a dial plan, connect the appropriate
|
||||
endpoints, and double-click on the element to set the :guilabel:`Timeout` on the
|
||||
:guilabel:`receptionist` pop-up window that appears.
|
||||
|
||||
The :guilabel:`Timeout` can be set in `5` second increments, from `5` seconds to `60` seconds.
|
||||
|
||||
.. important::
|
||||
The :guilabel:`Digital Receptionist` element **requires** a :guilabel:`Play a file` element on
|
||||
either side of it, to explain what action to take, and when a wrong extension is entered.
|
||||
|
||||
.. example::
|
||||
While customizing a dial plan in a :guilabel:`Dialplan Editor` pop-up window, add a
|
||||
:guilabel:`Menu` element, with a :guilabel:`Greeting message` that might read, `Press star to
|
||||
dial an extension`.
|
||||
|
||||
Then, on the :guilabel:`Menu` element, for the :guilabel:`* (star)` option, link a
|
||||
:guilabel:`Play a file` element, that plays an :guilabel:`Audio message` saying, 'Enter the
|
||||
extension of the person you are trying to reach'.
|
||||
|
||||
Following the first :guilabel:`Play a file` element, add the :guilabel:`Digital Receptionist`
|
||||
element, followed by another :guilabel:`Play a file` element, which states, 'That is not a valid
|
||||
extension'.
|
||||
|
||||
This last element is in place to close the loop, should the caller not enter a correct extension.
|
||||
|
||||
Finally, this last :guilabel:`Play a file` element is looped back into the :guilabel:`Menu`
|
||||
element.
|
||||
|
||||
.. image:: dial_plan_advanced/receptionist.png
|
||||
:align: center
|
||||
:alt: A digital receptionist element highlighted in an example dial plan.
|
||||
|
||||
.. important::
|
||||
Dial plan elements can be configured by double-clicking them, and selecting different features
|
||||
of the Axivox console to them.
|
||||
|
||||
For example, an :guilabel:`Audio message` needs to be made, and then selected in a
|
||||
:guilabel:`Play a file` or :guilabel:`Menu` element.
|
||||
|
||||
For more information, see this documentation :ref:`voip/axivox/audio_messages`.
|
||||
|
||||
Advanced routing elements
|
||||
=========================
|
||||
|
||||
Advanced routing elements route calls automatically as they are received into the incoming
|
||||
number(s). This can be configured using geo-location, whitelisting, or time-based variables. Calls
|
||||
pass through a filter prior to their final destination, and are routed, based on the set
|
||||
variable(s).
|
||||
|
||||
The following are advanced routing elements:
|
||||
|
||||
- :guilabel:`Dispatcher`: create a call filter to route traffic, based on the geo-location of the
|
||||
caller ID.
|
||||
- :guilabel:`Access List`: create a tailored access list, with VIP customer preference.
|
||||
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
|
||||
other sensitive time-frames.
|
||||
|
||||
.. tip::
|
||||
Whitelisting is a technical term used to create a list of allowed numbers. Conversely,
|
||||
blacklisting is used to create a list of denied numbers.
|
||||
|
||||
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
|
||||
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
|
||||
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
|
||||
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`. For more
|
||||
information, visit :ref:`voip/axivox/dial_plans`.
|
||||
|
||||
Dispatcher scenario
|
||||
-------------------
|
||||
|
||||
A *Dispatcher* element is a dial plan feature that directs calls, based on region or geo-location.
|
||||
In most cases, the :guilabel:`Dispatcher` element in a dial plan is linked to the :guilabel:`Start`
|
||||
element, in order to filter or screen calls as they come into an incoming number.
|
||||
|
||||
Double-click the :guilabel:`Dispatcher` element in the :guilabel:`Dialplan Editor` pop-up window to
|
||||
configure it.
|
||||
|
||||
This element checks numbers (routed through this element), according to regular expressions. To add
|
||||
a regular expression, click :guilabel:`Add a line` on the bottom of the :guilabel:`Dispatcher`
|
||||
pop-up window.
|
||||
|
||||
Then, under :guilabel:`Name`, enter a recognizable name to identify this expression. This is the
|
||||
name that appears in the :guilabel:`Dispatcher` element on the dial plan showcased in the
|
||||
:guilabel:`Dialplan Editor` pop-up window.
|
||||
|
||||
In the :guilabel:`Regular expression` field, enter the country code, or area code, which Axivox
|
||||
should route for incoming calls. This is especially helpful when a company would like to filter
|
||||
their customers to certain queues, or users based on the customer's geo-location.
|
||||
|
||||
To specify all numbers behind a certain country code, or area code, include `\d+` after the country
|
||||
code, or country code + area code.
|
||||
|
||||
.. image:: dial_plan_advanced/dispatcher.png
|
||||
:align: center
|
||||
:alt: Dispatcher configuration panel, with name, regular expression and add a line highlighted.
|
||||
|
||||
.. example::
|
||||
- `02\\d+`: validates the numbers starting with `02`
|
||||
- `00\\d+`: validates all numbers beginning with `00`
|
||||
- `0052\\d+` validates all numbers beginning with `0052` (Mexico country code)
|
||||
- `001716\\d+`: validates all numbers beginning with `001716` (USA country code + Western New York
|
||||
area code)
|
||||
|
||||
.. tip::
|
||||
A regular expression (shortened to "regex" or "regexp"), sometimes referred to as a "rational
|
||||
expression," is a sequence of characters that specifies a match pattern in text. In other words,
|
||||
a match is made within the given range of numbers.
|
||||
|
||||
When the desired configurations are complete on the :guilabel:`Dispatcher` pop-up window, be sure to
|
||||
click :guilabel:`Save`.
|
||||
|
||||
Upon doing so, the :guilabel:`Dispatcher` element appears with different routes available to
|
||||
configure, based on the :guilabel:`Regular Expressions` that were set.
|
||||
|
||||
Attach these routes to any :guilabel:`New element` in the :guilabel:`Dialplan Editor` pop-up window.
|
||||
|
||||
By default, there is an :guilabel:`Unknown` path that appears on the :guilabel:`Dispatcher` element
|
||||
after setting at least one :guilabel:`Regular Expression`.
|
||||
|
||||
Calls follow this route/path when their number does not match any :guilabel:`Regular Expression` set
|
||||
on the :guilabel:`Dispatcher` element.
|
||||
|
||||
.. image:: dial_plan_advanced/dispatcher-element.png
|
||||
:align: center
|
||||
:alt: Dial plan with dispatcher element highlighted.
|
||||
|
||||
Time condition scenario
|
||||
-----------------------
|
||||
|
||||
When a :guilabel:`Time Condition` element is added to a dial plan, it has a simple :guilabel:`True`
|
||||
and :guilabel:`False` routing.
|
||||
|
||||
After adding the :guilabel:`Time Condition` element to a dial plan, double-click it to configure the
|
||||
variables. :guilabel:`Hour/Minute`, :guilabel:`Days of the week`, :guilabel:`Day of the month`, and
|
||||
:guilabel:`Month` can all be configured.
|
||||
|
||||
If the time which the caller contacts the incoming number matches the set time conditions, then the
|
||||
:guilabel:`True` path is followed, otherwise the :guilabel:`False` path is followed.
|
||||
|
||||
.. example::
|
||||
For a company that is closed yearly for the American Independence Day holiday (July 4th) the
|
||||
following time conditions should be set:
|
||||
|
||||
- :guilabel:`Hour/Minute` - `0:0 to 23:59`
|
||||
- :guilabel:`Day of the week` - `All to All`
|
||||
- :guilabel:`Day of the month` - `From 4 to 4`
|
||||
- :guilabel:`Month` - `July`
|
||||
|
||||
The :guilabel:`Time Condition` element is especially useful for holidays, weekends, and to set
|
||||
working hours. When a caller reaches a destination where they can be helped, either with a real
|
||||
person or voicemail, this reduces wasted time and hangups.
|
||||
|
||||
.. image:: dial_plan_advanced/time-condition.png
|
||||
:align: center
|
||||
:alt: Time condition element set in a dial plan on Axivox. Time condition is highlighted.
|
||||
|
||||
.. important::
|
||||
To set the :guilabel:`Timezone` that the :guilabel:`Time Condition` operates under, navigate to
|
||||
`Axivox management console <https://manage.axivox.com>`_, and click :guilabel:`Settings` in the
|
||||
menu on the left. Then, set the :guilabel:`Timezone` using the second field from the bottom, by
|
||||
clicking the drop-down menu.
|
||||
|
||||
Access list scenario
|
||||
--------------------
|
||||
|
||||
An *Access List* element in a dial plan allows for the routing of certain numbers, and disallows
|
||||
(denies) other numbers.
|
||||
|
||||
After adding an :guilabel:`Access List` element to a dial plan, it can be configured by
|
||||
double-clicking on the element directly in the :guilabel:`Dialplan Editor` pop-up window.
|
||||
|
||||
Two fields appear where regular expressions can based in the :guilabel:`Allow` and :guilabel:`Deny`
|
||||
fields of the :guilabel:`Access List` pop-up window.
|
||||
|
||||
.. example::
|
||||
For a very important customer, their number can be set in the :guilabel:`Allow` field, and these
|
||||
callers can be sent directly to management.
|
||||
|
||||
.. tip::
|
||||
A regular expression (shortened to "regex" or "regexp"), sometimes also referred to as a
|
||||
"rational expression," is a sequence of characters that specifies a match pattern in text.
|
||||
|
||||
.. image:: dial_plan_advanced/access-config.png
|
||||
:align: center
|
||||
:alt: Access list element configuration with the allow/deny fields highlighted.
|
||||
|
||||
.. example::
|
||||
- `2\\d\\d`: validates numbers from `200 to 299`
|
||||
- `02\\d*`: validates all numbers beginning with `02`
|
||||
- `0017165551212`: validates the number (`0017165551212`)
|
||||
|
||||
After setting the :guilabel:`Allow` and :guilabel:`Deny` fields with regular expressions or numbers,
|
||||
click :guilabel:`Save` on the :guilabel:`Access List` pop-up window.
|
||||
|
||||
Then, on the :guilabel:`Access list` element in the dial plan, three paths (or routes) are available
|
||||
to link to further actions.
|
||||
|
||||
Unknown calls can be routed through the regular menu flow by adding a :guilabel:`Menu` element, and
|
||||
connecting it to the :guilabel:`Unknown` path. :guilabel:`Refused` calls can be routed to the
|
||||
:guilabel:`Hang up` element. Lastly, :guilabel:`Authorized` callers can be sent to a specific
|
||||
extension or queue.
|
||||
|
||||
.. image:: dial_plan_advanced/access-list.png
|
||||
:align: center
|
||||
:alt: Access list element highlighted in an example dial plan.
|
||||
|
||||
Switches
|
||||
========
|
||||
|
||||
A *Switch* element in Axivox is a simple activated/deactivated route action.
|
||||
|
||||
These can be activated or chosen quickly, allowing for quick routing changes, without altering the
|
||||
dial plan.
|
||||
|
||||
Alternate routes can be configured, so that in a moments notice, they can be switched to. This could
|
||||
be for new availability, or to adjust traffic flow for any number of reasons.
|
||||
|
||||
Axivox allows for a simple on/off switch, and a multi-switch, which can have several paths to choose
|
||||
from.
|
||||
|
||||
- :guilabel:`Switch`: a manual on/off control that can divert traffic, based on whether it is opened
|
||||
(on) or closed (off).
|
||||
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
|
||||
incoming calls.
|
||||
|
||||
Basic switch
|
||||
------------
|
||||
|
||||
A :guilabel:`Switch` can be set in the `Axivox management console <https://manage.axivox.com>`_ by
|
||||
navigating to :guilabel:`Switches` in the left menu. To create a new switch click :guilabel:`Add a
|
||||
switch` from the :guilabel:`Switches` dashboard, configure a :guilabel:`Name` for it, and click
|
||||
:guilabel:`Save`.
|
||||
|
||||
Then, toggle the desired switch to either :guilabel:`On` or :guilabel:`Off`, from the
|
||||
:guilabel:`State` column on the :guilabel:`Switches` dashboard.
|
||||
|
||||
This :guilabel:`On` / :guilabel:`Off` state automatically routes traffic in a dial plan, in which
|
||||
this switch is set.
|
||||
|
||||
The traffic travels to the :guilabel:`Active` route when :guilabel:`On` is toggled in the switch.
|
||||
The call traffic travels to the :guilabel:`Inactive` route when :guilabel:`Off` is toggled in the
|
||||
switch.
|
||||
|
||||
Changes can be made on the fly, just be sure to click :guilabel:`Apply changes` to implement the
|
||||
them.
|
||||
|
||||
Add a switch to dial plan
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To add a :guilabel:`Switch` to a dial plan, navigate to `Axivox management console
|
||||
<https://manage.axivox.com>`_, and click on :guilabel:`Dial plans` in the left menu. Then, click
|
||||
:guilabel:`Visual Editor` next to the desired dial plan to open the :guilabel:`Dialplan Editor`
|
||||
pop-up window.
|
||||
|
||||
Then, from the :guilabel:`New element` drop-down menu, select :guilabel:`Switch`, and then click
|
||||
:guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element.
|
||||
|
||||
.. image:: dial_plan_advanced/switch.png
|
||||
:align: center
|
||||
:alt: Switch configuration in a dial plan, with inactive and active routes highlighted.
|
||||
|
||||
Multi-switch
|
||||
------------
|
||||
|
||||
A *Multi-Switch* element in Axivox is a switch where multiple paths can be configured, and switched
|
||||
between.
|
||||
|
||||
To configure and set a :guilabel:`Multi-Switch` element, navigate to `Axivox management console
|
||||
<https://manage.axivox.com>`_. Then, click on the :guilabel:`Switches` menu item in the left menu.
|
||||
|
||||
Toggle to the :guilabel:`Multi-switch` tab to create, or set, a pre-configured
|
||||
:guilabel:`Multi-Switch` element.
|
||||
|
||||
To create a new :guilabel:`Multi-Switch`, click :guilabel:`Create new`. Then, enter a
|
||||
:guilabel:`Name` for the element, and then enter the :guilabel:`Available choice`. Enter one
|
||||
:guilabel:`Available choice` per line. Do **not** duplicate any entries.
|
||||
|
||||
Remember to click :guilabel:`Save` when done.
|
||||
|
||||
To select the :guilabel:`State` of the :guilabel:`Multi-Switch`, click the drop-down menu next to
|
||||
the :guilabel:`Multi-Switch` name, under the :guilabel:`Multi-switch` tab on the
|
||||
:guilabel:`Switches` dashboard.
|
||||
|
||||
The :guilabel:`State` chosen is the route that is followed in the dial plan. The :guilabel:`State`
|
||||
can be edited on the fly, just be sure to click :guilabel:`Apply changes`.
|
||||
|
||||
Add a multi-switch to dial plan
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To add a :guilabel:`Multi-Switch` element to a dial plan, navigate to `Axivox management console
|
||||
<https://manage.axivox.com>`_, and click :guilabel:`Dial plans` in the left menu.
|
||||
|
||||
Then, select or create a dial plan. Next, click :guilabel:`Visual Editor` on the desired dial plan.
|
||||
|
||||
On the :guilabel:`Dialplan Editor` pop-up window that appears, click on the :guilabel:`New element`
|
||||
drop-down menu, and select :guilabel:`Multi-Switch`. Then, click :guilabel:`Add`. Double-click on
|
||||
the element to further configure the :guilabel:`Switch` element.
|
||||
|
||||
.. image:: dial_plan_advanced/multi-switch.png
|
||||
:align: center
|
||||
:alt: Multi-switch configuration in a dial plan, with chosen route highlighted.
|
||||
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -1,204 +0,0 @@
|
||||
================
|
||||
Dial plan basics
|
||||
================
|
||||
|
||||
When someone calls a business, they might need to get in contact with customer support, a sales
|
||||
team, or even a person's direct line. The caller might also be in search of some information about
|
||||
the business, such as store hours. Or, they might want to leave a voicemail, so someone from the
|
||||
company can call them back. With dial plans in Axivox, a company can manage how incoming calls like
|
||||
this are handled.
|
||||
|
||||
Using proper call architecture through a dial plan, callers get directed to the right people, or to
|
||||
the right information, in a quick, efficient manner.
|
||||
|
||||
This document covers the basic configuration of dial plans in Axivox.
|
||||
|
||||
.. seealso::
|
||||
For more information on advanced dial plans, visit :doc:`dial_plan_advanced`.
|
||||
|
||||
.. important::
|
||||
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do not
|
||||
use a translator with the Axivox management console.
|
||||
|
||||
.. _voip/axivox/dial_plans:
|
||||
|
||||
Dial plans
|
||||
==========
|
||||
|
||||
Access dial plans by navigating to `Axivox management console <https://manage.axivox.com>`_, and
|
||||
clicking on :guilabel:`Dial plans` from the menu on the left.
|
||||
|
||||
To add a new dial plan from the :guilabel:`Dial plan` page, click the green button labeled,
|
||||
:guilabel:`Add a new dial plan`.
|
||||
|
||||
.. note::
|
||||
Axivox has no limit to the number of dial plans that can be created. These can be added, and
|
||||
improved upon, at any time. This allows for sandboxes to be created with many different
|
||||
configurations.
|
||||
|
||||
.. image:: dial_plan_basics/dial-plan-edits.png
|
||||
:align: center
|
||||
:alt: Dial plan dashboard with the edit features and Add a dial plan button highlighted.
|
||||
|
||||
To edit an existing dial plan, choose one of the following options to the right of the saved dial
|
||||
plan:
|
||||
|
||||
#. :guilabel:`Delete`: this action deletes the attached dial plan.
|
||||
#. :guilabel:`Edit`: this action allows the user to edit the dial plan.
|
||||
#. :guilabel:`Visual Editor`: this action opens a visual editor window, where the dial plan
|
||||
architecture can be viewed and edited.
|
||||
#. :guilabel:`Duplicate`: this action duplicates the dial plan, and puts it at the bottom of the
|
||||
list, with an extension of one number (+1) larger than the original extension.
|
||||
|
||||
Dialplan editor (visual editor)
|
||||
-------------------------------
|
||||
|
||||
When the :guilabel:`Visual Editor` button is clicked for a dial plan on the :guilabel:`Dial plan`
|
||||
page, a pop-up :guilabel:`Dialplan Editor` window appears.
|
||||
|
||||
This pop-up window is the primary place where the architecture, or structure, of the dial plan is
|
||||
configured. In this window, a :abbr:`GUI (graphical user interface)` appears, where various dial
|
||||
plan elements can be configured and linked together.
|
||||
|
||||
.. image:: dial_plan_basics/dial-plan-visual.png
|
||||
:align: center
|
||||
:alt: Visual editor for an example dial plan, with the new element, Add, and Save buttons
|
||||
highlighted.
|
||||
|
||||
.. important::
|
||||
New dial plans come blank with :guilabel:`New element` options for the user to :guilabel:`Add`
|
||||
and :guilabel:`Save`.
|
||||
|
||||
The method for saving in the :guilabel:`Dialplan Editor` is different from saving any other edits
|
||||
in the Axivox management console because the :guilabel:`Save` button **must** be pressed before
|
||||
closing the :menuselection:`Visual editor`.
|
||||
|
||||
Then, before these changes can take place on the Axivox platform, the user **must** click
|
||||
:guilabel:`Apply changes` in the upper-right corner of the :guilabel:`Dial plan` page.
|
||||
|
||||
From the :guilabel:`Dialplan Editor` pop-up window, users can add a new element to the dial plan. To
|
||||
do that, open the :guilabel:`New element` drop-down menu, and select the desired element. Then,
|
||||
click :guilabel:`Add`.
|
||||
|
||||
Doing so adds that element to the visual editor display of the dial plan being modified. This
|
||||
element can be moved where desired amongst the other elements present in the dial plan.
|
||||
|
||||
Connect elements in the dial plan by clicking and dragging outward from the :guilabel:`(open
|
||||
circle)` icon on the right side of the element. Doing so reveals an :guilabel:`(arrow)` icon.
|
||||
Proceed to drag this :guilabel:`(arrow)` icon to the desired element in the dial plan that it is
|
||||
meant to connect with.
|
||||
|
||||
Connect the :guilabel:`(arrow)` icon to the circle on the left side of the desired element.
|
||||
|
||||
Calls displayed in the dial plan flow from left-to-right in the element.
|
||||
|
||||
In order to further configure a :guilabel:`New element`, double-click on the element inside the dial
|
||||
plan, to reveal a subsequent pop-up window, wherein additional customizations can be entered.
|
||||
|
||||
Each element has a different configuration pop-up window that appears when double-clicked.
|
||||
|
||||
.. important::
|
||||
All elements **must** have a final destination in the dial plan in order to close a loop. This
|
||||
can be accomplished by implementing the :guilabel:`Hang up` element, or looping the element back
|
||||
to a :guilabel:`Menu` element or :guilabel:`Digital Receptionist` element elsewhere in the dial
|
||||
plan.
|
||||
|
||||
.. image:: dial_plan_basics/loop-back.png
|
||||
:align: center
|
||||
:alt: Dial plan, shown with highlight looping open end back to the beginning of the menu
|
||||
element.
|
||||
|
||||
Once all desired dial plan elements and configurations are complete, remember to click
|
||||
:guilabel:`Save` before exiting the :guilabel:`Dialplan Editor` pop-up window. Then, click
|
||||
:guilabel:`Apply changes` on the :guilabel:`Dial plans` page to ensure they are implemented into
|
||||
Axivox production.
|
||||
|
||||
Dial plan elements
|
||||
------------------
|
||||
|
||||
The following elements are available in the :guilabel:`New element` drop-down menu, while designing
|
||||
a dial plan in the :guilabel:`Dialplan Editor` pop-up window.
|
||||
|
||||
Basic elements
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
These are the basic elements that are used in simple dial plans in Axivox:
|
||||
|
||||
- :guilabel:`Call`: call an extension or queue.
|
||||
- :guilabel:`Play a file`: play an audio file or voice greeting.
|
||||
- :guilabel:`Voicemail`: forward to a voicemail (terminal).
|
||||
- :guilabel:`Hang up`: hang up the call (terminal).
|
||||
- :guilabel:`Queue`: attach a call queue with a group of users to answer a call.
|
||||
- :guilabel:`Conference`: add a conference room for a caller to connect to.
|
||||
|
||||
Basic routing elements
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Routing elements change or route the path of a caller, these are some basic routing elements used in
|
||||
Axivox:
|
||||
|
||||
- :guilabel:`Menu`: add a dial-by-number directory and configure downstream actions (not terminal).
|
||||
- :guilabel:`Switch`: attach a manual on/off control that can divert traffic based on whether it is
|
||||
opened (On) or closed (Off).
|
||||
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions to connect
|
||||
to.
|
||||
|
||||
Advanced routing elements
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
These are the more advanced elements that route calls in Axivox:
|
||||
|
||||
- :guilabel:`Dispatcher`: create a call filter to route traffic based on the geo-location of the
|
||||
caller ID.
|
||||
- :guilabel:`Access List`: create a tailored access list with VIP customer preference.
|
||||
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
|
||||
other sensitive time-frames.
|
||||
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
|
||||
incoming calls.
|
||||
|
||||
Advanced elements
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following are more advanced elements (not routing) in Axivox:
|
||||
|
||||
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
|
||||
settings).
|
||||
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
|
||||
|
||||
.. important::
|
||||
Dial plan elements can be configured by double-clicking them, and linking different aspects of
|
||||
the Axivox console to them.
|
||||
|
||||
Attach to incoming number
|
||||
=========================
|
||||
|
||||
To attach an existing dial plan to an incoming number, go to `Axivox management console
|
||||
<https://manage.axivox.com>`_ , and click on :guilabel:`Incoming numbers`.
|
||||
|
||||
Next, click :guilabel:`Edit` next to the number to which the dial plan should be attached.
|
||||
|
||||
Doing so reveals a separate page wherein that number's dial plan can be modified. To do that, select
|
||||
:guilabel:`Dial plan` from the :guilabel:`Destination type for voice call` field drop-down menu.
|
||||
Then, choose the desired dial plan from the :guilabel:`Dial plan` field that appears.
|
||||
|
||||
With that in place, that means when that specific number calls in, the configured dial plan is
|
||||
activated, and runs through the prompts to properly route the caller.
|
||||
|
||||
Finally, :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
|
||||
corner.
|
||||
|
||||
Basic dial plan scenario
|
||||
------------------------
|
||||
|
||||
The following showcases a basic dial plan scenario for call routing, where additional elements can
|
||||
be added to expand the setup. This basic dial plan scenario includes the following linked elements
|
||||
:menuselection:`Start --> Play a file --> Menu --> (Hang-up, Calls, Queues, Conferences) -->
|
||||
(Voicemail, Hang-up)`.
|
||||
|
||||
.. image:: dial_plan_basics/basic-scenario.png
|
||||
:align: center
|
||||
:alt: Basic dial plan configuration.
|
||||
|
||||
.. seealso::
|
||||
This setup does **not** include any basic or advanced call routing. For more information on call
|
||||
routing, reference this documentation: :doc:`dial_plan_advanced`.
|
||||
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,113 +0,0 @@
|
||||
=================
|
||||
Dynamic caller ID
|
||||
=================
|
||||
|
||||
*Caller ID* identifies the caller when they make a phone call. It allows the recipient of the call
|
||||
to see what number the caller is calling from. Caller ID shows users and clients who is calling, so
|
||||
they can choose to pick up or decline the call.
|
||||
|
||||
Axivox offers a dynamic caller ID option to choose which number is displayed on outgoing calls.
|
||||
|
||||
International numbers can be purchased to do business transactions internationally, via a phone
|
||||
call, from a number that has an area code or country code of the destination being called. By
|
||||
displaying a local number, this can increase customer engagement.
|
||||
|
||||
Some companies have many employees making calls from a call center. These employees are not always
|
||||
available to receive a return phone call from a prospective customer. In this case, :abbr:`VoIP
|
||||
(Voice over Internet Protocol)` can be configured in such a way that dynamic caller ID shows the
|
||||
main company phone number, so any number of employees in the group can answer the call. This way, a
|
||||
call is never missed.
|
||||
|
||||
.. _voip/axivox/dynamic-caller-id-default:
|
||||
|
||||
Default outgoing number
|
||||
=======================
|
||||
|
||||
In Axivox a *default number* can be set. This is a company's main number. This means, when anyone
|
||||
from the company (user/employee) calls a number outside the company, the default outgoing number
|
||||
shows up automatically on the caller ID.
|
||||
|
||||
If someone from outside the company tries to call back a user/employee, they are then funneled back
|
||||
through the main line (default number). If there is a dial plan set up, they are prompted to make
|
||||
selections. This is especially helpful in cases where employees change positions frequently, or if
|
||||
they leave the company.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`dial_plan_basics`
|
||||
- :doc:`dial_plan_advanced`
|
||||
|
||||
To access the default number, go to the `Axivox management console <https://manage.axivox.com>`_,
|
||||
and log in. Then, click into :guilabel:`Settings` in the left menu, and navigate to
|
||||
:guilabel:`Default outgoing number`.
|
||||
|
||||
From here, change the :guilabel:`Default outgoing number` by clicking the drop-down menu, and making
|
||||
a selection from the incoming phone numbers available on Axivox.
|
||||
|
||||
Be sure to :guilabel:`Save` the changes, then click :guilabel:`Apply changes` in the upper-right
|
||||
corner of the :guilabel:`General Settings` page to implement the change.
|
||||
|
||||
The :guilabel:`Default outgoing number` is what shows up by default in the Axivox management portal.
|
||||
However, the outgoing number can also be configured differently at the user level.
|
||||
|
||||
Users
|
||||
-----
|
||||
|
||||
To configure the outgoing number at the user level, log in to the `Axivox management console
|
||||
<https://manage.axivox.com>`_. Next, click :guilabel:`Users` from the menu on the left, and then
|
||||
click :guilabel:`Edit` to the right of the user that is to be configured.
|
||||
|
||||
Under :guilabel:`Outgoing number`, click the drop-down menu to select either the :guilabel:`Default
|
||||
outgoing number` (as specified here: :ref:`voip/axivox/dynamic-caller-id-default`), or any of the
|
||||
incoming numbers on the Axivox account.
|
||||
|
||||
Choosing the :guilabel:`Default` selection in the :guilabel:`Outgoing number` drop-down menu ensures
|
||||
this user has the :guilabel:`Default outgoing number` shown on their caller ID when making calls.
|
||||
|
||||
If a specific number is chosen, and that number is assigned to this user under :guilabel:`Incoming
|
||||
numbers` (in the Axivox console's menu on the left), that means this user has a direct line for
|
||||
customers to reach them.
|
||||
|
||||
Once the desired changes are complete, be sure to click :guilabel:`Save`, then click
|
||||
:guilabel:`Apply changes` in the upper-right corner to implement the change.
|
||||
|
||||
.. tip::
|
||||
By default, when creating a new user in Axivox, the :guilabel:`Outgoing number` is automatically
|
||||
set to :guilabel:`Default`.
|
||||
|
||||
Advanced options
|
||||
----------------
|
||||
|
||||
To access the :guilabel:`Advanced options`, navigate to the :guilabel:`Settings` option in the menu
|
||||
on the left of the `Axivox management console <https://manage.axivox.com>`_. Then, click
|
||||
:guilabel:`Advanced options` to the right of :guilabel:`Default outgoing number`.
|
||||
|
||||
By default, there are not any advanced rules set. To create one, click the green :guilabel:`+
|
||||
(plus)` icon. Doing so reveals a line with two blank fields. From here, different caller IDs can be
|
||||
set up, depending on what location the user/employee is calling from.
|
||||
|
||||
To create a rule, first set the :guilabel:`Destination prefix` in the first empty field. This is the
|
||||
country code, complete with zero(s) in front of it. Then, in the second empty field, select the
|
||||
phone number that should be used for calling out from that country code.
|
||||
|
||||
.. important::
|
||||
Check the box for :guilabel:`Apply advanced rules even for users with a default outgoing number
|
||||
configured` to allow these rules to take precedent over all other outgoing configurations.
|
||||
|
||||
.. tip::
|
||||
The order of the rules can be modified by dragging-and-dropping them into another order. The
|
||||
first matching rule is applied.
|
||||
|
||||
.. example::
|
||||
For example, a company wants all users/employees to utilize the configured number for Great
|
||||
Britain when calling from the `0044` country code (Great Britain).
|
||||
|
||||
To accomplish that, simply type in `0044` into the :guilabel:`Destination prefix` field, and
|
||||
select the number starting with the `+44` country code. Order the rules as necessary, and select
|
||||
the checkbox to supersede all other rules, if needed.
|
||||
|
||||
.. image:: dynamic_caller_id/advanced-callerid.png
|
||||
:align: center
|
||||
:alt: Advanced options for the default outgoing number.
|
||||
|
||||
Once the desired configurations are complete, be sure to click :guilabel:`Save`, then click
|
||||
:guilabel:`Apply changes` in the upper-right corner to implement the change.
|
||||
|
Before Width: | Height: | Size: 29 KiB |