From 3f8bf2ef9c2d8db74c163e1f2b72dedfef8ae81a Mon Sep 17 00:00:00 2001 From: "Jonathan Castillo (jcs)" Date: Thu, 26 Jan 2023 16:48:42 +0000 Subject: [PATCH] [IMP] accounting: update how to get api keys for silverfin integration task 2918697 closes odoo/documentation#3425 X-original-commit: 9a0bf7bb0e9e80d18c39287a92ffb38c4f106059 Signed-off-by: Castillo Jonathan (jcs) --- .../accounting/reporting/silverfin.rst | 51 +++++++++++++----- .../reporting/silverfin/api-key-db.png | Bin 0 -> 12588 bytes .../{api-key.png => api-key-user.png} | Bin content/developer/api/external_api.rst | 2 + 4 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 content/applications/finance/accounting/reporting/silverfin/api-key-db.png rename content/applications/finance/accounting/reporting/silverfin/{api-key.png => api-key-user.png} (100%) diff --git a/content/applications/finance/accounting/reporting/silverfin.rst b/content/applications/finance/accounting/reporting/silverfin.rst index 325037da0..2ebc85158 100644 --- a/content/applications/finance/accounting/reporting/silverfin.rst +++ b/content/applications/finance/accounting/reporting/silverfin.rst @@ -5,7 +5,7 @@ Silverfin integration `Silverfin `_ is a third-party service provider that offers a cloud platform for accountants. -Odoo and Silverfin provide an integration to automate the synchronisation of data. +Odoo and Silverfin provide an integration to automate the synchronization of data. Configuration ============= @@ -22,20 +22,45 @@ To configure this integration, you need to input the following data into your Si Odoo API key ------------ -To create a new API key, navigate to `Odoo's website `_ and sign in with your +You can create Odoo external API keys either :ref:`for a single database ` +(hosting: Odoo Online, On-premise, and Odoo.sh) or :ref:`for multiple databases managed by a user +` (hosting: Odoo Online). + +.. important:: + - These API keys are personal and provide full access to your user account. Store it securely. + - You can copy the API key only at its creation, and you cannot retrieve it later. + - If you need it again, create a new API key (and delete the old one). + +.. seealso:: + :doc:`/developer/api/external_api` + +.. _silverfin/api-singledb: + +One key per database +~~~~~~~~~~~~~~~~~~~~ + +To create a new API key valid for a single database, click on the user menu, then on +:guilabel:`My Profile`. Under the :guilabel:`Account Security` tab, click on :guilabel:`New API +key`, confirm your password, give a descriptive name to your new key, and copy the new API key. + +.. image:: silverfin/api-key-db.png + :align: center + :alt: creation of an Odoo external API key for a database + +.. seealso:: + :ref:`api/external_api/keys` + +.. _silverfin/api-multipledb: + +One key for multiple databases (fiduciaries) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To create a new API key valid for all the databases of a single user **(the easiest for +fiduciaries)**, navigate to `Odoo's website `_ and sign in with your administrator account. Next, open `your account security settings in developer mode `_, click on :guilabel:`New API Key`, confirm your password, give a descriptive name to your new key, and copy the new API key. -.. important:: - - You can copy the API key only at its creation, and you cannot retrieve it later. - - The API key provides full access to your user account. Store it securely. - - If you need it again, create a new API key. - - You can delete your existing API keys from this same page. - -.. image:: silverfin/api-key.png +.. image:: silverfin/api-key-user.png :align: center - :alt: creation of an Odoo external API key for an integration with Silverfin - -.. seealso:: - :doc:`/developer/api/external_api` + :alt: creation of an Odoo external API key for an Odoo user diff --git a/content/applications/finance/accounting/reporting/silverfin/api-key-db.png b/content/applications/finance/accounting/reporting/silverfin/api-key-db.png new file mode 100644 index 0000000000000000000000000000000000000000..c8568f78a59804238b02bed4972deed2a235edaa GIT binary patch literal 12588 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 +.. _api/external_api/keys: + API Keys ~~~~~~~~