diff --git a/.tx/config b/.tx/config index aa7177100..861bda4db 100644 --- a/.tx/config +++ b/.tx/config @@ -32,6 +32,11 @@ file_filter = locale//LC_MESSAGES/ecommerce.po source_file = locale/sources/ecommerce.pot source_lang = en +[odoo-13-doc.email_marketing] +file_filter = locale//LC_MESSAGES/email_marketing.po +source_file = locale/sources/email_marketing.pot +source_lang = en + [odoo-13-doc.expense] file_filter = locale//LC_MESSAGES/expense.po source_file = locale/sources/expense.pot @@ -82,6 +87,11 @@ file_filter = locale//LC_MESSAGES/mobile.po source_file = locale/sources/mobile.pot source_lang = en +[odoo-13-doc.marketing_automation] +file_filter = locale//LC_MESSAGES/marketing_automation.po +source_file = locale/sources/marketing_automation.pot +source_lang = en + [odoo-13-doc.manufacturing] file_filter = locale//LC_MESSAGES/manufacturing.po source_file = locale/sources/manufacturing.pot diff --git a/_extensions/redirects.py b/_extensions/redirects.py new file mode 100644 index 000000000..2022d3d04 --- /dev/null +++ b/_extensions/redirects.py @@ -0,0 +1,64 @@ +# Adapted from https://github.com/sphinx-contrib/redirects + +import os +import re +from pathlib import Path + +from sphinx.builders import html as builders +from sphinx.util import logging as logging + +TEMPLATE = '' + +logger = logging.getLogger(__name__) + +def generate_redirects(app): + path = os.path.join(app.srcdir, app.config.redirects_file) + if not os.path.exists(path): + logger.debug("Could not find redirects file at '%s'", path) + return + + source_suffix = next(iter(app.config.source_suffix)) + + if not type(app.builder) == builders.StandaloneHTMLBuilder: + logger.info("Redirects are only supported by the 'html' builder. Skipping...") + return + + with open(path) as redirects: + escaped_source_suffix = source_suffix.replace('.', '\.') + pattern = re.compile( + r'^[ \t]*([\w\-/]+{0})[ \t]+([\w\-/]+{0})[ \t]*(#.*)?$'.format(escaped_source_suffix) + ) + for line in redirects.readlines(): + # Exclude comment or empty lines + if not line.rstrip() or line.startswith('#'): + continue + + match_result = pattern.match(line) + + # Log malformed rules + if not match_result: + logger.error( + "Ignoring malformed redirection: {0}" + "Please use this format: old_page{1} new_page{1} # optional comment".format( + line, source_suffix) + ) + continue + + # Parse the rule + from_file, to_file, _ = match_result.groups() + logger.debug("Redirecting '%s' to '%s'", from_file, to_file) + + # Prepare source and destination paths + to_path_prefix = '../' * from_file.count('/') + from_html_file = from_file.replace(source_suffix, '.html') + to_html_file = to_path_prefix + to_file.replace(source_suffix, '.html') + absolute_from_path = Path(app.builder.outdir) / from_html_file + + # Create the redirection + absolute_from_path.parent.mkdir(parents=True, exist_ok=True) + absolute_from_path.write_text(TEMPLATE % to_html_file) + + +def setup(app): + app.add_config_value('redirects_file', 'redirects', 'env') + app.connect('builder-inited', generate_redirects) diff --git a/_static/banners/events.png b/_static/banners/events.png new file mode 100644 index 000000000..1a69da3e3 Binary files /dev/null and b/_static/banners/events.png differ diff --git a/_static/banners/survey.png b/_static/banners/survey.png new file mode 100644 index 000000000..68b4442ed Binary files /dev/null and b/_static/banners/survey.png differ diff --git a/accounting/bank/feeds.rst b/accounting/bank/feeds.rst index 8b74fcb1f..18ac95996 100644 --- a/accounting/bank/feeds.rst +++ b/accounting/bank/feeds.rst @@ -5,9 +5,7 @@ Bank Feeds .. toctree:: :titlesonly: + feeds/bank_statements feeds/bank_synchronization - feeds/ofx - feeds/qif - feeds/coda - feeds/paypal - feeds/manual + feeds/ponto + feeds/paypal \ No newline at end of file diff --git a/accounting/bank/feeds/bank_statements.rst b/accounting/bank/feeds/bank_statements.rst new file mode 100644 index 000000000..3c6effbe5 --- /dev/null +++ b/accounting/bank/feeds/bank_statements.rst @@ -0,0 +1,68 @@ +=============== +Bank Statements +=============== +Importing your bank statements in Odoo Accounting allows you to keep track of the financial +movements that occur on your bank accounts and reconcile them with the transactions recorded in your +accounting. + +The easiest way to do so is by synchronizing. To do so, please read the related documentation: +:doc:`bank_synchronization`. + +However, if your bank account is not synchronized with Odoo, you still have two options: + +#. Import the bank statement files delivered by your bank +#. Register the bank statements manually + +Import bank statements files +============================ +Odoo supports multiple file formats to import bank statements: + +- SEPA recommended Cash Management format (CAMT.053) +- Comma-separated values (.CSV) +- Open Financial Exchange (.OFX) +- Quicken Interchange Format (.QIF) +- Belgium Coded Statement of Account (.CODA) + +To import them, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Import +Statements*, or on the three dots, and then on *Import Statement*. + +.. image:: media/bank_statements01.png + :align: center + :alt: Import a bank statement file in Odoo Accounting + +Next, select the file you want to import and click on *Import*. + +Odoo opens an **import tool** with which you can set the **Formatting Options** and **map** the +different columns you want to import. + +.. image:: media/bank_statements02.png + :align: center + :alt: Register bank statements manually in Odoo Accounting + +.. note:: + Quicken Interchange Format (.QIF) is an older file format that is not supported since 2005. If + possible, prefer OFX files over QIF. + +Register bank statements manually +================================= +If needed, you can also record your bank statements manually. + +To do so, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Create Statements*, or +on the three dots, and then on *New Statement*. + +Add a new line for each transaction written on the original bank statement. + +To ease the reconciliation process, make sure to fill out the *Partner* field. You can also write +the payments’ references in the *Label* field. + +.. image:: media/bank_statements03.png + :align: center + :alt: Register bank statements manually in Odoo Accounting + +.. note:: + The *Ending Balance* and the *Computed Balance* should have the same amount. If it is not the + case, make sure that there is no mistake in the transactions’ amounts. + +.. seealso:: + * :doc:`bank_synchronization` +.. todo:: add doc link to new documentation about reconciliation \ No newline at end of file diff --git a/accounting/bank/feeds/bank_synchronization.rst b/accounting/bank/feeds/bank_synchronization.rst index 46d8da741..90fc172f1 100644 --- a/accounting/bank/feeds/bank_synchronization.rst +++ b/accounting/bank/feeds/bank_synchronization.rst @@ -22,7 +22,7 @@ To connect to the banks, Odoo uses multiple web-services: - **Plaid**: Mainly for the U.S - **Yodlee**: Worldwide -- **Ponto**: For a growing number of European Banks +- **Ponto**: For a growing number of European Banks. (:doc:`Click here for more information `) Configuration ============= @@ -121,8 +121,11 @@ database, please `submit a support ticket `_. How can I update my bank credentials? ------------------------------------- -You can update your credentials on +You can update your credentials in :doc:`Developer mode <../../../general/developer_mode/activate>`. Then go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and open the -Institution you want to edit, and click on *Update Credentials*. \ No newline at end of file +Institution you want to edit, and click on *Update Credentials*. + +.. seealso:: + * :doc:`bank_statements` diff --git a/accounting/bank/feeds/coda.rst b/accounting/bank/feeds/coda.rst deleted file mode 100644 index 913be374e..000000000 --- a/accounting/bank/feeds/coda.rst +++ /dev/null @@ -1,82 +0,0 @@ -========================================== -Import Coda statement files (Belgium only) -========================================== - -CODA is a file format for bank statements in Belgium. Most Belgian -banks, as well as the Isabel software, allows to download a CODA file -with all your bank statements. - -With Odoo, you can download an CODA file from your bank or accounting -software and import it directly in Odoo. This will create all bank -statements. - -.. tip:: - Test now the feature :download:`with this sample CODA file - <../../../_static/example_files/Ontvangen_CODA.2013-01-11-18.59.15.txt>` - -Configuration -============= - -Install the CODA feature ------------------------- - -If you have installed the Belgian Chart of Account provided with Odoo, -the CODA import feature is already installed by default. In such a case, -you can move directly to the next section :ref:`Import your first coda -file ` - -If CODA is not activated yet, you need to do it first. In the Accounting -application, go to the menu :menuselection:`Configuration --> Settings`. From the -accounting settings, check the option **Import of Bank Statements in -.CODA Format** and apply. - -Import your first CODA file ---------------------------- - -Once you have installed this feature, you can setup your bank account to -allow importing bank statement files. To do this, go to the accounting -**Dashboard**, and click on the button **More** on the bank account card. Then, click -on **Import Statement** to load your first CODA file. - -.. image:: media/coda01.png - :align: center - -Load your CODA file in the following screen and click **Import** to -create all your bank statements. - -.. image:: media/coda02.png - :align: center - -If the file is successfully loaded, you will get redirected to the bank -reconciliation screen with all the transactions to reconcile. - -.. _accounting/InstallCoda: - -Importing CODA files -==================== - -After having imported your first file, the Odoo accounting dashboard -will automatically propose you to import more files for your bank. For -the next import, you don't need to go to the **More** button anymore, -you can directly click on the link **Import Statement**. - -.. image:: media/coda03.png - :align: center - -Every time you get a statement related to a new customer / supplier, -Odoo will ask you to select the right contact to reconcile the -transaction. Odoo learns from that operation and will automatically -complete the next payments you get or make to these contacts. This will -speed up a lot the reconciliation process. - -.. note:: - Odoo is able to automatically detect if some files or transactions - have already been imported. So, you should not worry about avoiding - to import two times the same file: Odoo will check everything for you - before creating new bank statements. - -.. seealso:: - * :doc:`ofx` - * :doc:`qif` - * :doc:`bank_synchronization` - * :doc:`manual` diff --git a/accounting/bank/feeds/manual.rst b/accounting/bank/feeds/manual.rst deleted file mode 100644 index c22ea71d0..000000000 --- a/accounting/bank/feeds/manual.rst +++ /dev/null @@ -1,99 +0,0 @@ -================================= -Register bank statements manually -================================= - -Overview -======== - -With Odoo, you can import your bank statements, synchronize with your -bank but also register your bank statements manually. - -Configuration -============= - -No special configuration is necessary to register invoices. All you need -to do is install the accounting app. - -.. image:: media/manual01.png - :align: center - -Register bank statements manually -================================= - -Create your Bank Statements ---------------------------- - -In the Dashboard, click on the button **New Statement** related to the -bank journal. If some reconciliations need to be done, the New Statement -link will be found underneath. - -.. image:: media/manual02.png - :align: center - -Just fill in the fields according the the information written on your -bank statement. The reference can be filled in manually or you can leave -it empty. We recommend to fill in the partner to ease the reconciliation -process. - -The difference between the starting balance and the ending balance -should be equal to the computed balance. - -.. image:: media/manual03.png - :align: center - -When you are done, click on **Save**. - -Reconcile your Bank Statements ------------------------------- - -You can choose to directly reconcile the statement by clicking on the -button |manual04| - -.. |manual04| image:: media/manual04.png - -You can also start the reconciliation process from the dashboard by -clicking on **Reconcile # Items**. - -.. image:: media/manual05.png - :align: center - -Click on **Validate** to reconcile your bank statement. If the partner -is missing, Odoo will ask you to **select a partner**. - -.. image:: media/manual06.png - :align: center - -.. tip:: - Hit CTRL-Enter to reconcile all the balanced items on the sheets. - -Close Bank Statements from the reconciliation ---------------------------------------------- - -If the balance is correct, you can directly close the statement from the -reconciliation by clicking on |manual07|. - -.. |manual07| image:: media/manual07.png - -Otherwise, click on |manual08| to open the statement and correct the -issue. - -.. |manual08| image:: media/manual08.png - -Close Bank Statements ---------------------- - -On the accounting dashboard, click on the More button of your bank -journal, then click on Bank Statements. - -.. image:: media/manual09.png - :align: center - -To close the bank statement, just click on **Validate**. - -.. image:: media/manual10.png - :align: center - -.. seealso:: - - * :doc:`../reconciliation/use_cases` - * :doc:`../feeds/bank_synchronization` diff --git a/accounting/bank/feeds/media/bank_statements01.png b/accounting/bank/feeds/media/bank_statements01.png new file mode 100644 index 000000000..2a0c2b09d Binary files /dev/null and b/accounting/bank/feeds/media/bank_statements01.png differ diff --git a/accounting/bank/feeds/media/bank_statements02.png b/accounting/bank/feeds/media/bank_statements02.png new file mode 100644 index 000000000..9c04d555b Binary files /dev/null and b/accounting/bank/feeds/media/bank_statements02.png differ diff --git a/accounting/bank/feeds/media/bank_statements03.png b/accounting/bank/feeds/media/bank_statements03.png new file mode 100644 index 000000000..30541fd9b Binary files /dev/null and b/accounting/bank/feeds/media/bank_statements03.png differ diff --git a/accounting/bank/feeds/media/coda01.png b/accounting/bank/feeds/media/coda01.png deleted file mode 100644 index 1254f0891..000000000 Binary files a/accounting/bank/feeds/media/coda01.png and /dev/null differ diff --git a/accounting/bank/feeds/media/coda02.png b/accounting/bank/feeds/media/coda02.png deleted file mode 100644 index 5d525ea62..000000000 Binary files a/accounting/bank/feeds/media/coda02.png and /dev/null differ diff --git a/accounting/bank/feeds/media/coda03.png b/accounting/bank/feeds/media/coda03.png deleted file mode 100644 index 24ae50ad6..000000000 Binary files a/accounting/bank/feeds/media/coda03.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual01.png b/accounting/bank/feeds/media/manual01.png deleted file mode 100644 index 64d0eba7e..000000000 Binary files a/accounting/bank/feeds/media/manual01.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual02.png b/accounting/bank/feeds/media/manual02.png deleted file mode 100644 index 8ab3b7225..000000000 Binary files a/accounting/bank/feeds/media/manual02.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual03.png b/accounting/bank/feeds/media/manual03.png deleted file mode 100644 index a71b14ed8..000000000 Binary files a/accounting/bank/feeds/media/manual03.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual04.png b/accounting/bank/feeds/media/manual04.png deleted file mode 100644 index dc042335e..000000000 Binary files a/accounting/bank/feeds/media/manual04.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual05.png b/accounting/bank/feeds/media/manual05.png deleted file mode 100644 index c3872cf42..000000000 Binary files a/accounting/bank/feeds/media/manual05.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual06.png b/accounting/bank/feeds/media/manual06.png deleted file mode 100644 index 6a33e9c9c..000000000 Binary files a/accounting/bank/feeds/media/manual06.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual07.png b/accounting/bank/feeds/media/manual07.png deleted file mode 100644 index 31ecc09fb..000000000 Binary files a/accounting/bank/feeds/media/manual07.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual08.png b/accounting/bank/feeds/media/manual08.png deleted file mode 100644 index 8fe88374d..000000000 Binary files a/accounting/bank/feeds/media/manual08.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual09.png b/accounting/bank/feeds/media/manual09.png deleted file mode 100644 index 5510fa2a8..000000000 Binary files a/accounting/bank/feeds/media/manual09.png and /dev/null differ diff --git a/accounting/bank/feeds/media/manual10.png b/accounting/bank/feeds/media/manual10.png deleted file mode 100644 index 12a97d164..000000000 Binary files a/accounting/bank/feeds/media/manual10.png and /dev/null differ diff --git a/accounting/bank/feeds/media/ofx01.png b/accounting/bank/feeds/media/ofx01.png deleted file mode 100644 index e316c6caa..000000000 Binary files a/accounting/bank/feeds/media/ofx01.png and /dev/null differ diff --git a/accounting/bank/feeds/media/ofx02.png b/accounting/bank/feeds/media/ofx02.png deleted file mode 100644 index e0c0c5725..000000000 Binary files a/accounting/bank/feeds/media/ofx02.png and /dev/null differ diff --git a/accounting/bank/feeds/media/ofx03.png b/accounting/bank/feeds/media/ofx03.png deleted file mode 100644 index 4077b158f..000000000 Binary files a/accounting/bank/feeds/media/ofx03.png and /dev/null differ diff --git a/accounting/bank/feeds/media/ofx04.png b/accounting/bank/feeds/media/ofx04.png deleted file mode 100644 index c216a9c5b..000000000 Binary files a/accounting/bank/feeds/media/ofx04.png and /dev/null differ diff --git a/accounting/bank/feeds/media/ponto_add_bank.png b/accounting/bank/feeds/media/ponto_add_bank.png new file mode 100644 index 000000000..549d39795 Binary files /dev/null and b/accounting/bank/feeds/media/ponto_add_bank.png differ diff --git a/accounting/bank/feeds/media/ponto_link_odoo.png b/accounting/bank/feeds/media/ponto_link_odoo.png new file mode 100644 index 000000000..8df469735 Binary files /dev/null and b/accounting/bank/feeds/media/ponto_link_odoo.png differ diff --git a/accounting/bank/feeds/media/ponto_logo.png b/accounting/bank/feeds/media/ponto_logo.png new file mode 100644 index 000000000..d47eb32c6 Binary files /dev/null and b/accounting/bank/feeds/media/ponto_logo.png differ diff --git a/accounting/bank/feeds/media/ponto_organization.png b/accounting/bank/feeds/media/ponto_organization.png new file mode 100644 index 000000000..c357fce14 Binary files /dev/null and b/accounting/bank/feeds/media/ponto_organization.png differ diff --git a/accounting/bank/feeds/media/ponto_synchronization.png b/accounting/bank/feeds/media/ponto_synchronization.png new file mode 100644 index 000000000..f5853217e Binary files /dev/null and b/accounting/bank/feeds/media/ponto_synchronization.png differ diff --git a/accounting/bank/feeds/media/qif01.png b/accounting/bank/feeds/media/qif01.png deleted file mode 100644 index 8f1b51152..000000000 Binary files a/accounting/bank/feeds/media/qif01.png and /dev/null differ diff --git a/accounting/bank/feeds/media/qif02.png b/accounting/bank/feeds/media/qif02.png deleted file mode 100644 index e0c0c5725..000000000 Binary files a/accounting/bank/feeds/media/qif02.png and /dev/null differ diff --git a/accounting/bank/feeds/media/qif03.png b/accounting/bank/feeds/media/qif03.png deleted file mode 100644 index 9f7ff378e..000000000 Binary files a/accounting/bank/feeds/media/qif03.png and /dev/null differ diff --git a/accounting/bank/feeds/media/qif04.png b/accounting/bank/feeds/media/qif04.png deleted file mode 100644 index c216a9c5b..000000000 Binary files a/accounting/bank/feeds/media/qif04.png and /dev/null differ diff --git a/accounting/bank/feeds/ofx.rst b/accounting/bank/feeds/ofx.rst deleted file mode 100644 index ce14453dc..000000000 --- a/accounting/bank/feeds/ofx.rst +++ /dev/null @@ -1,66 +0,0 @@ -========================== -Import OFX statement files -========================== - -Open Financial Exchange (OFX) is a unified specification for the -electronic exchange of financial data between financial institutions, -businesses and consumers via the Internet. - -With Odoo, you can download an OFX file from your bank or accounting -software and import it directly in your Odoo instance. This will create -all bank statements. - -.. tip:: - Test now the feature :download:`with this sample OFX file - <../../../_static/example_files/test_ofx.ofx>` - -Configuration -============= - -In order to import OFX statements, you need to activate the feature in -Odoo. In the Accounting application, go to the menu :menuselection:`Configuration --> -Settings`. From the accounting settings, check the bank statements option -**Import in .OFX Format** and apply. - -.. image:: media/ofx01.png - :align: center - -Once you have installed this feature, you can setup your bank account to -allow importing bank statement files. To do this, go to the accounting -Dashboard, and click on the **More** button of the bank account. -Then, click on **Import Statement** to load your first OFX file. - -.. image:: media/ofx02.png - :align: center - -Load your OFX file in the following screen and click **Import** to -create all your bank statements. - -.. image:: media/ofx03.png - :align: center - -If the file is successfully loaded, you will get redirected to the bank -reconciliation screen with all the transactions to reconcile. - -Importing OFX files -=================== - -After having imported your first file, the Odoo accounting dashboard -will automatically propose you to import more files for your bank. For -the next import, you don't need to go to the **More** menu anymore, -you can directly click on the link **Import Statement**. - -.. image:: media/ofx04.png - :align: center - -Every time you get a statement related to a new customer / supplier, -Odoo will ask you to select the right contact to reconcile the -transaction. Odoo learns from that operation and will automatically -complete the next payments you get or do to these contacts. This will -speed up a lot the reconciliation process. - -.. seealso:: - * :doc:`qif` - * :doc:`coda` - * :doc:`bank_synchronization` - * :doc:`manual` diff --git a/accounting/bank/feeds/paypal.rst b/accounting/bank/feeds/paypal.rst index 81bd2b428..36be18c74 100644 --- a/accounting/bank/feeds/paypal.rst +++ b/accounting/bank/feeds/paypal.rst @@ -1,6 +1,6 @@ -================================================= -How to synchronize your PayPal account with Odoo? -================================================= +========================================= +Synchronize your PayPal account with Odoo +========================================= With Odoo, you can synchronize your PayPal account. That way, you don't have to record all your PayPal transaction in your favorite accounting diff --git a/accounting/bank/feeds/ponto.rst b/accounting/bank/feeds/ponto.rst new file mode 100644 index 000000000..52609b6dd --- /dev/null +++ b/accounting/bank/feeds/ponto.rst @@ -0,0 +1,116 @@ +====================================== +Ponto as Bank Synchronization provider +====================================== + +**Ponto** is a service that allows companies and professionals to aggregate their accounts in one +place and directly see all their transactions within one app. It is a third-party solution that is +continuously expanding the number of bank institutions that can be synchronized with Odoo. + +.. image:: media/ponto_logo.png + :align: center + :alt: Logo of the Ponto brand + +**Odoo Accounting** can synchronize directly with your bank to get all bank statements imported +automatically into your database. This allows for easier **bank reconciliation**. When :doc:`adding +a bank account on Odoo <../setup/create_bank_account>`, you can see if your bank requires a +connection through Ponto by searching for your bank institution, and clicking on it. + +.. image:: media/ponto_add_bank.png + :align: center + :alt: Click on a bank institution to see which third party service is required to synchronize + your bank with Odoo Accounting + +.. note:: + You can find more information about bank synchronization :doc:`on this page + `. + +Configuration +============= + +Link your bank accounts with Ponto +---------------------------------- + +#. Go to `Ponto's website (https://myponto.com) `_. +#. Create an account if you don’t have one yet. +#. Once you are logged in, create an *organization*. + + .. image:: media/ponto_organization.png + :alt: Fill out the form to add an organization in Ponto + +#. | Go to :menuselection:`Accounts --> Live`, and click on *Add account*. + | You might have to add your **Billing Information** first. +#. Select your bank institution and follow the steps on-screen to link your bank account with your + Ponto account. +#. Make sure to add all the bank accounts you want to synchronize with your Odoo database before + moving on to the next steps. + +.. _ponto-link-odoo: + +Link your Ponto account with your Odoo database +----------------------------------------------- + +Odoo requires you to insert your Ponto's **Client ID** and **Secret ID** to synchronize both +platforms. + +.. image:: media/ponto_link_odoo.png + :align: center + :alt: Logo of the Ponto brand + +#. To generate these IDs, go to :menuselection:`Ponto Dashboard --> Integration --> Live`, click on + *Add Integration*, fill out the form, and select which accounts you want to synchronize. +#. Copy the Client ID and Secret ID generated and paste them in Odoo. +#. Configure the synchronization options: + + - **Action**: define if Odoo must create a new *Journal* for this bank account, link to an + existing Journal, or create no link. + - **Journal**: select the appropriate *Journal*. + - **Synchronization Frequency**: define how often Odoo should fetch the bank statements. + +.. image:: media/ponto_synchronization.png + :align: center + :alt: Configure the bank synchronization through Ponto on your Odoo database + +.. tip:: + It is good practice to have one Journal per bank account. If you synchronize a single bank + account, link it to the existing *Bank* journal. If you have multiple accounts, it is recommended + to pick the *Create new journal* option for all additional accounts. + +.. _ponto-update-credentials: + +Update your synchronization credentials +--------------------------------------- + +You might have to update your Ponto credentials or modify the synchronization settings. + +To do so, activate the :doc:`Developer Mode <../../../general/developer_mode/activate>`, and go to +:menuselection:`Accounting --> Configuration --> Online Synchronization`. + +Click on *Update Accounts* to enter your new Client ID and Secret ID, or click on *Edit* to modify +the synchronization settings. + +Deprecated API tokens +===================== + +Ponto's previous synchronization system using API tokens is now deprecated. + +This section is only relevant for users who had previously linked Ponto with Odoo using a single API +token instead of the current synchronization system with a *Client ID* and a *Secret ID*. + +#. **Update** your database. + + - | *SaaS* and *Odoo.sh* users: + | you can skip this step, as your database is automatically updated. + - | *Community* and *Enterprise* users: + | download the latest Odoo source code for your version (you can download it from `this link + `_ or from GitHub), install it, and restart your server. + +#. | Do a **hard refresh** of your Odoo page by pressing *CTRL + F5*. + | A hard refresh clears the cache and the javascript code for the current page. +#. To **generate your access key**, follow :ref:`the steps above `. +#. To **update your credentials**, follow :ref:`the steps above `. + +.. seealso:: + + * :doc:`bank_synchronization` + * :doc:`../setup/create_bank_account` + * :doc:`bank_statements` diff --git a/accounting/bank/feeds/qif.rst b/accounting/bank/feeds/qif.rst deleted file mode 100644 index bab2024c4..000000000 --- a/accounting/bank/feeds/qif.rst +++ /dev/null @@ -1,67 +0,0 @@ -========================== -Import QIF statement files -========================== - -Quicken Interchange Format (QIF) is an open specification for reading -and writing financial data to media (i.e. files). Although still widely -used, QIF is an older format than Open Financial Exchange (OFX) and you -should use the OFX version if you can export to both file formats. - -With Odoo, you can download a QIF file from your bank or accounting -software and import it directly in your Odoo instance. This will create -all bank statements. - -.. tip:: - Test now the feature :download:`with this sample QIF file - <../../../_static/example_files/test_qif.qif>` - -Configuration -============= - -In order to import QIF statements, you need to activate the feature in -Odoo. In the Accounting application, go to the menu :menuselection:`Configuration --> -Settings`. From the accounting settings, check the bank statements option -**Import in .QIF Format** and apply. - -.. image:: media/qif01.png - :align: center - -Once you have installed this feature, you can setup your bank account to -allow importing bank statement files. To do this, go to the accounting -Dashboard, and click on the **More** button of the bank account. -Then, click on **Import Statement** to load your first QIF file. - -.. image:: media/qif02.png - :align: center - -Load your QIF file in the following screen and click **Import** to -create all your bank statements. - -.. image:: media/qif03.png - :align: center - -If the file is successfully loaded, you will get redirected to the bank -reconciliation screen with all the transactions to reconcile. - -Importing QIF files -=================== - -After having imported your first file, the Odoo accounting dashboard -will automatically propose you to import more files for your bank. For -the next import, you don't need to go to the **More** menu anymore, -you can directly click on the link **Import Statement**. - -.. image:: media/qif04.png - :align: center - -Every time you get a statement related to a new customer / supplier, -Odoo will ask you to select the right contact to reconcile the -transaction. Odoo learns from that operation and will automatically -complete the next payments you get or do to these contacts. This will -speed up a lot the reconciliation process. - -.. seealso:: - * :doc:`ofx` - * :doc:`coda` - * :doc:`bank_synchronization` - * :doc:`manual` diff --git a/accounting/bank/misc/batch.rst b/accounting/bank/misc/batch.rst index d1ddd4f7f..9987803d7 100644 --- a/accounting/bank/misc/batch.rst +++ b/accounting/bank/misc/batch.rst @@ -1,6 +1,6 @@ -======================================= -How to manage batch deposits of checks? -======================================= +=============================== +Manage batch deposits of checks +=============================== When your company's collections group receives checks from customers they will often place this money into their bank account in batches. As diff --git a/accounting/bank/misc/interbank.rst b/accounting/bank/misc/interbank.rst index ca971e39d..5e76966fc 100644 --- a/accounting/bank/misc/interbank.rst +++ b/accounting/bank/misc/interbank.rst @@ -1,6 +1,6 @@ -======================================================== -How to do a bank wire transfer from one bank to another? -======================================================== +================================================ +Do a bank wire transfer from one bank to another +================================================ A company might have several bank accounts or cash registers. Within odoo it is possible to handle internal transfers of money with only a diff --git a/accounting/bank/reconciliation/configure.rst b/accounting/bank/reconciliation/configure.rst index 2517b0e63..9294801a9 100644 --- a/accounting/bank/reconciliation/configure.rst +++ b/accounting/bank/reconciliation/configure.rst @@ -59,6 +59,5 @@ the relevant data instantly. Finally, click on **Reconcile** to finish the process. .. seealso:: - * :doc:`../feeds/manual` - * :doc:`../feeds/ofx` + * :doc:`../feeds/bank_synchronization` * :doc:`use_cases` diff --git a/accounting/bank/reconciliation/use_cases.rst b/accounting/bank/reconciliation/use_cases.rst index 4d27f03a6..ccb2ed57f 100644 --- a/accounting/bank/reconciliation/use_cases.rst +++ b/accounting/bank/reconciliation/use_cases.rst @@ -1,6 +1,6 @@ -============================================= -Use cases in the bank reconciliation process? -============================================= +======================================= +Bank reconciliation process - use cases +======================================= Overview ======== @@ -105,6 +105,4 @@ right and validate all related payments : Hit CTRL-Enter to reconcile all the balanced items in the sheet. .. seealso:: - * :doc:`../feeds/ofx` - * :doc:`../feeds/bank_synchronization` - * :doc:`../feeds/manual` + * :doc:`../feeds/bank_synchronization` \ No newline at end of file diff --git a/accounting/bank/setup/create_bank_account.rst b/accounting/bank/setup/create_bank_account.rst index becc7aba9..90a816b24 100644 --- a/accounting/bank/setup/create_bank_account.rst +++ b/accounting/bank/setup/create_bank_account.rst @@ -1,6 +1,6 @@ -================================ -How to setup a new bank account? -================================ +======================== +Setup a new bank account +======================== In Odoo, you can manage multiple bank accounts. In this page, you will be guided in the creation, modification or deletion of a bank or a diff --git a/accounting/bank/setup/foreign_currency.rst b/accounting/bank/setup/foreign_currency.rst index f55edeb93..3828e979c 100644 --- a/accounting/bank/setup/foreign_currency.rst +++ b/accounting/bank/setup/foreign_currency.rst @@ -1,6 +1,6 @@ -=========================================== -How to manage a bank in a foreign currency? -=========================================== +=================================== +Manage a bank in a foreign currency +=================================== In Odoo, every transaction is recorded in the default currency of the company. Reports are all based on the currency of the company. But for diff --git a/accounting/bank/setup/manage_cash_register.rst b/accounting/bank/setup/manage_cash_register.rst index a820fb183..90461cc05 100644 --- a/accounting/bank/setup/manage_cash_register.rst +++ b/accounting/bank/setup/manage_cash_register.rst @@ -1,6 +1,6 @@ -============================== -How to manage a cash register? -============================== +====================== +Manage a cash register +====================== The cash register is a journal to register receivings and payments transactions. It calculates the total money in and out, computing the total balance. diff --git a/accounting/fiscality/fiscal_year/close_fiscal_year.rst b/accounting/fiscality/fiscal_year/close_fiscal_year.rst index 3f86b68da..eec02c07c 100644 --- a/accounting/fiscality/fiscal_year/close_fiscal_year.rst +++ b/accounting/fiscality/fiscal_year/close_fiscal_year.rst @@ -1,6 +1,6 @@ -===================================================== -How to do a year end in Odoo? (close a fiscal year) -===================================================== +=========================================== +Do a year end in Odoo (close a fiscal year) +=========================================== Before going ahead with closing a fiscal year, there are a few steps one should typically take to ensure that your accounting is correct, up to diff --git a/accounting/fiscality/taxes.rst b/accounting/fiscality/taxes.rst index 684803d91..b5bbc249c 100644 --- a/accounting/fiscality/taxes.rst +++ b/accounting/fiscality/taxes.rst @@ -1,6 +1,6 @@ -=========== +===== Taxes -=========== +===== .. toctree:: :titlesonly: @@ -12,4 +12,5 @@ Taxes taxes/tax_included taxes/retention taxes/B2B_B2C - taxes/cash_basis_taxes \ No newline at end of file + taxes/cash_basis_taxes + taxes/tax_returns \ No newline at end of file diff --git a/accounting/fiscality/taxes/B2B_B2C.rst b/accounting/fiscality/taxes/B2B_B2C.rst index e4a0f4926..9f917fb1f 100644 --- a/accounting/fiscality/taxes/B2B_B2C.rst +++ b/accounting/fiscality/taxes/B2B_B2C.rst @@ -1,6 +1,6 @@ -=================================================================== -How to manage prices for B2B (tax excluded) and B2C (tax included)? -=================================================================== +=========================================================== +Manage prices for B2B (tax excluded) and B2C (tax included) +=========================================================== When working with consumers, prices are usually expressed with taxes included in the price (e.g., in most eCommerce). But, when you work in a diff --git a/accounting/fiscality/taxes/application.rst b/accounting/fiscality/taxes/application.rst index 8e05bd618..4863a809b 100644 --- a/accounting/fiscality/taxes/application.rst +++ b/accounting/fiscality/taxes/application.rst @@ -1,6 +1,6 @@ -========================================================== -How to adapt taxes to my customer status or localization -========================================================== +================================================= +Adapt taxes to my customer status or localization +================================================= Most often sales tax rates depend on your customer status or localization. To map taxes, Odoo brings the so-called *Fiscal Positions*. diff --git a/accounting/fiscality/taxes/cash_basis_taxes.rst b/accounting/fiscality/taxes/cash_basis_taxes.rst index 8e47c9e4f..e360a5751 100644 --- a/accounting/fiscality/taxes/cash_basis_taxes.rst +++ b/accounting/fiscality/taxes/cash_basis_taxes.rst @@ -1,6 +1,6 @@ -============================== -How to manage cash basis taxes -============================== +======================= +Manage cash basis taxes +======================= The cash basis taxes are due when the payment has been done and not at the validation of the invoice (as it is the case with standard taxes). diff --git a/accounting/fiscality/taxes/create.rst b/accounting/fiscality/taxes/create.rst index 83f60b5b5..3e4ec3125 100644 --- a/accounting/fiscality/taxes/create.rst +++ b/accounting/fiscality/taxes/create.rst @@ -1,6 +1,6 @@ -======================== -How to create new taxes -======================== +================ +Create new taxes +================ Odoo's tax engine is very flexible and support many different type of taxes: value added taxes (VAT), eco-taxes, federal/states/city taxes, retention, diff --git a/accounting/fiscality/taxes/default_taxes.rst b/accounting/fiscality/taxes/default_taxes.rst index 8e1a0ebb6..c495104be 100644 --- a/accounting/fiscality/taxes/default_taxes.rst +++ b/accounting/fiscality/taxes/default_taxes.rst @@ -1,6 +1,6 @@ -======================== -How to set default taxes -======================== +================= +Set default taxes +================= Taxes applied in your country are installed automatically for most localizations. diff --git a/accounting/fiscality/taxes/media/tax_return_closing.png b/accounting/fiscality/taxes/media/tax_return_closing.png new file mode 100644 index 000000000..36ffc02f3 Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_closing.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_grids.png b/accounting/fiscality/taxes/media/tax_return_grids.png new file mode 100644 index 000000000..ea813e6ca Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_grids.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_lock.png b/accounting/fiscality/taxes/media/tax_return_lock.png new file mode 100644 index 000000000..70362f39d Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_lock.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_overview.png b/accounting/fiscality/taxes/media/tax_return_overview.png new file mode 100644 index 000000000..ea2b01d09 Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_overview.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_periodicity.png b/accounting/fiscality/taxes/media/tax_return_periodicity.png new file mode 100644 index 000000000..93c49984d Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_periodicity.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_report.png b/accounting/fiscality/taxes/media/tax_return_report.png new file mode 100644 index 000000000..e28b00ef4 Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_report.png differ diff --git a/accounting/fiscality/taxes/media/tax_return_taxes.png b/accounting/fiscality/taxes/media/tax_return_taxes.png new file mode 100644 index 000000000..45a2abf20 Binary files /dev/null and b/accounting/fiscality/taxes/media/tax_return_taxes.png differ diff --git a/accounting/fiscality/taxes/retention.rst b/accounting/fiscality/taxes/retention.rst index faa5d1862..8025e8de2 100644 --- a/accounting/fiscality/taxes/retention.rst +++ b/accounting/fiscality/taxes/retention.rst @@ -1,6 +1,6 @@ -================================ -How to manage withholding taxes? -================================ +======================== +Manage withholding taxes +======================== A withholding tax, also called a retention tax, is a government requirement for the payer of a customer invoice to withhold or deduct diff --git a/accounting/fiscality/taxes/tax_included.rst b/accounting/fiscality/taxes/tax_included.rst index 2c006d4b0..d0b677cbf 100644 --- a/accounting/fiscality/taxes/tax_included.rst +++ b/accounting/fiscality/taxes/tax_included.rst @@ -1,6 +1,6 @@ -============================== -How to set tax-included prices -============================== +======================= +Set tax-included prices +======================= In most countries, B2C prices are tax-included. To do that in Odoo, check *Included in Price* for each of your sales taxes in diff --git a/accounting/fiscality/taxes/tax_returns.rst b/accounting/fiscality/taxes/tax_returns.rst new file mode 100644 index 000000000..47588ec8c --- /dev/null +++ b/accounting/fiscality/taxes/tax_returns.rst @@ -0,0 +1,122 @@ +============================ +Tax Return (VAT Declaration) +============================ + +Companies that are registered for **VAT (Value Added Tax)** must file a **Tax return** on a monthly +or quarterly basis, depending on their turnover and the regulation of the country in which they are +registered. A Tax return - or VAT return - gives the tax authorities information about the taxable +transactions made by the company, the *output tax* it has charged its customers, and the *input tax* +its vendors have charged it. Based on these values, the company can calculate the tax amount they +have to pay or be refunded. + +.. note:: + You can find information about VAT and its mechanism on `this page from the European Commission + `_. + +.. todo:: add doc about intracom listing + +Prerequisites +============= + +Tax Return Periodicity +---------------------- + +The configuration of the **Tax Return Periodicity** allows Odoo Accounting to compute your Tax +Return correctly and also to send you a reminder to never miss a tax return deadline. + +To do so, go to :menuselection:`Accounting --> Configuration --> Settings --> Fiscal Periods`, +and go to the **Tax Return Periodicity** section. + +- **Periodicity**: define here whether you file your tax return each month or every three months. +- **Reminder**: define when Odoo should remind you to file your tax return. +- **Journal**: select the journal in which to record the tax return. + +.. image:: media/tax_return_periodicity.png + :align: center + :alt: Configure how often tax returns have to be made in Odoo Accounting + +.. note:: + This is usually configured during the :doc:`app's initial set up + <../../overview/getting_started/setup>`. + +Tax Grids +--------- + +Odoo generates Tax Reports based on the **Tax Grids** settings that are configured on your taxes. +Therefore, it is crucial to make sure that all the recorded transactions use the right taxes. You +can see on each Journal Item which Tax Grid is used for that transaction. + +.. image:: media/tax_return_grids.png + :align: center + :alt: see which tax grids are used to record transactions in Odoo Accounting + +To configure your taxes' Tax Grids, go to :menuselection:`Accounting --> Configuration --> Taxes`, +and open the tax you want to modify. There, you can edit your tax settings, along with the tax +grids that are used to record invoices or credit notes. + +.. image:: media/tax_return_taxes.png + :align: center + :alt: Configure taxes and their tax grids in Odoo Accounting + +.. note:: + Taxes and reports are usually already pre-configured: a *Fiscal Localization Package* is + installed according to the country you select at the creation of your database. + +.. _tax_return_lock: + +Close a tax period +================== + +Tax Lock Date +------------- + +Any new transaction which accounting date is prior to the **Tax Lock Date** has its tax values moved +to the next open tax period. This is useful to make sure that no change can be made to a report once +its period is closed. + +Therefore, we recommend locking your tax date before working on your *Closing Journal Entry*. This +way, other users can't modify or add transactions that would have an impact on the Closing Journal +Entry, which helps you avoid some tax declaration errors. + +To check the current **Tax Lock Date**, or to edit it, go to :menuselection:`Accounting --> +Accounting --> Lock Dates`. + +.. image:: media/tax_return_lock.png + :align: center + :alt: Lock your tax for a specific period in Odoo Acounting + +Tax Report +---------- + +Once all the transactions involving taxes have been posted for the period you want to report, open +your **Tax Report**. + +To do so, go to :menuselection:`Accounting --> Reporting --> Tax Report`. You can also click +on *TAX Report* from your *Accounting Overview*. + +Make sure to select the right period you want to declare by using the date filter. You can see an +overview of your tax report. Then, click on the button *Closing Journal Entry*. + +.. image:: media/tax_return_closing.png + :align: center + :alt: Select the period for the tax return and create a closing journal entry in Odoo Accounting + +After having reviewed the generated Journal Entry, click on *Post*. In addition to posting the entry, +Odoo automatically creates a PDF file with the **Tax Report** that you can download from the chatter +and preview on the right column. It includes all the values to report to the tax authorities, along +with the amount you have to pay or be refunded. + +.. image:: media/tax_return_report.png + :align: center + :alt: download the PDF with your Tax Report in Odoo Accounting + +.. note:: + If you forgot to :ref:`lock your tax date ` before clicking on *Closing Journal + Entry*, then Odoo automatically locks your fiscal period on the same date as the Accounting Date + of your entry. This automatic lock happens when you click on *Post*. This safety mechanism can + prevent some fiscal errors, but it is advised to lock your tax date manually before, as described + above. + +.. seealso:: + * :doc:`create` + * :doc:`../../overview/getting_started/setup` \ No newline at end of file diff --git a/accounting/fiscality/taxes/taxcloud.rst b/accounting/fiscality/taxes/taxcloud.rst index b582777cb..8c2055cc5 100644 --- a/accounting/fiscality/taxes/taxcloud.rst +++ b/accounting/fiscality/taxes/taxcloud.rst @@ -1,6 +1,6 @@ -================================================================ -How to get correct tax rates in the United States using TaxCloud -================================================================ +========================================================= +Get correct tax rates in the United States using TaxCloud +========================================================= The **TaxCloud** integration allows you to correctly calculate the sales tax for every address in the United States and keeps track of which products diff --git a/accounting/localizations/argentina.rst b/accounting/localizations/argentina.rst index 720b7ff81..bb3010e7f 100644 --- a/accounting/localizations/argentina.rst +++ b/accounting/localizations/argentina.rst @@ -15,6 +15,10 @@ modules are available: - **l10n_ar_reports**: Add VAT Book report which is a legal requirement in Argentine and that holds the VAT detail info of sales or purchases recorded on the journal entries. This module includes as well the VAT summary report that is used to analyze the invoice + +- **l10n_ar_edi**: This module includes all technical and functional requirements to generate + Electronic Invoice via web service, based on the AFIP regulations. + Configuration ============= @@ -36,6 +40,7 @@ fiscal obligation and structure of the company: .. image:: media/argentina02.png :align: center + Chart of Account ~~~~~~~~~~~~~~~~ @@ -54,11 +59,57 @@ many accounts as the companies that gave more complex fiscal requirements: Configure Master data --------------------- +Electronic Invoice Credentials +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Environment +*********** + +The AFIP infrastructure is replicated in two separate environments, Testing and Production. + +Testing is provided so that the Companies can test their developments until they are ready to move +into the Production environment. As these two environments are completely isolated from each other, +the digital certificates of one instance are not valid in the other one. + +Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to select the environment: + +.. image:: media/argentina_edi_01.png + :align: center + + +AFIP Certificates +***************** +The electronic invoice and other afip services work with WebServices (WS) provided by the AFIP. + +In order to enable communication with the AFIP, the first step is to request a Digital Certificate +if you don’t have one already. + +#. Generate certificate Sign Request (Odoo). When this option is selected a file with extension + ``.csr`` (certificate signing request) is generated to be used the AFIP portal to request the + certificate. + + .. image:: media/argentina_edi_02.png + +#. Generate Certificate (AFIP). Access the AFIP portal and follow the instructions described in the + next document in order to get a certificate. `Get AFIP Certificate + `_. + +#. Upload Certificate and Private Key (Odoo). Once the certificate has been generated, it needs to + be uploaded in Odoo, using the pencil next in the field “Certificado” and selecting the + corresponding file. + + .. image:: media/argentina_edi_03.png + +.. tip:: + In case you need to configure the Homologation Certificate, please refer to the AFIP official + documentation: `Homologation Certificate + `_. + Partner ~~~~~~~ Identification Type and VAT -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +*************************** As part of the Argentinean localization, the document types defined by the AFIP are now available on the Partner form, this information is essential for most transactions. There are six identification @@ -72,7 +123,7 @@ types available by default: common ones are active. AFIP Responsibility Type -^^^^^^^^^^^^^^^^^^^^^^^^^ +************************ In Argentina the document type associated with customers and vendors transactions is defined based on the AFIP Responsibility type, this field should be defined in the partner form: @@ -90,7 +141,7 @@ financial account and configuration. :align: center Taxes Types -^^^^^^^^^^^ +*********** Argentina has several tax types, the most common ones are: @@ -100,7 +151,7 @@ Argentina has several tax types, the most common ones are: - Otros. Special Taxes -^^^^^^^^^^^^^ +************* Some argentine taxes are not commonly used for all companies, these type of taxes are included as inactive by default, it's important that before creating a new tax you confirm if they are not @@ -133,7 +184,7 @@ fill anything on this view: There are several document types that are inactive by default but can be activated if needed. Letters -^^^^^^^ +******* For Argentina, the document types include a letter that helps that indicates the transaction/operation, example: @@ -149,7 +200,7 @@ to configure anything additional. :align: center Use on Invoices -^^^^^^^^^^^^^^^ +*************** The document type on each transaction will be determined by: @@ -171,8 +222,8 @@ for more detail of the invoices, please refer to the section 2.3 Document Types. If the Sales/Purchase journal are used without the option *Use Documents* it because they won’t be used to generate fiscal invoices, but mostly for account moves related to internal control process. -AFIP Information (better known as AFIP Point of Sale) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +AFIP Information (also known as AFIP Point of Sale) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: media/argentina10.png :align: center @@ -181,9 +232,23 @@ AFIP Information (better known as AFIP Point of Sale) POS that will be used to manage the transactions for which the journal is created. The AFIP POS defines as well: -#. The sequences of document types related to the WS. +#. The sequences of document types related to the Web service. #. The structure and data of the electronic invoice file. +Web Services +************ +- ``wsfev1: Electronic Invoice.`` This is the most common service, + is used to generated invoices for document types A, B, C, M with no detail per item. +- ``wsbfev1: Electronic Fiscal Bond.`` For those who invoice capital goods and wish + to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For more + detail you can refer to the next link: `Fiscal Bond + `_. +- ``wsfexv1: Electronic Exportation Invoice.`` Used to generate invoices for international customers + and transactions that involve exportation process, the document type related is type “E”. + +.. image:: media/argentina_edi_04.png + :align: center + **AFIP POS Number**: This is the number configured in the AFIP to identify the operations related to this AFIP POS. @@ -199,17 +264,32 @@ with the same letter will share the same sequence. For example: - Credit Note: NC-A 0001-00000003. - Debit Note: ND-A 0001-00000004. +Sequences +~~~~~~~~~ +In case that you want to synchronize the next number in the sequence in Odoo based on the next +number in the AFIP POS, the next button that is visible under :doc:`developer mode +<../../general/developer_mode/activate>` can be used: + +.. image:: media/argentina_edi_05.png + :align: center + +.. note:: + When creating the Purchase journals, it's possible to define if they can be related to document + types or not. In case that the option to use documents is selected, there is no need to manually + associate the document type sequences as the document number is provided by the vendor. + + Usage and testing ================= Invoice ----------- +------- After the partners and journals are created and configured, when the invoices are created the will have the next behaviour: Document type assignation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~ Once the partner is selected the document type will filled automatically, based on the AFIP document type: @@ -235,8 +315,30 @@ given by the document type. The most common document type will be defined automatically for the different combinations of AFIP responsibility type but it can be updated manually by the user. + +Electronic Invoice elements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When using electronic invoice, if all the information is correct the Invoice is posted in the +standard way, in case that something needs to be addressed (check the section common errors for more +detail), an error message is raised indicating the issue/proposed solution and the invoice remains +in draft until the related data is corrected. + +Once the invoice is posted, the information related to the AFIP validation and status is displayed +in the AFIP Tab, including: + +- AFIP Autorisation: CAE number. +- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the + CAE is generated. +- Result: + + - Aceptado en AFIP. + - Aceptado con Observaciones. + +.. image:: media/argentina_edi_15.png + :align: center + Invoice Taxes -~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ Based on the AFIP Responsibility type, the VAT tax can have a different behavior on the pdf report: @@ -244,7 +346,7 @@ report: **A. Tax excluded:** In this case the taxed amount needs to be clearly identified in the report. This condition applies when the customer has the following AFIP Responsibility type: -- Responsable Inscripto +- Responsable Inscripto. .. image:: media/argentina14.png :align: center @@ -261,12 +363,152 @@ Responsibility types: .. image:: media/argentina15.png :align: center + +Special Use Cases +~~~~~~~~~~~~~~~~~ + +Invoices for Services +********************* +For electronic invoices that include Services, the AFIP requires to report the service starting +and ending date, this information can be filled in the tab “Other Info”: + +.. image:: media/argentina_edi_06.png + :align: center + +If the dates are not selected manually before the invoice is validated, the values will be +filled automatically considering the beginning and day of the invoice month: + + +.. image:: media/argentina_edi_07.png + :align: center + +Exportation Invoices +******************** +The invoices related to Exportation transactions required a Journal that used the AFIP POS +System “Expo Voucher - Web Service” so the proper document type be associated: + +.. image:: media/argentina_edi_08.png + :align: center + +When the customer selected in the Invoice has set the AFIP responsibility type as “Cliente / +Proveedor del Exterior” or “IVA Liberado – Ley Nº 19.640”, Odoo automatically assigned: + +- Journal related to the exportation Web Service. +- Exportation document type . +- Fiscal position: Compras/Ventas al exterior. +- Concepto AFIP: Products / Definitive export of goods. +- Exempt Taxes. + +.. image:: media/argentina_edi_09.png + :align: center + +.. note:: + The Exportation Documents required the Incoterm in :menuselection:`Other Info --> Accounting`: + +.. image:: media/argentina_edi_13.png + :align: center + + +Fiscal Bond +*********** +The Electronic Fiscal bond is used for those who invoice capital goods and wish to access +the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. + +For these transactions it’s important to have into consideration the next requirements: + +- Currency (according to parameter table) and invoice quotation. +- Taxes. +- Zone. +- Detail each item. + + - Code according to the Common Nomenclator of Mercosur (NCM). + - Complete description. + - Unit Net Price. + - Quantity. + - Unit of measurement. + - Bonus. + - VAT rate. + + +Electronic Credit Invoice MiPyme (FCE) +************************************** + +**Invoices:** There are several document types classified as Mipyme also known as +Electronic Credit Invoice (FCE in spanish), which is used to impulse the SME, its purpose is +to develop a mechanism that improves the financing conditions of these companies and allows +them to increase their productivity, through the early collection of credits and receivables +issued to their clients and / or vendors. + +For these transactions it’s important to have into consideration the next requirements: + +- Specific document types (201, 202, 206, etc). +- The emisor should be eligible by the AFIP to MiPyme transactions. +- The amount should be bigger than 100,000 ARS. +- A bank account type CBU must be related to the emisor, otherwise the invoice can’t + be validated, having these errors messages for example: + +.. image:: media/argentina_edi_10.png + :align: center + +**Credit& Debit Notes:** When creating a Credit/Debit note related to a FCE document, it is +important take the next points into consideration: + +- Use the Credit and Debit Note buttons, so the correct reference of the originator + document passed to the note. + +.. image:: media/argentina_edi_11.png + :align: center + +- The document letter should be the same than the originator document (either A or B). +- The same currency as the source document must be used. When using a secondary currency + there is an exchange difference if the currency rate is different between the emission day + and the payment date, it’s possible to create a credit/debit note to decrease/increase the + amount to pay in ARS. + +In the workflow we can have two scenarios: + +#. The FCE is rejected so the Credit Note should have the field “FCE, is Cancellation?” as True. +#. The Credit Note, is created with the negative amount to annulate the FCE document, + in this case the field “FCE, is Cancellation?” must be empty (false). + +.. image:: media/argentina_edi_12.png + :align: center + +Invoice printed report +~~~~~~~~~~~~~~~~~~~~~~ +The PDF report related to electronic invoices that have been validated by the AFIP includes +a barcode at the bottom of the format which represent the CAE number, the Expiration Date is +also displayed as it’s legal requirement: + +.. image:: media/argentina_edi_14.png + :align: center + + +Troubleshooting and Auditing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +For auditing and troubleshooting purposes you can get the detailed information of an +invoice number that has been previously sent to the AFIP, + +.. image:: media/argentina_edi_23.png + :align: center + +.. image:: media/argentina_edi_24.png + :align: center + + +You can also get the last number used in AFIP for a specific Document Type and POS Number +as support for any possible issues on the sequence synchronization between Odoo and AFIP. + +.. image:: media/argentina_edi_22.png + :align: center + + Vendor Bills ------------ -Based on the sales journal selected for the invoice, the document type is now a required field. This -value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the value -can be switched if necessary. +Based on the purchase journal selected for the vendor bill, the document type is now a required field. +This value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the +value can be switched if necessary. .. image:: media/argentina16.png :align: center @@ -278,6 +520,72 @@ expected. .. image:: media/argentina17.png :align: center +The vendor bill number is structured in the same way that the invoices with the difference +that the document sequence is input by the user: “Document Prefix - Letter - Document number". + + +Validate Vendor Bill number in AFIP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +As most companies have internal controls to verify that the vendor bill is related to an AFIP +valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings --> +Argentinian Localization --> Validate document in the AFIP`, considering the following levels: + +- **Not available:** The verification is not done (this is the default value). +- **Available:** The verification is done, in case the number is not valid + it only raises a warning but it allows you to post the vendor bill. +- **Required:** The verification is done and it doesn't allow the user to + post the vendor bill if the document number is not valid. + +.. image:: media/argentina_edi_16.png + :align: center + +How to use it in Odoo +********************* +This tool incorporates in the vendor bill a new "Verify on AFIP" button located +next to the AFIP Authorization code. + +.. image:: media/argentina_edi_17.png + :align: center + +In case it’s not a valid AFIP authorization the value “Rejected” will be +displayed and the details of the validation will be added to the chatter. + +.. image:: media/argentina_edi_18.png + :align: center + + +Special Use cases +~~~~~~~~~~~~~~~~~ +Untaxed Concepts +**************** +There are some transactions that include items that are not part of the VAT base amount, +this is commonly used in fuel and gasoline invoices. + +The vendor bill will be registered using 1 item for each product that is part of the VAT +base amount and an additional item to register the amount of the Exempt concept: + +.. image:: media/argentina_edi_19.png + :align: center + +Perception Taxes +**************** +The vendor bill will be registered using 1 item for each product that is part of the +VAT base amount, the perception tax can be added in any of the product lines, as result +we will have one tax group for the VAT and one for the perception, the perception default +value is always 1.00. + +.. image:: media/argentina_edi_20.png + :align: center + +You should use the pencil that is the next to the Perception amount to edit it +and set the correct amount. + +.. image:: media/argentina_edi_21.png + :align: center + +After this is done the invoice can be validated. + + Reports ======= diff --git a/accounting/localizations/media/argentina01.png b/accounting/localizations/media/argentina01.png index 76dc482b6..4bd5bef4c 100644 Binary files a/accounting/localizations/media/argentina01.png and b/accounting/localizations/media/argentina01.png differ diff --git a/accounting/localizations/media/argentina_edi_01.png b/accounting/localizations/media/argentina_edi_01.png new file mode 100644 index 000000000..6fbaa96b6 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_01.png differ diff --git a/accounting/localizations/media/argentina_edi_02.png b/accounting/localizations/media/argentina_edi_02.png new file mode 100644 index 000000000..2c41db23a Binary files /dev/null and b/accounting/localizations/media/argentina_edi_02.png differ diff --git a/accounting/localizations/media/argentina_edi_03.png b/accounting/localizations/media/argentina_edi_03.png new file mode 100644 index 000000000..dd0189fce Binary files /dev/null and b/accounting/localizations/media/argentina_edi_03.png differ diff --git a/accounting/localizations/media/argentina_edi_04.png b/accounting/localizations/media/argentina_edi_04.png new file mode 100644 index 000000000..935d6ba69 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_04.png differ diff --git a/accounting/localizations/media/argentina_edi_05.png b/accounting/localizations/media/argentina_edi_05.png new file mode 100644 index 000000000..8e291d0e6 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_05.png differ diff --git a/accounting/localizations/media/argentina_edi_06.png b/accounting/localizations/media/argentina_edi_06.png new file mode 100644 index 000000000..b4fd80eb4 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_06.png differ diff --git a/accounting/localizations/media/argentina_edi_07.png b/accounting/localizations/media/argentina_edi_07.png new file mode 100644 index 000000000..cd3741ebe Binary files /dev/null and b/accounting/localizations/media/argentina_edi_07.png differ diff --git a/accounting/localizations/media/argentina_edi_08.png b/accounting/localizations/media/argentina_edi_08.png new file mode 100644 index 000000000..71b480895 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_08.png differ diff --git a/accounting/localizations/media/argentina_edi_09.png b/accounting/localizations/media/argentina_edi_09.png new file mode 100644 index 000000000..dfd12f532 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_09.png differ diff --git a/accounting/localizations/media/argentina_edi_10.png b/accounting/localizations/media/argentina_edi_10.png new file mode 100644 index 000000000..0ba1d7abf Binary files /dev/null and b/accounting/localizations/media/argentina_edi_10.png differ diff --git a/accounting/localizations/media/argentina_edi_11.png b/accounting/localizations/media/argentina_edi_11.png new file mode 100644 index 000000000..1f8206de3 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_11.png differ diff --git a/accounting/localizations/media/argentina_edi_12.png b/accounting/localizations/media/argentina_edi_12.png new file mode 100644 index 000000000..16672f109 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_12.png differ diff --git a/accounting/localizations/media/argentina_edi_13.png b/accounting/localizations/media/argentina_edi_13.png new file mode 100644 index 000000000..bc6cffaf7 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_13.png differ diff --git a/accounting/localizations/media/argentina_edi_14.png b/accounting/localizations/media/argentina_edi_14.png new file mode 100644 index 000000000..262ecadf9 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_14.png differ diff --git a/accounting/localizations/media/argentina_edi_15.png b/accounting/localizations/media/argentina_edi_15.png new file mode 100644 index 000000000..79f11d6d6 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_15.png differ diff --git a/accounting/localizations/media/argentina_edi_16.png b/accounting/localizations/media/argentina_edi_16.png new file mode 100644 index 000000000..d9eebed1c Binary files /dev/null and b/accounting/localizations/media/argentina_edi_16.png differ diff --git a/accounting/localizations/media/argentina_edi_17.png b/accounting/localizations/media/argentina_edi_17.png new file mode 100644 index 000000000..ec645bc58 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_17.png differ diff --git a/accounting/localizations/media/argentina_edi_18.png b/accounting/localizations/media/argentina_edi_18.png new file mode 100644 index 000000000..03d7913a1 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_18.png differ diff --git a/accounting/localizations/media/argentina_edi_19.png b/accounting/localizations/media/argentina_edi_19.png new file mode 100644 index 000000000..0a3da59a5 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_19.png differ diff --git a/accounting/localizations/media/argentina_edi_20.png b/accounting/localizations/media/argentina_edi_20.png new file mode 100644 index 000000000..9b73141c4 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_20.png differ diff --git a/accounting/localizations/media/argentina_edi_21.png b/accounting/localizations/media/argentina_edi_21.png new file mode 100644 index 000000000..ff23d7c18 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_21.png differ diff --git a/accounting/localizations/media/argentina_edi_22.png b/accounting/localizations/media/argentina_edi_22.png new file mode 100644 index 000000000..1c1c5b302 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_22.png differ diff --git a/accounting/localizations/media/argentina_edi_23.png b/accounting/localizations/media/argentina_edi_23.png new file mode 100644 index 000000000..ca48cef28 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_23.png differ diff --git a/accounting/localizations/media/argentina_edi_24.png b/accounting/localizations/media/argentina_edi_24.png new file mode 100644 index 000000000..2782102c2 Binary files /dev/null and b/accounting/localizations/media/argentina_edi_24.png differ diff --git a/accounting/others.rst b/accounting/others.rst index 2a4ec0220..55f564f98 100644 --- a/accounting/others.rst +++ b/accounting/others.rst @@ -1,6 +1,6 @@ -=========== +====== Others -=========== +====== .. toctree:: :titlesonly: diff --git a/accounting/others/adviser/budget.rst b/accounting/others/adviser/budget.rst index a2ce0cc31..a7fb56c17 100644 --- a/accounting/others/adviser/budget.rst +++ b/accounting/others/adviser/budget.rst @@ -1,6 +1,6 @@ -================================= -How to manage a financial budget? -================================= +========================= +Manage a financial budget +========================= Overview ======== diff --git a/accounting/others/analytic/purchases_expenses.rst b/accounting/others/analytic/purchases_expenses.rst index c566ac0b1..19859baad 100644 --- a/accounting/others/analytic/purchases_expenses.rst +++ b/accounting/others/analytic/purchases_expenses.rst @@ -1,6 +1,6 @@ -========================================================== -How to track costs of purchases, expenses, subcontracting? -========================================================== +================================================== +Track costs of purchases, expenses, subcontracting +================================================== Overview ======== diff --git a/accounting/others/analytic/timesheets.rst b/accounting/others/analytic/timesheets.rst index 82a3f291b..f7a1d0fc9 100644 --- a/accounting/others/analytic/timesheets.rst +++ b/accounting/others/analytic/timesheets.rst @@ -1,6 +1,6 @@ -====================================================== -How to track costs of human resources with timesheets? -====================================================== +============================================== +Track costs of human resources with timesheets +============================================== Human resource of course has a cost. It is interesting to see how much a particular contract costs the company in term of human power in relation diff --git a/accounting/others/multicurrencies/how_it_works.rst b/accounting/others/multicurrencies/how_it_works.rst index 68e4a20b7..e6489869b 100644 --- a/accounting/others/multicurrencies/how_it_works.rst +++ b/accounting/others/multicurrencies/how_it_works.rst @@ -1,6 +1,6 @@ -===================================== -How is Odoo's multi-currency working? -===================================== +============================ +Odoo's multi-currency system +============================ Overview ======== diff --git a/accounting/others/multicurrencies/invoices_payments.rst b/accounting/others/multicurrencies/invoices_payments.rst index a67dfba19..0afb82325 100644 --- a/accounting/others/multicurrencies/invoices_payments.rst +++ b/accounting/others/multicurrencies/invoices_payments.rst @@ -1,6 +1,6 @@ -======================================================== -How to manage invoices & payment in multiple currencies? -======================================================== +================================================== +Manage invoices and payment in multiple currencies +================================================== Overview ======== diff --git a/accounting/others/reporting/customize.rst b/accounting/others/reporting/customize.rst index fed44a248..5998dcef6 100644 --- a/accounting/others/reporting/customize.rst +++ b/accounting/others/reporting/customize.rst @@ -1,6 +1,6 @@ -========================================================== -How to create a customized reports with your own formulas? -========================================================== +================================================== +Create a customized reports with your own formulas +================================================== Overview ======== diff --git a/accounting/others/reporting/main_reports.rst b/accounting/others/reporting/main_reports.rst index 8c59caadb..15ae3f082 100644 --- a/accounting/others/reporting/main_reports.rst +++ b/accounting/others/reporting/main_reports.rst @@ -1,6 +1,6 @@ -==================================== -What are the main reports available? -==================================== +====================== +Main reports available +====================== Besides the reports created specifically in each localisation module, a few very useful **generic** and **dynamic reports** are available for all diff --git a/accounting/overview/getting_started/media/setup01.png b/accounting/overview/getting_started/media/setup01.png deleted file mode 100644 index da6fb65d6..000000000 Binary files a/accounting/overview/getting_started/media/setup01.png and /dev/null differ diff --git a/accounting/overview/getting_started/media/setup02.png b/accounting/overview/getting_started/media/setup02.png deleted file mode 100644 index 7e2fbf5eb..000000000 Binary files a/accounting/overview/getting_started/media/setup02.png and /dev/null differ diff --git a/accounting/overview/getting_started/media/setup_accounting_onboarding.png b/accounting/overview/getting_started/media/setup_accounting_onboarding.png new file mode 100644 index 000000000..73f6b7bcd Binary files /dev/null and b/accounting/overview/getting_started/media/setup_accounting_onboarding.png differ diff --git a/accounting/overview/getting_started/media/setup_chart_of_accounts.png b/accounting/overview/getting_started/media/setup_chart_of_accounts.png new file mode 100644 index 000000000..01a2142f2 Binary files /dev/null and b/accounting/overview/getting_started/media/setup_chart_of_accounts.png differ diff --git a/accounting/overview/getting_started/media/setup_company.png b/accounting/overview/getting_started/media/setup_company.png new file mode 100644 index 000000000..8bba880fd Binary files /dev/null and b/accounting/overview/getting_started/media/setup_company.png differ diff --git a/accounting/overview/getting_started/media/setup_document_layout.png b/accounting/overview/getting_started/media/setup_document_layout.png new file mode 100644 index 000000000..6b64d282d Binary files /dev/null and b/accounting/overview/getting_started/media/setup_document_layout.png differ diff --git a/accounting/overview/getting_started/media/setup_invoicing_onboarding.png b/accounting/overview/getting_started/media/setup_invoicing_onboarding.png new file mode 100644 index 000000000..8e48ed250 Binary files /dev/null and b/accounting/overview/getting_started/media/setup_invoicing_onboarding.png differ diff --git a/accounting/overview/getting_started/setup.rst b/accounting/overview/getting_started/setup.rst index 72af8c4dc..06558a9df 100644 --- a/accounting/overview/getting_started/setup.rst +++ b/accounting/overview/getting_started/setup.rst @@ -1,36 +1,189 @@ -============================= -How to setup Odoo Accounting? -============================= +=================================================== +Initial setup of Odoo Accounting and Odoo Invoicing +=================================================== -The Odoo Accounting application has an implementation guide that you -should follow to configure it. It's a step-by-step wizard with links to -the different screens you will need. +When you first open your Odoo Accounting app, the *Accounting Overview* page welcomes you with a +step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is +displayed until you choose to close it. -Once you have `installed the Accounting -application `__, -you should click on the top-right progressbar to get access to the -implementation guide. +The settings visible in the onboarding banner can still be modified later by going to +:menuselection:`Accounting --> Configuration --> Settings`. -.. image:: ./media/setup01.png +.. note:: + Odoo Accounting automatically installs the appropriate **Fiscal Localization Package** for your + company, according to the country selected at the creation of the database. This way, the right + accounts, reports, and taxes are ready-to-go. + +Accounting onboarding banner +============================ + +The step-by-step Accounting onboarding banner is composed of four steps: + +.. image:: media/setup_accounting_onboarding.png :align: center + :alt: Step-by-step onboarding banner in Odoo Accounting -The implementation guide will help you through the following steps: +#. :ref:`accounting-setup-company` +#. :ref:`accounting-setup-bank` +#. :ref:`accounting-setup-periods` +#. :ref:`accounting-setup-chart` -1. Completing your company settings -2. Entering in your bank accounts -3. Selecting your chart of accounts -4. Confirming your usual tax rates -5. Setting up any foreign currencies -6. Importing your customers -7. Importing your suppliers -8. Importing your products -9. Importing your outstanding transactions -10. Importing your starting balances -11. Define the users for accounting +.. _accounting-setup-company: -.. image:: ./media/setup02.png +Company Data +------------ + +This menu allows you to add your company’s details such as the name, address, logo, website, phone +number, email address, and Tax ID, or VAT number. These details are then displayed on your documents, +such as on invoices. + +.. image:: media/setup_company.png :align: center + :alt: Add your company's details in Odoo Accounting and Odoo Invoicing -Once a step is done, you can click on the "Mark as Done" button, in the -bottom of the screen. That way, you can track the progress of your -overall configuration of Odoo. +.. note:: + You can also change these settings by going to :menuselection:`Settings --> General Settings --> + Settings --> Companies` and clicking on **Update Info**. + +.. _accounting-setup-bank: + +Bank Account +------------ + +Connect your bank account database to your database, and have your bank statements synced +automatically. To do so, find your bank on the list, click on *Connect*, and follow the instructions +on-screen. + +.. note:: + :doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature. + +If your bank can’t be synchronized automatically, or if you prefer not to sync your bank account +with your database, you may also configure your bank account manually by clicking on *Create it*, +and filling out the form. + +- **Name**: the bank account's name, as displayed on Odoo. +- **Account Number**: your bank account number (IBAN in Europe). +- **Bank**: click on *Create and Edit* to configure the bank's details. Add the real bank's name + and its Identifier Code (BIC or SWIFT). +- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates + a new Journal with this Short Code. +- **Journal**: if this field is displayed, then select the *Journal* you want to use to record the + financial transactions linked to this bank account, or create a new one by clicking on *Create and + Edit*. + +.. note:: + You can add as many bank accounts as needed with this tool by going to :menuselection:`Accounting + --> Configuration`, and clicking on *Add a Bank Account*. + +.. _accounting-setup-periods: + +Accounting Periods +------------------ + +Define here your **Fiscal Years**’ opening and closing dates, which are used to generate reports +automatically, and your **Tax Return Periodicity**, along with a reminder to never miss a tax return +deadline. + +By default, the opening date is set on the 1st of January and the closing date on the 31st of +December, as this is the most common use. + +.. note:: + You can also change these settings by going to :menuselection:`Accounting --> Configuration --> + Settings --> Fiscal Periods` and updating the values. + +.. _accounting-setup-chart: + +Chart of Accounts +----------------- + +With this menu, you can add accounts to your **Chart of Accounts** and indicate their initial +opening balances. + +Basic settings are displayed on this page to help you review your Chart of Accounts. To access all +the settings of an account, click on the *double arrow button* at the end of the line. + +.. image:: media/setup_chart_of_accounts.png + :align: center + :alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting + +.. note:: + :doc:`Click here ` for more information on how to configure your Chart of + Accounts. + +Invoicing onboarding banner +=========================== + +There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing +and Accounting apps. The *Invoicing onboarding banner* is the one that welcomes you if you use the +Invoicing app rather than the Accounting app. + +If you have Odoo Accounting installed on your database, you can reach it by going to +:menuselection:`Accounting --> Customers --> Invoices`. + +The Invoicing onboarding banner is composed of four main steps: + +.. image:: media/setup_invoicing_onboarding.png + :align: center + :alt: Step-by-step onboarding banner in Odoo Invoicing + +#. :ref:`invoicing-setup-company` +#. :ref:`invoicing-setup-layout` +#. :ref:`invoicing-setup-payment` +#. :ref:`invoicing-setup-sample` + +.. _invoicing-setup-company: + +Company Data +------------ + +This form is the same as :ref:`the one presented in the Accounting onboarding banner +`. + +.. _invoicing-setup-layout: + +Invoice Layout +-------------- + +With this tool, you can design the appearance of your documents by selecting which layout tamplate, +paper format, colors, font, and logo you want to use. + +You can also add your *Company Tagline* and the content of the documents’ *footer*. Note that Odoo +automatically adds the company's phone number, email, website URL, and Tax ID (or VAT number) to the +footer, according to the values you previously configured in the :ref:`Company Data +`. + +.. image:: media/setup_document_layout.png + :align: center + :alt: Document layout configuration in Odoo Invoicing + +.. tip:: + Add your **bank account number** and a link to your **General Terms & Condition** in the footer. + This way, your contacts can find the full content of your GT&C online without having to print + them on the invoices you issue. + +.. note:: + These settings can also be modified by going to :menuselection:`Settings --> General Settings`, + under the *Business Documents* section. + +.. _invoicing-setup-payment: + +Payment Method +-------------- + +This menu helps you configure the payment methods with which your customers can pay you. + +.. important:: + Configuring a *Payment Acquirer* with this tool also activates the *Invoice Online Payment* + option automatically. With this, users can directly pay online, from their Customer Portal. + +.. _invoicing-setup-sample: + +Sample Invoice +-------------- + +Send yourself a sample invoice by email to make sure everything is correctly configured. + +.. seealso:: + * :doc:`chart_of_accounts` + * :doc:`../../bank/feeds/bank_synchronization` + * `Odoo Learn: Accounting Basics `_ \ No newline at end of file diff --git a/accounting/payables/misc/employee_expense.rst b/accounting/payables/misc/employee_expense.rst index 53fc34a14..82a13f776 100644 --- a/accounting/payables/misc/employee_expense.rst +++ b/accounting/payables/misc/employee_expense.rst @@ -1,6 +1,6 @@ -======================================= -How to keep track of employee expenses? -======================================= +=============================== +Keep track of employee expenses +=============================== Employee expenses are charges incurred on behalf of the company. The company then reimburses these expenses to the employee. The receipts diff --git a/accounting/payables/misc/forecast.rst b/accounting/payables/misc/forecast.rst index 93fca2561..d955c3bf1 100644 --- a/accounting/payables/misc/forecast.rst +++ b/accounting/payables/misc/forecast.rst @@ -1,6 +1,6 @@ -==================================== -How to forecast future bills to pay? -==================================== +============================ +Forecast future bills to pay +============================ When you get hundreds of vendor bills per month with each of them having different payment terms, it could be complex to follow what you have to diff --git a/accounting/payables/pay/multiple.rst b/accounting/payables/pay/multiple.rst index f687b8ab0..7d980b04e 100644 --- a/accounting/payables/pay/multiple.rst +++ b/accounting/payables/pay/multiple.rst @@ -1,6 +1,6 @@ -================================= -How to pay several bills at once? -================================= +========================= +Pay several bills at once +========================= Odoo provides a simple and effective way to handle several bills at once, with various quick or complex options. With one single process, diff --git a/accounting/payables/supplier_bills.rst b/accounting/payables/supplier_bills.rst index ee12248a8..3999f077c 100644 --- a/accounting/payables/supplier_bills.rst +++ b/accounting/payables/supplier_bills.rst @@ -9,3 +9,4 @@ Vendor Bills supplier_bills/bills_or_receipts supplier_bills/deferred_expenses supplier_bills/assets + supplier_bills/ocr diff --git a/accounting/payables/supplier_bills/bills_or_receipts.rst b/accounting/payables/supplier_bills/bills_or_receipts.rst index 16911435b..520eae1c3 100644 --- a/accounting/payables/supplier_bills/bills_or_receipts.rst +++ b/accounting/payables/supplier_bills/bills_or_receipts.rst @@ -1,6 +1,6 @@ -====================================================== -When should I use supplier bills or purchase receipts? -====================================================== +==================================== +Supplier bills or purchase receipts? +==================================== Purchase receipts are different than vendor bills. Vendor bills are requests for payment. If I issue a Purchase Order my vendor will in most diff --git a/accounting/payables/supplier_bills/manage.rst b/accounting/payables/supplier_bills/manage.rst index a563c4245..9a10b038b 100644 --- a/accounting/payables/supplier_bills/manage.rst +++ b/accounting/payables/supplier_bills/manage.rst @@ -1,6 +1,6 @@ -=========================== -How to manage vendor Bills? -=========================== +=================== +Manage vendor Bills +=================== The **Purchase** application allows you to manage your purchase orders, incoming products, and vendor bills all seamlessly in one place. diff --git a/accounting/payables/supplier_bills/media/example_ocr.png b/accounting/payables/supplier_bills/media/example_ocr.png new file mode 100644 index 000000000..f51fd60e3 Binary files /dev/null and b/accounting/payables/supplier_bills/media/example_ocr.png differ diff --git a/accounting/payables/supplier_bills/media/setup_ocr.png b/accounting/payables/supplier_bills/media/setup_ocr.png new file mode 100644 index 000000000..50b93c4ec Binary files /dev/null and b/accounting/payables/supplier_bills/media/setup_ocr.png differ diff --git a/accounting/payables/supplier_bills/ocr.rst b/accounting/payables/supplier_bills/ocr.rst new file mode 100644 index 000000000..f10e9a08b --- /dev/null +++ b/accounting/payables/supplier_bills/ocr.rst @@ -0,0 +1,38 @@ +============================================================== +Digitize Vendor Bills with Optical Character Recognition (OCR) +============================================================== + +Encoding bills manually can be a time-consuming task. Having a solution that allows you to digitize +them and automatically import the data to your database reduces errors and saves you time. + +Set up the feature +================== + +Go to :menuselection:`Accounting --> Settings --> Bill Digitalization`, and choose whether the bills +should be processed automatically or manually. + +.. image:: media/setup_ocr.png + :align: center + :alt: Activate the feature going to the settings application in Odoo Accounting + +Start digitizing your bills +--------------------------- + +Scan your bills and then go to :menuselection:`Accounting --> Vendors --> Bills` and upload your +document. Based on your configuration, it either processes the documents automatically, or you +need to click on *Send for Digitalization* to do it manually. + +.. tip:: + You can also create a vendor bill through the *Documents* app or by using an email alias on your + journals. + +Once the data is extracted from the PDF, you can correct it if necessary by clicking on the +respective tag (available in *Edit* mode), and selecting the right information instead. + +.. image:: media/example_ocr.png + :align: center + :height: 580 + :alt: Example of a scanned bill in Odoo Accounting + +.. note:: + The more bills you scan, the better the system gets at identifying the correct data. \ No newline at end of file diff --git a/accounting/receivables/customer_invoices.rst b/accounting/receivables/customer_invoices.rst index c4abef655..3f970fe03 100644 --- a/accounting/receivables/customer_invoices.rst +++ b/accounting/receivables/customer_invoices.rst @@ -9,7 +9,7 @@ Customer Invoices customer_invoices/cash_discounts customer_invoices/cash_rounding customer_invoices/payment_terms - customer_invoices/installment_plans customer_invoices/deferred_revenues customer_invoices/credit_notes customer_invoices/epc_qr_code + customer_invoices/snailmail diff --git a/accounting/receivables/customer_invoices/installment_plans.rst b/accounting/receivables/customer_invoices/installment_plans.rst deleted file mode 100644 index 67c9556eb..000000000 --- a/accounting/receivables/customer_invoices/installment_plans.rst +++ /dev/null @@ -1,83 +0,0 @@ -======================================================= -How to define an installment plan on customer invoices? -======================================================= -In order to manage installment plans related to an invoice, you should -use payment terms in Odoo. They apply on both customer invoices and -supplier bills. - -Example, for a specific invoice: - -- Pay 50% within 10 days -- Pay the remaining balance within 30 days - -.. note:: - Payment terms are not to be confused with a payment in several parts. If, - for a specific order, you invoice the customer in two parts, that's not a - payment term but an invoice policy. - -Configuration -============= - -Configure your usual installment plans from the application :menuselection:`Accounting --> -Configuration --> Payment Terms`. - -A payment term may have one line (eg: 21 days) or several lines (10% -within 3 days and the balance within 21 days). If you create a payment -term with several lines, make sure the latest one is the balance. (avoid -doing 50% in 10 days and 50% in 21 days because, with the rounding, it -may not compute exactly 100%) - -.. image:: ./media/installment01.png - :align: center - -.. tip:: - The description of the payment term will appear on the invoice or the sale order. - -Payment terms for customers -=========================== - -You can set payment terms on: - -- **a customer**: the payment term automatically applies on new sales - orders or invoices for this customer. Set payment terms on - customers if you grant this payment term for all future orders - for this customer. - -- **a quotation**: the payment term will apply on all invoices created - from this quotation or sale order, but not on other quotations - -- **an invoice**: the payment term will apply on this invoice only - -If an invoice contains a payment term, the journal entry related to the -invoice is different. Without payment term, an invoice of $100 will -produce the following journal entry (for the clarity of the example, we -did not set any tax on the invoice): - -+----------------------+------------+---------+----------+ -| Account | Due date | Debit | Credit | -+======================+============+=========+==========+ -| Account Receivable | | 100 | | -+----------------------+------------+---------+----------+ -| Income | | | 100 | -+----------------------+------------+---------+----------+ - -If you do an invoice the 1st of January with a payment term of 10% -within 3 days and the balance within 30 days, you get the following -journal entry: - -+----------------------+------------+---------+----------+ -| Account | Due date | Debit | Credit | -+======================+============+=========+==========+ -| Account Receivable | Jan 03 | 10 | | -+----------------------+------------+---------+----------+ -| Account Receivable | Jan 30 | 90 | | -+----------------------+------------+---------+----------+ -| Income | | | 100 | -+----------------------+------------+---------+----------+ - -On the customer statement, you will see two lines with different du dates. To get the customer -statement, use the menu :menuselection:`Sales --> Customers Statement`. - -.. seealso:: - - :doc:`overview` - - :doc:`payment_terms` diff --git a/accounting/receivables/customer_invoices/media/installment01.png b/accounting/receivables/customer_invoices/media/installment01.png deleted file mode 100644 index 437dc4b62..000000000 Binary files a/accounting/receivables/customer_invoices/media/installment01.png and /dev/null differ diff --git a/accounting/receivables/customer_invoices/media/invoice_bypost.png b/accounting/receivables/customer_invoices/media/invoice_bypost.png new file mode 100644 index 000000000..73cc03ac2 Binary files /dev/null and b/accounting/receivables/customer_invoices/media/invoice_bypost.png differ diff --git a/accounting/receivables/customer_invoices/media/payment_terms_configuration.png b/accounting/receivables/customer_invoices/media/payment_terms_configuration.png new file mode 100644 index 000000000..4cbb63c3d Binary files /dev/null and b/accounting/receivables/customer_invoices/media/payment_terms_configuration.png differ diff --git a/accounting/receivables/customer_invoices/media/payment_terms_journal_entry.png b/accounting/receivables/customer_invoices/media/payment_terms_journal_entry.png new file mode 100644 index 000000000..388d00f5a Binary files /dev/null and b/accounting/receivables/customer_invoices/media/payment_terms_journal_entry.png differ diff --git a/accounting/receivables/customer_invoices/media/setup_snailmail.png b/accounting/receivables/customer_invoices/media/setup_snailmail.png new file mode 100644 index 000000000..ff696f786 Binary files /dev/null and b/accounting/receivables/customer_invoices/media/setup_snailmail.png differ diff --git a/accounting/receivables/customer_invoices/payment_terms.rst b/accounting/receivables/customer_invoices/payment_terms.rst index f4a372637..7ed8047ab 100644 --- a/accounting/receivables/customer_invoices/payment_terms.rst +++ b/accounting/receivables/customer_invoices/payment_terms.rst @@ -1,96 +1,109 @@ -================================== -How to setup and use payment terms -================================== +=================================== +Payment Terms and Installment Plans +=================================== -Payment terms define the conditions to pay an invoice. They apply on -both customer invoices and supplier bills. +**Payment Terms** regroup all the conditions under which a sale is completed and paid. They can be +applied to sales orders, customer invoices, and supplier bills, mostly to ensure that they will be +correctly paid, and on time. These conditions cover: -Example, for a specific invoice: +- The due date +- Some discounts +- Any other condition on the payment -- Pay 50% within 10 days +Defining Payment Terms automates the computation of payments due dates, both for invoices and bills. +This is particularly helpful in managing installment plans. -- Pay the remaining balance within 30 days +An **installment plan** allows the customers to pay an invoice in parts, with the amounts and +payment dates defined beforehand by the seller. -.. note:: Payment terms are different from invoicing in several areas. If, - for a specific order, you invoice the customer in two parts, that's not - a payment term but invoice conditions. +**Examples of Payment Terms:** + +- | **Immediate Payment** + | The full payment is due on the day of the invoice's issuance. +- | **15 Days** (or **Net 15**) + | The full payment is due 15 days after the invoice date. +- | **21 MFI** + | The full payment is due by the 21st of the month following the invoice date. +- | **2% 10, Net 30 EOM** + | 2% :doc:`cash discount ` if the payment is received within ten days. Otherwise, + the full payment is due at the end of the month following the invoice date. + +.. note:: + Payment terms are not to be confused with payment in several parts. If, for a specific order, you + invoice the customer in two parts, that is nor a payment term nor an installment plan, but an + invoicing policy. Configuration ============= -Configure your usual payment terms from the Configuration menu of the -Account application. The description of the payment term is the one that -appear on the invoice or the sale order. +Go to :menuselection:`Accounting --> Configuration --> Payment Terms` and click on *Create*. -A payment term may have one line (ex: 21 days) or several lines (10% -within 3 days and the balance within 21 days). If you create a payment -term with several lines, be sure the latest one is the balance. (avoid -doing 50% in 10 days and 50% in 21 days because, with the rounding, it -may not do exactly 100%) +The **Description on the Invoice** is the displayed text on a sale order, invoice, or bill. -.. todo:: screenshot payment term forms, after QDP have commited the change - planned on this object +In the **Terms** section, you can add a set of rules, that we call *terms*, to define what needs to +be paid, and by which due date. + +To add a term, click on *Add a line*, and define its *Type*, *Value*, and *Due Date Computation*. + +.. important:: + - Terms are computed in the order they are set up. + - The **balance** should always be used for the last line. + +In the following example, 30% of the invoice is due on the day of issuance of the invoice, and the +balance is due at the end of the following month. + +.. image:: media/payment_terms_configuration.png + :align: center + :alt: Example of payment terms. The last line is the balance due the 31st of the following month. Using Payment Terms =================== -Payment terms for customers ---------------------------- +Payment Terms can be defined with the **Payment Terms** field on: -Payment terms can be set on: +- | **Contacts** + | To set specific payment terms automatically on new sales orders, invoices, and bills of a + contact. This can be modified in the contact’s *Form View*, under the *Sales & Purchase* tab. +- | **Quotations** + | To set specific payment terms automatically on all invoices generated from a quotation. +- | **Customer Invoices** + | To set specific payment terms on an invoice. +- | **Vendor Bills** + | To set specific payment terms on a bill. This is mostly useful when you need to manage vendor + terms with several installments. Otherwise, setting the *Due Date* is enough. -- **a customer**: to apply this payment term automatically on new - sale orders or invoices for this customer. Set payment terms on - customers if you grant this payment term for all future orders of - this customer. +Journal Entries +=============== +Invoices with specific Payment Terms generate different *Journal Entries*, with one *Journal Item* +for each different *Due Date* computed. -- **a quotation**: to apply this payment term on all invoices - created from this quotation or sale order, but not on other - quotations +This makes for easier *Follow-ups* and *Reconciliation* since Odoo takes each due date into account, +rather than just the balance due date. -- **an invoice**: to apply the payment term on this invoice only +In the following example, an invoice of $1000 has been issued with the following payment terms: +30% of the invoice is due on the day of issuance of the invoice, and the balance is due at the end +of the following month. -If an invoice has a payment term, the journal entry related to the -invoice is different. Without payment term or tax, an invoice of $100 -will produce this journal entry: +.. image:: media/payment_terms_journal_entry.png + :align: center + :alt: Example of an invoice with specific Payment Terms. The amount debited on the Account + Receivable is split in several Journal Items. -+----------------------+------------+---------+----------+ -| Account | Due date | Debit | Credit | -+======================+============+=========+==========+ -| Account Receivable | | 100 | | -+----------------------+------------+---------+----------+ -| Income | | | 100 | -+----------------------+------------+---------+----------+ +The $1000 debited on the Account Receivable is split into two distinct *Journal Items*. Both of +them have their own **Due Date**. -If you do an invoice the 1st of January with a payment term of 10% -within 3 days and the balance within 30 days, you get the following -journal entry: ++----------------------+-------------+---------+---------+ +| Account | Due date | Debit | Credit | ++======================+=============+=========+=========+ +| Account Receivable | February 21 | 300 | | ++----------------------+-------------+---------+---------+ +| Account Receivable | March 31 | 700 | | ++----------------------+-------------+---------+---------+ +| Product Sales | | | 1000 | ++----------------------+-------------+---------+---------+ -+----------------------+------------+---------+----------+ -| Account | Due date | Debit | Credit | -+======================+============+=========+==========+ -| Account Receivable | Jan 03 | 10 | | -+----------------------+------------+---------+----------+ -| Account Receivable | Jan 30 | 90 | | -+----------------------+------------+---------+----------+ -| Income | | | 100 | -+----------------------+------------+---------+----------+ - -In the customer statement, you will see two lines with different due -dates. - -Payment terms for vendor bills ------------------------------- - -The easiest way to manage payment terms for vendor bills is to record a -due date on the bill. You don't need to assign a payment term, just the -due date is enough. - -But if you need to manage vendor terms with several installments, you -can still use payment terms, exactly like in customer invoices. If you -set a payment term on the vendor bill, you don't need to set a due date. -The exact due date for all installments will be automatically created. +This allows for easier reconciliation and to accurately follow up late payments. .. seealso:: - - :doc:`cash_discounts` + - :doc:`cash_discounts` + - `Odoo Learn: Terms and Conditions (T&C) and Payment Terms `_ \ No newline at end of file diff --git a/accounting/receivables/customer_invoices/snailmail.rst b/accounting/receivables/customer_invoices/snailmail.rst new file mode 100644 index 000000000..73043bb3f --- /dev/null +++ b/accounting/receivables/customer_invoices/snailmail.rst @@ -0,0 +1,45 @@ +====================================== +Send your Invoices by Post (Snailmail) +====================================== + +Direct mail is a great way to capture individuals’ attention at a time where inboxes are always +full. Odoo allows you to send invoices and follow-up reports by post, worldwide, directly from +your database. + +Set up Snailmail +================ + +| Go to :menuselection:`Accounting --> Settings --> Snailmail` and activate the feature. +| If you would like this option to be a default feature, enable *Send by Post* under + *Default Sending Options*. + +.. image:: media/setup_snailmail.png + :align: center + :alt: Under settings enable the snailmail feauture in Odoo Accounting + +Send your invoices by post +-------------------------- + +Open your Invoice, click on the *Send & Print* button and select *Send by Post*. + +.. image:: media/invoice_bypost.png + :align: center + :alt: Overview of an invoice and the option send by post available in Odoo Accounting + +.. important:: + Make sure to have your customer’s address set correctly, and that it includes a country, + before sending the letter. + +Pricing +======= + +| *Snailmail* is an *In-App Purchase (IAP)* service which requires prepaid stamps (=credits) + to work. Sending one document consumes one stamp. +| To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings --> Snailmail` + and click on *Buy credits*, or go to :menuselection:`Settings --> Odoo IAP` and click on + *View my Services*. + +.. tip:: + - If you are on Odoo Online (SAAS) and have the Enterprise version, you benefit from free trial + credits to test the feature. + - Click `here `_ to know about our *Privacy Policy*. diff --git a/accounting/receivables/customer_payments/check.rst b/accounting/receivables/customer_payments/check.rst index 7f8d7f090..2fbdb94ed 100644 --- a/accounting/receivables/customer_payments/check.rst +++ b/accounting/receivables/customer_payments/check.rst @@ -1,6 +1,6 @@ -============================================ -How to register customer payments by checks? -============================================ +==================================== +Register customer payments by checks +==================================== There are two ways to handle payments received by checks. Odoo support both approaches so that you can use the one that better fits your diff --git a/accounting/receivables/customer_payments/credit_cards.rst b/accounting/receivables/customer_payments/credit_cards.rst index ce8596325..4ab6cabb4 100644 --- a/accounting/receivables/customer_payments/credit_cards.rst +++ b/accounting/receivables/customer_payments/credit_cards.rst @@ -1,6 +1,6 @@ -================================================= -How to register credit card payments on invoices? -================================================= +========================================= +Register credit card payments on invoices +========================================= There are two ways to handle payments received by credit cards. Odoo support both approaches so that you can use the one that better fits diff --git a/accounting/receivables/customer_payments/recording.rst b/accounting/receivables/customer_payments/recording.rst index 8be75a300..5a45b3b5b 100644 --- a/accounting/receivables/customer_payments/recording.rst +++ b/accounting/receivables/customer_payments/recording.rst @@ -1,6 +1,6 @@ -================================================ -What are the different ways to record a payment? -================================================ +================================== +Different ways to record a payment +================================== In Odoo, a payment can either be linked directly to an invoice or be a stand alone record for use on a later date: diff --git a/applications.rst b/applications.rst index c038a66c6..f605376ae 100644 --- a/applications.rst +++ b/applications.rst @@ -18,13 +18,15 @@ Applications point_of_sale project helpdesk - livechat/livechat + live_chat expense/expense iot mobile/firebase + events social_marketing sms_marketing marketing_automation + survey fsm planning email_marketing diff --git a/conf.py b/conf.py index 590f457e0..928195b1c 100644 --- a/conf.py +++ b/conf.py @@ -31,10 +31,11 @@ extensions = [ 'sphinx.ext.ifconfig', 'sphinx.ext.todo', 'odoo', - 'html_domain', 'demo_link', - 'github_link', 'embedded_video', + 'github_link', + 'html_domain', + 'redirects', ] # Add any paths that contain templates here, relative to this directory. @@ -81,6 +82,9 @@ exclude_patterns = [ 'bin', 'include', 'lib', ] +# The specifications of redirect rules used by the redirects extension. +redirects_file = 'redirects.txt' + # The reST default role (used for this markup: `text`) to use for all # documents. #default_role = None diff --git a/ecommerce/publish.rst b/ecommerce/publish.rst index 7a421388b..b12dcaad9 100644 --- a/ecommerce/publish.rst +++ b/ecommerce/publish.rst @@ -6,6 +6,7 @@ Launch my website :titlesonly: ../website/publish/domain_name + ../website/publish/on-premise_geo-ip-installation ../website/publish/translate diff --git a/email_marketing/overview/manage_unsubscriptions.rst b/email_marketing/overview/manage_unsubscriptions.rst index 5b54741fb..31c223b4d 100644 --- a/email_marketing/overview/manage_unsubscriptions.rst +++ b/email_marketing/overview/manage_unsubscriptions.rst @@ -15,10 +15,13 @@ unsubscribing*. :align: center :alt: Blacklist in Odoo Email Marketing - Now, once the user clicks on the *Unsubscribe* link on your email, he will be redirected to the following page: +.. note:: + After clicking the unsubscribe button when using the test feature, you will be sent to + an error page (error 403 - Access Denied). If you want to be sure the link is working properly, + you should create your mass mail and then send it only to a personal email. .. image:: media/manage2.png :align: center @@ -29,7 +32,6 @@ following page: In addition to having the option of unsubscribing from specific mailing lists, the user can also blacklist himself, meaning that he will not receive *any* more emails from you. - .. note:: The mailing list has to be configured as *Public* in order to be visible for users. diff --git a/events.rst b/events.rst new file mode 100644 index 000000000..1dadfa44b --- /dev/null +++ b/events.rst @@ -0,0 +1,10 @@ +:banner: banners/events.png + +====== +Events +====== + +.. toctree:: + :titlesonly: + + events/integrations \ No newline at end of file diff --git a/events/integrations.rst b/events/integrations.rst new file mode 100644 index 000000000..082bae819 --- /dev/null +++ b/events/integrations.rst @@ -0,0 +1,8 @@ +============ +Integrations +============ + +.. toctree:: + :titlesonly: + + integrations/integration_sms \ No newline at end of file diff --git a/events/integrations/integration_sms.rst b/events/integrations/integration_sms.rst new file mode 100644 index 000000000..a60ff2b3d --- /dev/null +++ b/events/integrations/integration_sms.rst @@ -0,0 +1,70 @@ +==================================================== +Communicating about my Event using SMS Text Messages +==================================================== + +Using SMS as a communication strategy for your event establishes interaction between organizers, +attendees, speakers and further targets. It allows your message to be heard whether the goal is to +send out reminders, teasers or to advertise. + +Configuration +============= + +| Under *Communication* SMS is a standard feature. That means nothing needs to be enabled or + installed. +| On the other hand, to contact the speakers of your event, you need the *SMS Marketing* application + installed, and to enable *Schedule & Tracks* under :menuselection:`Events --> Configuration --> + Settings`. + +.. image:: media/int1.png + :align: center + :alt: SMS for Events in Odoo Events + +.. tip:: + The *Schedule & Tracks* feature allows you to manage the agenda and speakers of your event. For + more details watch: `Creating an agenda for your event + `_. + +Send SMSs to attendees +====================== + +| Under *Communication*, the message’s target is the attendees of your event. +| You can choose to confirm each registration with the *Registration* template, and to send a + reminder shortly before the event takes place with the *Reminder* template. + +.. image:: media/int2.png + :align: center + :alt: SMS for Events in Odoo Events + +To make changes in an existing template, click on the external link. + +.. image:: media/int3.png + :align: center + :alt: SMS for Events in Odoo Events + +Send SMSs to speakers and further targets +========================================= + +The benefit of the integration with the *SMS Marketing* application is that you can choose the +target you would like your message to be delivered to. To get started, click on *Contact Track +Speakers*. + +.. image:: media/int4.png + :align: center + :alt: SMS for Events in Odoo Events + +| If *Event Track* is not your target (*Recipient*), choose the right one. *Filters* are eligible + here. +| In the example below, the SMS would be sent to the speakers who are in the stage *Proposal* on + *Event Track*. + +.. image:: media/int5.png + :align: center + :alt: SMS for Events in Odoo Events + +.. note:: + Credits are required to be able to send SMSs. For more information about Pricing :doc:`click here + <../../sms_marketing/pricing/pricing_and_faq>`, and, about IAP Services :doc:`here + <../../general/in_app_purchase/in_app_purchase>`. + + + diff --git a/events/integrations/media/int1.png b/events/integrations/media/int1.png new file mode 100644 index 000000000..ecd89d6d0 Binary files /dev/null and b/events/integrations/media/int1.png differ diff --git a/events/integrations/media/int2.png b/events/integrations/media/int2.png new file mode 100644 index 000000000..d75572d72 Binary files /dev/null and b/events/integrations/media/int2.png differ diff --git a/events/integrations/media/int3.png b/events/integrations/media/int3.png new file mode 100644 index 000000000..5ca6d308d Binary files /dev/null and b/events/integrations/media/int3.png differ diff --git a/events/integrations/media/int4.png b/events/integrations/media/int4.png new file mode 100644 index 000000000..e754a38ee Binary files /dev/null and b/events/integrations/media/int4.png differ diff --git a/events/integrations/media/int5.png b/events/integrations/media/int5.png new file mode 100644 index 000000000..f67162d00 Binary files /dev/null and b/events/integrations/media/int5.png differ diff --git a/general.rst b/general.rst index d07136852..6ed8a21ad 100644 --- a/general.rst +++ b/general.rst @@ -11,5 +11,6 @@ General general/unsplash general/base_import general/auth + general/tags general/in_app_purchase general/developer_mode diff --git a/general/auth.rst b/general/auth.rst index e84d90b98..771c9ea59 100644 --- a/general/auth.rst +++ b/general/auth.rst @@ -6,6 +6,8 @@ Authentication :titlesonly: auth/google + auth/google_spreadsheets auth/azure auth/ldap + diff --git a/general/auth/google_spreadsheets.rst b/general/auth/google_spreadsheets.rst new file mode 100644 index 000000000..540c378aa --- /dev/null +++ b/general/auth/google_spreadsheets.rst @@ -0,0 +1,84 @@ +===================================================== +How to use Google Spreadsheet in Addition to my Data? +===================================================== + +Create custom dashboards in Google Spreadsheet that retrieves data directly from Odoo using +spreadsheet formula. You can use it to create sales commission plans, budgets, project forecasts, +etc. Formulas are written in Python but programming skills are not required. + +Configuration +============= + +From the *General Settings*, active *Google Drive* and *Google Spreadsheet*. The options +*Authorization Code* and *Get Authorization Code* are now available. + +.. image:: media/authori.png + :align: center + :alt: Enable the Google Drive and Google Spreadsheet features in Odoo + +Now, link your Google account with Odoo going to :menuselection:`Get Authorization Code --> +select your Google account --> enter your password --> copy the code --> +paste it into the Authorization Code field`. + +Create a new Spreadsheet +------------------------ + +From the *CRM* app, for example, go to *Favorites* and click on *Add to Google Spreadsheet*. + +.. image:: media/add_to_google_spread.png + :align: center + :alt: From the CRM application, for example, click on add to Google Spreadsheet in Odoo + +A new spreadsheet will be automatically created in your Google Drive. + +.. note:: + When you opening this new file, a second sheet is created automatically by Odoo with a + tutorial/documentation on *How to use Google Spreadsheet*. + +Link a Spreadsheet with Odoo +---------------------------- + +| From this new file, configure your database. +| Go to :menuselection:`Odoo --> Server Settings --> Database Name --> Username --> Password`. + +.. image:: media/odoo_menu.png + :align: center + :alt: Menu called Odoo is shown on the settings bar in the Spreadsheet + +Applications +============ + +You have 2 different formulas of using Google Spreadsheet in Odoo: retrieve data and retrieve +grouped sums. + +Retrieve Data +------------- + +| The theoretical formula is :command:`= oe_browse (table;columns;filters;orderby:limit)`. + Used it if you want to display the information without grouping it (e.g.: each sales + order in the database). +| Find some the arguments in the table below. + +.. image:: media/retrieve_data.png + :align: center + :alt: Table with examples of arguments to use in Odoo + +Retrieve Grouped Sums +--------------------- + +| The theoretical formula is :command:`= oe_read_group (table;columns;group_by;filters;orderby:limit)`. + Use it when you want to display a sum of data (e.g.: total invoiced). +| Find some arguments in the table below. + +.. image:: media/retrieve_sums.png + :align: center + :alt: Table with examples of grouped sum arguments to use in Odoo + +Other uses +---------- + +Mix Odoo data with spreadsheet data, add traditional formulas, and create Dynamic Tabled and Graphs. + + + + diff --git a/general/auth/media/add_to_google_spread.png b/general/auth/media/add_to_google_spread.png new file mode 100644 index 000000000..82d45df49 Binary files /dev/null and b/general/auth/media/add_to_google_spread.png differ diff --git a/general/auth/media/authori.png b/general/auth/media/authori.png new file mode 100644 index 000000000..0a2668e80 Binary files /dev/null and b/general/auth/media/authori.png differ diff --git a/general/auth/media/odoo_menu.png b/general/auth/media/odoo_menu.png new file mode 100644 index 000000000..987b26968 Binary files /dev/null and b/general/auth/media/odoo_menu.png differ diff --git a/general/auth/media/retrieve_data.png b/general/auth/media/retrieve_data.png new file mode 100644 index 000000000..9c63bb8b5 Binary files /dev/null and b/general/auth/media/retrieve_data.png differ diff --git a/general/auth/media/retrieve_sums.png b/general/auth/media/retrieve_sums.png new file mode 100644 index 000000000..b742f670c Binary files /dev/null and b/general/auth/media/retrieve_sums.png differ diff --git a/general/tags.rst b/general/tags.rst new file mode 100644 index 000000000..307ee61ad --- /dev/null +++ b/general/tags.rst @@ -0,0 +1,8 @@ +==== +Tags +==== + +.. toctree:: + :titlesonly: + + tags/take_tags \ No newline at end of file diff --git a/general/tags/media/create_tags.png b/general/tags/media/create_tags.png new file mode 100644 index 000000000..e9004c48f Binary files /dev/null and b/general/tags/media/create_tags.png differ diff --git a/general/tags/media/create_tags_fly.png b/general/tags/media/create_tags_fly.png new file mode 100644 index 000000000..cf157cada Binary files /dev/null and b/general/tags/media/create_tags_fly.png differ diff --git a/general/tags/media/delete.png b/general/tags/media/delete.png new file mode 100644 index 000000000..a7e049989 Binary files /dev/null and b/general/tags/media/delete.png differ diff --git a/general/tags/media/mkt_automation.png b/general/tags/media/mkt_automation.png new file mode 100644 index 000000000..d0974099c Binary files /dev/null and b/general/tags/media/mkt_automation.png differ diff --git a/general/tags/media/reporting.png b/general/tags/media/reporting.png new file mode 100644 index 000000000..092616999 Binary files /dev/null and b/general/tags/media/reporting.png differ diff --git a/general/tags/media/tags_colors.png b/general/tags/media/tags_colors.png new file mode 100644 index 000000000..1d49879c6 Binary files /dev/null and b/general/tags/media/tags_colors.png differ diff --git a/general/tags/take_tags.rst b/general/tags/take_tags.rst new file mode 100644 index 000000000..6f26c125c --- /dev/null +++ b/general/tags/take_tags.rst @@ -0,0 +1,66 @@ +====================== +Take Advantage of Tags +====================== + +Tags work like keywords or labels that will help you to categorize your work, as well as make +objectives and goals clearer and available for everyone instantly. They are also a useful source of +filtering, helping you to boost productivity. + + +Where can I use and how do I create tags? +========================================= + +| Tags can be used in numerous applications going from *CRM*, *Project*, *Contacts*, *Marketing + Automation*, etc. +| On *CRM* for instance, under :menuselection:`CRM --> Configuration --> Tags` you can create new or + edit existing ones. + +.. image:: media/create_tags.png + :align: center + :height: 300 + :alt: Click on Create to create Tags in Odoo + +You can also create them on the fly. + +.. image:: media/create_tags_fly.png + :align: center + :alt: Type the name of the tag on the field and create and edit a tag in Odoo + +Choose specific colors for each tag to help identify them, or *Hide in Kanban*, simply by +clicking on the tag once it is created. + +.. image:: media/tags_colors.png + :align: center + :height: 260 + :alt: Click on the tag and choose a color in Odoo + +Remove tags from a task or from the database +============================================ + +Click on the *x* to delete a tag from a specific task or contact. To delete it from your +database, go to :menuselection:`CRM --> Configuration --> Tags --> Action --> Delete`. + +.. image:: media/delete.png + :align: center + :alt: Select a tag and click on action then delete to delete it from the database in Odoo + +Use tags as a parameter +======================= + +On the *Marketing Automation* application, for example, you can re-use tags as a parameter to +specify a niche of records for your campaign. + +.. image:: media/mkt_automation.png + :align: center + :height: 430 + :alt: Apply tags as filters in Odoo Marketing Automation application + +Use tags for reporting +====================== + +To get the information you need in an organized format and for a specific purpose, you can also +add tags. + +.. image:: media/reporting.png + :align: center + :alt: Apply tags to create reports in Odoo diff --git a/inventory/management/delivery/media/one_step_01.png b/inventory/management/delivery/media/one_step_01.png index 4a1db3dde..b0b708550 100644 Binary files a/inventory/management/delivery/media/one_step_01.png and b/inventory/management/delivery/media/one_step_01.png differ diff --git a/inventory/management/delivery/media/one_step_02.png b/inventory/management/delivery/media/one_step_02.png index 7b8057038..2b9c1c19c 100644 Binary files a/inventory/management/delivery/media/one_step_02.png and b/inventory/management/delivery/media/one_step_02.png differ diff --git a/inventory/management/delivery/media/one_step_03.png b/inventory/management/delivery/media/one_step_03.png index ad0b56210..213b907a5 100644 Binary files a/inventory/management/delivery/media/one_step_03.png and b/inventory/management/delivery/media/one_step_03.png differ diff --git a/inventory/management/delivery/media/one_step_04.png b/inventory/management/delivery/media/one_step_04.png index 211448adb..8b53120b9 100644 Binary files a/inventory/management/delivery/media/one_step_04.png and b/inventory/management/delivery/media/one_step_04.png differ diff --git a/inventory/management/delivery/media/one_step_05.png b/inventory/management/delivery/media/one_step_05.png index 3705a4ee0..911275901 100644 Binary files a/inventory/management/delivery/media/one_step_05.png and b/inventory/management/delivery/media/one_step_05.png differ diff --git a/inventory/management/delivery/media/three_steps_08.png b/inventory/management/delivery/media/three_steps_08.png index f6c141afe..294bb354d 100644 Binary files a/inventory/management/delivery/media/three_steps_08.png and b/inventory/management/delivery/media/three_steps_08.png differ diff --git a/inventory/management/delivery/media/three_steps_10.png b/inventory/management/delivery/media/three_steps_10.png index 294bb354d..f6c141afe 100644 Binary files a/inventory/management/delivery/media/three_steps_10.png and b/inventory/management/delivery/media/three_steps_10.png differ diff --git a/inventory/management/delivery/media/two_steps_02.png b/inventory/management/delivery/media/two_steps_02.png index d75f96c03..0a5295a84 100644 Binary files a/inventory/management/delivery/media/two_steps_02.png and b/inventory/management/delivery/media/two_steps_02.png differ diff --git a/inventory/management/delivery/media/two_steps_03.png b/inventory/management/delivery/media/two_steps_03.png index 21631ac43..4335f4fc4 100644 Binary files a/inventory/management/delivery/media/two_steps_03.png and b/inventory/management/delivery/media/two_steps_03.png differ diff --git a/inventory/management/delivery/media/two_steps_04.png b/inventory/management/delivery/media/two_steps_04.png index 58cc256bc..b353fd956 100644 Binary files a/inventory/management/delivery/media/two_steps_04.png and b/inventory/management/delivery/media/two_steps_04.png differ diff --git a/inventory/management/delivery/media/two_steps_05.png b/inventory/management/delivery/media/two_steps_05.png index a6daffa79..891313def 100644 Binary files a/inventory/management/delivery/media/two_steps_05.png and b/inventory/management/delivery/media/two_steps_05.png differ diff --git a/inventory/management/delivery/media/two_steps_06.png b/inventory/management/delivery/media/two_steps_06.png index dc75bd427..a2a3ea9f6 100644 Binary files a/inventory/management/delivery/media/two_steps_06.png and b/inventory/management/delivery/media/two_steps_06.png differ diff --git a/inventory/management/delivery/media/two_steps_07.png b/inventory/management/delivery/media/two_steps_07.png index ab8408e9b..14539f9ac 100644 Binary files a/inventory/management/delivery/media/two_steps_07.png and b/inventory/management/delivery/media/two_steps_07.png differ diff --git a/inventory/management/delivery/media/two_steps_08.png b/inventory/management/delivery/media/two_steps_08.png index db75f1d17..b506ffcca 100644 Binary files a/inventory/management/delivery/media/two_steps_08.png and b/inventory/management/delivery/media/two_steps_08.png differ diff --git a/inventory/management/delivery/media/two_steps_09.png b/inventory/management/delivery/media/two_steps_09.png new file mode 100644 index 000000000..e0d4b1051 Binary files /dev/null and b/inventory/management/delivery/media/two_steps_09.png differ diff --git a/inventory/management/delivery/one_step.rst b/inventory/management/delivery/one_step.rst index d0d4a29ab..c85e99f0b 100644 --- a/inventory/management/delivery/one_step.rst +++ b/inventory/management/delivery/one_step.rst @@ -1,57 +1,55 @@ -======================================= -Process a Receipt in one step (Receipt) -======================================= +============================================== +Process Delivery Orders in one Step (Shipping) +============================================== -There is no configuration needed to receive in one step. The default -incoming shipments are configured to be directly received from the -vendors to the stock. +There is no configuration needed to deliver in one step. The default +outgoing shipments are configured to be directly delivered from the +stock to the customers. However, if advanced routes have been activated and you set another -incoming configuration on your warehouse, you can set it back to the -one-step receipt configuration. To do so, go to :menuselection:`Configuration --> -Warehouses` and edit the warehouse in question. +shipping configuration on your warehouse, you can set it back to the +one-step delivery configuration. Go to :menuselection:`Inventory --> Configuration --> Warehouses` +and edit the warehouse in question. -Set the *Incoming Shipments* option to *Receive goods directly (1 -step)*. +Then, choose *Deliver goods directly* as your *Outgoing Shipments* +strategy. .. image:: media/one_step_01.png :align: center -Create a Purchase Order -======================= +Create a Sales Order +==================== -To create a *Request for Quotation*, go to the *Purchase* -application and click on *Create*. Then, add some storable products to -receive and confirm the *RfQ*. +In the *Sales* application, create a quotation with some storable +products to deliver and confirm it. -Notice that, now, we see 1 receipt associated with the purchase order -you just created. If you click on the button, you will see your receipt -order. +Notice that we now see 1 delivery associated with this *sales order* +in the stat button above the sales order. If you click on the 1 Delivery +stat button, you should now see your delivery order. .. image:: media/one_step_02.png :align: center -Process a Receipt -================= +Process a Delivery +================== -You can also fin the receipt directly from the *Inventory* app. When -on the dashboard, you can click the *1 TO PROCESS* button under the -*Receipts* Kanban card. Then, you will see your receipt. +You can also find the *delivery order* directly from the *Inventory* +application. In the dashboard, you can click the *1 TO PROCESS* button +under the Delivery Orders Kanban card. .. image:: media/one_step_03.png :align: center -Now, enter the picking that you want to process. You will be able to -click on *Validate* to complete the move directly as products coming -from suppliers are considered as being always available. +Enter the picking that you want to process. You will be able to click on +*Validate* to complete the move if you have products in stock. .. image:: media/one_step_04.png :align: center -Once you *Validate* the receipt, the products leave the *Supplier -Location* to enter your *WH/Stock Location*. You can easily see that -the receipt took place thanks to the status of the document, which is -now *Done*. +Once you *Validate* the delivery order, the products leave your +*WH/Stock location* and are moved to the *Customer location*. You +can easily see that the delivery took place thanks to the status of the +document which is now *Done*. .. image:: media/one_step_05.png :align: center \ No newline at end of file diff --git a/inventory/management/delivery/three_steps.rst b/inventory/management/delivery/three_steps.rst index b68983ede..24abc2e0a 100644 --- a/inventory/management/delivery/three_steps.rst +++ b/inventory/management/delivery/three_steps.rst @@ -1,101 +1,91 @@ -========================================================== -Process a Receipt in three steps (Input + Quality + Stock) -========================================================== +=========================================================== +Process Delivery Orders in three Steps (Pick + Pack + Ship) +=========================================================== -In many companies, it is necessary to assess the received good. The goal -is to check that the products correspond to the quality requirements -agreed with the suppliers. Therefore, adding a *quality control step* -in the goods receipt process can become essential. +When an order goes to the shipping department for final delivery, Odoo +is set up by default to utilize a one-step operation: once all goods are +available, they are able to be shipped in a single delivery order. +However, that process may not reflect reality and your company could +require more steps before shipping. -Odoo uses routes to define exactly how you will handle the different -receipt steps. The configuration is done at the level of the warehouse. -By default, the reception is a one-step process, but changing the -configuration can allow having 3 steps. +With the delivery in 3 steps (Pick + Pack + Ship), the items will be +picked to be transferred to a packing area. Then, they will be moved to +an output location before being effectively shipped to the customers. -The 3-steps flow is as follows: You receive the goods in an input area, -then transfer them into a quality area for *quality control*. When the -quality check has been processed, you can move the goods from QC to -stock. Of course, you may change the quantity and only transfer to stock -the quantity that is valid and decide that you will return the quantity -that is not good. +Activate Multi-Step Routes +========================== -Multi-Step Routes -================= +The first step is to allow using *multi-step routes*. Indeed, routes +provide a mechanism to chain different actions together. In this case, +we will chain the picking step to the shipping step. -First, you will need to activate the *multi-step routes* option. -Indeed, routes provide a mechanism to chain different actions together. -Here, we will chain the picking to the shipping. - -To activate *multi-step routes*, open the *inventory app*, and go to -:menuselection:`Configuration --> Settings` and activate the option. By default, -activating *multi-step routes* will also activate *Storage -Locations*. +To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and +activate the option. Note that activating *Multi-Step +Routes* will also activate *Storage Locations*. .. image:: media/three_steps_01.png :align: center -Warehouse configuration -======================= +Configure Warehouse for Delivery in 3 Steps +=========================================== -Now that *Multi-Step Routes* is activated, go to :menuselection:`Configuration --> -Warehouse` and open the one you will use to deliver in 3 steps. Then, -you can select the option *Pack good, send goods in output and then -deliver (3 steps)* as *Outgoing Shipments*. +Once *Multi-Step Routes* has been activated, you can go to +:menuselection:`Inventory --> Configuration --> Warehouse` and enter the warehouse which will use +delivery in 3 steps. You can then select the option *Pack goods, send +goods in output and then deliver (3 steps)* for *Outgoing Shipments*. .. image:: media/three_steps_02.png :align: center Activating this option will lead to the creation of two new locations, -*Output* and *Packing Zone*. - -Of course, you can rename them if you want. To do so, go to -:menuselection:`Configuration --> Locations` and select the one you want to rename. -Change its name and hit save. +*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory --> +Configuration --> Locations`, *Select* the one you want to rename and update its name. Create a Sales Order ==================== -In the *Sales* app, create a quotation with storable products to -deliver. Then, confirm it and three pickings will be created and linked -to your sale order. +In the *Sales* application, you can create a quotation with some +storable products to deliver. Once you confirm the quotation, three +pickings will be created and automatically linked to your sale order. .. image:: media/three_steps_03.png :align: center -Now, click on the button. You should see three different pickings: +If you click the button, you should now see three different pickings: -- The first one, with a reference PICK, designates the picking process; +1. The first one with a reference PICK to designate the picking process, -- The second one, with a reference PACK, is for the packing process; +2. The second one with the reference PACK that is the packing process, -- The third one, with a reference OUT, designates the shipping process. +3. The last one with a reference OUT to designate the shipping process. .. image:: media/three_steps_04.png :align: center -Process the picking, packing, and delivery +Process the Picking, Packing, and Delivery ========================================== -The first operation to be processed is the picking and has a *Ready* -status, while the others are *Waiting Another Operation*. The packing -will become *Ready* as soon as the picking is marked as *Done*. +The picking operation is the first one to be processed and has a +*Ready* status while the other ones are *Waiting Another Operation*. +The Packing operation will become *Ready* as soon as the picking one +is marked as done. You can enter the picking operation from here, or access it through the -inventory app. +inventory dashboard. .. image:: media/three_steps_05.png :align: center -Note that, if you have the product in stock, it will be automatically -reserved and you can validate the picking document. +In case you have the product in stock, it has automatically been +reserved and you can simply validate the picking document. .. image:: media/three_steps_06.png :align: center -Now that the picking has been validated, the packing order is ready to -be processed. Since the documents are chained, the products that have -been picked are automatically reserved on the packing order so you can -directly validate it. +Once the picking has been validated, the packing order is ready to be +processed. Thanks to the fact that the documents are chained, the +products which have been previously picked are automatically reserved on +the packing order which can be directly validated. .. image:: media/three_steps_07.png :align: center @@ -103,8 +93,8 @@ directly validate it. .. image:: media/three_steps_08.png :align: center -Then, you can validate your packing. In doing so, the delivery order can -be processed. Once again, it will be ready to be validated so you can +Once the packing has been validated, the delivery order is ready to be +processed. Here again, it is directly ready to be validated in order to transfer the products to the customer location. .. image:: media/three_steps_09.png diff --git a/inventory/management/delivery/two_steps.rst b/inventory/management/delivery/two_steps.rst index 2270450ba..114a152f2 100644 --- a/inventory/management/delivery/two_steps.rst +++ b/inventory/management/delivery/two_steps.rst @@ -1,103 +1,92 @@ -============================================== -Process a Receipt in two steps (Input + Stock) -============================================== +================================================== +Process Delivery Orders in two Steps (Pick + Ship) +================================================== -Configuration -============= +When an order goes to the shipping department for final delivery, Odoo +is set up by default to utilize a one-step operation: once all goods are +available, they are able to be shipped in a single delivery order. -Odoo uses routes to define exactly how you will handle the different -receipt steps. The configuration is done at the *Warehouse* level. By -default, the reception is a one-step process, but changing the -configuration can allow you to have 2 steps. - -The 2 steps flow is like this: you receive the goods in an input area, -then transfer them to your stock. As long as the goods are not -transferred in your stock, they will not be available for further -processing. +However, your company's business process may have one or more steps that +happen before shipping. In the two steps process, the products which are +part of the delivery order are picked in the warehouse and brought to an +output location before being effectively shipped. Activate Multi-Step Routes ========================== The first step is to allow using *multi-step routes*. Indeed, routes provide a mechanism to chain different actions together. In this case, -we will chain the unload step in the input area to the step entering the -products in stock. +we will chain the picking step to the shipping step. -To allow *multi-step routes*, go to :menuselection:`Configuration --> Settings` and -activate the feature. By default, activating *multi-step routes* will -also activate *Storage Locations*. +To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and +activate the option. Note that activating *Multi-Step Routes* will also +activate *Storage Locations*. .. image:: media/two_steps_01.png :align: center -Configure warehouse for receipt in 2 steps -========================================== +Warehouse configuration +======================= -Once *multi-step routes* is activated, you can go to :menuselection:`Configuration --> -Warehouse` and enter the warehouse which will use receipt in 2 steps. -Then, you can select the option *Receive goods in input and then stock -(2 steps)* for *Incoming Shipments*. +Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory --> +Configuration --> Warehouse` and enter the warehouse which will use +delivery in 2 steps. You can then select the option *Send goods in +output and then deliver (2 steps)* for Outgoing Shipments. .. image:: media/two_steps_02.png :align: center - -Activating this option will lead to the creation of a new *Input* -location. If you want to rename it, you can go to :menuselection:`Configuration --> -Locations --> Select Input` and update its name. +Activating this option will lead to the creation of a new *Output* +location. If you want to rename it go to :menuselection:`Inventory --> Configuration --> +Locations`, Select Output and update its name. .. image:: media/two_steps_03.png :align: center +Create a Sales Order +==================== -Create a purchase order -======================= - -In the *Purchase* application, you can create a *Request for -Quotation* with some storable products to receive from a supplier. Once -the *RfQ* is confirmed, the receipt picking will be created and -automatically linked to your purchase order. +In the *Sales* application, you can create a quotation with some +storable products to deliver. Once you confirm the quotation, two +pickings will be created and automatically linked to your sale order. .. image:: media/two_steps_04.png :align: center - -Now, by clicking on the *1 Receipt* button, you will see the first -picking which will allow entering the product in the *input location*. -Then, another picking, an internal transfer, has been created in order -to move the products to *Stock*. - -Process the picking and the delivery -==================================== - -The receipt is the first one to be processed and has a *Ready* status -while the internal transfer will only become *Ready* once the receipt -has been marked as *Done*. - -You can enter the receipt operation from the purchase order, or access -it through the inventory dashboard. +If you click on the *2 Delivery* button, you should now see two +different pickings, one with a reference *PICK* to designate the +picking process and another one with a reference *OUT* to designate +the shipping process. .. image:: media/two_steps_05.png :align: center +Process the Picking and the Delivery +==================================== -By default, a receipt is always considered as ready to be processed. -Then, you will be able to directly click on *Validate* to mark it as -done. +The picking operation is the first one to be processed and has a +*Ready* status while the delivery operation will only become *Ready* +once the picking operation has been marked as done. + +You can enter the picking operation from here, or access it through the +inventory dashboard. .. image:: media/two_steps_06.png :align: center - -Once the receipt has been validated, the internal transfer is ready to -be processed. As documents are chained, the products which have been -received are automatically reserved on the internal transfer. Once the -transfer is validated, those products enter the stock and you will be -able to use them to fulfill customer deliveries or manufacture products. +In case you have the product in stock, it has automatically been +reserved and you can simply validate the picking document. .. image:: media/two_steps_07.png :align: center +Once the picking has been validated, the delivery order is ready to be +processed. Thanks to the fact that the documents are chained, the +products which have been previously picked are automatically reserved on +the delivery order. .. image:: media/two_steps_08.png + :align: center + +.. image:: media/two_steps_09.png :align: center \ No newline at end of file diff --git a/live_chat.rst b/live_chat.rst new file mode 100644 index 000000000..1c42391fc --- /dev/null +++ b/live_chat.rst @@ -0,0 +1,10 @@ +:banner: banners/livechat.png + +========= +Live Chat +========= + +.. toctree:: + :titlesonly: + + livechat/overview \ No newline at end of file diff --git a/livechat/livechat.rst b/livechat/livechat.rst deleted file mode 100644 index 511e4f3f1..000000000 --- a/livechat/livechat.rst +++ /dev/null @@ -1,137 +0,0 @@ -:banner: banners/livechat.png - -========= -Live Chat -========= - -Chat in real time with website visitors -======================================= - -With Odoo Live Chat, you can establish a direct contact with your -website visitors. A simple dialog box will be available on their screen -and will allow them to get in touch with one of your sales -representatives. This way, you can easily turn prospects into potential -business opportunities. You will also be able to provide assistance to -your customers. Overall, this is the perfect tool to improve customer -satisfaction. - -Configuration -============= - -To get the Live Chat feature, open the Apps module, search for "Live -Chat" and then click on install. - -.. image:: media/live_chat01.png - :align: center - -The Live Chat module provides you a direct access to your channels. -There, operators can easily join and leave the chat. - -.. image:: media/live_chat02.png - :align: center - -Add the live chat to an Odoo website -==================================== - -If your website was created with Odoo, then the live chat is -automatically added to it. All that is left to do, is to go to -:menuselection:`Website --> Configuration --> Settings` to select the -channel to be linked to the website. - -.. image:: media/live_chat03.png - :align: center - -Add the live chat to an external website -======================================== - -If your website was not created with Odoo, go to the Live Chat module -and then select the channel to be linked. There, you can simply copy -paste the code available into your website. A specific url you can send -to customers or suppliers for them to access the live chat is also -provided. - -Hide / display the live chat according to rules -=============================================== - -Rules for the live chat can be defined on the channel form. For -instance, you can choose to display the chat in the countries you speak -the language of. On the contrary, you are able to hide the chat in -countries your company does not sell in. If you select *Auto popup*, -you can also set the length of time it takes for the chat to appear. - -.. image:: media/live_chat04.png - :align: center - -Prepare automatic messages -========================== - -On the channel form, in the *Options* section, several messages can be -typed to appear automatically on the chat. This will entice visitors to -reach you through the live chat. - -.. image:: media/live_chat05.png - :align: center - -Start chatting with customers -============================= - -In order to start chatting with customers, first make sure that the -channel is published on your website. To do so, select *Unpublished on -Website* on the top right corner of the channel form to toggle the -*Published* setting. Then, the live chat can begin once an operator -has joined the channel. - -.. image:: media/live_chat06.png - :align: center - -.. note:: - If no operator is available and/or if the channel is - unpublished on the website, then the live chat button will not appear to - visitors. - -Conversations initiated by visitors also appear in -the Discuss module in addition to popping up as a direct message. Therefore, -inquiries can be answered wherever you are in Odoo. - -If there are several operators who have all joined a channel, the system will -dispatch visitor sessions randomly between them. - -Use commands -============ - -Commands are useful shortcuts for completing certain actions or to -access information you might need. To use this feature, simply type the -commands into the chat. The following actions are available : - -**/help** : show a helper message. - -**/helpdesk** : create a helpdesk ticket. - -**/helpdesk\_search** : search for a helpdesk ticket. - -**/history** : see 15 last visited pages. - -**/lead** : create a new lead. - -**/leave** : leave the channel. - -.. note:: - If a helpdesk ticket is created from the chat, then the - conversation it was generated from will automatically appear as the - description of the ticket. The same goes for the creation of a lead. - -Send canned responses -===================== - -Canned responses allow you to create substitutes to generic sentences -you frequently use. Typing a word instead of several will save you a lot -of time. To add canned responses, go to :menuselection:`LIVE CHAT --> -Configuration --> Canned Responses` and create as many as you need to. -Then, to use them during a chat, simply type ":" followed by the -shortcut you assigned. - -.. image:: media/live_chat07.png - :align: center - -You now have all of the tools needed to chat in live with your website -visitors, enjoy ! diff --git a/livechat/media/live_chat01.png b/livechat/media/live_chat01.png deleted file mode 100644 index cc493f5ea..000000000 Binary files a/livechat/media/live_chat01.png and /dev/null differ diff --git a/livechat/media/live_chat02.png b/livechat/media/live_chat02.png deleted file mode 100644 index b9665b7e5..000000000 Binary files a/livechat/media/live_chat02.png and /dev/null differ diff --git a/livechat/media/live_chat03.png b/livechat/media/live_chat03.png deleted file mode 100644 index b2a293225..000000000 Binary files a/livechat/media/live_chat03.png and /dev/null differ diff --git a/livechat/media/live_chat04.png b/livechat/media/live_chat04.png deleted file mode 100644 index bf8c4daf2..000000000 Binary files a/livechat/media/live_chat04.png and /dev/null differ diff --git a/livechat/media/live_chat05.png b/livechat/media/live_chat05.png deleted file mode 100644 index 883c1e3cc..000000000 Binary files a/livechat/media/live_chat05.png and /dev/null differ diff --git a/livechat/media/live_chat06.png b/livechat/media/live_chat06.png deleted file mode 100644 index 850baf524..000000000 Binary files a/livechat/media/live_chat06.png and /dev/null differ diff --git a/livechat/media/live_chat07.png b/livechat/media/live_chat07.png deleted file mode 100644 index 427fe0324..000000000 Binary files a/livechat/media/live_chat07.png and /dev/null differ diff --git a/livechat/overview.rst b/livechat/overview.rst new file mode 100644 index 000000000..2097f7c02 --- /dev/null +++ b/livechat/overview.rst @@ -0,0 +1,10 @@ +======== +Overview +======== + +.. toctree:: + :titlesonly: + + overview/get_started + overview/ratings + overview/responses \ No newline at end of file diff --git a/livechat/overview/get_started.rst b/livechat/overview/get_started.rst new file mode 100644 index 000000000..29a6f1a62 --- /dev/null +++ b/livechat/overview/get_started.rst @@ -0,0 +1,83 @@ +========================== +Get Started with Live Chat +========================== + +Live Chat has the highest satisfaction rating of any communication tool. It allows fast responses +and it is accessible and convenient, as your customers can keep doing what they are doing while +interacting with you. Remember: your customers want to talk to you, so let's make it easy. + +Set up +====== + +Once *Live Chat* is installed on your database, if your website was created with Odoo, the +application is automatically added to it. All that is left to do is to go to +:menuselection:`Website --> Configuration --> Settings --> Live Chat`. + +.. image:: media/livechat_settings.png + :align: center + :height: 300 + :alt: View of the settings page and the live chat feature for Odoo Live Chat + +Select the channel to be linked to your website or create one on the fly. + +.. image:: media/channels.png + :align: center + :alt: View of a live chat channel form for Odoo Live Chat + +| For both scenarios, under: +| - **Operators**: add agents to respond to the chat requests. Add as many as you like, and keep in + mind that operators that do not show any activity in Odoo for more than 30min are considered + disconnected. +| - **Options**: set the default text to be shown on the live chat button; an automated welcome + message to be seen by visitors when a conversation is initiated, and the text that prompts the + user to initiate a chat. +| - **Channel Rules**: choose an action for a given URL, and/or per country. In the example below, + the chat window automatically pops-up 3 seconds after users (from any country) land on the + contact us page. + +.. image:: media/rules.png + :align: center + :alt: View of a channel’s rules form for Odoo Live Chat + +.. note:: + GeoIP, which refers to the process of finding a computer terminal’s geographical location by its + IP address, must be installed on your server. Otherwise, under *Channel Rules*, countries are + not taken into account. + +External options +---------------- + +| If your website was not created with Odoo, you can find the code to be added to your own, under + the *Widget* tab. +| Odoo also offers an URL you can send to users so they can have access to a single live chat page. + +.. image:: media/widget.png + :align: center + :alt: View of the widget tab for Odoo Live Chat + +Managing chat requests +====================== + +Conversations initiated by visitors pop up as a direct message, and are shown in *Discuss*. +Therefore, inquiries can be answered wherever you are in Odoo. + +.. image:: media/discuss.png + :align: center + :alt: View of the discuss application with a message sent through live chat in Odoo + +.. note:: + Conversations are dispatched based on the current workload of the online operators. + +Leave or join a channel +======================= + +Go to :menuselection:`Website --> Configuration --> Settings`, access your channel under +*Live Chat*, and *Join Channel* or *Leave Channel*. + +.. image:: media/joinchannel.png + :align: center + :alt: View of a channel form and the option to join a channel for Odoo Live Chat + +.. seealso:: + - :doc:`ratings` + - :doc:`responses` \ No newline at end of file diff --git a/livechat/overview/media/canned_response.png b/livechat/overview/media/canned_response.png new file mode 100644 index 000000000..3b6343573 Binary files /dev/null and b/livechat/overview/media/canned_response.png differ diff --git a/livechat/overview/media/channels.png b/livechat/overview/media/channels.png new file mode 100644 index 000000000..20cafc96e Binary files /dev/null and b/livechat/overview/media/channels.png differ diff --git a/livechat/overview/media/create_ticket.png b/livechat/overview/media/create_ticket.png new file mode 100644 index 000000000..54b76822c Binary files /dev/null and b/livechat/overview/media/create_ticket.png differ diff --git a/livechat/overview/media/customer_ratings.png b/livechat/overview/media/customer_ratings.png new file mode 100644 index 000000000..f88c0d194 Binary files /dev/null and b/livechat/overview/media/customer_ratings.png differ diff --git a/livechat/overview/media/discuss.png b/livechat/overview/media/discuss.png new file mode 100644 index 000000000..e7998d931 Binary files /dev/null and b/livechat/overview/media/discuss.png differ diff --git a/livechat/overview/media/joinchannel.png b/livechat/overview/media/joinchannel.png new file mode 100644 index 000000000..052bcf024 Binary files /dev/null and b/livechat/overview/media/joinchannel.png differ diff --git a/livechat/overview/media/livechat_settings.png b/livechat/overview/media/livechat_settings.png new file mode 100644 index 000000000..80817e523 Binary files /dev/null and b/livechat/overview/media/livechat_settings.png differ diff --git a/livechat/overview/media/operator_chatwindow.png b/livechat/overview/media/operator_chatwindow.png new file mode 100644 index 000000000..cb86e94ad Binary files /dev/null and b/livechat/overview/media/operator_chatwindow.png differ diff --git a/livechat/overview/media/publish_ratings.png b/livechat/overview/media/publish_ratings.png new file mode 100644 index 000000000..ea031a448 Binary files /dev/null and b/livechat/overview/media/publish_ratings.png differ diff --git a/livechat/overview/media/rules.png b/livechat/overview/media/rules.png new file mode 100644 index 000000000..e91e3579b Binary files /dev/null and b/livechat/overview/media/rules.png differ diff --git a/livechat/overview/media/user_chatwindow.png b/livechat/overview/media/user_chatwindow.png new file mode 100644 index 000000000..68ffabc5e Binary files /dev/null and b/livechat/overview/media/user_chatwindow.png differ diff --git a/livechat/overview/media/widget.png b/livechat/overview/media/widget.png new file mode 100644 index 000000000..dd2ea2834 Binary files /dev/null and b/livechat/overview/media/widget.png differ diff --git a/livechat/overview/ratings.rst b/livechat/overview/ratings.rst new file mode 100644 index 000000000..58e3a2e41 --- /dev/null +++ b/livechat/overview/ratings.rst @@ -0,0 +1,45 @@ +======= +Ratings +======= + +Giving users the opportunity to rate their interactions can help you improving the experience you +offer. That means staying on top of your customers' needs, besides keeping track of your operators’ +performances. + +Customer Rating +=============== + +| Once the user chooses to close the chat window, he can rate his interaction. +| If the user is *Not satisfied* or *Highly dissatisfied*, a field allowing for an explanation + is shown. +| A copy of the conversation can also be sent by email. + +.. image:: media/user_chatwindow.png + :align: center + :height: 400 + :alt: View of the chat window from a user’s side for Odoo Live Chat + +The rating is shown on the chat window itself for the operator. + +.. image:: media/operator_chatwindow.png + :align: center + :alt: View of a chat window from an operator’s side highlighting a rating for Odoo Live Chat + +And under :menuselection:`Report --> Customer Ratings`. + +.. image:: media/customer_ratings.png + :align: center + :alt: View of the customer ratings page in Odoo Live Chat + +Make the rating public +====================== + +Go to :menuselection:`Website --> Configuration --> Settings`, access your channel form, click on +*Go to Website* and on *Unpublished*, to publish the rating of that channel on your website. + +.. image:: media/publish_ratings.png + :align: center + :alt: View of the public ratings in the website for Odoo Live Chat + +.. seealso:: + - :doc:`responses` \ No newline at end of file diff --git a/livechat/overview/responses.rst b/livechat/overview/responses.rst new file mode 100644 index 000000000..1d01c8682 --- /dev/null +++ b/livechat/overview/responses.rst @@ -0,0 +1,48 @@ +============================= +Commands and Canned Responses +============================= + +Using canned responses can help you save time and have a previous, well-thought response, to some +of your most common questions and comments. + +Use commands +============ + +Commands are shortcuts that do specific actions within the chat window: + +#. **/help**: shows a help message. +#. **/helpdesk**: creates a helpdesk ticket. +#. **/helpdesk_search**: searches for a helpdesk ticket. +#. **/history**: shows the last 15 visited pages. +#. **/lead**: creates a new lead. +#. **/leave**: leaves the channel. + +.. important:: + | - For *helpdesk tickets*: make sure the application is installed on your database and the + option *Live Chat* under :menuselection:`Helpdesk --> Configuration --> Helpdesk Teams` + is enabled. + | - For *leads*: the *CRM* application must be installed on your database. + +To access the ticket or lead created from the chat, click on the shortcut link. + +.. image:: media/create_ticket.png + :align: center + :alt: View of the chat window with a helpdesk ticket created in Odoo Live Chat + +.. tip:: + Helpdesk tickets created from the chat automatically add the conversation as a description of + the ticket. The same goes for the creation of a lead. + +Send canned responses +===================== + +| Canned responses allow you to have a full piece of text being placed when you type a shortcut word. + To create them, go to :menuselection:`Live Chat --> Configuration --> Canned Responses`. +| To use them during a conversation, simply type **:** followed by the shortcut word you created. + +.. image:: media/canned_response.png + :align: center + :alt: View of a chat window and the use of a canned response in Odoo Live Chat + +.. seealso:: + - :doc:`ratings` diff --git a/point_of_sale.rst b/point_of_sale.rst index 07707a0ee..078c1aebe 100644 --- a/point_of_sale.rst +++ b/point_of_sale.rst @@ -11,7 +11,6 @@ Point of Sale point_of_sale/shop point_of_sale/restaurant point_of_sale/payment - point_of_sale/advanced point_of_sale/advanced_pricing_features point_of_sale/analyze point_of_sale/belgian_fdm diff --git a/point_of_sale/advanced.rst b/point_of_sale/advanced.rst deleted file mode 100644 index 4a4b38cc7..000000000 --- a/point_of_sale/advanced.rst +++ /dev/null @@ -1,12 +0,0 @@ -=============== -Advanced topics -=============== - -.. toctree:: - :titlesonly: - - advanced/barcode - advanced/multicashiers - advanced/reprint - advanced/mercury - advanced/cash_rounding \ No newline at end of file diff --git a/point_of_sale/advanced/media/mercury01.png b/point_of_sale/advanced/media/mercury01.png deleted file mode 100644 index e98d9bc51..000000000 Binary files a/point_of_sale/advanced/media/mercury01.png and /dev/null differ diff --git a/point_of_sale/advanced/media/mercury03.png b/point_of_sale/advanced/media/mercury03.png deleted file mode 100644 index 0d19eca0b..000000000 Binary files a/point_of_sale/advanced/media/mercury03.png and /dev/null differ diff --git a/point_of_sale/advanced/media/mercury04.png b/point_of_sale/advanced/media/mercury04.png deleted file mode 100644 index e0d3f5ba6..000000000 Binary files a/point_of_sale/advanced/media/mercury04.png and /dev/null differ diff --git a/point_of_sale/advanced/mercury.rst b/point_of_sale/advanced/mercury.rst deleted file mode 100644 index 93457dc71..000000000 --- a/point_of_sale/advanced/mercury.rst +++ /dev/null @@ -1,48 +0,0 @@ -======================================== -Accept credit card payment using Mercury -======================================== - -A MercuryPay account (see `*MercuryPay -website* `__) is required to accept credit -card payments in Odoo 11 PoS with an integrated card reader. MercuryPay -only operates with US and Canadian banks making this procedure only -suitable for North American businesses. - -An alternative to an integrated card reader is to work with a standalone -card reader, copy the transaction total from the Odoo POS screen into -the card reader, and record the transaction in Odoo POS. - -Install Mercury -=============== - -To install Mercury go to :menuselection:`Apps` and search for the -*Mercury* module. - -.. image:: media/mercury01.png - :align: center - -Configuration -============= - -To configure mercury, you need to activate the -:doc:`Developer mode <../../general/developer_mode/activate>`. - -Now, go to :menuselection:`Point of Sale --> Configuration --> Mercury Configurations`. - -Create a new configuration for credit cards and enter your Mercury -credentials. - -.. image:: media/mercury03.png - :align: center - -Then go to :menuselection:`Point of Sale --> Configuration --> Payment -Methods` and create a new one. - -Under *Point of Sale* when you select *Use in Point of Sale* you can -then select your Mercury credentials that you just created. - -.. image:: media/mercury04.png - :align: center - -You now have a new option to pay by credit card when validating a -payment. diff --git a/point_of_sale/advanced_pricing_features.rst b/point_of_sale/advanced_pricing_features.rst index 397059135..b20a2407a 100644 --- a/point_of_sale/advanced_pricing_features.rst +++ b/point_of_sale/advanced_pricing_features.rst @@ -9,4 +9,4 @@ Pricing Features advanced_pricing_features/seasonal_discount advanced_pricing_features/discount_tags advanced_pricing_features/loyalty - + advanced_pricing_features/pricelists diff --git a/point_of_sale/advanced_pricing_features/media/pricelists_01.png b/point_of_sale/advanced_pricing_features/media/pricelists_01.png new file mode 100644 index 000000000..7d35294e7 Binary files /dev/null and b/point_of_sale/advanced_pricing_features/media/pricelists_01.png differ diff --git a/point_of_sale/advanced_pricing_features/media/pricelists_02.png b/point_of_sale/advanced_pricing_features/media/pricelists_02.png new file mode 100644 index 000000000..ef820a2a7 Binary files /dev/null and b/point_of_sale/advanced_pricing_features/media/pricelists_02.png differ diff --git a/point_of_sale/advanced_pricing_features/media/pricelists_03.png b/point_of_sale/advanced_pricing_features/media/pricelists_03.png new file mode 100644 index 000000000..7d64b3122 Binary files /dev/null and b/point_of_sale/advanced_pricing_features/media/pricelists_03.png differ diff --git a/point_of_sale/advanced_pricing_features/media/pricelists_04.png b/point_of_sale/advanced_pricing_features/media/pricelists_04.png new file mode 100644 index 000000000..6ab412154 Binary files /dev/null and b/point_of_sale/advanced_pricing_features/media/pricelists_04.png differ diff --git a/point_of_sale/advanced_pricing_features/pricelists.rst b/point_of_sale/advanced_pricing_features/pricelists.rst new file mode 100644 index 000000000..60a7d82f1 --- /dev/null +++ b/point_of_sale/advanced_pricing_features/pricelists.rst @@ -0,0 +1,46 @@ +================================= +Using Pricelists in Point of Sale +================================= + +You probably know the concept of happy hour: during a certain period of +time, the barman gives a discount on some drinks (usually 50% off or a +buy one get one free). When the period is over, prices go back to +normal. But how does that relate with Odoo? + +In Odoo, you can set up happy hours. It’s one of the many possible uses +of *Pricelists*. Those *Pricelists* allow the creation of +multiple prices for the same product: a regular one and a special one +for happy hours. Available in the *PoS* app, those are really +convenient. + +Set up Pricelists +================= + +To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration` +and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration +--> Point of Sale` and enable *Pricelist* for the *PoS*. + +.. image:: media/pricelists_01.png + :align: center + +Now, you can create *Pricelists* by clicking on the *Pricelists* link. +Then, set it up by choosing the product category you want to include in your happy hour +and the discount. + +.. image:: media/pricelists_02.png + :align: center + +Go back to your *PoS* settings and add the Happy Hour pricelist to the +list. You can even choose a default pricelist if needed. + +.. image:: media/pricelists_03.png + :align: center + +From now on, on the *PoS* interface, a new button is available, allowing you to choose +among the different *pricelists* you added before. + +.. image:: media/pricelists_04.png + :align: center + +.. seealso:: + * :doc:`../../sales/products_prices/prices/pricing` \ No newline at end of file diff --git a/point_of_sale/restaurant.rst b/point_of_sale/restaurant.rst index b2c99e4fc..2132efd47 100644 --- a/point_of_sale/restaurant.rst +++ b/point_of_sale/restaurant.rst @@ -12,4 +12,5 @@ Restaurant Features restaurant/kitchen_printing restaurant/tips restaurant/transfer - restaurant/multi_orders \ No newline at end of file + restaurant/multi_orders + restaurant/fiscal_position \ No newline at end of file diff --git a/point_of_sale/restaurant/fiscal_position.rst b/point_of_sale/restaurant/fiscal_position.rst new file mode 100644 index 000000000..f3ffa9030 --- /dev/null +++ b/point_of_sale/restaurant/fiscal_position.rst @@ -0,0 +1,43 @@ +============================= +Using fiscal positions in PoS +============================= + +In Odoo, *Fiscal Positions* let you apply different taxes based on +the customer location. In a *Point of Sale*, such as a restaurant, it can +be used to apply different taxes depending if the customer eats in or +takes away. + +Set up fiscal positions for PoS +=============================== + +To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale` +and check *Fiscal Position per Order*. Now, you can choose the fiscal positions +you want for your *PoS*. + +.. image:: media/fiscal_position_01.png + :align: center + +.. note:: + You need to create your fiscal positions before using this feature. + +Using fiscal positions +====================== + +Once on your *PoS* interface, click on the *Tax* button. +Now, choose the fiscal position you need for the current order. + +.. image:: media/fiscal_position_02.png + :align: center + +Set up a default fiscal position +================================ + +If you want to use a default fiscal position, meaning that a preexisting value is always +automatically assigned, go to :menuselection:`Point of Sale --> Configuration +--> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one. + +.. image:: media/fiscal_position_03.png + :align: center + +.. note:: + Now, the *tax* button is replaced by a *on site* button when on the *PoS* interface. \ No newline at end of file diff --git a/point_of_sale/restaurant/media/fiscal_position_01.png b/point_of_sale/restaurant/media/fiscal_position_01.png new file mode 100644 index 000000000..32cc44547 Binary files /dev/null and b/point_of_sale/restaurant/media/fiscal_position_01.png differ diff --git a/point_of_sale/restaurant/media/fiscal_position_02.png b/point_of_sale/restaurant/media/fiscal_position_02.png new file mode 100644 index 000000000..3b9e1b8d9 Binary files /dev/null and b/point_of_sale/restaurant/media/fiscal_position_02.png differ diff --git a/point_of_sale/restaurant/media/fiscal_position_03.png b/point_of_sale/restaurant/media/fiscal_position_03.png new file mode 100644 index 000000000..5e6e5a297 Binary files /dev/null and b/point_of_sale/restaurant/media/fiscal_position_03.png differ diff --git a/point_of_sale/restaurant/media/fiscal_position_04.png b/point_of_sale/restaurant/media/fiscal_position_04.png new file mode 100644 index 000000000..79c182ed3 Binary files /dev/null and b/point_of_sale/restaurant/media/fiscal_position_04.png differ diff --git a/point_of_sale/shop.rst b/point_of_sale/shop.rst index 2a08cb277..edbb77a98 100644 --- a/point_of_sale/shop.rst +++ b/point_of_sale/shop.rst @@ -8,3 +8,7 @@ Shop Features shop/invoice shop/refund shop/cash_control + shop/barcode + shop/multicashiers + shop/reprint + shop/cash_rounding diff --git a/point_of_sale/advanced/barcode.rst b/point_of_sale/shop/barcode.rst similarity index 100% rename from point_of_sale/advanced/barcode.rst rename to point_of_sale/shop/barcode.rst diff --git a/point_of_sale/advanced/cash_rounding.rst b/point_of_sale/shop/cash_rounding.rst similarity index 100% rename from point_of_sale/advanced/cash_rounding.rst rename to point_of_sale/shop/cash_rounding.rst diff --git a/point_of_sale/advanced/media/barcode01.png b/point_of_sale/shop/media/barcode01.png similarity index 100% rename from point_of_sale/advanced/media/barcode01.png rename to point_of_sale/shop/media/barcode01.png diff --git a/point_of_sale/advanced/media/barcode02.png b/point_of_sale/shop/media/barcode02.png similarity index 100% rename from point_of_sale/advanced/media/barcode02.png rename to point_of_sale/shop/media/barcode02.png diff --git a/point_of_sale/advanced/media/cash_rounding01.png b/point_of_sale/shop/media/cash_rounding01.png similarity index 100% rename from point_of_sale/advanced/media/cash_rounding01.png rename to point_of_sale/shop/media/cash_rounding01.png diff --git a/point_of_sale/advanced/media/cash_rounding02.png b/point_of_sale/shop/media/cash_rounding02.png similarity index 100% rename from point_of_sale/advanced/media/cash_rounding02.png rename to point_of_sale/shop/media/cash_rounding02.png diff --git a/point_of_sale/advanced/media/cash_rounding03.png b/point_of_sale/shop/media/cash_rounding03.png similarity index 100% rename from point_of_sale/advanced/media/cash_rounding03.png rename to point_of_sale/shop/media/cash_rounding03.png diff --git a/point_of_sale/advanced/media/multicashiers01.png b/point_of_sale/shop/media/multicashiers01.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers01.png rename to point_of_sale/shop/media/multicashiers01.png diff --git a/point_of_sale/advanced/media/multicashiers02.png b/point_of_sale/shop/media/multicashiers02.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers02.png rename to point_of_sale/shop/media/multicashiers02.png diff --git a/point_of_sale/advanced/media/multicashiers03.png b/point_of_sale/shop/media/multicashiers03.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers03.png rename to point_of_sale/shop/media/multicashiers03.png diff --git a/point_of_sale/advanced/media/multicashiers04.png b/point_of_sale/shop/media/multicashiers04.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers04.png rename to point_of_sale/shop/media/multicashiers04.png diff --git a/point_of_sale/advanced/media/multicashiers05.png b/point_of_sale/shop/media/multicashiers05.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers05.png rename to point_of_sale/shop/media/multicashiers05.png diff --git a/point_of_sale/advanced/media/multicashiers06.png b/point_of_sale/shop/media/multicashiers06.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers06.png rename to point_of_sale/shop/media/multicashiers06.png diff --git a/point_of_sale/advanced/media/multicashiers07.png b/point_of_sale/shop/media/multicashiers07.png similarity index 100% rename from point_of_sale/advanced/media/multicashiers07.png rename to point_of_sale/shop/media/multicashiers07.png diff --git a/point_of_sale/advanced/media/reprint01.png b/point_of_sale/shop/media/reprint01.png similarity index 100% rename from point_of_sale/advanced/media/reprint01.png rename to point_of_sale/shop/media/reprint01.png diff --git a/point_of_sale/advanced/media/reprint02.png b/point_of_sale/shop/media/reprint02.png similarity index 100% rename from point_of_sale/advanced/media/reprint02.png rename to point_of_sale/shop/media/reprint02.png diff --git a/point_of_sale/advanced/media/reprint03.png b/point_of_sale/shop/media/reprint03.png similarity index 100% rename from point_of_sale/advanced/media/reprint03.png rename to point_of_sale/shop/media/reprint03.png diff --git a/point_of_sale/advanced/multicashiers.rst b/point_of_sale/shop/multicashiers.rst similarity index 100% rename from point_of_sale/advanced/multicashiers.rst rename to point_of_sale/shop/multicashiers.rst diff --git a/point_of_sale/advanced/reprint.rst b/point_of_sale/shop/reprint.rst similarity index 100% rename from point_of_sale/advanced/reprint.rst rename to point_of_sale/shop/reprint.rst diff --git a/project/advanced.rst b/project/advanced.rst index c87eac5bf..e0e49a3d8 100644 --- a/project/advanced.rst +++ b/project/advanced.rst @@ -6,4 +6,5 @@ Advanced :titlesonly: advanced/so_to_task - advanced/feedback \ No newline at end of file + advanced/feedback + advanced/profitability \ No newline at end of file diff --git a/project/advanced/feedback.rst b/project/advanced/feedback.rst index 851e47983..59cf8b6b8 100644 --- a/project/advanced/feedback.rst +++ b/project/advanced/feedback.rst @@ -1,108 +1,63 @@ -====================================== -How to gather feedback from customers? -====================================== +============================== +Gather Feedback from Customers +============================== -Overview -======== +Finding out what your clients think about the experience they have with your company, can inspire +you to have insights on how to improve your product/service, adjusting your business to fit +their needs. It shows that you value their opinions and provides a reliable source of information +to other consumers. -As a manager, it's not always simple to follow everything your teams do. -Having a simple customer feedback can be very interesting to evaluate -the performances of your teams. You can very easily gather feedbacks -from your customers using Odoo. +Set up +====== -An e-mail can be sent during the project to get the customer feedbacks. -He just has to choose between 3 smileys to assess your work (Smile, -Neutral or Sad). +Go to :menuselection:`Project --> Configuration --> Settings` and enable *Use Rating on Project*. -How to gather feedbacks from customers -====================================== +.. image:: media/rating_project.png + :align: center + :alt: Enable the feature on settings in Odoo Project -Before getting started some configuration is necessary. First of all -it's necessary to install the **Project** application. To do so simply -go to the apps module and install it. +| *Set Email Template to Stages* in order to define the template to be sent at a specific stage(s). +| Choose an existing template or create one on the fly. -.. image:: media/feedback01.png - :align: center +.. image:: media/rating_template.png + :align: center + :alt: Click on set email template and choose one in Odoo Project -Moreover, in the same menu, you have to install the **Project Rating** -module. +Choosing the projects I want feedback from +========================================== -.. image:: media/feedback02.png - :align: center +| Go to :menuselection:`Project --> Configuration --> Projects --> Edit` and configure the wanted + projects to have the email template previously set sent, by the change of a stage or periodically. +| Enable *Rating visible publicly* if you would like to publish the ratings in order to communicate + them to a customer, prospect or the rest of your team. -Next, go back into the back-end and enter the project module. Select the -**Configuration** button and click on **Settings** in the dropdown menu. Next -select **Allow activating customer rating on projects, at issue -completion**. Don't forget to apply your changes. +.. image:: media/customer_rating.png + :align: center + :height: 370 + :alt: View of a project's form to choose the customer rating in Odoo Project -.. image:: media/feedback03.png - :align: center +.. tip:: + See the customer rating email sent under the *Log notes* of your task. -How to get a Customer feedback? -=============================== + .. image:: media/rating_chatter.png + :align: center + :alt: View of the chatter and the rating email sent to the customer in Odoo Project -A e-mail can be sent to the customers at each stage of the ongoing -projects. +Get reports +=========== -First, you need to choose for which projects you want to get a feedback. +Under :menuselection:`Project --> Reporting --> Customer Ratings` see ratings by task. -Project configuration ---------------------- +.. image:: media/rating_report.png + :align: center + :alt: View fo the customer rating report in Odoo Project -Go to the **Project** application, in the project settings select the -**Customer satisfaction** option. +Clicking on the percentage of happy ratings over the last 30 days in the *Projects* overview, +redirects you to your website with more rating details. -.. image:: media/feedback04.png - :align: center +.. image:: media/percentage_happy.png + :align: center + :height: 300 + :alt: Project overview shows the percentage of happy ratings in Odoo Project -Email Template --------------- -Go to the stage settings (click on the gear icon on the top of the stage -column, then select **Edit**). Choose the e-mail template that will be used. -You can directly edit it from there. - -.. image:: media/feedback05.png - :align: center - -Here is an email example that a customer can receive : - -.. image:: media/feedback06.png - :align: center - -.. note:: - The customer just has to click on a smiley (Smile, Neutral or - Sad) to assess your work. The customer can reply to the email to add - more information. It will be added to the chatter of the task. - -Reporting ---------- - -You have a brief summary on the satisfaction in the upper right corner -of the project. - -.. image:: media/feedback07.png - :align: center - -How to display the ratings on your website? -=========================================== - -First of all it's necessary to install the **Website Builder** application. -To do so simply go to the apps module and search for the website -builder. - -.. image:: media/feedback08.png - :align: center - -Moreover, in the same menu, you have to install the **Website Rating -Project Issue** module. - -.. image:: media/feedback09.png - :align: center - -Then, you will be able to publish your result on your website by -clicking on the website button in the upper right corner and confirming -it in the front end of the website. - -.. image:: media/feedback10.png - :align: center diff --git a/project/advanced/media/customer_rating.png b/project/advanced/media/customer_rating.png new file mode 100644 index 000000000..a8e5adc38 Binary files /dev/null and b/project/advanced/media/customer_rating.png differ diff --git a/project/advanced/media/feedback01.png b/project/advanced/media/feedback01.png deleted file mode 100644 index 9cb2b1f4e..000000000 Binary files a/project/advanced/media/feedback01.png and /dev/null differ diff --git a/project/advanced/media/feedback02.png b/project/advanced/media/feedback02.png deleted file mode 100644 index ce7f4a307..000000000 Binary files a/project/advanced/media/feedback02.png and /dev/null differ diff --git a/project/advanced/media/feedback03.png b/project/advanced/media/feedback03.png deleted file mode 100644 index 2d6be9254..000000000 Binary files a/project/advanced/media/feedback03.png and /dev/null differ diff --git a/project/advanced/media/feedback04.png b/project/advanced/media/feedback04.png deleted file mode 100644 index 53d5e791b..000000000 Binary files a/project/advanced/media/feedback04.png and /dev/null differ diff --git a/project/advanced/media/feedback05.png b/project/advanced/media/feedback05.png deleted file mode 100644 index 10cfb33e5..000000000 Binary files a/project/advanced/media/feedback05.png and /dev/null differ diff --git a/project/advanced/media/feedback06.png b/project/advanced/media/feedback06.png deleted file mode 100644 index 7ad634e3d..000000000 Binary files a/project/advanced/media/feedback06.png and /dev/null differ diff --git a/project/advanced/media/feedback07.png b/project/advanced/media/feedback07.png deleted file mode 100644 index 37d75e5fa..000000000 Binary files a/project/advanced/media/feedback07.png and /dev/null differ diff --git a/project/advanced/media/feedback08.png b/project/advanced/media/feedback08.png deleted file mode 100644 index 40bb9d8cf..000000000 Binary files a/project/advanced/media/feedback08.png and /dev/null differ diff --git a/project/advanced/media/feedback09.png b/project/advanced/media/feedback09.png deleted file mode 100644 index ce7f4a307..000000000 Binary files a/project/advanced/media/feedback09.png and /dev/null differ diff --git a/project/advanced/media/feedback10.png b/project/advanced/media/feedback10.png deleted file mode 100644 index a0d26db71..000000000 Binary files a/project/advanced/media/feedback10.png and /dev/null differ diff --git a/project/advanced/media/hours_profitability.png b/project/advanced/media/hours_profitability.png new file mode 100644 index 000000000..0bf961e67 Binary files /dev/null and b/project/advanced/media/hours_profitability.png differ diff --git a/project/advanced/media/not_timesheet_installed.png b/project/advanced/media/not_timesheet_installed.png new file mode 100644 index 000000000..111725d81 Binary files /dev/null and b/project/advanced/media/not_timesheet_installed.png differ diff --git a/project/advanced/media/percentage_happy.png b/project/advanced/media/percentage_happy.png new file mode 100644 index 000000000..2f0b92ab6 Binary files /dev/null and b/project/advanced/media/percentage_happy.png differ diff --git a/project/advanced/media/rating_chatter.png b/project/advanced/media/rating_chatter.png new file mode 100644 index 000000000..9870419c2 Binary files /dev/null and b/project/advanced/media/rating_chatter.png differ diff --git a/project/advanced/media/rating_project.png b/project/advanced/media/rating_project.png new file mode 100644 index 000000000..ce57ea146 Binary files /dev/null and b/project/advanced/media/rating_project.png differ diff --git a/project/advanced/media/rating_report.png b/project/advanced/media/rating_report.png new file mode 100644 index 000000000..d27ea1f5c Binary files /dev/null and b/project/advanced/media/rating_report.png differ diff --git a/project/advanced/media/rating_template.png b/project/advanced/media/rating_template.png new file mode 100644 index 000000000..584c64675 Binary files /dev/null and b/project/advanced/media/rating_template.png differ diff --git a/project/advanced/media/reporting.png b/project/advanced/media/reporting.png new file mode 100644 index 000000000..be7c92e0c Binary files /dev/null and b/project/advanced/media/reporting.png differ diff --git a/project/advanced/media/timesheet_instaled.png b/project/advanced/media/timesheet_instaled.png new file mode 100644 index 000000000..64184abae Binary files /dev/null and b/project/advanced/media/timesheet_instaled.png differ diff --git a/project/advanced/profitability.rst b/project/advanced/profitability.rst new file mode 100644 index 000000000..02d0a6f79 --- /dev/null +++ b/project/advanced/profitability.rst @@ -0,0 +1,56 @@ +============================= +Track Projects’ Profitability +============================= + +A project runs smoother if you can have an overview of its costs, revenues, profitability, tasks, +time and people, all in the same place. It allows you to make smarter business decisions as you know +where you are standing and can course-correct if needed. + +Track costs and revenue +======================= + +If you have the Timesheets application installed +------------------------------------------------ + +Go to :menuselection:`Project --> Configuration --> Projects`, choose the respective project, +*Edit* and enable *Timesheets*. A menu *Overview* becomes available in the Kanban view. + +.. image:: media/timesheet_instaled.png + :align: center + :alt: View of the dashboard and overview menu available in Odoo Project + +The overview shows the hours recorded split by the different billable options, profitability, time +by people according to the billable hours recorded, and even a timesheet table. + +.. image:: media/hours_profitability.png + :align: center + :alt: Click on overview and have a detailed view of the hours recorded in Odoo Project + +If you do not have the Timesheets application installed +------------------------------------------------------- + +| Activate the :doc:`Developer mode <../../general/developer_mode/activate>`. Then go to + *Manager Users* and enable *Analytic Accounting*. Now, go to :menuselection:`Project --> + Configuration --> Projects` and specify an *Analytic Account* under the needed project. +| A *Profitability* menu to the costs and revenues of this analytic account is directly available + in the Kanban view. + +.. image:: media/not_timesheet_installed.png + :align: center + :height: 270 + :alt: Profitability menu being shown on the dashboard view in Odoo Project + +Reporting +========= + +Under *Reporting*, obtain a report on the *Project Costs and Revenues*. Choose among graph options +or do your analysis through a pivot view. + +.. image:: media/reporting.png + :align: center + :alt: Overview of the reporting page showing costs and revenues in Odoo Project + +.. seealso:: + - :doc:`../../accounting/others/analytic/usage` + - :doc:`../../accounting/others/analytic/timesheets` + - :doc:`../../accounting/others/analytic/purchases_expenses` diff --git a/project/planning.rst b/project/planning.rst index d8d44547f..ba5309e6d 100644 --- a/project/planning.rst +++ b/project/planning.rst @@ -5,5 +5,4 @@ Planning your project .. toctree:: :titlesonly: - planning/assignments planning/forecast \ No newline at end of file diff --git a/project/planning/assignments.rst b/project/planning/assignments.rst deleted file mode 100644 index 07750ed71..000000000 --- a/project/planning/assignments.rst +++ /dev/null @@ -1,138 +0,0 @@ -============================================= -How to plan and track employees' assignments? -============================================= - -Following and planning your employees' assignments can be a heavy -challenge especially when you manage several people. Luckily, using Odoo -Project, you can handle it in only a couple of clicks. - -Configuration -============= - -The only necessary configuration is to install the **Project Management** -module. To do so, go in the application module, search for project and -install the application. - -.. image:: media/assignments01.png - :align: center - -If you wish to manage time estimation, you will need to enable -timesheets on tasks. From the **Project** application, go to -:menuselection:`Configuration --> Settings` in the dropdown menu. -Then, under **Time Work Estimation**, select the **manage time -estimation on tasks** option. Do not forget to apply your changes. - -.. image:: media/assignments02.png - :align: center - -This feature will create a progress bar in the form view of your tasks. -Every time your salesperson will add working time in his timesheet, the -bar will be updated accordingly, based on the initially planned hours. - -.. image:: media/assignments03.png - :align: center - -Manage tasks with views -======================= - -You can have an overview of your different task thanks to the multiple -views available with Odoo. Three main views will help you to plan and -follow up on your employees' tasks: the kanban view, the list view -(using timesheets) and the calendar view. - -Create and edit tasks in order to fill up your pipeline. Don't forget to -fill in a responsible person and an estimated time if you have one. - -Get an overview of activities with the kanban view --------------------------------------------------- - -The Kanban view is a post-it like view, divided in different stages. It -enables you to have a clear view on the stages your tasks are in and the -ones having the higher priorities. - -The Kanban view is the default view when accessing a project, but if you -are on another view, you can go back to it any time by clicking the -kanban view logo in the upper right corner - -.. image:: media/assignments04.png - :align: center - -Add/rearrange stages -~~~~~~~~~~~~~~~~~~~~ - -You can easily personalize your project to suit your business needs by -creating new columns. From the Kanban view of your project, you can add -stages by clicking on **Add new column** (see image below). If you -want to rearrange the order of your stages, you can easily do so by -dragging and dropping the column you want to move to the desired -location. You can also fold or unfold your stages by using the **setting** -icon on your desired stage. - -.. image:: media/assignments10.png - :align: center - -.. tip:: - Create one column per stage in your working process. For example, - in a development project, stages might be: Specifications, - Development, Test, Done. - -Sort tasks by priority -~~~~~~~~~~~~~~~~~~~~~~ - -On each one of your columns, you have the ability to sort your tasks by -priority. Tasks with a higher priority will automatically be moved to -the top of the column. From the Kanban view, click on the star in the -bottom left of a task to tag it as **high priority**. For the tasks that -are not tagged, Odoo will automatically classify them according to their -deadlines. - -Note that dates that passed their deadlines will appear in red( in the -list view too) so you can easily follow up the progression of different -tasks. - -.. image:: media/assignments06.png - :align: center - -.. tip:: - Don't forget you can filter your tasks with the filter menu. - -Track the progress of each task with the list view --------------------------------------------------- - -If you enabled the **Manage Time Estimation on Tasks**, your employees -will be able to log their activities on tasks under the **Timesheets** -sub-menu along with their duration. The **Working Time Progress** bar will -be updated each time the employee will add an activity. - -.. image:: media/assignments07.png - :align: center - -As a manager, you can easily overview the time spent on tasks for all -employees by using the list view. To do so, access the project of your -choice and click on the List view icon (see below). The last column will -show you the progression of each task. - -.. image:: media/assignments08.png - :align: center - -Keep an eye on deadlines with the Calendar view ------------------------------------------------ - -If you add a deadline in your task, they will appear in the calendar -view. As a manager, this view enables you to keep an eye on all -deadlines in a single window. - -.. image:: media/assignments09.png - :align: center - -All the tasks are tagged with a color corresponding to the employee -assigned to them. You can easily filter the deadlines by employees by -ticking the related boxes on the right of the calendar view. - -.. tip:: - You can easily change the deadline from the Calendar view by - dragging and dropping the task to another case. - -.. seealso:: - * :doc:`../configuration/setup` - * :doc:`forecast` \ No newline at end of file diff --git a/project/planning/forecast.rst b/project/planning/forecast.rst index 0edea2b71..f265eda96 100644 --- a/project/planning/forecast.rst +++ b/project/planning/forecast.rst @@ -1,202 +1,47 @@ -====================== -How to forecast tasks? -====================== +================================== +Forecast Resources Across Projects +================================== -Introduction to forecast -======================== +Allocate the needed time for specific tasks under a planned shift. Once that is done, analyse Key +Performance Indicators (KPIs), so you can evaluate your employees’ performance and workload, besides +the progress of your projects/tasks when comparing the planned and effective hours. -Scheduling and forecasting tasks is another way to manage projects. In -Odoo, the Forecast option gives you access to the Gantt chart. +Allocate times under shifts +=========================== -So far, you've been working with the Kanban view, which shows you the -progress of a project and its related tasks. +When planning a shift, in the *Planning* application, create a project and a task on the fly, +or simply select the one you want. -Now, with the Forecast option, the Gantt view gives you the big picture. -It's highly visual which is a real plus for complex projects, and it -helps team members to collaborate better. +.. image:: media/allocate_time.png + :align: center + :alt: Planning form to choose the project, task and allocated hours in Odoo Planning -This option is a real benefit in terms of planning and organizing the -workload and human resources. +| *Allocated Time (%)* allows you to define the percentage of time you would like your employee to + work on that specific task during his shift. See that information in hours on *Allocated hours*. +| The calculation shows you how many hours out of the total shift time (*End date* - *Start date*) + are spent by the employee on that task. +| On :menuselection:`Project --> Planning --> By Project`, immediately see the total number of + employees allocated per project. -How to configure the projects? -============================== +.. image:: media/planning_project.png + :align: center + :alt: Planning by project view in Odoo Project -Configure the project application ---------------------------------- +Compare forecast hours with the effective ones +============================================== -The **Forecast** option helps you to organize your projects. This is perfect -when you need to set up a project with a specific deadline. Therefore, -each task is assigned a specific timeframe (amount of hours) in which -your employee should complete it! +Now, once the employee has timesheeted his hours in the task, go to *Project* and with the +*View list*, under *All Tasks*, conveniently see the *Planned Hours* compared to the +*Remaining Hours*, and a calculation of the *Progress*. -First you need to activate the **Forecast** option for the whole project -application: +.. image:: media/compare_forecast.png + :align: center + :alt: View of all tasks and their planned and remaining hours in Odoo Project -Go to :menuselection:`Project --> Configuration --> Settings`. -Select the Forecast option and click **Apply**. +.. important:: + Reminder: the option *Timesheets* has to be enabled on your project. -.. image:: media/forecast01.png - :align: center - -Once this is done, you still need to activate the **Forecast** option -specifically for your **Project** (maybe you don't need the Gantt chart for -all the projects that you manage). - -Configure a specific project. ------------------------------ - -When creating a new project, make sure to select the option "Allow -Forecast" in your project settings. - -You'll see the **Forecast** option appearing in the top menu. - -.. image:: media/forecast02.png - :align: center - -If you add the Forecasting option to an existing project, whether there -are task deadlines or not scheduled, the task won't be displayed. - -The tasks of a project are not related to a forecast. - -How to create a forecast? -------------------------- - -Before creating a project with forecast, list all the tasks with the -projected time they should take. It will help you to coordinate the -work. - -In order to display the projects in the Gantt chart, you need to create -the forecast from the task page. To create a forecast, click on the top -left corner of the task, **Create a Forecast**. - -.. image:: media/forecast03.png - :align: center - -.. tip:: - You can also create a new Forecast easily by directly clicking on an empty - space in the Gantt chart calendar. - -The Forecast interface will fill in the name of the Project and the task -automatically. You just need to add the dates and the time the task -should take. - -.. image:: media/forecast04.png - :align: center - -.. tip:: - The "Effective hours" field appears only if you have the **Timesheet** app - installed on your database. This option helps you to see the progress of a - task thanks to the integration with Timesheet. - - For example: When a user fills in a Timesheet with your Project name - (Analytic account), with 10 hours spent, the forecast will display 10 hours - in the Effective hours field. - -What are the difference between the views? -========================================== - -In the **Project** app menu you have a **Forecast** menu. This sub-menu helps -you to see the Gantt chart from different points of view: by users or by -projects. - -By users : people management ----------------------------- - -This option displays the Gantt chart with the people assigned. Odoo's -Gantt chart shows you who's involved; it gives you the big picture of -the project. It's very useful to allocate your resources effectively. - -On the left side, first level, you can see which users are involved. -Then, on the second level you see which projects they are assigned to. -On the third, you see which tasks they're on. - -Each task is represented by a coloured rectangle. This rectangle -reflects the duration of the task in the calendar. - -The top rectangle on the first level is the sum of all the tasks -compiled from the third level. If it's green, it means that the total -time allocated to that user is less than 100%. When it's red, it means -that this user is assigned to multiple tasks which total more than 100% -of his/her time. - -.. image:: media/forecast05.png - :align: center - -Plan the workload -~~~~~~~~~~~~~~~~~ - -When creating a forecast, you have to select the time the user should -spend on it. 100% means that your user should work on it full time -during those days. He/She has no other tasks to work on. So you can -decide from 1 to 100% how your users should organize their time between -different tasks. - -The power of integration helps you to avoid double booking an employee. -For example, if your expert is already at 40% on another task in another -project, you can book him/her for only 60% for that period. - -In the example below, the user "Administrator" is working on 2 projects -("IT1367 Delivery Phases" and "Implementation Process56"). The user is -assigned to both projects with a total of 110% of their time. This is -too much so the Project Manager should change the users assigned to the -task. Otherwise, the PM can change the dedicated time or the dates, to -make sure that this is feasible. - -.. image:: media/forecast06.png - :align: center - -Gantt view advantages -~~~~~~~~~~~~~~~~~~~~~ - -This Gantt view ‘by user' helps you to better plan your human resources. -You avoid confusion about the the tasks and the assignations of the -users. The Gantt Chart is highly visual and helps to comprehend all the -different elements at once. Also, you immediately know what has to be -done next. This method helps you to better understand the relations -between the tasks. - -The dynamic view of the Gantt in Odoo allows you to: - -- change the time and date of a forecast by clicking and sliding the - tasks in the future or in the past - -- create a new forecast into the Gantt chart immediately - -- modify an existing forecast - -- change the length of a task by extending or shortening the rectangle. - -By projects: project management -------------------------------- - -The Gantt Chart is the perfect view of a project to better understand -the interactions between the tasks. You can avoid overlapping tasks or -starting one too early if another one isn't finished. Odoo Gantt chart -is clear and helps you to coordinate tasks efficiently. - -This option displays the Gantt chart by showing the projects on the -first level of hierarchy. - -On the left side, first level, you can see the projects. Then, on the -second level you see which users are assigned. On the third, you see -which tasks they're on. - -This view won't show your HR time. The colours don't apply. (see **By -Users** section) - -.. image:: media/forecast07.png - :align: center - -Gantt view advantages -~~~~~~~~~~~~~~~~~~~~~ - -The dynamic view of the Gantt in Odoo allows you to: - -- change the time and date of a forecast by clicking and sliding the - tasks in the future or in the past - -- create a new forecast into the Gantt chart immediately - -- modify an existing forecast - -- change the length of a task by extending or shortening the rectangle. + .. image:: media/enable_timesheets.png + :align: center + :height: 400 + :alt: Under the settings of a project enable timesheets in Odoo Project diff --git a/project/planning/media/allocate_time.png b/project/planning/media/allocate_time.png new file mode 100644 index 000000000..1dfa55d87 Binary files /dev/null and b/project/planning/media/allocate_time.png differ diff --git a/project/planning/media/assignments01.png b/project/planning/media/assignments01.png deleted file mode 100644 index 9c6f97c89..000000000 Binary files a/project/planning/media/assignments01.png and /dev/null differ diff --git a/project/planning/media/assignments02.png b/project/planning/media/assignments02.png deleted file mode 100644 index 7a66f4283..000000000 Binary files a/project/planning/media/assignments02.png and /dev/null differ diff --git a/project/planning/media/assignments03.png b/project/planning/media/assignments03.png deleted file mode 100644 index c3a79491f..000000000 Binary files a/project/planning/media/assignments03.png and /dev/null differ diff --git a/project/planning/media/assignments04.png b/project/planning/media/assignments04.png deleted file mode 100644 index 85f0f0693..000000000 Binary files a/project/planning/media/assignments04.png and /dev/null differ diff --git a/project/planning/media/assignments06.png b/project/planning/media/assignments06.png deleted file mode 100644 index cd5069f67..000000000 Binary files a/project/planning/media/assignments06.png and /dev/null differ diff --git a/project/planning/media/assignments07.png b/project/planning/media/assignments07.png deleted file mode 100644 index 019f9300f..000000000 Binary files a/project/planning/media/assignments07.png and /dev/null differ diff --git a/project/planning/media/assignments08.png b/project/planning/media/assignments08.png deleted file mode 100644 index e431de733..000000000 Binary files a/project/planning/media/assignments08.png and /dev/null differ diff --git a/project/planning/media/assignments09.png b/project/planning/media/assignments09.png deleted file mode 100644 index d71eac655..000000000 Binary files a/project/planning/media/assignments09.png and /dev/null differ diff --git a/project/planning/media/assignments10.png b/project/planning/media/assignments10.png deleted file mode 100644 index dacbe7d1f..000000000 Binary files a/project/planning/media/assignments10.png and /dev/null differ diff --git a/project/planning/media/compare_forecast.png b/project/planning/media/compare_forecast.png new file mode 100644 index 000000000..4f6a0d8a6 Binary files /dev/null and b/project/planning/media/compare_forecast.png differ diff --git a/project/planning/media/enable_timesheets.png b/project/planning/media/enable_timesheets.png new file mode 100644 index 000000000..8eb7c19f7 Binary files /dev/null and b/project/planning/media/enable_timesheets.png differ diff --git a/project/planning/media/forecast01.png b/project/planning/media/forecast01.png deleted file mode 100644 index b506df459..000000000 Binary files a/project/planning/media/forecast01.png and /dev/null differ diff --git a/project/planning/media/forecast02.png b/project/planning/media/forecast02.png deleted file mode 100644 index 255ba5f4d..000000000 Binary files a/project/planning/media/forecast02.png and /dev/null differ diff --git a/project/planning/media/forecast03.png b/project/planning/media/forecast03.png deleted file mode 100644 index 888301acb..000000000 Binary files a/project/planning/media/forecast03.png and /dev/null differ diff --git a/project/planning/media/forecast04.png b/project/planning/media/forecast04.png deleted file mode 100644 index 9ca017d21..000000000 Binary files a/project/planning/media/forecast04.png and /dev/null differ diff --git a/project/planning/media/forecast05.png b/project/planning/media/forecast05.png deleted file mode 100644 index 2ed210d7e..000000000 Binary files a/project/planning/media/forecast05.png and /dev/null differ diff --git a/project/planning/media/forecast06.png b/project/planning/media/forecast06.png deleted file mode 100644 index 30ea404c7..000000000 Binary files a/project/planning/media/forecast06.png and /dev/null differ diff --git a/project/planning/media/forecast07.png b/project/planning/media/forecast07.png deleted file mode 100644 index 855073f72..000000000 Binary files a/project/planning/media/forecast07.png and /dev/null differ diff --git a/project/planning/media/planning_project.png b/project/planning/media/planning_project.png new file mode 100644 index 000000000..2168af829 Binary files /dev/null and b/project/planning/media/planning_project.png differ diff --git a/redirects.txt b/redirects.txt new file mode 100644 index 000000000..219e17a12 --- /dev/null +++ b/redirects.txt @@ -0,0 +1,48 @@ +# REDIRECT RULES # + +# Each line in this file specifies a redirect rule that redirects users from one URL to another. +# +# Redirect rules must follow this pattern: old_file.rst new_file.rst # optional comment +# Both parts are file paths and must thus include the full path of the file starting from the root +# of the documentation to the file name, including the .rst extension. +# If you consider it necessary, add a comment after the symbol '#' to explain why the redirection is +# needed. +# +# A redirect rule must be added to this file in the following cases: +# +# 1. An RST file is moved from one location to another. +# Example: The documentation of the Sales app is moved from sale_app/ to sales/ . +# Rules: sale_app/send_quotations.rst sales/send_quotations.rst +# sale_app/send_quotations/quote_template.rst sales/send_quotations/quote_template.rst +# sale_app/invoicing.rst sales/invoicing.rst # ...and so on. +# +# 2. An RST file is renamed. +# Example: The file create_quotations.rst in sales/ is renamed to quotations.rst. +# Rule: sales/create_quotations.rst sales/quotations.rst # no longer limited to creating quotes +# +# Write your rules in the section below corresponding to your target version. All rules are active +# no matter the version. The section's only purpose is to help with the triage. +# Consider indicating the reference of the PR (#123) that made a rule necessary, if any. + +# Redirections introduced in 11.0 : + + + +# Redirections introduced in 12.0 : + +support/user_doc.rst contributing/documentation/introduction_guide.rst # removed in forward-port of #544 (b109c3af) + +# Redirections introduced in 13.0 : + +sales/sale_amazon.rst sales/amazon_connector.rst # sale_amazon -> amazon_connector (#524) +sales/sale_amazon/apply.rst sales/amazon_connector/apply.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/sale_amazon/setup.rst sales/amazon_connector/setup.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/sale_amazon/manage.rst sales/amazon_connector/manage.rst # sale_amazon/* -> amazon_connector/* (#524) +sales/sale_ebay.rst sales/ebay_connector.rst # sale_ebay -> ebay_connector (#524) +sales/ebay/setup.rst sales/ebay_connector/setup.rst # ebay/* moved to ebay_connector/* (#524) +sales/ebay/manage.rst sales/ebay_connector/manage.rst # ebay/* moved to ebay_connector/* (#524) + +accounting/localizations/nederlands.rst accounting/localizations/netherlands.rst # (#514) + +# Redirections introduced in 13.2 : + diff --git a/sales/invoicing/down_payment.rst b/sales/invoicing/down_payment.rst index 8d39780ba..a3026ed40 100644 --- a/sales/invoicing/down_payment.rst +++ b/sales/invoicing/down_payment.rst @@ -2,44 +2,98 @@ Request a down payment ====================== -A down payment is an initial, partial payment, with the agreement that -the rest will be paid later. For expensive orders or projects, it is a -way to protect yourself and make sure your customer is serious. +A down payment is a partial payment made by the buyer when a sales contract is concluded. This +implies both parties' full commitment (seller and buyer) to honor the contract. With a down payment, +the buyers show their will to acquire the product and agree to pay the rest later, while the sellers +are obliged to provide the goods by accepting it. + +Sometimes a down payment is required for expensive orders or projects. That way, you can protect +yourself and make sure that your customer is reliable. First time you request a down payment ===================================== -When you confirm a sale, you can create an invoice and select a down -payment option. It can either be a fixed amount or a percentage of the -total amount. +When a sales order is confirmed, you then have the possibility to create an invoice. Invoices +are automatically created in drafts so that you can review them before validation. To create an +invoice, Odoo Sales offers you 3 options: -The first time you request a down payment you can select an income -account and a tax setting that will be reused for next down payments. +- Regular invoice +- Down payment (percentage) +- Down payment (fixed amount) -.. image:: media/down_payment01.png +In terms of down payment, it can either be a fixed amount or a percentage of the total amount. The +first time you request a down payment, you can set a percentage or a fixed amount of your choice, +and select the right income account and taxes. These settings will be reused for future down +payments. + +.. image:: media/down_payment_1.png :align: center + :alt: How can you do a down payment on Odoo Sales? -You will then see the invoice for the down payment. +.. important:: + When you request your first down payment, a new product called **Down payment** will be created. + This product will be registered as a **service** product with an invoicing policy of + **ordered quantities**. As a reminder, you can edit this product and modify it at any time. + Please note that if you choose **delivered quantities** as invoicing policy, + **you will not be able to create an invoice**. -.. image:: media/down_payment02.png +Basic sales flow using down payments +==================================== + +For this first example, we will use a 50% amount down payment with a product using +**ordered quantities** as invoicing policy. Make sure to check out our documentation about invoicing +policies here: :doc:`invoicing_policy` , before requesting your first down payment. When it comes to +create and view the invoice, you will only have access to a draft invoice mentioning the down +payment (as you can see below). + +.. image:: media/down_payment_2.png :align: center + :alt: What is a basic sales flow using down payments on Odoo Sales (1)? -On the subsequent or final invoice, any prepayment made will be -automatically deducted. +There, you can post the invoice and register the payment of your customer. But, we all know that in +real life this flow does not happen immediately. So, for now, you can return to the sales order. +There, you will have the possibility to see the order as a customer with the **Customer preview** +button or to reach easily the previous draft invoice with the **Invoice** button. In any case, the +down payment will be mentioned on both (sales order and draft invoice). -.. image:: media/down_payment03.png +.. image:: media/down_payment_3.png :align: center + :alt: What is a basic sales flow using down payments on Odoo Sales (2)? + +To complete the flow, when the customer wants to pay the rest of his sales order, you must create +another invoice. Once again, you will have the choice to make another down payment or to deduct all +the down payments and so, paying the rest of the invoice as a regular invoice. + +.. image:: media/down_payment_4.png + :align: center + :alt: What is a basic sales flow using down payments on Odoo Sales (3)? + +This flow is also possible with a down payment taking into account a fixed amount. + +.. important:: + Be careful that if you do a down payment with a product using **delivered quantities** as + invoicing policy, you won’t be able to deduct all the down payments when it comes to invoicing + your customer. Indeed, you have to deliver a product before creating the final invoice. If + nothing has been delivered, you create a **credit note** that cancels the draft invoice + created after the down payment. To do so, you have to install the **Inventory App** to confirm + the delivery. Otherwise, you can enter the delivered quantity manually on the sales order. Modify the income account and customer taxes ============================================ -From the products list, search for *Down Payment*. +From the products list, search for the **Down Payment** product. -.. image:: media/down_payment04.png +.. image:: media/down_payment_5.png :align: center + :alt: Creation of a down payment product on Odoo Sales -You can then edit it, under the invoicing tab you will be able to change -the income account & customer taxes. +You can edit it and under the **General Information Tab** you will be able to change the customer +taxes. Now, to change the income account, you will need to install the **Accounting App** to have +the possibility to see the **Accounting Tab** on the product form. -.. image:: media/down_payment05.png +.. image:: media/down_payment_6.png :align: center + :alt: How to modify the income account link to down payments + +.. seealso:: + - :doc:`invoicing_policy` \ No newline at end of file diff --git a/sales/invoicing/invoicing_policy.rst b/sales/invoicing/invoicing_policy.rst index 4493fbb64..8224df604 100644 --- a/sales/invoicing/invoicing_policy.rst +++ b/sales/invoicing/invoicing_policy.rst @@ -2,48 +2,80 @@ Invoice based on delivered or ordered quantities ================================================ -Depending on your business and what you sell, you have two options for -invoicing: +Different business policies might require different options for invoicing: -- Invoice on ordered quantity: invoice the full order as soon as the sales - order is confirmed. -- Invoice on delivered quantity: invoice on what you delivered even if - it's a partial delivery. +- The **Invoice what is ordered** rule is used as **default mode** in Odoo Sales, which means that + customers will be invoiced once the sales order is confirmed. -Invoice on ordered quantity is the default mode. +- The **Invoice what is delivered** rule will invoice customers once the delivery is done. This rule + concerns businesses that sell materials, liquids or food in large quantities. In these cases, the + quantity might diverge a little bit and it is, therefore, preferable to invoice the quantity + actually delivered. -The benefits of using *Invoice on delivered quantity* depends on your -type of business, when you sell material, liquids or food in large -quantities the quantity might diverge a little bit and it is therefore -better to invoice the actual delivered quantity. +Being able to have different invoicing options allow you more flexibility. Indeed, you need to know +exactly how to invoice your customers for different situations. + +Activate these features +======================= + +Go to :menuselection:`Sales --> Configuration --> Settings` and under **Invoicing policy** choose +the rule you want to apply. + +.. image:: media/invoicing_policy_1.png + :align: center + :class: img-thumbnail + :alt: How to choose your invoicing policy on Odoo Sales? + +.. important:: + If you decide to choose the **Invoice what is delivered** rule, you will not be able to + activate the feature called **Automatic invoice**, which automatically generates invoices when + the online payment is confirmed. + +Choose an invoicing policy on a product form +============================================ + +From any product page, under the **Sales tab**, you will find the invoicing policy, which can be +manually changed. + +.. image:: media/invoicing_policy_5.png + :align: center + :class: img-thumbnail + :alt: How to change your invoicing policy on a product form on Odoo Sales? + +Impact on sales flow +==================== + +On Odoo Sales, the basic sales flow will be to create a quotation, send it to your customer, +wait for confirmation, confirm the sales order and create an invoice. + +- **Invoice what is ordered**: No impact on this basic sales flow. Indeed, you can invoice as soon + as the sale is confirmed. + +- **Invoice what is delivered**: Small impact on sales flow because you will have to manually + enter the delivered quantity on the sales order or to install the **Inventory App** to confirm the + delivered quantity before creating an invoice, with the **Sales App**. Indeed, if you try to + create an invoice without validating the delivered quantity, you will receive an error message as + below. + + .. image:: media/invoicing_policy_3.png + :class: img-thumbnail + :alt: How the choice of your invoicing policy impacts your sales flow on Odoo Sales? .. note:: - You also have the ability to invoice manually, letting you - control every options: invoice ready to invoice lines, invoice a - percentage (advance), invoice a fixed advance. + Once the quotation is confirmed and that the status went from **Quotation sent** to + **Sales order**, you are able to see your delivered and invoiced quantities directly from your + sales order (it is true for both rules). -Decide the policy on a product page -=================================== + .. image:: media/invoicing_policy_4.png + :align: center + :class: img-thumbnail + :alt: How to see your delivered and invoiced quantities on Odoo Sales? -From any products page, under the invoicing tab you will find the -invoicing policy and select the one you want. + Odoo will automatically add the quantities to the invoice (even if it is a partial delivery). -.. image:: media/invoicing_policy01.png - :align: center +Finally, to create an invoice, you will have different possibilities: regular invoice or down +payment (percentage or fixed amount). -Send the invoice -================ - -Once you confirm the sale, you can see your delivered and invoiced -quantities. - -.. image:: media/invoicing_policy02.png - :align: center - -If you set it in ordered quantities, you can invoice as soon as the sale -is confirmed. If however you selected delivered quantities, you will -first have to validate the delivery. - -Once the products are delivered, you can invoice your customer. Odoo -will automatically add the quantities to invoice based on how many you -delivered if you did a partial delivery. +.. important:: + Be sure to check out our documentation about down payment here: :doc:`down_payment`, to master + this incredible feature. \ No newline at end of file diff --git a/sales/invoicing/media/down_payment01.png b/sales/invoicing/media/down_payment01.png deleted file mode 100644 index 84c0458e2..000000000 Binary files a/sales/invoicing/media/down_payment01.png and /dev/null differ diff --git a/sales/invoicing/media/down_payment02.png b/sales/invoicing/media/down_payment02.png deleted file mode 100644 index 5694d8fa1..000000000 Binary files a/sales/invoicing/media/down_payment02.png and /dev/null differ diff --git a/sales/invoicing/media/down_payment03.png b/sales/invoicing/media/down_payment03.png deleted file mode 100644 index 806b3b9b2..000000000 Binary files a/sales/invoicing/media/down_payment03.png and /dev/null differ diff --git a/sales/invoicing/media/down_payment04.png b/sales/invoicing/media/down_payment04.png deleted file mode 100644 index 4bceb7d40..000000000 Binary files a/sales/invoicing/media/down_payment04.png and /dev/null differ diff --git a/sales/invoicing/media/down_payment05.png b/sales/invoicing/media/down_payment05.png deleted file mode 100644 index bf1465363..000000000 Binary files a/sales/invoicing/media/down_payment05.png and /dev/null differ diff --git a/sales/invoicing/media/down_payment_1.png b/sales/invoicing/media/down_payment_1.png new file mode 100644 index 000000000..9a023fe4d Binary files /dev/null and b/sales/invoicing/media/down_payment_1.png differ diff --git a/sales/invoicing/media/down_payment_2.png b/sales/invoicing/media/down_payment_2.png new file mode 100644 index 000000000..d58b8798e Binary files /dev/null and b/sales/invoicing/media/down_payment_2.png differ diff --git a/sales/invoicing/media/down_payment_3.png b/sales/invoicing/media/down_payment_3.png new file mode 100644 index 000000000..49fc89866 Binary files /dev/null and b/sales/invoicing/media/down_payment_3.png differ diff --git a/sales/invoicing/media/down_payment_4.png b/sales/invoicing/media/down_payment_4.png new file mode 100644 index 000000000..b317b69fa Binary files /dev/null and b/sales/invoicing/media/down_payment_4.png differ diff --git a/sales/invoicing/media/down_payment_5.png b/sales/invoicing/media/down_payment_5.png new file mode 100644 index 000000000..099ab60d8 Binary files /dev/null and b/sales/invoicing/media/down_payment_5.png differ diff --git a/sales/invoicing/media/down_payment_6.png b/sales/invoicing/media/down_payment_6.png new file mode 100644 index 000000000..2efdd1805 Binary files /dev/null and b/sales/invoicing/media/down_payment_6.png differ diff --git a/sales/invoicing/media/invoicing_policy01.png b/sales/invoicing/media/invoicing_policy01.png deleted file mode 100644 index 2c8f9bb8d..000000000 Binary files a/sales/invoicing/media/invoicing_policy01.png and /dev/null differ diff --git a/sales/invoicing/media/invoicing_policy02.png b/sales/invoicing/media/invoicing_policy02.png deleted file mode 100644 index bc47ecc52..000000000 Binary files a/sales/invoicing/media/invoicing_policy02.png and /dev/null differ diff --git a/sales/invoicing/media/invoicing_policy_1.png b/sales/invoicing/media/invoicing_policy_1.png new file mode 100644 index 000000000..8a74347eb Binary files /dev/null and b/sales/invoicing/media/invoicing_policy_1.png differ diff --git a/sales/invoicing/media/invoicing_policy_2.png b/sales/invoicing/media/invoicing_policy_2.png new file mode 100644 index 000000000..621a21915 Binary files /dev/null and b/sales/invoicing/media/invoicing_policy_2.png differ diff --git a/sales/invoicing/media/invoicing_policy_3.png b/sales/invoicing/media/invoicing_policy_3.png new file mode 100644 index 000000000..52884ede7 Binary files /dev/null and b/sales/invoicing/media/invoicing_policy_3.png differ diff --git a/sales/invoicing/media/invoicing_policy_4.png b/sales/invoicing/media/invoicing_policy_4.png new file mode 100644 index 000000000..34c15bcd0 Binary files /dev/null and b/sales/invoicing/media/invoicing_policy_4.png differ diff --git a/sales/invoicing/media/invoicing_policy_5.png b/sales/invoicing/media/invoicing_policy_5.png new file mode 100644 index 000000000..6e3db46e1 Binary files /dev/null and b/sales/invoicing/media/invoicing_policy_5.png differ diff --git a/sales/send_quotations/media/terms_and_conditions01.png b/sales/send_quotations/media/terms_and_conditions01.png deleted file mode 100644 index e84aeb3fc..000000000 Binary files a/sales/send_quotations/media/terms_and_conditions01.png and /dev/null differ diff --git a/sales/send_quotations/media/terms_and_conditions02.png b/sales/send_quotations/media/terms_and_conditions02.png deleted file mode 100644 index c6027ec78..000000000 Binary files a/sales/send_quotations/media/terms_and_conditions02.png and /dev/null differ diff --git a/sales/send_quotations/media/terms_and_conditions03.png b/sales/send_quotations/media/terms_and_conditions03.png deleted file mode 100644 index 5d6677d0d..000000000 Binary files a/sales/send_quotations/media/terms_and_conditions03.png and /dev/null differ diff --git a/sales/send_quotations/media/terms_and_conditions04.png b/sales/send_quotations/media/terms_and_conditions04.png deleted file mode 100644 index 39d3854b4..000000000 Binary files a/sales/send_quotations/media/terms_and_conditions04.png and /dev/null differ diff --git a/sales/send_quotations/media/terms_conditions_1.png b/sales/send_quotations/media/terms_conditions_1.png new file mode 100644 index 000000000..c85f68c44 Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_1.png differ diff --git a/sales/send_quotations/media/terms_conditions_2.png b/sales/send_quotations/media/terms_conditions_2.png new file mode 100644 index 000000000..7c1e0b465 Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_2.png differ diff --git a/sales/send_quotations/media/terms_conditions_3.png b/sales/send_quotations/media/terms_conditions_3.png new file mode 100644 index 000000000..0bf769276 Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_3.png differ diff --git a/sales/send_quotations/media/terms_conditions_4.png b/sales/send_quotations/media/terms_conditions_4.png new file mode 100644 index 000000000..3a31cb215 Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_4.png differ diff --git a/sales/send_quotations/media/terms_conditions_5.png b/sales/send_quotations/media/terms_conditions_5.png new file mode 100644 index 000000000..919e854dd Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_5.png differ diff --git a/sales/send_quotations/media/terms_conditions_6.png b/sales/send_quotations/media/terms_conditions_6.png new file mode 100644 index 000000000..540fac1aa Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_6.png differ diff --git a/sales/send_quotations/media/terms_conditions_7.png b/sales/send_quotations/media/terms_conditions_7.png new file mode 100644 index 000000000..fe46463e9 Binary files /dev/null and b/sales/send_quotations/media/terms_conditions_7.png differ diff --git a/sales/send_quotations/terms_and_conditions.rst b/sales/send_quotations/terms_and_conditions.rst index 3b8bde652..65f39b4e0 100644 --- a/sales/send_quotations/terms_and_conditions.rst +++ b/sales/send_quotations/terms_and_conditions.rst @@ -1,44 +1,117 @@ -================================ -Add terms & conditions on orders -================================ +====================== +Add terms & conditions +====================== -Specifying Terms and Conditions is essential to ensure a good -relationship between customers and sellers. Every seller has to declare -all the formal information which include products and company policy; -allowing the customer to read all those terms everything before -committing to anything. +Specifying terms and conditions is essential to set out important contractual points such as payment +terms, limitation of liability and delivery terms between customers and sellers. Every seller must +declare all formal information concerning products and company policy. On the other hand, each +customer must take note of all these conditions before committing to anything. With Odoo Sales, it +is very easy to include your default terms and conditions on every quotation, sales order, and +invoice that you manage. -Odoo lets you easily include your default terms and conditions on every -quotation, sales order and invoice. +Default Terms & Conditions +========================== -Set up your default terms and conditions -======================================== +Configuration +------------- Go to :menuselection:`Accounting --> Configuration --> Settings` and activate *Default Terms & Conditions*. -.. image:: media/terms_and_conditions01.png - :align: center +.. image:: media/terms_conditions_1.png + :align: center + :class: img-thumbnail + :alt: How to enable Default Terms & Conditions on Odoo Sales? -In that box you can add your default terms & conditions. They will then -appear on every quotation, SO and invoice. +.. note:: + Please note that this feature is activated via the settings of the **Invoicing App** and **not** + via the settings of the **Sales App**. Moreover, you don't need to install the invoicing + application since it is done automatically with the installation of the sales application. -.. image:: media/terms_and_conditions02.png - :align: center +DT&C on your quotations, sales orders, and invoices +--------------------------------------------------- -.. image:: media/terms_and_conditions03.png - :align: center +In the settings of the **Invoicing App**, you have the possibility to insert your default terms +and conditions. + +.. image:: media/terms_conditions_2.png + :align: center + :class: img-thumbnail + :alt: Default Terms & Conditions on quotation on Odoo Sales + +They appear subsequently on every quotation, sales order, and invoice. + +DT&C on your quotation templates +-------------------------------- + +According to your business needs, you can specify your terms and conditions on your quotation +templates. This is interesting if you have different terms and conditions within your company. + +.. image:: media/terms_conditions_3.png + :align: center + :class: img-thumbnail + :alt: Add Default Terms & Conditions to your quotation templates on Odoo Sales + +.. important:: + Be sure to check out our documentation about quotation templates: :doc:`quote_template`, + to master each step of this amazing feature. -Set up more detailed terms & conditions -======================================= +General Terms & Conditions +========================== -A good idea is to share more detailed or structured conditions is to -publish on the web and to refer to that link in the terms & conditions -of Odoo. +GT&C on your website +-------------------- -You can also attach an external document with more detailed and -structured conditions to the email you send to the customer. You can -even set a default attachment for all quotation emails sent. +Use the **Website App** and create your own general terms and conditions page. For example, here is +the Odoo terms and conditions page: -.. image:: media/terms_and_conditions04.png - :align: center +.. image:: media/terms_conditions_4.png + :align: center + :class: img-thumbnail + :alt: General Terms & Conditions on your website + +You can refer to this page in the footer of all your documents. The layout is available in the +**General Settings** under the **Business Documents** category. For example, this footer appears +in every document from Odoo. + +.. image:: media/terms_conditions_7.png + :align: center + :class: img-thumbnail + :alt: General Terms & Conditions in your business documents + +GT&C as attachment in your emails +--------------------------------- + +Attach an external document with your general terms and conditions when you are about to send your +quotation by email to your customers. + +.. image:: media/terms_conditions_5.png + :align: center + :class: img-thumbnail + :alt: General Terms & conditions as attachment in your email + +GT&C as attachment in your quotation templates +---------------------------------------------- + +Create and edit email templates to set a default attachment for all quotation emails that you +will send in the future. To do so, you have to go to :menuselection:`Sales --> Configuration +--> Quotation templates` and create a new quotation template or modify an existing one. Under +the confirmation tab, you are now able to activate online signatures, online payments and to set +a confirmation mail in which you have the possibility to configure the default attachment. +There, you can put your general terms & conditions. + +.. image:: media/terms_conditions_6.png + :align: center + :class: img-thumbnail + :alt: General Terms & conditions as attachment in your quotation templates + +.. tip:: + To customize your email templates, activate the **developer mode** and + go to :menuselection:`Settings --> Technical --> Email --> Templates`. + +With Odoo Sales it is now very simple to deal with terms & conditions. + +.. seealso:: + - :doc:`quote_template` + - :doc:`get_signature_to_validate` + - :doc:`get_paid_to_validate` diff --git a/social_marketing.rst b/social_marketing.rst index 728219e39..e1bac985d 100644 --- a/social_marketing.rst +++ b/social_marketing.rst @@ -7,5 +7,5 @@ Social Marketing .. toctree:: :titlesonly: - social_marketing/social_marketing + social_marketing/overview \ No newline at end of file diff --git a/social_marketing/overview.rst b/social_marketing/overview.rst new file mode 100644 index 000000000..df9eacccd --- /dev/null +++ b/social_marketing/overview.rst @@ -0,0 +1,11 @@ +======== +Overview +======== + +.. toctree:: + :titlesonly: + + overview/manage_social + overview/push_notifications + overview/livechat + overview/campaigns \ No newline at end of file diff --git a/social_marketing/overview/campaigns.rst b/social_marketing/overview/campaigns.rst new file mode 100644 index 000000000..5e70bd565 --- /dev/null +++ b/social_marketing/overview/campaigns.rst @@ -0,0 +1,36 @@ +=========================================== +Connecting to my Marketplace with Campaigns +=========================================== + +Whether your goal is to sell a new product, explain the value of your services or advertise your +event, a campaign helps you to connect with your marketplace. They normally involve multiple +channels, so it is fundamental to have a solution with which you can plan, execute, track, and +analyze your content. + +Go to :menuselection:`Social Marketing --> Campaigns --> Create`. + +.. image:: media/create_campaign.png + :align: center + :alt: Click on create to start a campaign in Odoo Social Marketing + +As you create content, tabs for that specific channel will be shown. The overview of the campaign +shows you global metric such as: + +- *Revenue*: number of users who, from a link in your content, finished a transaction (paid). +- *Quotations*: number of users who, from a link in your content, have started but not finished a + transaction (did not pay). +- *Leads*: users who have filled out your contact form, from a link in your content. + +.. important:: + To be able to *Send New Mailing*, make sure the feature is enabled in the *Email Marketing* + application, under :menuselection:`Email Marketing --> Configuration --> Settings`. + To be able to *Send SMS*, the *SMS Marketing* application must be installed on your database. + +.. note:: + *Social Marketing* works integrated with other applications such as *Sales*, + *Invoicing*, *CRM* and *Website*. + +.. seealso:: + - :doc:`./push_notifications` + - :doc:`./manage_social` + diff --git a/social_marketing/overview/livechat.rst b/social_marketing/overview/livechat.rst new file mode 100644 index 000000000..25e15b274 --- /dev/null +++ b/social_marketing/overview/livechat.rst @@ -0,0 +1,60 @@ +=================================================== +Interact with Customers and Visitors with Live Chat +=================================================== + +One of the ways you can build stronger relationships with your customers is by making yourself +available through live chat. Live chats can have a big impact not just on your customer service, +but also on sales performance, as it gives users a chance of having real-time, fast, and effective +interaction. + +Configuration +============= + +Go to :menuselection:`Website --> Configuration --> Settings --> Live Chat` select the appropriate +channel, and set it up. + +.. image:: media/enable_livechat.png + :align: center + :alt: Enable live chat under website configurations for Odoo Social Marketing + +Under *Channel Rules*, choose when the chat pop-up appears, and an action for a given URL and/or +country. Note that to take the country into account, GeoIP must be installed on your server. + +.. important:: + The *Live Chat* application must be installed on your database. + +Monitor your visitors +===================== + +Under the *Visitors* menu, see the visitors that landed on one of your +:ref:`social_marketing/website_tracked_pages` online or offline. + +| You can send emails (if an email address has been saved), send SMSs (if a phone number has been + saved), send a push notification (if the user has subscribed to it), and even send a live chat + request that will be received by the user once they move to a tracked page. +| Open a record to see details including the visited pages, and the first and last date and time + the user was connected. + +.. image:: media/monitor_visitors.png + :align: center + :alt: See a visitor's history of pages in Odoo Social Marketing + +.. tip:: + #. Your online visitors will be authenticated if they are linked to a lead or an existing partner. + #. If you do not use the *Website* app, you can add a live chat widget to your own website. + +.. _social_marketing/website_tracked_pages: + +Website’s tracked pages +----------------------- + +To define which pages are tracked, on the *Website* application, go to +:menuselection:`Website --> Configuration --> Pages` and enable the option *Track*, +on the respective pages. + +.. image:: media/website_track_pages.png + :align: center + :alt: Choose the pages to be tracked in the website application for Odoo Social Marketing + +.. seealso:: + - :doc:`../../livechat/overview/get_started` diff --git a/social_marketing/overview/manage_social.rst b/social_marketing/overview/manage_social.rst new file mode 100644 index 000000000..c31f1e123 --- /dev/null +++ b/social_marketing/overview/manage_social.rst @@ -0,0 +1,79 @@ +============================================ +Manage Social Media Pages and Create Content +============================================ + +Once you are present on social media platforms, it is important to keep them up-to-date. However, +that might feel like a full-time job. Having a solution that allows you to create, schedule, keep +track, engage with your audience and measure results saves you time and helps you to successfully +execute your online strategy, from posts to results. + + +Add accounts and create your feed +================================= + +Click on *Add Stream* and grant the required permissions to add your accounts. + +.. image:: media/add_streams.png + :align: center + :alt: Click on add streams to add accounts in Odoo Social Marketing + +.. note:: + You can link a Facebook page for which you are the admin. + +| You are then redirected to your *Feed* and a column with the publications is automatically added. +| You can then add new accounts and/or streams, such as Facebook mentions, and customize your + Kanban view. + +.. image:: media/feed.png + :align: center + :alt: See all streams in the feed in Odoo Social Marketing + +Adding social media accounts to your feed will also link KPIs. To get redirected to the statistics +page of the social account, click on *Insights*. + +.. image:: media/insights.png + :align: center + :alt: Click on insights to be redirected to the social account from Odoo Social Marketing + +Link a LinkedIn account +----------------------- + +Go to :menuselection:`Social Marketing --> Configuration --> Social Media`. + +.. image:: media/add_linkedin.png + :align: center + :alt: Go to configuration to link a linkedin account in Odoo Social Marketing + +.. note:: + LinkedIn is in Beta Version, therefore, the feed is not available. Only the creation of content. + +Publish content +=============== + +Click on :menuselection:`Social Marketing --> Feed --> New Post`, or go to +:menuselection:`Social Marketing --> Posts → Create`. + +.. image:: media/publish_content.png + :align: center + :alt: Click on create or new post to create and publish content in Odoo Social Marketing + +| Choose to upload your post right away or to schedule it. +| Saving your post will apply a draft status to it. + +Overview and plan your posts with a calendar view +================================================= + +| Through the calendar view, besides having an overview of your planned day, week or month, also see + your drafted, scheduled and published posts. +| Drag and drop (scheduled posts) to change their scheduled date. +| Double-click on a date to create a post directly from the *Calendar view*, and click on an + existing one to edit it. + +.. image:: media/calendar_view.png + :align: center + :alt: Click on the calendar view option in Odoo Social Marketing + +.. seealso:: + - :doc:`./push_notifications` + - :doc:`./campaigns` + - :doc:`./livechat` diff --git a/social_marketing/overview/media/add_linkedin.png b/social_marketing/overview/media/add_linkedin.png new file mode 100644 index 000000000..0b99da084 Binary files /dev/null and b/social_marketing/overview/media/add_linkedin.png differ diff --git a/social_marketing/overview/media/add_streams.png b/social_marketing/overview/media/add_streams.png new file mode 100644 index 000000000..adbb29a00 Binary files /dev/null and b/social_marketing/overview/media/add_streams.png differ diff --git a/social_marketing/overview/media/calendar_view.png b/social_marketing/overview/media/calendar_view.png new file mode 100644 index 000000000..0d1cdf991 Binary files /dev/null and b/social_marketing/overview/media/calendar_view.png differ diff --git a/social_marketing/overview/media/create_campaign.png b/social_marketing/overview/media/create_campaign.png new file mode 100644 index 000000000..8d44fea0c Binary files /dev/null and b/social_marketing/overview/media/create_campaign.png differ diff --git a/social_marketing/overview/media/enable_livechat.png b/social_marketing/overview/media/enable_livechat.png new file mode 100644 index 000000000..1f9d93547 Binary files /dev/null and b/social_marketing/overview/media/enable_livechat.png differ diff --git a/social_marketing/overview/media/enable_push.png b/social_marketing/overview/media/enable_push.png new file mode 100644 index 000000000..3c6e4a2a6 Binary files /dev/null and b/social_marketing/overview/media/enable_push.png differ diff --git a/social_marketing/overview/media/feed.png b/social_marketing/overview/media/feed.png new file mode 100644 index 000000000..21cbbf56e Binary files /dev/null and b/social_marketing/overview/media/feed.png differ diff --git a/social_marketing/overview/media/individually_push.png b/social_marketing/overview/media/individually_push.png new file mode 100644 index 000000000..6d754bfda Binary files /dev/null and b/social_marketing/overview/media/individually_push.png differ diff --git a/social_marketing/overview/media/insights.png b/social_marketing/overview/media/insights.png new file mode 100644 index 000000000..6539c717f Binary files /dev/null and b/social_marketing/overview/media/insights.png differ diff --git a/social_marketing/overview/media/monitor_visitors.png b/social_marketing/overview/media/monitor_visitors.png new file mode 100644 index 000000000..15bba8d98 Binary files /dev/null and b/social_marketing/overview/media/monitor_visitors.png differ diff --git a/social_marketing/overview/media/publish_content.png b/social_marketing/overview/media/publish_content.png new file mode 100644 index 000000000..15d0dcc44 Binary files /dev/null and b/social_marketing/overview/media/publish_content.png differ diff --git a/social_marketing/overview/media/push_permission.png b/social_marketing/overview/media/push_permission.png new file mode 100644 index 000000000..796e789bb Binary files /dev/null and b/social_marketing/overview/media/push_permission.png differ diff --git a/social_marketing/overview/media/push_rules.png b/social_marketing/overview/media/push_rules.png new file mode 100644 index 000000000..46ef0afca Binary files /dev/null and b/social_marketing/overview/media/push_rules.png differ diff --git a/social_marketing/overview/media/push_to_a_group.png b/social_marketing/overview/media/push_to_a_group.png new file mode 100644 index 000000000..a53c966ef Binary files /dev/null and b/social_marketing/overview/media/push_to_a_group.png differ diff --git a/social_marketing/overview/media/website_track_pages.png b/social_marketing/overview/media/website_track_pages.png new file mode 100644 index 000000000..2d4f674d9 Binary files /dev/null and b/social_marketing/overview/media/website_track_pages.png differ diff --git a/social_marketing/overview/push_notifications.rst b/social_marketing/overview/push_notifications.rst new file mode 100644 index 000000000..208c43cb3 --- /dev/null +++ b/social_marketing/overview/push_notifications.rst @@ -0,0 +1,67 @@ +========================== +Use Web Push Notifications +========================== + +Web Push Notifications deliver messages to your user’s device without the need to be on your +website, or for them to give personal information. They can be used to inform your users about news, +articles and content posted, practical messages like traffic and weather updates, +flight information, sales alerts, coupons, and product updates. + +Ask users for permission +======================== + +In the *Website* application go to :menuselection:`Website --> Configuration --> Settings` +and enable *Web Push Notifications*. + +.. image:: media/enable_push.png + :align: center + :alt: Go to settings and enable web push notifications for Odoo Social Marketing + +Choose your message, icon, and delay time (which is the wait time for the permission request to be +shown once the user lands on your page). + +.. image:: media/push_permission.png + :align: center + :alt: Request to send messages is being shown on the page for Odoo Social Marketing + +Send notifications +================== + +Individually +------------ + +You can send individual messages through the menu *Visitors*. + +.. image:: media/individually_push.png + :align: center + :alt: Choose individually to whom send web push notifications in Odoo Social Marketing + +To a group +---------- + +Target a bigger segment by selecting multiple visitors in the *View List* (e.g.: all visitors that +visited your Homepage). + +.. image:: media/push_to_a_group.png + :align: center + :alt: Select multiple contacts to send web push notifications in Odoo Social Marketing + +.. note:: + Visitors records are kept under *Visitors* for a week, before getting archived. + +By rules +-------- + +Or go to :menuselection:`Social Marketing --> Posts --> Create`. Under *Web Notification options*, +apply filters to send your message to the records that match the rules you set. + +.. image:: media/push_rules.png + :align: center + :alt: Define rules to send push notifications in Odoo Social Marketing + +.. note:: + The feature only works with Odoo Website application. + +.. seealso:: + - :doc:`./manage_social` + - :doc:`./campaigns` diff --git a/social_marketing/social_marketing.rst b/social_marketing/social_marketing.rst deleted file mode 100644 index 0bdfb0959..000000000 --- a/social_marketing/social_marketing.rst +++ /dev/null @@ -1,8 +0,0 @@ -=============== -Advanced Topics -=============== - -.. toctree:: - :titlesonly: - - social_marketing/social_marketing \ No newline at end of file diff --git a/social_marketing/social_marketing/media/social_marketing01.png b/social_marketing/social_marketing/media/social_marketing01.png deleted file mode 100644 index 933f582b2..000000000 Binary files a/social_marketing/social_marketing/media/social_marketing01.png and /dev/null differ diff --git a/social_marketing/social_marketing/media/social_marketing02.png b/social_marketing/social_marketing/media/social_marketing02.png deleted file mode 100644 index d4729b984..000000000 Binary files a/social_marketing/social_marketing/media/social_marketing02.png and /dev/null differ diff --git a/social_marketing/social_marketing/media/social_marketing03.png b/social_marketing/social_marketing/media/social_marketing03.png deleted file mode 100644 index be1c60f3e..000000000 Binary files a/social_marketing/social_marketing/media/social_marketing03.png and /dev/null differ diff --git a/social_marketing/social_marketing/media/social_marketing04.png b/social_marketing/social_marketing/media/social_marketing04.png deleted file mode 100644 index d0c31e794..000000000 Binary files a/social_marketing/social_marketing/media/social_marketing04.png and /dev/null differ diff --git a/social_marketing/social_marketing/media/social_marketing05.png b/social_marketing/social_marketing/media/social_marketing05.png deleted file mode 100644 index 18e885ffc..000000000 Binary files a/social_marketing/social_marketing/media/social_marketing05.png and /dev/null differ diff --git a/social_marketing/social_marketing/social_marketing.rst b/social_marketing/social_marketing/social_marketing.rst deleted file mode 100644 index 540031ce3..000000000 --- a/social_marketing/social_marketing/social_marketing.rst +++ /dev/null @@ -1,110 +0,0 @@ -Social Marketing -================ - -One of the biggest challenges of a company is to engage efficiently with -their community. Odoo Social helps you to meet your audience with the -help of several supports: social media, push notifications, or live chat -request. - -Add your social media and create your feed ------------------------------------------- - -You first need to add your social media accounts. To do that, add a -Stream and choose your social media account. You’ll need to grant -permissions to Odoo Social Marketing application. - -.. image:: media/social_marketing01.png - :align: center - -Once it’s done, you’ll be redirected to your Feed and a column will be -automatically added with the publications of your freshly added -account. You can then add new streams to your Feed and customize your -Kanban view as you like. - -.. image:: media/social_marketing02.png - :align: center - -| Adding social media accounts to your Feed will also add some KPIs on - it: - -- Audience: Number of followers of your channel - -- Engagement: Number of times people have engaged with your posts - -- Stories: Number of times people who have engaged with your channel - have created stories on their friend’s or follower’s feed (Shares, Retweet,..) - -You can access more information by clicking on the “Insights” link: this -will lead you to statistics of the selected social medium. - -Publish content ---------------- - -To publish content on your social media accounts or send a push -notification to your subscribed users, either go to your Feed and click -on New Post, or use the “Posts” menu and create it from there. Select -all the accounts where you want to post your content, write your post -and get an instant preview of how it will look when published. - -If you select the push notifications, you’ll get some additional fields -on the form that will allow you to complete the push notifications -configuration and choose your segment between all your subscribed users. -You can also send push notifications via the Visitors menu, as explained -in the previous paragraph. - -Enable push notifications on your website ------------------------------------------ - -The push notifications system uses a Firebase account, configured by -default. This feature allows you to send push notifications to your -website’s visitors after they subscribed to it. To enable push -notifications on your website, go to the Website application Settings, -and configure the notifications permission request. - -.. image:: media/social_marketing03.png - :align: center - -Once it’s done, a popup will appear to your website’s visitors, asking -them to allow push notifications. As soon as they subscribe to it, you -can start sending them push notifications through the Visitors menu. You -can either send it individually or target a bigger segment by selecting -multiple visitors in the list view (e.g. all the visitors that visited -your Homepage). - -Interact with your online visitors ------------------------------------ - -You can monitor your online visits via the Visitors menu. You’ll see -every visitors that landed on one of your tracked pages (you can -configure your tracked pages in the Website application), online or -offline. Your online visitors will be authenticated if they’re linked to -a lead or an existing partner. You will be able to contact them with an -email, a message sms, a push notification (if they have subscribed to -it), or even send them a live chat request that they will receive on -their next move on one of your tracked pages (if you installed the Live -Chat application). - -.. image:: media/social_marketing04.png - :align: center - -Configure your own Facebook and Twitter developer accounts ----------------------------------------------------------- - -By default, the Social application is already configured with a Facebook -and Twitter developer accounts but you can use your own if necessary. -Activate the :doc:`Developer mode <../../general/developer_mode/activate>`, and enter your -own API keys. - -.. image:: media/social_marketing05.png - :align: center - -Configure your own Firebase API -------------------------------- - -By default, a Firebase project is running on your database so there’s no -need to configure it. If you have multiple websites, every website will -be linked to a different Firebase project. If you need to configure your -own Firebase project, please go to :menuselection:`Website --> Configuration --> Settings` Web Push Notifications section. - - - diff --git a/survey.rst b/survey.rst new file mode 100644 index 000000000..656ac0b89 --- /dev/null +++ b/survey.rst @@ -0,0 +1,10 @@ +:banner: banners/survey.png + +====== +Survey +====== + +.. toctree:: + :titlesonly: + + survey/overview \ No newline at end of file diff --git a/survey/overview.rst b/survey/overview.rst new file mode 100644 index 000000000..6b06efb4d --- /dev/null +++ b/survey/overview.rst @@ -0,0 +1,8 @@ +======== +Overview +======== + +.. toctree:: + :titlesonly: + + overview/create \ No newline at end of file diff --git a/survey/overview/create.rst b/survey/overview/create.rst new file mode 100644 index 000000000..74e64ffdd --- /dev/null +++ b/survey/overview/create.rst @@ -0,0 +1,42 @@ +================ +Create a Survey +================ + +Surveys can be used for a range of purposes that can go from collecting customer feedback, evaluate +the success of an event, measure how pleased customers are with your products/services, gauge +whether employees are happy and satisfied with their work environment, and even to find out what +your market is thinking. + +Get started +=========== + +Choose the type of answer you would like your question to have, and under *Options* find the +feature *Mandatory Answer*. + +.. image:: media/sur1.png + :align: center + :alt: Create surveys with Odoo Survey application + +| Write a *Description* to be displayed on the homepage of the survey, and under *Options*, find + features such as *Time Limit* and *Scoring*. +| *Test* to go through the survey before sharing it, avoiding errors. +| Once done, click on *Start Survey* to be able to *Share* it with your recipients (respondents). + +Getting responses and analysing results +======================================= + +| As your recipients respond to it, the answers can be seen under the status button *Answers*, or + under :menuselection:`Survey --> Participations --> Participations`. +| If checking the answers under *Participations*, more details such as the number of attempts and + skipped answers a respondent took are shown. + +.. image:: media/sur2.png + :align: center + :alt: Create surveys with Odoo Survey application + +Click on *See results* to see an analysis of the responses, and if you chose to have a scoring +system and certificate available, a *Certified* status menu becomes available. + +.. image:: media/sur3.png + :align: center + :alt: Create surveys with Odoo Survey application \ No newline at end of file diff --git a/survey/overview/media/sur1.png b/survey/overview/media/sur1.png new file mode 100644 index 000000000..6e493f564 Binary files /dev/null and b/survey/overview/media/sur1.png differ diff --git a/survey/overview/media/sur2.png b/survey/overview/media/sur2.png new file mode 100644 index 000000000..4ba3edc41 Binary files /dev/null and b/survey/overview/media/sur2.png differ diff --git a/survey/overview/media/sur3.png b/survey/overview/media/sur3.png new file mode 100644 index 000000000..a2ed8637b Binary files /dev/null and b/survey/overview/media/sur3.png differ diff --git a/website/publish/media/on-premise_geo-ip-installation01.png b/website/publish/media/on-premise_geo-ip-installation01.png new file mode 100644 index 000000000..645e86e9f Binary files /dev/null and b/website/publish/media/on-premise_geo-ip-installation01.png differ diff --git a/website/publish/multi_website.rst b/website/publish/multi_website.rst index 70b97feda..b8255490b 100644 --- a/website/publish/multi_website.rst +++ b/website/publish/multi_website.rst @@ -121,6 +121,7 @@ be redirected to the right website using GeoIP. .. note:: Geo IP is installed by default in Odoo Online. If you run Odoo on-premise, don’t forget to install *GeoIP* library. + See :doc:`on-premise_geo-ip-installation` .. seealso:: - :doc:`domain_name` diff --git a/website/publish/on-premise_geo-ip-installation.rst b/website/publish/on-premise_geo-ip-installation.rst new file mode 100644 index 000000000..87dcbb06d --- /dev/null +++ b/website/publish/on-premise_geo-ip-installation.rst @@ -0,0 +1,61 @@ +=========================================== +Geo IP installation (on-premises database) +=========================================== + +Installation +============ + +.. warning:: Please note that the installation depends on your computer operating system and distribution. We will assume here that a Linux operating system is used. + +#. Install `geoip2 `__ Python library + .. code-block:: bash + + pip install geoip2 + +#. Download the `GeoLite2 City database `_. You should end up with a file called ``GeoLite2-City.mmdb`` +#. Move the file to the folder ``/usr/share/GeoIP/`` + .. code-block:: bash + + mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/ + +#. Restart the server + +.. note:: If you can't/don't want to locate the geoip database in ``/usr/share/GeoIP/``, you can use the ``--geoip-db`` option of the Odoo command line interface. + This option takes the absolute path to the GeoIP database file and will use it as the GeoIP database. + For example: + + .. code-block:: bash + + ./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb + + .. seealso:: + - `CLI documentation `_. + +.. warning:: ``GeoIP`` Python library can also be used. However this version is discontinued since January 2019. See `GeoLite Legacy databases are now discontinued `_ + +How to test GeoIP geolocation in your Odoo website? +=================================================== +1. Go into your website. Open the web page on which you want to test ``GeoIP``. +2. Choose :menuselection:`Customize --> HTML/CSS/JS Editor`. +3. Add the following piece of XML in the page : + +.. code-block:: xml + +

+ +You should end up with a dictionary indicating the location of the ip address. + +.. image:: media/on-premise_geo-ip-installation01.png + :align: center + +.. note:: If the curly braces are empty ``{}``, it can be for any of the following reason : + + - The browsing IP address is the localhost (``127.0.0.1``) or a local area network one (``192.168.*.*``) + - If a reversed proxy is used, make sure to configure it correctly. See `--proxy-mode `__ + - ``geoip2`` is not installed or the GeoIP database file wasn't found + - The GeoIP database was unable to resolve the given IP address + + + + +