From 3c44972f02a646f420b5509b0d2e1db32cb96b61 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Jun 2020 02:04:10 +0200 Subject: [PATCH 01/17] [ADD] legal: update contracts for new maintenance - Update Enterprise & Partnership agreement (EN, FR) - Update legal page index: hide outdated agreements, replace with a link to an archive of the old PDFs. - Add icons for missing files, to make index table layout more consistent - Add `text-justify` on HTML versions of contracts, for consistency with the PDF versions. - Fix compatibility of PDF generation with recent sphinx versions (\sphinxmaketitle instead of \maketitle) - Re-add NL PDF building, still needs to be updated like all others Backport of 5b80ed551c4abdf188609e5bf4604505e14a1ab1 from 13.0 --- _extensions/odoo/layout.html | 4 + _static/banners/pdf_missing.svg | 73 ++++++++++++ _static/banners/txt_missing.svg | 59 ++++++++++ _static/latex/odoo.sty | 14 +++ _static/legal.css | 18 +++ conf.py | 3 +- legal.rst | 14 ++- legal/terms/enterprise.rst | 166 ++++++++++++++-------------- legal/terms/i18n/enterprise_fr.rst | 157 +++++++++++++------------- legal/terms/i18n/enterprise_nl.rst | 4 +- legal/terms/i18n/partnership_fr.rst | 27 ++++- legal/terms/partnership.rst | 22 +++- 12 files changed, 388 insertions(+), 173 deletions(-) create mode 100644 _static/banners/pdf_missing.svg create mode 100644 _static/banners/txt_missing.svg create mode 100644 _static/legal.css diff --git a/_extensions/odoo/layout.html b/_extensions/odoo/layout.html index 4c80ed1a3..a61c2eef9 100644 --- a/_extensions/odoo/layout.html +++ b/_extensions/odoo/layout.html @@ -16,6 +16,10 @@ {% set classes = classes + ['has_code_col'] %} {% endif %} +{% if 'classes' in meta %} + {% set classes = classes + meta['classes'].split() %} +{% endif %} + {%- block doctype -%} {%- endblock -%} diff --git a/_static/banners/pdf_missing.svg b/_static/banners/pdf_missing.svg new file mode 100644 index 000000000..1a5e599c2 --- /dev/null +++ b/_static/banners/pdf_missing.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/banners/txt_missing.svg b/_static/banners/txt_missing.svg new file mode 100644 index 000000000..4c71c0497 --- /dev/null +++ b/_static/banners/txt_missing.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/latex/odoo.sty b/_static/latex/odoo.sty index d334203f9..4f378c346 100644 --- a/_static/latex/odoo.sty +++ b/_static/latex/odoo.sty @@ -95,6 +95,20 @@ } +% For sphinx 1.8.3+, the command is \sphinxmaketitle and the +% layout is slightly different on the titlepage +\renewcommand{\sphinxmaketitle}{% + \noindent\rule{\textwidth}{1pt}\par + \begin{flushright} + \sphinxlogo + \py@HeaderFamily + {\hspace{-0.5cm} \huge \@title }\par + \end{flushright} + \@thanks + \setcounter{footnote}{0} + \let\thanks\relax\let\maketitle\relax +} + \newcommand{\makeodootitleold}{% \begin{titlepage} \titlepagedecoration diff --git a/_static/legal.css b/_static/legal.css new file mode 100644 index 000000000..a82b7baef --- /dev/null +++ b/_static/legal.css @@ -0,0 +1,18 @@ + +section#terms-and-conditions table td { + /* make sure icons and links aren't wrapped */ + white-space: nowrap; +} + +section#terms-and-conditions table th { + text-align: center; +} + +section#terms-and-conditions table img.img-responsive { + margin: 0px; +} + +section#terms-and-conditions table td:nth-child(2), +section#terms-and-conditions table th:nth-child(2) { + background-color: #f3f3f3; +} diff --git a/conf.py b/conf.py index 5d2fc504d..848924ac2 100644 --- a/conf.py +++ b/conf.py @@ -231,7 +231,7 @@ latex_documents = [ ('legal/terms/i18n/partnership_tex_fr', 'odoo_partnership_agreement_fr.tex', 'Odoo Partnership Agreement (FR)', '', 'howto'), ('legal/terms/i18n/terms_of_sale_fr', 'terms_of_sale_fr.tex', u'Conditions Générales de Vente Odoo', '', 'howto'), - #('legal/terms/i18n/enterprise_tex_nl', 'odoo_enterprise_agreement_nl.tex', 'Odoo Enterprise Subscription Agreement (NL)', '', 'howto'), + ('legal/terms/i18n/enterprise_tex_nl', 'odoo_enterprise_agreement_nl.tex', 'Odoo Enterprise Subscription Agreement (NL)', '', 'howto'), #('legal/terms/i18n/partnership_tex_nl', 'odoo_partnership_agreement_nl.tex', 'Odoo Partnership Agreement (NL)', '', 'howto'), ('legal/terms/i18n/enterprise_tex_de', 'odoo_enterprise_agreement_de.tex', 'Odoo Enterprise Subscription Agreement (DE)', '', 'howto'), @@ -327,6 +327,7 @@ LANGUAGES = { def setup(app): app.add_stylesheet('accounting.css') + app.add_stylesheet('legal.css') app.add_javascript('prefixfree.min.js') app.add_javascript('atom.js') app.add_javascript('immutable.js') diff --git a/legal.rst b/legal.rst index 5d8010658..68ac8099f 100644 --- a/legal.rst +++ b/legal.rst @@ -118,17 +118,25 @@ Terms and Conditions :alt: View Odoo Partnership Agreement (ES) :target: legal/terms/i18n/partnership_es.html +.. |missing_pdf| image:: _static/icons/pdf_missing.svg + :alt: Document not available yet + +.. |missing_txt| image:: _static/icons/txt_missing.svg + :alt: Document not available yet +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ | | **English** | Français | Nederlands | Deutsch | Español | +====================================================================+=======================================================================+========================================================================+=======================================================================+=======================================================================+=======================================================================+ -| Odoo Enterprise Agreement (Also applies to Odoo Cloud and Odoo.sh) | |view_enterprise_en| |download_enterprise_en| | |view_enterprise_fr| |download_enterprise_fr| | |view_enterprise_nl| |download_enterprise_nl| | |view_enterprise_de| |download_enterprise_de| | |view_enterprise_es| |download_enterprise_es| | +| Odoo Enterprise Agreement [#ltoe1]_ | |view_enterprise_en| |download_enterprise_en| | |view_enterprise_fr| |download_enterprise_fr| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ -| Odoo Partnership Agreement | |view_partnership_en| |download_partnership_en| | |view_partnership_fr| |download_partnership_fr| | (Coming soon) | (Coming soon) | |view_partnership_es| |download_partnership_es| | +| Odoo Partnership Agreement | |view_partnership_en| |download_partnership_en| | |view_partnership_fr| |download_partnership_fr| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ | Terms of Sale | |view_terms_of_sale_en| |download_terms_of_sale_en| | |view_terms_of_sale_fr| |download_terms_of_sale_fr| | | | | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ - +| Archive of older agreements: `Archive `_ | ++--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| .. [#ltoe1] Applies to self-hosting, Odoo.SH and Odoo Cloud | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Other legal references ====================== diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index 7eea54789..d5b24a8ca 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -1,3 +1,4 @@ +:classes: text-justify .. _enterprise_agreement: @@ -5,12 +6,13 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 8.0 - 2018-05-22 +.. note:: Version 9.0 - 2020-06-08 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR +.. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -43,22 +45,35 @@ App An "App" is a specialized group of features available for installation in the Software, and listed in the public Pricing section of `Odoo SA's website `_. +Odoo Partner + An Odoo Partner is a third-party company or individual, chosen by the Customer, and working + with the Customer for their Odoo related services. The Customer can decide at any time to work + with a different Odoo Partner, or to work with Odoo SA directly (subject to prior notice). + +Extra Module + An extra module is a directory of source code files, or a set of Python-based customizations + created in a database (e.g. with Odoo Studio), that adds features or changes the standard + behavior of the Software. It may have been developed by the Customer, by Odoo SA, by an Odoo + Partner on behalf of the Customer, or by third parties. + +Covered Extra Module + A Covered Extra Module is an Extra Module for which the Customer pays a maintenance fee + in order to get support, upgrade and bug fixing services, provided that the Customer works + with an Odoo Partner or is hosted on the Odoo Cloud Platform. + Bug - Is considered a Bug any failure of the Software that results in a complete stop, error - traceback or security breach, and is not directly caused by a defective installation or - configuration. Non-compliance with specifications or requirements will be considered as Bugs at + Is considered a Bug any failure of the Software or of a Covered Extra Module that results in + a complete stop, error traceback or security breach, and is not directly caused by a defective + installation or configuration. + Non-compliance with specifications or requirements will be considered as Bugs at the discretion of Odoo SA (typically, when the Software does not produce the results or performance it was designed to produce, or when a country-specific feature does not meet legal accounting requirements anymore). Covered Versions Unless specified otherwise, the Services provided under this Agreement are applicable only - to the Covered Versions of - the Software, which include the 3 (three) most recently released major versions. - - To be covered by the current Agreement, the Customer has to run the most recent - Covered Version at the time of conclusion of this Agreement. When this is not the case, - additional costs are applicable, as described in :ref:`charges`. + to the Covered Versions of the Software, which include the 3 most recently released major + versions. .. _enterprise_access: @@ -78,7 +93,7 @@ under the terms set forth in :ref:`appendix_a`. The Customer agrees to take all necessary measures to guarantee the unmodified execution of the part of the Software that verifies the validity of the Odoo Enterprise Edition usage and collects statistics for that purpose, including but not limited to the running of an instance, -the number of Users and installed Apps. +the number of Users, the installed Apps, and the number of lines of code of Covered Extra Modules. Odoo SA commits not to disclose individual or named figures to third parties without the consent of the Customer, and to deal with all collected data in compliance with its official Privacy @@ -102,25 +117,21 @@ fee equal to 300% of the applicable list price for the actual number of Users an ---------------------- For the duration of this Agreement, Odoo SA commits to making all reasonable efforts to remedy any -Bug of the Software submitted by the Customer through the appropriate channel (typically, Odoo SA's -service desk email address or website form), and to start handling such Customer submissions -within 2 business days. - -The Customer understands that Bugs caused by a modification or extension that is not part of the -official Software will not be covered by this service. +Bug of the Software and Covered Extra Modules submitted by the Customer through the appropriate +channel (typically, the web form or phone numbers listed on `odoo.com/help `_, +or when working with an Odoo Partner, the channel provided by the partner), and to start handling +such Customer submissions within 2 business days. As soon as the Bug is fixed an appropriate remedy will be communicated to the Customer. - -For Self-Hosting, if the bug has been addressed in a more recent revision of the Covered Version of the -Software used by the Customer, the Customer agrees to update its systems to that revision in order -to obtain the correction. The Customer will not be asked to upgrade to a more recent Covered -Version of the Software as a remedy to a Bug. +If the Customer is using a Covered Version, they will not be asked to upgrade to a more recent +Covered Version of the Software as a remedy to a Bug. When a Bug is fixed in any Covered Version, Odoo SA commits to fixing the Bug in all more recent Covered Versions of the Software. Both parties acknowledge that as specified in the license of the Software and in the :ref:`liability` -section of this Agreement, Odoo SA cannot be held liable for Bugs in the Software. +section of this Agreement, Odoo SA cannot be held liable for Bugs in the Software +or in Covered Extra Modules. 4.2 Security Updates Service @@ -132,9 +143,9 @@ Self-Hosting ++++++++++++ For the duration of this Agreement, Odoo SA commits to sending a "Security Advisory" to the Customer -for any security Bug that is discovered in the Covered Versions of the Software, at least 2 weeks -before making the Security Advisory public, unless the Bug has already been disclosed publicly by a -third party. +for any security Bug that is discovered in the Covered Versions of the Software (this excludes Extra +Modules), at least 2 weeks before making the Security Advisory public, unless the Bug has already +been disclosed publicly by a third party. Security Advisories include a complete description of the Bug, its cause, its possible impacts on the Customer's systems, and the corresponding remedy for each Covered Version. @@ -164,44 +175,29 @@ Upgrade Service for the Software For the duration of this Agreement, the Customer can submit upgrade requests through the appropriate channel (typically Odoo SA's upgrade service website), in order to convert a database of the Software -from one Covered Version of the Software to a more recent Covered Version (the "Target Version"). +from any version of the Software to a more recent Covered Version (the "Target Version"). For the Cloud Platform, upgrade requests are submitted directly from the control panel of the Cloud Platform, and do not require any data upload. For Self-Hosting, -upgrade requests must include a complete backup copy of the Customer's database and the +upgrade requests must include a copy of the Customer's database and the associated data (typically obtained from the Backup menu of the Software). This service provided through an automated platform in order to allow the Customer to perform unattended upgrades once a previous version of the Customer's database has been successfully upgraded for a Covered Version. -The Customer may submit successive upgrade requests for a database, and agrees to submit at least -1 upgrade request for testing purposes before submitting the final upgrade request. The Upgrade Service is limited to the technical conversion and adaptation of the Customer's database -to make it compatible with the Target Version, and the correction of any Bug directly caused by the -upgrade operation and not normally occurring in the Target Version. +to make it compatible with the Target Version, the correction of any Bug directly caused by the +upgrade operation and not normally occurring in the Target Version, and the conversion of the source +code and data of Covered Extra Modules for the Target Version. -It is the sole responsibility of the Customer to verify and validate the upgraded database in order +It is the responsibility of the Customer to verify and validate the upgraded database in order to detect Bugs, to analyze the impact of changes and new features implemented in the Target Version, and to convert and adapt for the Target Version any third-party extensions of the Software that -were installed in the database before the upgrade (except where applicable as foreseen in section -:ref:`upgrade_extra`). +were installed in the database before the upgrade (e.g. non-convered Extra Modules). The Customer may submit multiple upgrade requests for a database, until an acceptable result is achieved. -.. _upgrade_extra: - -Upgrade Service for third-party extensions -++++++++++++++++++++++++++++++++++++++++++ - -For the duration of this Agreement, the Customer may request optional upgrade services for -third-party extension modules of the Software, in addition to the regular Upgrade Services. -This optional service is subject to additional fees (as described in :ref:`charges`) and includes the -technical adaptation of third-party modules installed in the Customer's database and their -corresponding data in order to be compatible with the Target Version. The Customer will receive an -upgraded version of all installed third-party modules along with the upgraded database. - - .. _cloud_hosting: 4.4 Cloud Hosting Services @@ -230,20 +226,35 @@ Scope For the duration of this Agreement, the Customer may open an unlimited number of support tickets free of charge, exclusively for questions regarding Bugs (see :ref:`bugfix`) or guidance -with respect to the use of the standard features of the Software and Services -(functionalities, intended use, configuration, troubleshooting). +with respect to the use of the standard features of the Software and Covered Extra Modules. -Other assistance requests, such as questions related to development, customizations, -installation for Self-Hosting, or services requiring to access the Customer's database, -may be covered through the purchase of a separate Service Pack. -In case it’s not clear if a request is covered by this Agreement or a Service Pack, +Other assistance requests, such as questions related to development or customizations +may be covered through the purchase of a separate service agreement. +In case it’s not clear if a request is covered by this Agreement, the decision is at the discretion of Odoo SA. Availability ++++++++++++ -Tickets can be submitted online at https://www.odoo.com/help, or by phone directly to the -various Odoo SA offices, subject to local opening hours. +Tickets can be submitted via the web form or phone numbers listed on `odoo.com/help `_, +or when working with an Odoo Partner, the channel provided by the partner, subject to local +opening hours. + + +.. _maintenance_partner: + +4.6 Working with an Odoo Partner +-------------------------------- + +For bug fixes, support and upgrade services, the Customer may either work with an Odoo Partner +as the main point of contact, or work with Odoo SA directly. + +If the Customer decides to work with an Odoo Partner, Odoo SA will subcontract services related +to the Covered Extra Modules to the Odoo Partner, who becomes the main point of contact of the +customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second level assistance. + +If the Customer decides to work with Odoo SA directly, services related to Covered Extra Modules +are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. @@ -258,16 +269,24 @@ various Odoo SA offices, subject to local opening hours. -------------------- The standard charges for the Odoo Enterprise subscription and the Services are based on the number -of Users, the installed Apps, the Software version used by the Customer, and specified in writing +of Users and the installed Apps used by the Customer, and specified in writing at the conclusion of the Agreement. When during the Term, the Customer has more Users or more installed Apps than specified at the time of conclusion of this Agreement, the Customer agrees to pay an extra fee equivalent to the applicable list price (at the beginning of the Term) for the additional Users or Apps, for the remainder of the Term. -If at the time of the conclusion of this Agreement, the Customer uses a Covered Version -that is not the most recent one, the standard charges may be increased by 50% for the duration -of the first Term, at the sole discretion of Odoo SA, to cover the extra maintenance costs. +In addition, services for Covered Extra Modules are charged based on the number of lines of code +in these Covered Extra Modules. Unless otherwise specified in writing at the conclusion of the +Agreement, the charge is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred). +Lines of code will be counted with the tool provided by Odoo SA, and include all text lines in the +source code of those modules, regardless of the programming language (Python, Javascript, XML, etc.), +excluding blank lines, comment lines and files that are not loaded when installing or executing +the Software. + +When the Customer requests an upgrade, for each Covered Extra Module that has not been covered by +a maintenance fee for the last 12 months, Odoo SA may charge a one-time extra fee of 16€ per 100 +lines of code, for each missing month of coverage. .. _charges_renewal: @@ -275,30 +294,12 @@ of the first Term, at the sole discretion of Odoo SA, to cover the extra mainten ------------------- Upon renewal as covered in section :ref:`term`, if the charges applied during the previous Term +(excluding any “Initial User Discounts”) are lower than the most current applicable list price, these charges will increase by up to 7%. - -.. _charges_thirdparty: - -5.3 Charges for Upgrade Services of third-party modules -------------------------------------------------------- - -.. FIXME: should we really fix the price in the contract? - -The additional charge for the Upgrade Service for third-party modules is EUR (€) 1000.00 (one -thousand euros) per 1000 Lines of Code in the third-party modules, rounded up to the next thousand -lines. Lines of Code include all text lines in the source code of those modules, regardless of the -programming language (Python, Javascript, etc.) or data format (XML, CSV, etc.), excluding blank -lines and comment lines. - -Odoo SA reserves the right to reject an upgrade request for third-party modules under the above -conditions if the quality of the source code of those modules is too low, or if these modules -constitute an interface with third-party software or systems. The upgrade of such modules will -subject to a separate offer, outside of this Agreement. - .. _taxes: -5.4 Taxes +5.3 Taxes --------- .. FIXME : extra section, not sure we need it? @@ -328,6 +329,8 @@ The Customer agrees to: that verifies the validity of the Odoo Enterprise Edition usage, as described in :ref:`enterprise_access` ; - appoint 1 dedicated Customer contact person for the entire duration of the Agreement; +- provide written notice to Odoo SA 30 days before changing their main point of contact to work + with another Odoo Partner, or to work with Odoo SA directly. When the Customer chooses to use the Cloud Platform, the Customer further agrees to: @@ -463,7 +466,8 @@ breach has not been remedied within 30 calendar days from the written notice of breach, this Agreement may be terminated immediately by the non-breaching Party. Further, Odoo SA may terminate the Agreement immediately in the event the Customer fails to pay -the applicable fees for the Services within the due date specified on the corresponding invoice. +the applicable fees for the Services within 21 days following the due date specified on the +corresponding invoice, and after minimum 3 reminders. Surviving Provisions: The sections ":ref:`confidentiality`”, “:ref:`disclaimers`”, diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index 29a950075..c6aa818ee 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -1,3 +1,4 @@ +:classes: text-justify .. _enterprise_agreement_fr: @@ -12,12 +13,13 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 8.0 - 2018-05-22 +.. note:: Version 9.0 - 2020-06-08 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR +.. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales @@ -52,22 +54,35 @@ App et inclus dans la section Tarifs Odoo sur `le site d'Odoo SA `_, au moment de la conclusion de ce Contrat. +Partenaire Odoo + Un Partenaire Odoo est un individu ou société tierce, choisi par le Client et qui collabore + avec celui-ci pour les services liés à Odoo. Le Client peut choisir à tout moment de travailler + avec un autre Partenaire Odoo, ou avec Odoo SA directement (moyennant préavis). + +Module Supplémentaire + Un Module Supplémentaire est un répertoire de fichiers de code source, ou un ensemble de + personnalisations nécessitant du code Python créées dans une base de données (par ex. avec Odoo Studio), + pour ajouter des fonctionnalités ou changer des comportements du Logiciel. Il peut avoir été + développé par le Client, par Odoo SA, par un Partenaire Odoo pour le compte du Client, ou + par des tiers. + +Module Supplémentaire Couvert + Un Module Supplémentaire pour lequel le Client paie un abonnement de maintenance pour obtenir + de l'assistance, des corrections de bug ou des migrations, à condition que le Client travaille + avec un Partenaire Odoo ou soit hébergé sur la Plate-forme Cloud. + Bug - Désigne toute défaillance du Logiciel qui se traduit par un arrêt complet, un message d'erreur - avec trace d'exécution, ou une brèche de sécurité, et n'est pas directement causé par un problème - d'installation ou une configuration défectueuse. Un non-respect des spécifications ou des besoins + Désigne toute défaillance du Logiciel ou d'un Module Supplémentaire Couvert, qui se traduit par + un arrêt complet, un message d'erreur avec trace d'exécution, ou une brèche de sécurité, et + n'est pas directement causé par un problème d'installation ou une configuration défectueuse. + Un non-respect des spécifications ou des besoins sera considéré comme un Bug à la discrétion d'Odoo SA (en général, lorsque le Logiciel ne produit pas les résultats ou la performance pour lesquels il a été conçu, ou lorsqu'une fonctionnalité spécifique à un pays ne répond plus aux exigences comptables légales de ce pays). Versions Couvertes Sauf exception explicite, tous les Services dans le cadre du présent contrat s'appliquent uniquement aux Versions - Couvertes du Logiciel, qui comprennent les trois (3) plus récentes versions majeures. - - Afin d'être considérées comme couvertes par le Contrat, le client doit - utiliser la Version couverte la plus récente au moment de la conclusion du Contrat. Dans le cas - contraire, des frais supplémentaires sont d'application, tels que décrit dans la section - :ref:`charges_fr` + Couvertes du Logiciel, qui comprennent les 3 plus récentes versions majeures. .. _enterprise_access_fr: @@ -87,7 +102,8 @@ Odoo Enterprise Edition, conformément aux conditions énoncées à la section : Le Client accepte de prendre toutes les mesures nécessaires pour garantir l'exécution sans aucune modification de la partie du Logiciel qui vérifie la validité de l'utilisation d'Odoo Enterprise Edition et recueille des statistiques à cet effet, y compris mais sans s'y limiter, l'exécution -du Logiciel, le nombre d'Utilisateurs et les Apps installées. +du Logiciel, le nombre d'Utilisateurs, les Apps installées et le nombre de lignes de code des +Modules Supplémentaires Couverts. Odoo SA s'engage à ne pas divulguer à une tierce partie d'informations chiffrées personnelles ou spécifiques sans le consentement du Client, et à traiter toutes les données recueillies en @@ -114,26 +130,22 @@ correspondant au nombre réel d'Utilisateurs et aux Apps installées. --------------------------------- Pour la durée de ce Contrat, Odoo SA s'engage à déployer tous les efforts raisonnables pour -corriger tout Bug du Logiciel qui pourrait être signalé par le Client en suivant la procédure -appropriée (généralement par le biais d'un e-mail adressé au service d'assistance d'Odoo SA ou -via le formulaire correspondant sur le site web), et de commencer à traiter ces signalements +corriger tout Bug du Logiciel ou des Modules Supplémentaires Couverts qui pourrait être signalé +par le Client en suivant la procédure appropriée (généralement par le biais du formulaire en ligne +ou des numéros de téléphone indiqués sur Module Supplémentaire Couvert, ou en cas de travail avec +un Partenaire Odoo, le canal prévu par le partenaire), et de commencer à traiter ces signalements du Client dans un délai de 2 jours ouvrables. -Le Client accepte que les Bugs causés par toute modification ou extension qui ne fait pas partie -de la version officielle du Logiciel ne seront pas couverts par ce service. - Dès que le Bug est remédié, un correctif approprié sera communiqué au Client. -En cas d'Auto-Hébergement, si le Bug a été -résolu dans une nouvelle mise à jour de la Version Couverte du Logiciel utilisée par le Client, -ce dernier s'engage à actualiser ses systèmes vers la nouvelle mise à jour, afin d'obtenir -le correctif. Il ne sera jamais demandé au Client de passer à une Version Couverte +Si le Client utilise une Version Couverte, il ne lui sera jamais demandé de passer à une Version Couverte plus récente pour obtenir un correctif. Lorsqu'un Bug est corrigé dans une Version Couverte, Odoo SA s'engage à le corriger dans toutes les Versions Couvertes plus récentes du Logiciel. Les deux parties reconnaissent que comme spécifié dans la licence du Logiciel et à la section -:ref:`liability_fr` de ce Contrat, Odoo SA ne peut être tenue responsable des Bugs du Logiciel. +:ref:`liability_fr` de ce Contrat, Odoo SA ne peut être tenue responsable des Bugs du Logiciel ou +des Modules Supplémentaires Couverts. 4.2 Mises à jour de sécurité @@ -146,8 +158,8 @@ Auto-Hébergement Pour la durée du Contrat, Odoo SA s'engage à envoyer une "alerte de sécurité"" au Client pour tout Bug présentant un risque de sécurité qui serait découvert dans les Versions Couvertes -du Logiciel, au moins 2 semaines avant de rendre ladite alerte de sécurité publique, et ce à moins -que le Bug ait déjà été rendu public par un tiers. +du Logiciel (à l'exclusion des Modules Supplémentaires), au moins 2 semaines avant de +rendre ladite alerte de sécurité publique, et ce à moins que le Bug ait déjà été rendu public par un tiers. Les alertes de sécurité comprennent une description complète du Bug, de sa cause, ses conséquences possibles sur les systèmes du Client, et le correctif correspondant pour chaque Version Couverte. @@ -177,53 +189,34 @@ Service de migration du Logiciel Pour la durée du présent Contrat, le Client peut soumettre des demandes de migration en suivant les procédures appropriées (généralement, via le site du service de migration d'Odoo SA), -afin de convertir une base de données du Logiciel d'une Version Couverte du Logiciel à une -Version Couverte plus récente (la "Version Cible"). +afin de convertir une base de données du Logiciel depuis n'importe quelle version du Logiciel vers +une Version Couverte plus récente (la "Version Cible"). Pour la Plate-forme Cloud, les demandes de migration sont envoyées directement depuis la panneau de contrôle de la Plate-forme Cloud, et ne requièrent pas d'envoi de données. Pour l'Auto-Hébergement, -les demandes de migration doivent inclure une copie de sauvegarde complète de la +les demandes de migration doivent inclure une copie complète de la base de données du Client et les données associées (généralement obtenues à partir du menu -Backup du Logiciel). Lorsque cela est nécessaire pour des raisons de sécurité des données ou -de réglementation, le Service de migration inclut un outil facultatif pour rendre anonymes -les données identifiables figurant dans la base de données, avant de soumettre la demande -de migration, et un outil pour restaurer les données rendues anonymes après la migration. +Backup du Logiciel). Ce service est fourni par le biais d'une plateforme automatisée, afin de permettre au Client d'effectuer des migration sans intervention humain, dès lors qu’une version précédente de la base de données du Client a été migrée avec succès pour une Version Couverte donnée. -Le client peut soumettre des demandes de migration successives pour une base de données, -et accepte de soumettre au moins 1 demande de migration de test avant de soumettre la demande de -migration finale. Le service de migration est limité à la conversion et à l'adaptation techniques de la base de données du Client pour la rendre compatible avec la Version Cible, et à la correction de tout Bug directement causé par l'opération de migration, et ne se produisant normalement pas dans +la Version Cible, et la conversion du code et des données des Modules Supplémentaires Couverts vers la Version Cible. Il incombe au Client de vérifier et valider la base de données migrée afin de détecter tout Bug, d'analyser l'impact des changements et des nouvelles fonctionnalités ajoutées dans la Version Cible, de convertir et d'adapter pour la Version Cible les modules tiers du Logiciel qui auraient été installées dans la base de données avant la migration -(sauf le cas échéant, comme prévu à la section :ref:`upgrade_extra_fr`). +(par ex. des Modules Supplémentaires non-couverts). Le client peut soumettre plusieurs demandes de migration pour une base de données, jusqu'à ce qu'un résultat satisfaisant soit obtenu. -.. _upgrade_extra_fr: - -Service de migration des modules tiers -++++++++++++++++++++++++++++++++++++++ - -Pour la durée du Contrat, le Client a la possibilité de faire une demande de migration -pour des modules d'extension tiers, en plus de la migration normale du Logiciel. -Ce service en option implique des frais supplémentaires (décrits dans la section :ref:`charges_fr`) -et comprend l'adaptation technique des modules tiers installés dans la base de données du -Client et de leurs données correspondantes afin qu'elles soient compatibles -avec la Version Cible. Le Client recevra une version migrée de tous les modules tiers installés -accompagnée de la base de données migrée. - - .. _cloud_hosting_fr: 4.4 Service d'Hébergement Cloud @@ -252,23 +245,42 @@ Portée Pour la durée du présent Contrat, le Client peut ouvrir un nombre non limité de demandes d'assistance sans frais, exclusivement pour des questions relatives à des Bugs (voir :ref:`bugfix_fr`) ou des -explications au sujet de l'utilisation des fonctions standard du Logiciel et des Services -(fonctionnalités, utilisation prévue, configuration, résolution d'erreur). +explications au sujet de l'utilisation des fonctions standard du Logiciel et des Modules +Supplémentaires Couverts -D'autres types de demandes, telles que celles relatives à des développements, des personnalisations, -de l'installation en mode Auto-Hébergement, ou tout service requiérant l'accès à la base de données -du Client pevent être couverts par l'achat séparé d'un Pack de Services. -Au cas où il n'est pas clair qu'une demande est couverte par ce Contrat ou via l'achat d'un -Pack de Services, la décision sera à la discrétion d'Odoo SA. +D'autres types de demandes, telles que celles relatives à des développements ou des personnalisations, +peuvent être couvertes par l'achat d'un contrat de service séparé. +Au cas où il n'est pas clair qu'une demande est couverte par ce Contrat, la décision sera à la +discrétion d'Odoo SA. Disponibilité +++++++++++++ Les demandes d'assistances peuvent être soumises à tout moment en ligne via https://www.odoo.com/help, -ou par téléphone directement aux différents bureaux d'Odoo SA, pendant les heures de bureau +ou par téléphone directement aux différents bureaux d'Odoo SA, ou en cas de travail avec un +Partenaire Odoo, le canal préconisé par ce partenaire, pendant les heures de bureau correspondantes. +.. _maintenance_partner_fr: + +Collaboration avec un Partenaire Odoo +------------------------------------- + +Pour les services de correction de Bug, d'assistance et de migration, le Client peut choisir +de collaborer avec un Partenaire Odoo comme point de contact principal, ou directement avec +Odoo SA. + +Si le Client choisit un Partenaire Odoo, Odoo SA sous-traitera les services liés au Modules +Supplémentaires Couverts à ce partenaire, qui deviendra le point de contact principal du client. +Le Partenaire Odoo peut obtenir de l'assistance de second niveau auprès d'Odoo SA pour le compte +du Client. + +Si le Client décide de collaborer directement avec Odoo SA, les services liés aux Modules +Supplémentaires Couverts ne seront fournis que *si et seulement si* le Client est hébergé sur +la Plate-forme Cloud d'Odoo. + + .. _charges_fr: 5 Tarifs et Frais @@ -280,7 +292,7 @@ correspondantes. -------------------- Les tarifs standards pour le contrat d'abonnement à Odoo Enterprise et les Services sont basés sur le nombre -d'Utilisateurs, les Apps installées, la version du Logiciel utilisée par le Client, et précisés par +d'Utilisateurs et les Apps installées, et précisés par écrit à la conclusion du contrat. Pendant la durée du contrat, si le Client a plus d'Utilisateurs ou d'Apps que spécifié au moment @@ -299,30 +311,13 @@ première Durée du contrat, à la discrétion d'Odoo SA, pour couvrir les coût -------------------------- Lors de la reconduction telle que décrite à la section :ref:`term_fr`, si les tarifs par Utilisateur +(à l'exclusion des “Initial User Discounts”) qui ont été appliqués pendant la Durée précédente sont inférieurs aux tarifs par Utilisateur en vigueur les plus récents, les tarifs par Utilisateur augmenteront automatiquement de maximum 7%. -.. _charges_thirdparty_fr: - -5.3 Tarifs de migration des modules tiers ------------------------------------------ - -Les frais supplémentaires pour le service de migration des modules tiers sont de 1000,00- euros (€) -(mille euros) pour 1000 lignes de code de modules tiers, le nombre de lignes étant arrondi au millier -de lignes supérieur. Les lignes de code comprennent toutes les lignes de texte dans le code source de -ces modules, quel que soit le langage de programmation (Python, Javascript, etc.) -ou format de données (XML, CSV, etc.), à l'exclusion des lignes vides et des lignes de commentaires. - -Odoo SA se réserve le droit de refuser une demande de migration pour des modules tiers conformément -aux conditions décrites ci-dessus, si la qualité du code source de ces modules est trop faible, -ou si ces modules font partie d'une interface d'intégration avec des logiciels ou systèmes tiers. -La migration de ces modules sera soumise à une proposition distincte, non couverte par le présent -Contrat. - - .. _taxes_fr: -5.4 Taxes et impôts +5.3 Taxes et impôts ------------------- Tous les frais et tarifs sont indiqués hors taxes et hors impôts, frais et charges fédérales, @@ -350,6 +345,8 @@ Le Client accepte de / d': Logiciel qui vérifie la validité de l'utilisation de Odoo Enterprise Edition, comme décrit à la section :ref:`enterprise_access_fr`; - Désigner 1 personne de contact représentant le Client pour toute la durée du contrat ; +- Signaler par écrit à Odoo SA avec un préavis de 30 jours en cas de changement de point de contact + principal, pour collaborer avec un autre Partenaire Odoo, ou directement avec Odoo SA. Lorsque le Client choisit d'utiliser la Plate-forme Cloud, il accepte aussi de: @@ -493,8 +490,8 @@ contrat peut être résilié immédiatement par la partie qui n'a pas commis la violation. En outre, Odoo SA peut résilier le contrat immédiatement dans le cas où le -Client ne paie pas les frais applicables pour les services à la date d'échéance -indiquée sur la facture correspondante. +Client ne paie pas les frais applicables pour les services dans les 21 jours suivant la date d'échéance +indiquée sur la facture correspondante, après minimum 3 rappels. Durée de l'applicabilité des dispositions: Les sections ":ref:`confidentiality_fr`", “:ref:`disclaimers_fr`", “:ref:`liability_fr`", @@ -523,7 +520,7 @@ normes du secteur généralement acceptées à condition que : - Tous les montants dus à Odoo SA aient été réglés. La reprise de l'exécution des Services par Odoo SA sans frais supplémentaires constitue la seule et -unique réparation pour le Client et la seule obligation d'Odoo SA pour toute violation de cette +unique réparation pour le Client et la seule obligation d'Odoo SA pour tout manquement à cette garantie. .. _disclaimers_fr: diff --git a/legal/terms/i18n/enterprise_nl.rst b/legal/terms/i18n/enterprise_nl.rst index f954d81bb..bbd660543 100644 --- a/legal/terms/i18n/enterprise_nl.rst +++ b/legal/terms/i18n/enterprise_nl.rst @@ -24,7 +24,7 @@ Odoo Enterprise Subscription Agreement (NL) .. note:: Version 7.1 - 2018-03-16 Door u op de Odoo Enterprise-diensten (de “Diensten”) te abonneren die door -Odoo NV en zijn dochterondernemingen (gezamenlijk “Odoo NV”) worden verleend +Odoo NV/SA en zijn dochterondernemingen (gezamenlijk “Odoo NV”) worden verleend met betrekking tot de Odoo Enterprise Edition of de Odoo Community Edition (de “Software”), gaat u (de "Klant") ermee akkoord om gebonden te zijn door de volgende algemene voorwaarden (de “Overeenkomst”). @@ -509,7 +509,7 @@ een geldige bepaling met dezelfde effecten en doelstellingen. .. only:: latex - De Odoo 9 Enterprise Edition wordt in licentie gegeven onder de + De Odoo Enterprise Edition wordt in licentie gegeven onder de Odoo Enterprise Edition License v1.0, die als volgt wordt gedefinieerd: .. highlight:: none diff --git a/legal/terms/i18n/partnership_fr.rst b/legal/terms/i18n/partnership_fr.rst index ebd02712c..5446fa560 100644 --- a/legal/terms/i18n/partnership_fr.rst +++ b/legal/terms/i18n/partnership_fr.rst @@ -1,3 +1,5 @@ +:classes: text-justify + .. _partnership_agreement_fr: =============================== @@ -13,8 +15,9 @@ Odoo Partnership Agreement (FR) .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits .. v8a: minor clarifications and simplifications +.. v9: added maintenance commission + obligations -.. note:: Version 8a - 2018-08-09 +.. note:: Version 9 - 2020-06-08 | ENTRE: | Odoo S.A., une entreprise dont le siège social se situe Chaussée de Namur, 40, @@ -165,6 +168,9 @@ Les avantages de chaque niveau de partenariat sont détaillés dans le tableau c +---------------------------------------+------------------+--------------------+--------------------+--------------------+ | Commission sur Odoo Enterprise | 10% | 10% | 15% | 20% | +---------------------------------------+------------------+--------------------+--------------------+--------------------+ +| Commission sur la Maintenance de | 82% | 82% | 82% | 82% | +| Modules Supplémentaires | | | | | ++---------------------------------------+------------------+--------------------+--------------------+--------------------+ | Accès à un Account Manager dédié et | Non | Oui | Oui | Oui | | au Tableau de Bord Partenaire | | | | | +---------------------------------------+------------------+--------------------+--------------------+--------------------+ @@ -209,9 +215,22 @@ souscrivant à un Odoo Success Pack, moyennant un supplément. 4.5 Commissions sur les Services Odoo vendus par le PARTENAIRE -------------------------------------------------------------- Pour les services ODOO achetés par un client par le biais du PARTENAIRE, et pour autant que -le PARTENAIRE maintienne une relation contractuelle avec ce client, le PARTENAIRE recevra une -commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de partenariat -à la date de la facture client correspondante. +le PARTENAIRE maintienne une relation contractuelle avec ce client, et tant que le client ne +signale pas à ODOO sa volonté de cesser d'utiliser les service du PARTENAIRE, le PARTENAIRE +recevra une commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de +partenariat à la date de la facture client correspondante. + +Une fois pas mois, le PARTENAIRE recevra un bon de commande pour la commission due pour le mois +précédent. Sur base de ce bon de commande, le PARTENAIRE facturera ODOO, et sera payé dans un +délai de 15 jours suivant la réception de cette facture. + +Le PARTENAIRE comprend et accepte que lorsqu'un client choisit de Collaborer avec le PARTENAIRE, +ODOO lui déléguera la mise en oeuvre des services liés aux Modules Supplémentaires Couverts [#pcom_fr1]_, +et il deviendra le point de contact principal du client. Le PARTENAIRE pourra contacter ODOO pour +le compte du client pour une assistance de deuxième niveau. + +.. [#pcom_fr1] “Collaborer avec un Partenaire Odoo” et “Modules Supplémentaires Couverts” sont + définis dans le contrat "Odoo Enterprise Subscription Agreement" entre ODOO et le client 5 Frais diff --git a/legal/terms/partnership.rst b/legal/terms/partnership.rst index ecf03a247..ac12ddc92 100644 --- a/legal/terms/partnership.rst +++ b/legal/terms/partnership.rst @@ -1,3 +1,4 @@ +:classes: text-justify .. _partnership_agreement: @@ -8,8 +9,10 @@ Odoo Partnership Agreement .. v6a: typo in section 4.4 .. v7: introduce "Learning Partners" and a few related changes .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits +.. v8a: minor clarifications and simplifications +.. v9: added maintenance commission + obligations -.. note:: Version 8a - 2019-08-09 +.. note:: Version 9 - 2020-06-08 | BETWEEN: | Odoo S.A., having its registered office at Chaussée de Namur, 40, 1367 Grand-Rosière, @@ -159,6 +162,9 @@ The details of the benefits for each level of the partnership are described in t +---------------------------------------+------------------+--------------------+--------------------+--------------------+ | Commission on Odoo Enterprise | 10% | 10% | 15% | 20% | +---------------------------------------+------------------+--------------------+--------------------+--------------------+ +| Commission on Maintenance of | 82% | 82% | 82% | 82% | +| Extra Modules | | | | | ++---------------------------------------+------------------+--------------------+--------------------+--------------------+ | Dedicated Account Manager & Partner | No | Yes | Yes | Yes | | Dashboard | | | | | +---------------------------------------+------------------+--------------------+--------------------+--------------------+ @@ -201,10 +207,22 @@ Success Pack, for an extra fee. 4.5 Commissions on Odoo Services sold by PARTNER ------------------------------------------------- For ODOO services purchased by a customer through PARTNER, and as long as PARTNER maintains a -contractual relationship with the corresponding customer, PARTNER shall receive a commission +contractual relationship with the corresponding customer, and as long as the Customer does not +notify ODOO that they want to stop using PARTNER’s services, PARTNER shall receive a commission according to the table of section :ref:`benefits` and their Partnership level at the date of the customer invoice. +Once a month, PARTNER will receive a purchase order with the commission due for the preceding month. +Based on this purchase order, PARTNER shall invoice ODOO, and will be paid within 15 days upon +receipt of the invoice. + +PARTNER acknowledges and agrees that when a customer decides to Work with PARTNER, ODOO will +delegate services related to Covered Extra Modules [#pcom1]_ to PARTNER, who becomes the main point +of contact of the customer. PARTNER may contact ODOO on behalf of the customer for second level +assistance. + +.. [#pcom1] “Working with an Odoo Partner” and “Covered Extra Modules” are defined in the Odoo + Enterprise Subscription Agreement between ODOO and customers 5 Fees ====== From de137b0bcfb4a9e23af4f2ac728bf5cd33596e17 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Jun 2020 02:17:15 +0200 Subject: [PATCH 02/17] [ADD] legal: update contracts for new maintenance - Update Enterprise & Partnership agreement (EN, FR) - Update legal page index: hide outdated agreements, replace with a link to an archive of the old PDFs. - Add icons for missing files, to make index table layout more consistent - Add `text-justify` on HTML versions of contracts, for consistency with the PDF versions. - Fix compatibility of PDF generation with recent sphinx versions (\sphinxmaketitle instead of \maketitle) - Re-add NL PDF building, still needs to be updated like all others Backport of 5b80ed551c4abdf188609e5bf4604505e14a1ab1 from 13.0 --- _extensions/odoo/layout.html | 4 + _static/banners/pdf_missing.svg | 73 +++++++++++ _static/banners/txt_missing.svg | 59 +++++++++ _static/latex/odoo.sty | 14 ++ _static/legal.css | 18 +++ conf.py | 1 + legal.rst | 14 +- legal/terms/enterprise.rst | 195 +++++++++++++++------------- legal/terms/i18n/enterprise_es.rst | 6 +- legal/terms/i18n/enterprise_fr.rst | 194 +++++++++++++-------------- legal/terms/i18n/enterprise_nl.rst | 4 +- legal/terms/i18n/partnership_fr.rst | 27 +++- legal/terms/partnership.rst | 22 +++- 13 files changed, 431 insertions(+), 200 deletions(-) create mode 100644 _static/banners/pdf_missing.svg create mode 100644 _static/banners/txt_missing.svg create mode 100644 _static/legal.css diff --git a/_extensions/odoo/layout.html b/_extensions/odoo/layout.html index 036843e2a..226e65966 100644 --- a/_extensions/odoo/layout.html +++ b/_extensions/odoo/layout.html @@ -9,6 +9,10 @@ {% set classes = classes + ['has_code_col'] %} {% endif %} +{% if 'classes' in meta %} + {% set classes = classes + meta['classes'].split() %} +{% endif %} + {%- block doctype -%} {%- endblock -%} diff --git a/_static/banners/pdf_missing.svg b/_static/banners/pdf_missing.svg new file mode 100644 index 000000000..1a5e599c2 --- /dev/null +++ b/_static/banners/pdf_missing.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/banners/txt_missing.svg b/_static/banners/txt_missing.svg new file mode 100644 index 000000000..4c71c0497 --- /dev/null +++ b/_static/banners/txt_missing.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/latex/odoo.sty b/_static/latex/odoo.sty index d334203f9..4f378c346 100644 --- a/_static/latex/odoo.sty +++ b/_static/latex/odoo.sty @@ -95,6 +95,20 @@ } +% For sphinx 1.8.3+, the command is \sphinxmaketitle and the +% layout is slightly different on the titlepage +\renewcommand{\sphinxmaketitle}{% + \noindent\rule{\textwidth}{1pt}\par + \begin{flushright} + \sphinxlogo + \py@HeaderFamily + {\hspace{-0.5cm} \huge \@title }\par + \end{flushright} + \@thanks + \setcounter{footnote}{0} + \let\thanks\relax\let\maketitle\relax +} + \newcommand{\makeodootitleold}{% \begin{titlepage} \titlepagedecoration diff --git a/_static/legal.css b/_static/legal.css new file mode 100644 index 000000000..a82b7baef --- /dev/null +++ b/_static/legal.css @@ -0,0 +1,18 @@ + +section#terms-and-conditions table td { + /* make sure icons and links aren't wrapped */ + white-space: nowrap; +} + +section#terms-and-conditions table th { + text-align: center; +} + +section#terms-and-conditions table img.img-responsive { + margin: 0px; +} + +section#terms-and-conditions table td:nth-child(2), +section#terms-and-conditions table th:nth-child(2) { + background-color: #f3f3f3; +} diff --git a/conf.py b/conf.py index 26402358d..c596b8f55 100644 --- a/conf.py +++ b/conf.py @@ -327,6 +327,7 @@ LANGUAGES = { def setup(app): app.add_stylesheet('accounting.css') + app.add_stylesheet('legal.css') app.add_javascript('prefixfree.min.js') app.add_javascript('atom.js') app.add_javascript('immutable.js') diff --git a/legal.rst b/legal.rst index 5d8010658..68ac8099f 100644 --- a/legal.rst +++ b/legal.rst @@ -118,17 +118,25 @@ Terms and Conditions :alt: View Odoo Partnership Agreement (ES) :target: legal/terms/i18n/partnership_es.html +.. |missing_pdf| image:: _static/icons/pdf_missing.svg + :alt: Document not available yet + +.. |missing_txt| image:: _static/icons/txt_missing.svg + :alt: Document not available yet +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ | | **English** | Français | Nederlands | Deutsch | Español | +====================================================================+=======================================================================+========================================================================+=======================================================================+=======================================================================+=======================================================================+ -| Odoo Enterprise Agreement (Also applies to Odoo Cloud and Odoo.sh) | |view_enterprise_en| |download_enterprise_en| | |view_enterprise_fr| |download_enterprise_fr| | |view_enterprise_nl| |download_enterprise_nl| | |view_enterprise_de| |download_enterprise_de| | |view_enterprise_es| |download_enterprise_es| | +| Odoo Enterprise Agreement [#ltoe1]_ | |view_enterprise_en| |download_enterprise_en| | |view_enterprise_fr| |download_enterprise_fr| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ -| Odoo Partnership Agreement | |view_partnership_en| |download_partnership_en| | |view_partnership_fr| |download_partnership_fr| | (Coming soon) | (Coming soon) | |view_partnership_es| |download_partnership_es| | +| Odoo Partnership Agreement | |view_partnership_en| |download_partnership_en| | |view_partnership_fr| |download_partnership_fr| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | |missing_txt| |missing_pdf| | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ | Terms of Sale | |view_terms_of_sale_en| |download_terms_of_sale_en| | |view_terms_of_sale_fr| |download_terms_of_sale_fr| | | | | +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ - +| Archive of older agreements: `Archive `_ | ++--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| .. [#ltoe1] Applies to self-hosting, Odoo.SH and Odoo Cloud | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Other legal references ====================== diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index 7eea54789..09f616b9a 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -1,3 +1,4 @@ +:classes: text-justify .. _enterprise_agreement: @@ -5,12 +6,14 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 8.0 - 2018-05-22 +.. note:: Version 9.0 - 2020-06-08 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR +.. v8a: minor wording changes, tuned User definition, + copyright guarantee +.. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -34,7 +37,7 @@ termination minimum 30 days before the end of the Term to the other party. ============= User - Any active user account with access to the Software in creation and/or edition mode. + Any user account indicated as active in the Software, with access to creation and/or edition mode. Deactivated user accounts and accounts used by external people (or systems) who only have limited access to the Software through the portal facilities (known as "portal Users") are not counted as Users. @@ -43,22 +46,35 @@ App An "App" is a specialized group of features available for installation in the Software, and listed in the public Pricing section of `Odoo SA's website `_. +Odoo Partner + An Odoo Partner is a third-party company or individual, chosen by the Customer, and working + with the Customer for their Odoo related services. The Customer can decide at any time to work + with a different Odoo Partner, or to work with Odoo SA directly (subject to prior notice). + +Extra Module + An extra module is a directory of source code files, or a set of Python-based customizations + created in a database (e.g. with Odoo Studio), that adds features or changes the standard + behavior of the Software. It may have been developed by the Customer, by Odoo SA, by an Odoo + Partner on behalf of the Customer, or by third parties. + +Covered Extra Module + A Covered Extra Module is an Extra Module for which the Customer pays a maintenance fee + in order to get support, upgrade and bug fixing services, provided that the Customer works + with an Odoo Partner or is hosted on the Odoo Cloud Platform. + Bug - Is considered a Bug any failure of the Software that results in a complete stop, error - traceback or security breach, and is not directly caused by a defective installation or - configuration. Non-compliance with specifications or requirements will be considered as Bugs at + Is considered a Bug any failure of the Software or of a Covered Extra Module that results in + a complete stop, error traceback or security breach, and is not directly caused by a defective + installation or configuration. + Non-compliance with specifications or requirements will be considered as Bugs at the discretion of Odoo SA (typically, when the Software does not produce the results or performance it was designed to produce, or when a country-specific feature does not meet legal accounting requirements anymore). Covered Versions Unless specified otherwise, the Services provided under this Agreement are applicable only - to the Covered Versions of - the Software, which include the 3 (three) most recently released major versions. - - To be covered by the current Agreement, the Customer has to run the most recent - Covered Version at the time of conclusion of this Agreement. When this is not the case, - additional costs are applicable, as described in :ref:`charges`. + to the Covered Versions of the Software, which include the 3 most recently released major + versions. .. _enterprise_access: @@ -78,7 +94,7 @@ under the terms set forth in :ref:`appendix_a`. The Customer agrees to take all necessary measures to guarantee the unmodified execution of the part of the Software that verifies the validity of the Odoo Enterprise Edition usage and collects statistics for that purpose, including but not limited to the running of an instance, -the number of Users and installed Apps. +the number of Users, the installed Apps, and the number of lines of code of Covered Extra Modules. Odoo SA commits not to disclose individual or named figures to third parties without the consent of the Customer, and to deal with all collected data in compliance with its official Privacy @@ -102,25 +118,21 @@ fee equal to 300% of the applicable list price for the actual number of Users an ---------------------- For the duration of this Agreement, Odoo SA commits to making all reasonable efforts to remedy any -Bug of the Software submitted by the Customer through the appropriate channel (typically, Odoo SA's -service desk email address or website form), and to start handling such Customer submissions -within 2 business days. - -The Customer understands that Bugs caused by a modification or extension that is not part of the -official Software will not be covered by this service. +Bug of the Software and Covered Extra Modules submitted by the Customer through the appropriate +channel (typically, the web form or phone numbers listed on `odoo.com/help `_, +or when working with an Odoo Partner, the channel provided by the partner), and to start handling +such Customer submissions within 2 business days. As soon as the Bug is fixed an appropriate remedy will be communicated to the Customer. - -For Self-Hosting, if the bug has been addressed in a more recent revision of the Covered Version of the -Software used by the Customer, the Customer agrees to update its systems to that revision in order -to obtain the correction. The Customer will not be asked to upgrade to a more recent Covered -Version of the Software as a remedy to a Bug. +If the Customer is using a Covered Version, they will not be asked to upgrade to a more recent +Covered Version of the Software as a remedy to a Bug. When a Bug is fixed in any Covered Version, Odoo SA commits to fixing the Bug in all more recent Covered Versions of the Software. Both parties acknowledge that as specified in the license of the Software and in the :ref:`liability` -section of this Agreement, Odoo SA cannot be held liable for Bugs in the Software. +section of this Agreement, Odoo SA cannot be held liable for Bugs in the Software +or in Covered Extra Modules. 4.2 Security Updates Service @@ -132,9 +144,9 @@ Self-Hosting ++++++++++++ For the duration of this Agreement, Odoo SA commits to sending a "Security Advisory" to the Customer -for any security Bug that is discovered in the Covered Versions of the Software, at least 2 weeks -before making the Security Advisory public, unless the Bug has already been disclosed publicly by a -third party. +for any security Bug that is discovered in the Covered Versions of the Software (this excludes Extra +Modules), at least 2 weeks before making the Security Advisory public, unless the Bug has already +been disclosed publicly by a third party. Security Advisories include a complete description of the Bug, its cause, its possible impacts on the Customer's systems, and the corresponding remedy for each Covered Version. @@ -164,44 +176,29 @@ Upgrade Service for the Software For the duration of this Agreement, the Customer can submit upgrade requests through the appropriate channel (typically Odoo SA's upgrade service website), in order to convert a database of the Software -from one Covered Version of the Software to a more recent Covered Version (the "Target Version"). +from any version of the Software to a more recent Covered Version (the "Target Version"). For the Cloud Platform, upgrade requests are submitted directly from the control panel of the Cloud Platform, and do not require any data upload. For Self-Hosting, -upgrade requests must include a complete backup copy of the Customer's database and the +upgrade requests must include a copy of the Customer's database and the associated data (typically obtained from the Backup menu of the Software). This service provided through an automated platform in order to allow the Customer to perform unattended upgrades once a previous version of the Customer's database has been successfully upgraded for a Covered Version. -The Customer may submit successive upgrade requests for a database, and agrees to submit at least -1 upgrade request for testing purposes before submitting the final upgrade request. The Upgrade Service is limited to the technical conversion and adaptation of the Customer's database -to make it compatible with the Target Version, and the correction of any Bug directly caused by the -upgrade operation and not normally occurring in the Target Version. +to make it compatible with the Target Version, the correction of any Bug directly caused by the +upgrade operation and not normally occurring in the Target Version, and the conversion of the source +code and data of Covered Extra Modules for the Target Version. -It is the sole responsibility of the Customer to verify and validate the upgraded database in order +It is the responsibility of the Customer to verify and validate the upgraded database in order to detect Bugs, to analyze the impact of changes and new features implemented in the Target Version, and to convert and adapt for the Target Version any third-party extensions of the Software that -were installed in the database before the upgrade (except where applicable as foreseen in section -:ref:`upgrade_extra`). +were installed in the database before the upgrade (e.g. non-convered Extra Modules). The Customer may submit multiple upgrade requests for a database, until an acceptable result is achieved. -.. _upgrade_extra: - -Upgrade Service for third-party extensions -++++++++++++++++++++++++++++++++++++++++++ - -For the duration of this Agreement, the Customer may request optional upgrade services for -third-party extension modules of the Software, in addition to the regular Upgrade Services. -This optional service is subject to additional fees (as described in :ref:`charges`) and includes the -technical adaptation of third-party modules installed in the Customer's database and their -corresponding data in order to be compatible with the Target Version. The Customer will receive an -upgraded version of all installed third-party modules along with the upgraded database. - - .. _cloud_hosting: 4.4 Cloud Hosting Services @@ -217,7 +214,7 @@ Odoo SA commits to providing at least the following services: - Disaster Recovery Plan, tested regularly The details of the Cloud Hosting Services are described on the Service Level Agreement page at -https://www.odoo.com/cloud-sla. + https://www.odoo.com/cloud-sla. .. _support_service: @@ -230,20 +227,35 @@ Scope For the duration of this Agreement, the Customer may open an unlimited number of support tickets free of charge, exclusively for questions regarding Bugs (see :ref:`bugfix`) or guidance -with respect to the use of the standard features of the Software and Services -(functionalities, intended use, configuration, troubleshooting). +with respect to the use of the standard features of the Software and Covered Extra Modules. -Other assistance requests, such as questions related to development, customizations, -installation for Self-Hosting, or services requiring to access the Customer's database, -may be covered through the purchase of a separate Service Pack. -In case it’s not clear if a request is covered by this Agreement or a Service Pack, +Other assistance requests, such as questions related to development or customizations +may be covered through the purchase of a separate service agreement. +In case it’s not clear if a request is covered by this Agreement, the decision is at the discretion of Odoo SA. Availability ++++++++++++ -Tickets can be submitted online at https://www.odoo.com/help, or by phone directly to the -various Odoo SA offices, subject to local opening hours. +Tickets can be submitted via the web form or phone numbers listed on `odoo.com/help `_, +or when working with an Odoo Partner, the channel provided by the partner, subject to local +opening hours. + + +.. _maintenance_partner: + +4.6 Working with an Odoo Partner +-------------------------------- + +For bug fixes, support and upgrade services, the Customer may either work with an Odoo Partner +as the main point of contact, or work with Odoo SA directly. + +If the Customer decides to work with an Odoo Partner, Odoo SA will subcontract services related +to the Covered Extra Modules to the Odoo Partner, who becomes the main point of contact of the +customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second level assistance. + +If the Customer decides to work with Odoo SA directly, services related to Covered Extra Modules +are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. @@ -258,16 +270,24 @@ various Odoo SA offices, subject to local opening hours. -------------------- The standard charges for the Odoo Enterprise subscription and the Services are based on the number -of Users, the installed Apps, the Software version used by the Customer, and specified in writing +of Users and the installed Apps used by the Customer, and specified in writing at the conclusion of the Agreement. When during the Term, the Customer has more Users or more installed Apps than specified at the time of conclusion of this Agreement, the Customer agrees to pay an extra fee equivalent to the applicable list price (at the beginning of the Term) for the additional Users or Apps, for the remainder of the Term. -If at the time of the conclusion of this Agreement, the Customer uses a Covered Version -that is not the most recent one, the standard charges may be increased by 50% for the duration -of the first Term, at the sole discretion of Odoo SA, to cover the extra maintenance costs. +In addition, services for Covered Extra Modules are charged based on the number of lines of code +in these Covered Extra Modules. Unless otherwise specified in writing at the conclusion of the +Agreement, the charge is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred). +Lines of code will be counted with the tool provided by Odoo SA, and include all text lines in the +source code of those modules, regardless of the programming language (Python, Javascript, XML, etc.), +excluding blank lines, comment lines and files that are not loaded when installing or executing +the Software. + +When the Customer requests an upgrade, for each Covered Extra Module that has not been covered by +a maintenance fee for the last 12 months, Odoo SA may charge a one-time extra fee of 16€ per 100 +lines of code, for each missing month of coverage. .. _charges_renewal: @@ -275,30 +295,12 @@ of the first Term, at the sole discretion of Odoo SA, to cover the extra mainten ------------------- Upon renewal as covered in section :ref:`term`, if the charges applied during the previous Term +(excluding any “Initial User Discounts”) are lower than the most current applicable list price, these charges will increase by up to 7%. - -.. _charges_thirdparty: - -5.3 Charges for Upgrade Services of third-party modules -------------------------------------------------------- - -.. FIXME: should we really fix the price in the contract? - -The additional charge for the Upgrade Service for third-party modules is EUR (€) 1000.00 (one -thousand euros) per 1000 Lines of Code in the third-party modules, rounded up to the next thousand -lines. Lines of Code include all text lines in the source code of those modules, regardless of the -programming language (Python, Javascript, etc.) or data format (XML, CSV, etc.), excluding blank -lines and comment lines. - -Odoo SA reserves the right to reject an upgrade request for third-party modules under the above -conditions if the quality of the source code of those modules is too low, or if these modules -constitute an interface with third-party software or systems. The upgrade of such modules will -subject to a separate offer, outside of this Agreement. - .. _taxes: -5.4 Taxes +5.3 Taxes --------- .. FIXME : extra section, not sure we need it? @@ -320,7 +322,7 @@ is legally obliged to pay or collect Taxes for which the Customer is responsible The Customer agrees to: - pay Odoo SA any applicable charges for the Services of the present Agreement, in accordance with - the payment conditions specified in the corresponding invoice ; + the payment conditions specified at the signature of this contract ; - immediately notify Odoo SA when their actual number of Users or their installed Apps exceed the numbers specified at the conclusion of the Agreement, and in this event, pay the applicable additional fee as described in section :ref:`charges_standard`; @@ -328,6 +330,8 @@ The Customer agrees to: that verifies the validity of the Odoo Enterprise Edition usage, as described in :ref:`enterprise_access` ; - appoint 1 dedicated Customer contact person for the entire duration of the Agreement; +- provide written notice to Odoo SA 30 days before changing their main point of contact to work + with another Odoo Partner, or to work with Odoo SA directly. When the Customer chooses to use the Cloud Platform, the Customer further agrees to: @@ -463,7 +467,8 @@ breach has not been remedied within 30 calendar days from the written notice of breach, this Agreement may be terminated immediately by the non-breaching Party. Further, Odoo SA may terminate the Agreement immediately in the event the Customer fails to pay -the applicable fees for the Services within the due date specified on the corresponding invoice. +the applicable fees for the Services within 21 days following the due date specified on the +corresponding invoice, and after minimum 3 reminders. Surviving Provisions: The sections ":ref:`confidentiality`”, “:ref:`disclaimers`”, @@ -483,6 +488,10 @@ Surviving Provisions: .. industry-standard warranties regarding our Services while Agreement in effect +Odoo SA owns the copyright or an equivalent[#g1]_ on 100% of the code of the Software, and confirms +that all the librairies required to use the Software are available under a licence compatible with +the licence of the Software. + For the duration of this Agreement, Odoo SA commits to using commercially reasonable efforts to execute the Services in accordance with the generally accepted industry standards provided that: @@ -495,6 +504,10 @@ execute the Services in accordance with the generally accepted industry standard The Customer's sole and exclusive remedy and Odoo SA's only obligation for any breach of this warranty is for Odoo SA to resume the execution of the Services at no additional charge. + +.. [#f1] External contributions are covered by a `CLA ` -.. -- Uncomment when needed -- -.. ESTA VERSIÓN NO ESTÁ ACTUALIZADA. PARA LA ÚLTIMA VERSIÓN POR FAVOR VEA -.. :ref:`LA VERSIÓN ORIGINAL EN INGLÉS ` +.. warning:: + ESTA VERSIÓN NO ESTÁ ACTUALIZADA. PARA LA ÚLTIMA VERSIÓN POR FAVOR VEA + :ref:`LA VERSIÓN ORIGINAL EN INGLÉS ` .. note:: Version 8.0 - 2018-05-22 diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index 29a950075..cfa673c95 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -1,3 +1,4 @@ +:classes: text-justify .. _enterprise_agreement_fr: @@ -12,13 +13,14 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 8.0 - 2018-05-22 +.. note:: Version 9.0 - 2020-06-08 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR - +.. v8a: minor wording changes, tuned User definition, + copyright guarantee +.. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales (collectivement, "Odoo SA") en relation avec Odoo Enterprise Edition ou Odoo Community Edition @@ -52,22 +54,35 @@ App et inclus dans la section Tarifs Odoo sur `le site d'Odoo SA `_, au moment de la conclusion de ce Contrat. +Partenaire Odoo + Un Partenaire Odoo est un individu ou société tierce, choisi par le Client et qui collabore + avec celui-ci pour les services liés à Odoo. Le Client peut choisir à tout moment de travailler + avec un autre Partenaire Odoo, ou avec Odoo SA directement (moyennant préavis). + +Module Supplémentaire + Un Module Supplémentaire est un répertoire de fichiers de code source, ou un ensemble de + personnalisations nécessitant du code Python créées dans une base de données (par ex. avec Odoo Studio), + pour ajouter des fonctionnalités ou changer des comportements du Logiciel. Il peut avoir été + développé par le Client, par Odoo SA, par un Partenaire Odoo pour le compte du Client, ou + par des tiers. + +Module Supplémentaire Couvert + Un Module Supplémentaire pour lequel le Client paie un abonnement de maintenance pour obtenir + de l'assistance, des corrections de bug ou des migrations, à condition que le Client travaille + avec un Partenaire Odoo ou soit hébergé sur la Plate-forme Cloud. + Bug - Désigne toute défaillance du Logiciel qui se traduit par un arrêt complet, un message d'erreur - avec trace d'exécution, ou une brèche de sécurité, et n'est pas directement causé par un problème - d'installation ou une configuration défectueuse. Un non-respect des spécifications ou des besoins + Désigne toute défaillance du Logiciel ou d'un Module Supplémentaire Couvert, qui se traduit par + un arrêt complet, un message d'erreur avec trace d'exécution, ou une brèche de sécurité, et + n'est pas directement causé par un problème d'installation ou une configuration défectueuse. + Un non-respect des spécifications ou des besoins sera considéré comme un Bug à la discrétion d'Odoo SA (en général, lorsque le Logiciel ne produit pas les résultats ou la performance pour lesquels il a été conçu, ou lorsqu'une fonctionnalité spécifique à un pays ne répond plus aux exigences comptables légales de ce pays). Versions Couvertes Sauf exception explicite, tous les Services dans le cadre du présent contrat s'appliquent uniquement aux Versions - Couvertes du Logiciel, qui comprennent les trois (3) plus récentes versions majeures. - - Afin d'être considérées comme couvertes par le Contrat, le client doit - utiliser la Version couverte la plus récente au moment de la conclusion du Contrat. Dans le cas - contraire, des frais supplémentaires sont d'application, tels que décrit dans la section - :ref:`charges_fr` + Couvertes du Logiciel, qui comprennent les 3 plus récentes versions majeures. .. _enterprise_access_fr: @@ -87,7 +102,8 @@ Odoo Enterprise Edition, conformément aux conditions énoncées à la section : Le Client accepte de prendre toutes les mesures nécessaires pour garantir l'exécution sans aucune modification de la partie du Logiciel qui vérifie la validité de l'utilisation d'Odoo Enterprise Edition et recueille des statistiques à cet effet, y compris mais sans s'y limiter, l'exécution -du Logiciel, le nombre d'Utilisateurs et les Apps installées. +du Logiciel, le nombre d'Utilisateurs, les Apps installées et le nombre de lignes de code des +Modules Supplémentaires Couverts. Odoo SA s'engage à ne pas divulguer à une tierce partie d'informations chiffrées personnelles ou spécifiques sans le consentement du Client, et à traiter toutes les données recueillies en @@ -114,26 +130,22 @@ correspondant au nombre réel d'Utilisateurs et aux Apps installées. --------------------------------- Pour la durée de ce Contrat, Odoo SA s'engage à déployer tous les efforts raisonnables pour -corriger tout Bug du Logiciel qui pourrait être signalé par le Client en suivant la procédure -appropriée (généralement par le biais d'un e-mail adressé au service d'assistance d'Odoo SA ou -via le formulaire correspondant sur le site web), et de commencer à traiter ces signalements +corriger tout Bug du Logiciel ou des Modules Supplémentaires Couverts qui pourrait être signalé +par le Client en suivant la procédure appropriée (généralement par le biais du formulaire en ligne +ou des numéros de téléphone indiqués sur Module Supplémentaire Couvert, ou en cas de travail avec +un Partenaire Odoo, le canal prévu par le partenaire), et de commencer à traiter ces signalements du Client dans un délai de 2 jours ouvrables. -Le Client accepte que les Bugs causés par toute modification ou extension qui ne fait pas partie -de la version officielle du Logiciel ne seront pas couverts par ce service. - Dès que le Bug est remédié, un correctif approprié sera communiqué au Client. -En cas d'Auto-Hébergement, si le Bug a été -résolu dans une nouvelle mise à jour de la Version Couverte du Logiciel utilisée par le Client, -ce dernier s'engage à actualiser ses systèmes vers la nouvelle mise à jour, afin d'obtenir -le correctif. Il ne sera jamais demandé au Client de passer à une Version Couverte +Si le Client utilise une Version Couverte, il ne lui sera jamais demandé de passer à une Version Couverte plus récente pour obtenir un correctif. Lorsqu'un Bug est corrigé dans une Version Couverte, Odoo SA s'engage à le corriger dans toutes les Versions Couvertes plus récentes du Logiciel. Les deux parties reconnaissent que comme spécifié dans la licence du Logiciel et à la section -:ref:`liability_fr` de ce Contrat, Odoo SA ne peut être tenue responsable des Bugs du Logiciel. +:ref:`liability_fr` de ce Contrat, Odoo SA ne peut être tenue responsable des Bugs du Logiciel ou +des Modules Supplémentaires Couverts. 4.2 Mises à jour de sécurité @@ -146,8 +158,8 @@ Auto-Hébergement Pour la durée du Contrat, Odoo SA s'engage à envoyer une "alerte de sécurité"" au Client pour tout Bug présentant un risque de sécurité qui serait découvert dans les Versions Couvertes -du Logiciel, au moins 2 semaines avant de rendre ladite alerte de sécurité publique, et ce à moins -que le Bug ait déjà été rendu public par un tiers. +du Logiciel (à l'exclusion des Modules Supplémentaires), au moins 2 semaines avant de +rendre ladite alerte de sécurité publique, et ce à moins que le Bug ait déjà été rendu public par un tiers. Les alertes de sécurité comprennent une description complète du Bug, de sa cause, ses conséquences possibles sur les systèmes du Client, et le correctif correspondant pour chaque Version Couverte. @@ -177,53 +189,34 @@ Service de migration du Logiciel Pour la durée du présent Contrat, le Client peut soumettre des demandes de migration en suivant les procédures appropriées (généralement, via le site du service de migration d'Odoo SA), -afin de convertir une base de données du Logiciel d'une Version Couverte du Logiciel à une -Version Couverte plus récente (la "Version Cible"). +afin de convertir une base de données du Logiciel depuis n'importe quelle version du Logiciel vers +une Version Couverte plus récente (la "Version Cible"). Pour la Plate-forme Cloud, les demandes de migration sont envoyées directement depuis la panneau de contrôle de la Plate-forme Cloud, et ne requièrent pas d'envoi de données. Pour l'Auto-Hébergement, -les demandes de migration doivent inclure une copie de sauvegarde complète de la +les demandes de migration doivent inclure une copie complète de la base de données du Client et les données associées (généralement obtenues à partir du menu -Backup du Logiciel). Lorsque cela est nécessaire pour des raisons de sécurité des données ou -de réglementation, le Service de migration inclut un outil facultatif pour rendre anonymes -les données identifiables figurant dans la base de données, avant de soumettre la demande -de migration, et un outil pour restaurer les données rendues anonymes après la migration. +Backup du Logiciel). Ce service est fourni par le biais d'une plateforme automatisée, afin de permettre au Client d'effectuer des migration sans intervention humain, dès lors qu’une version précédente de la base de données du Client a été migrée avec succès pour une Version Couverte donnée. -Le client peut soumettre des demandes de migration successives pour une base de données, -et accepte de soumettre au moins 1 demande de migration de test avant de soumettre la demande de -migration finale. Le service de migration est limité à la conversion et à l'adaptation techniques de la base de données du Client pour la rendre compatible avec la Version Cible, et à la correction de tout Bug directement causé par l'opération de migration, et ne se produisant normalement pas dans +la Version Cible, et la conversion du code et des données des Modules Supplémentaires Couverts vers la Version Cible. Il incombe au Client de vérifier et valider la base de données migrée afin de détecter tout Bug, d'analyser l'impact des changements et des nouvelles fonctionnalités ajoutées dans la Version Cible, de convertir et d'adapter pour la Version Cible les modules tiers du Logiciel qui auraient été installées dans la base de données avant la migration -(sauf le cas échéant, comme prévu à la section :ref:`upgrade_extra_fr`). +(par ex. des Modules Supplémentaires non-couverts). Le client peut soumettre plusieurs demandes de migration pour une base de données, jusqu'à ce qu'un résultat satisfaisant soit obtenu. -.. _upgrade_extra_fr: - -Service de migration des modules tiers -++++++++++++++++++++++++++++++++++++++ - -Pour la durée du Contrat, le Client a la possibilité de faire une demande de migration -pour des modules d'extension tiers, en plus de la migration normale du Logiciel. -Ce service en option implique des frais supplémentaires (décrits dans la section :ref:`charges_fr`) -et comprend l'adaptation technique des modules tiers installés dans la base de données du -Client et de leurs données correspondantes afin qu'elles soient compatibles -avec la Version Cible. Le Client recevra une version migrée de tous les modules tiers installés -accompagnée de la base de données migrée. - - .. _cloud_hosting_fr: 4.4 Service d'Hébergement Cloud @@ -239,7 +232,7 @@ Odoo SA s'engage à fournir au minimum le service suivant: - Plan de Reprise d'Activité, testé régulièrement Les détails du Service d'Hébergement Cloud sont décrits sur la page du Service Level Agreement: -https://www.odoo.com/cloud-sla. + https://www.odoo.com/cloud-sla. .. _support_service_fr: @@ -252,23 +245,42 @@ Portée Pour la durée du présent Contrat, le Client peut ouvrir un nombre non limité de demandes d'assistance sans frais, exclusivement pour des questions relatives à des Bugs (voir :ref:`bugfix_fr`) ou des -explications au sujet de l'utilisation des fonctions standard du Logiciel et des Services -(fonctionnalités, utilisation prévue, configuration, résolution d'erreur). +explications au sujet de l'utilisation des fonctions standard du Logiciel et des Modules +Supplémentaires Couverts -D'autres types de demandes, telles que celles relatives à des développements, des personnalisations, -de l'installation en mode Auto-Hébergement, ou tout service requiérant l'accès à la base de données -du Client pevent être couverts par l'achat séparé d'un Pack de Services. -Au cas où il n'est pas clair qu'une demande est couverte par ce Contrat ou via l'achat d'un -Pack de Services, la décision sera à la discrétion d'Odoo SA. +D'autres types de demandes, telles que celles relatives à des développements ou des personnalisations, +peuvent être couvertes par l'achat d'un contrat de service séparé. +Au cas où il n'est pas clair qu'une demande est couverte par ce Contrat, la décision sera à la +discrétion d'Odoo SA. Disponibilité +++++++++++++ Les demandes d'assistances peuvent être soumises à tout moment en ligne via https://www.odoo.com/help, -ou par téléphone directement aux différents bureaux d'Odoo SA, pendant les heures de bureau +ou par téléphone directement aux différents bureaux d'Odoo SA, ou en cas de travail avec un +Partenaire Odoo, le canal préconisé par ce partenaire, pendant les heures de bureau correspondantes. +.. _maintenance_partner_fr: + +Collaboration avec un Partenaire Odoo +------------------------------------- + +Pour les services de correction de Bug, d'assistance et de migration, le Client peut choisir +de collaborer avec un Partenaire Odoo comme point de contact principal, ou directement avec +Odoo SA. + +Si le Client choisit un Partenaire Odoo, Odoo SA sous-traitera les services liés au Modules +Supplémentaires Couverts à ce partenaire, qui deviendra le point de contact principal du client. +Le Partenaire Odoo peut obtenir de l'assistance de second niveau auprès d'Odoo SA pour le compte +du Client. + +Si le Client décide de collaborer directement avec Odoo SA, les services liés aux Modules +Supplémentaires Couverts ne seront fournis que *si et seulement si* le Client est hébergé sur +la Plate-forme Cloud d'Odoo. + + .. _charges_fr: 5 Tarifs et Frais @@ -280,7 +292,7 @@ correspondantes. -------------------- Les tarifs standards pour le contrat d'abonnement à Odoo Enterprise et les Services sont basés sur le nombre -d'Utilisateurs, les Apps installées, la version du Logiciel utilisée par le Client, et précisés par +d'Utilisateurs et les Apps installées, et précisés par écrit à la conclusion du contrat. Pendant la durée du contrat, si le Client a plus d'Utilisateurs ou d'Apps que spécifié au moment @@ -299,33 +311,17 @@ première Durée du contrat, à la discrétion d'Odoo SA, pour couvrir les coût -------------------------- Lors de la reconduction telle que décrite à la section :ref:`term_fr`, si les tarifs par Utilisateur +(à l'exclusion des “Initial User Discounts”) qui ont été appliqués pendant la Durée précédente sont inférieurs aux tarifs par Utilisateur -en vigueur les plus récents, les tarifs par Utilisateur augmenteront automatiquement de maximum 7%. - -.. _charges_thirdparty_fr: - -5.3 Tarifs de migration des modules tiers ------------------------------------------ - -Les frais supplémentaires pour le service de migration des modules tiers sont de 1000,00- euros (€) -(mille euros) pour 1000 lignes de code de modules tiers, le nombre de lignes étant arrondi au millier -de lignes supérieur. Les lignes de code comprennent toutes les lignes de texte dans le code source de -ces modules, quel que soit le langage de programmation (Python, Javascript, etc.) -ou format de données (XML, CSV, etc.), à l'exclusion des lignes vides et des lignes de commentaires. - -Odoo SA se réserve le droit de refuser une demande de migration pour des modules tiers conformément -aux conditions décrites ci-dessus, si la qualité du code source de ces modules est trop faible, -ou si ces modules font partie d'une interface d'intégration avec des logiciels ou systèmes tiers. -La migration de ces modules sera soumise à une proposition distincte, non couverte par le présent -Contrat. - +en vigueur les plus récents, les tarifs par Utilisateur augmenteront automatiquement de maximum 7% +par reconduction, sans dépasser les tarifs en vigueur les plus récents. .. _taxes_fr: -5.4 Taxes et impôts +5.3 Taxes et impôts ------------------- -Tous les frais et tarifs sont indiqués hors taxes et hors impôts, frais et charges fédérales, +Tous les frais et tarifs sont indiqués hors taxes, frais et charges fédérales, provinciales, locales ou autres taxes gouvernementales applicables (collectivement, les "Taxes"). Le Client est responsable du paiement de toutes les Taxes liées aux achats effectués par le Client en vertu du présent Contrat, sauf lorsque Odoo SA est légalement tenue de payer ou de @@ -342,7 +338,7 @@ percevoir les Taxes dont le client est responsable. Le Client accepte de / d': - Payer à Odoo SA les frais applicables pour les Services en vertu du présent Contrat, - conformément aux conditions de paiement spécifiées dans la facture correspondante ; + conformément aux conditions de paiement spécifiées à la souscription du présent Contrat ; - Aviser immédiatement Odoo SA si le nombre réel d'Utilisateurs ou les Apps installées dépassent les nombres spécifiés à la conclusion du Contrat, et dans ce cas, de régler les frais supplémentaires applicables telles que décrits à la section :ref:`charges_standard_fr`; @@ -350,6 +346,8 @@ Le Client accepte de / d': Logiciel qui vérifie la validité de l'utilisation de Odoo Enterprise Edition, comme décrit à la section :ref:`enterprise_access_fr`; - Désigner 1 personne de contact représentant le Client pour toute la durée du contrat ; +- Signaler par écrit à Odoo SA avec un préavis de 30 jours en cas de changement de point de contact + principal, pour collaborer avec un autre Partenaire Odoo, ou directement avec Odoo SA. Lorsque le Client choisit d'utiliser la Plate-forme Cloud, il accepte aussi de: @@ -493,8 +491,8 @@ contrat peut être résilié immédiatement par la partie qui n'a pas commis la violation. En outre, Odoo SA peut résilier le contrat immédiatement dans le cas où le -Client ne paie pas les frais applicables pour les services à la date d'échéance -indiquée sur la facture correspondante. +Client ne paie pas les frais applicables pour les services dans les 21 jours suivant la date d'échéance +indiquée sur la facture correspondante, après minimum 3 rappels. Durée de l'applicabilité des dispositions: Les sections ":ref:`confidentiality_fr`", “:ref:`disclaimers_fr`", “:ref:`liability_fr`", @@ -511,28 +509,36 @@ Durée de l'applicabilité des dispositions: 7.1 Garantie ------------ +Odoo SA détient le copyright ou équivalent[#g1]_ sur 100% du code du Logiciel, et confirme que +toutes les librairies nécessaires au fonctionnement du Logiciel sont disponibles sous une +licence compatible avec la licence du Logiciel. + Pendant la durée du présent contrat, Odoo SA s'engage à déployer les efforts raisonnables sur le plan commercial pour exécuter les Services conformément aux normes du secteur généralement acceptées à condition que : - Les systèmes informatiques du Client soient en bon état de fonctionnement et, pour l'Auto-Hébergement, - que le Logiciel soit installé dans un système d'exploitation approprié ; + que le Logiciel soit installé selon les bonnes pratiques en vigueur; - Le Client fournisse les informations adéquates nécessaires au dépannage et, pour l'Auto-Hébergement, tout accès utile, de telle sorte qu'Odoo SA puisse identifier, reproduire et gérer les problèmes ; -- Tous les montants dus à Odoo SA aient été réglés. +- Tous les montants dus à Odoo SA, qui sont échus, aient été réglés. La reprise de l'exécution des Services par Odoo SA sans frais supplémentaires constitue la seule et -unique réparation pour le Client et la seule obligation d'Odoo SA pour toute violation de cette +unique réparation pour le Client et la seule obligation d'Odoo SA pour tout manquement à cette garantie. +.. [#f1] Les contributions externes sont couvertes par un `CLA Date: Tue, 9 Jun 2020 02:51:47 +0200 Subject: [PATCH 03/17] [FIX] odoo.sty: fix compatibility with older sphinx versions `\sphinxmaketitle` only exists as of v1.8.3, and `\renewcommand` would crash when the command is not defined. Similarly `\newcommand` would crash if the command already exists. `\providecommand` acts as a shim: no-op if the command exists, otherwise creates it so that it can be redefined. Backport of 54e7ed30ac796095a09aa44f8e1467fa260f54ae --- _static/latex/odoo.sty | 1 + 1 file changed, 1 insertion(+) diff --git a/_static/latex/odoo.sty b/_static/latex/odoo.sty index 4f378c346..42431a5a6 100644 --- a/_static/latex/odoo.sty +++ b/_static/latex/odoo.sty @@ -97,6 +97,7 @@ % For sphinx 1.8.3+, the command is \sphinxmaketitle and the % layout is slightly different on the titlepage +\providecommand\sphinxmaketitle{} \renewcommand{\sphinxmaketitle}{% \noindent\rule{\textwidth}{1pt}\par \begin{flushright} From 89457036ce952793c59c8c3cda34050545b9c754 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Jun 2020 02:51:47 +0200 Subject: [PATCH 04/17] [FIX] odoo.sty: fix compatibility with older sphinx versions `\sphinxmaketitle` only exists as of v1.8.3, and `\renewcommand` would crash when the command is not defined. Similarly `\newcommand` would crash if the command already exists. `\providecommand` acts as a shim: no-op if the command exists, otherwise creates it so that it can be redefined. Backport of 54e7ed30ac796095a09aa44f8e1467fa260f54ae --- _static/latex/odoo.sty | 1 + 1 file changed, 1 insertion(+) diff --git a/_static/latex/odoo.sty b/_static/latex/odoo.sty index 4f378c346..42431a5a6 100644 --- a/_static/latex/odoo.sty +++ b/_static/latex/odoo.sty @@ -97,6 +97,7 @@ % For sphinx 1.8.3+, the command is \sphinxmaketitle and the % layout is slightly different on the titlepage +\providecommand\sphinxmaketitle{} \renewcommand{\sphinxmaketitle}{% \noindent\rule{\textwidth}{1pt}\par \begin{flushright} From 8b99aef0ca65f719ec1456fcef8ff97155f4d7eb Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Jun 2020 03:30:39 +0200 Subject: [PATCH 05/17] [FIX] legal: adapt icon location for old layout --- legal.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legal.rst b/legal.rst index 68ac8099f..12aa5f2da 100644 --- a/legal.rst +++ b/legal.rst @@ -118,10 +118,10 @@ Terms and Conditions :alt: View Odoo Partnership Agreement (ES) :target: legal/terms/i18n/partnership_es.html -.. |missing_pdf| image:: _static/icons/pdf_missing.svg +.. |missing_pdf| image:: _static/banners/pdf_missing.svg :alt: Document not available yet -.. |missing_txt| image:: _static/icons/txt_missing.svg +.. |missing_txt| image:: _static/banners/txt_missing.svg :alt: Document not available yet +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ From a3b224036f3d02efcdac07394fef4aaf78317e7d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Jun 2020 03:30:39 +0200 Subject: [PATCH 06/17] [FIX] legal: adapt icon location for old layout --- legal.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/legal.rst b/legal.rst index 68ac8099f..12aa5f2da 100644 --- a/legal.rst +++ b/legal.rst @@ -118,10 +118,10 @@ Terms and Conditions :alt: View Odoo Partnership Agreement (ES) :target: legal/terms/i18n/partnership_es.html -.. |missing_pdf| image:: _static/icons/pdf_missing.svg +.. |missing_pdf| image:: _static/banners/pdf_missing.svg :alt: Document not available yet -.. |missing_txt| image:: _static/icons/txt_missing.svg +.. |missing_txt| image:: _static/banners/txt_missing.svg :alt: Document not available yet +--------------------------------------------------------------------+-----------------------------------------------------------------------+------------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------------------------+ From 287233711306b524c06962504a1abb46b30c0a54 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 10 Jun 2020 11:15:12 +0200 Subject: [PATCH 07/17] [FIX] legal/terms: minor clarifications in v9 contracts (> v9a) --- legal/terms/enterprise.rst | 6 ++++-- legal/terms/i18n/enterprise_fr.rst | 5 +++-- legal/terms/i18n/partnership_fr.rst | 20 +++++++++++++------- legal/terms/partnership.rst | 20 ++++++++++++-------- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index d5b24a8ca..e86a2391a 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,13 +6,14 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9.0 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications +.. v9a: clarification wrt second-level assistance for standard features By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -251,7 +252,8 @@ as the main point of contact, or work with Odoo SA directly. If the Customer decides to work with an Odoo Partner, Odoo SA will subcontract services related to the Covered Extra Modules to the Odoo Partner, who becomes the main point of contact of the -customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second level assistance. +customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second-level assistance +with regard to standard features of the Software. If the Customer decides to work with Odoo SA directly, services related to Covered Extra Modules are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index c6aa818ee..68e74987e 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,13 +13,14 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9.0 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice .. 7.1: specify that 7% renewal increase applies to all charges, not just per-User. .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications +.. v9a: clarification wrt second-level assistance for standard features En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales @@ -274,7 +275,7 @@ Odoo SA. Si le Client choisit un Partenaire Odoo, Odoo SA sous-traitera les services liés au Modules Supplémentaires Couverts à ce partenaire, qui deviendra le point de contact principal du client. Le Partenaire Odoo peut obtenir de l'assistance de second niveau auprès d'Odoo SA pour le compte -du Client. +du Client, concernant les fonctions standard du Logiciel. Si le Client décide de collaborer directement avec Odoo SA, les services liés aux Modules Supplémentaires Couverts ne seront fournis que *si et seulement si* le Client est hébergé sur diff --git a/legal/terms/i18n/partnership_fr.rst b/legal/terms/i18n/partnership_fr.rst index 5446fa560..588f11217 100644 --- a/legal/terms/i18n/partnership_fr.rst +++ b/legal/terms/i18n/partnership_fr.rst @@ -16,8 +16,9 @@ Odoo Partnership Agreement (FR) .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits .. v8a: minor clarifications and simplifications .. v9: added maintenance commission + obligations +.. v9a: minor clarification to allow OE commission even without maintenance -.. note:: Version 9 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 | ENTRE: | Odoo S.A., une entreprise dont le siège social se situe Chaussée de Namur, 40, @@ -215,8 +216,7 @@ souscrivant à un Odoo Success Pack, moyennant un supplément. 4.5 Commissions sur les Services Odoo vendus par le PARTENAIRE -------------------------------------------------------------- Pour les services ODOO achetés par un client par le biais du PARTENAIRE, et pour autant que -le PARTENAIRE maintienne une relation contractuelle avec ce client, et tant que le client ne -signale pas à ODOO sa volonté de cesser d'utiliser les service du PARTENAIRE, le PARTENAIRE +le PARTENAIRE maintienne une relation contractuelle avec ce client, le PARTENAIRE recevra une commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de partenariat à la date de la facture client correspondante. @@ -224,13 +224,19 @@ Une fois pas mois, le PARTENAIRE recevra un bon de commande pour la commission d précédent. Sur base de ce bon de commande, le PARTENAIRE facturera ODOO, et sera payé dans un délai de 15 jours suivant la réception de cette facture. +**Maintenance of Covered Extra Modules** + Le PARTENAIRE comprend et accepte que lorsqu'un client choisit de Collaborer avec le PARTENAIRE, -ODOO lui déléguera la mise en oeuvre des services liés aux Modules Supplémentaires Couverts [#pcom_fr1]_, -et il deviendra le point de contact principal du client. Le PARTENAIRE pourra contacter ODOO pour -le compte du client pour une assistance de deuxième niveau. +ODOO lui déléguera la Maintenance des Modules Supplémentaires Couverts [#pcom_fr1]_, +et qu'il deviendra le point de contact principal du client. + +Le PARTENAIRE ne recevra de commission pour la Maintenance des Modules Supplémentaires Couverts +que pour autant que le client ne signale pas à ODOO sa volonté d'arrêter de Collaborer avec le +PARTENAIRE. + .. [#pcom_fr1] “Collaborer avec un Partenaire Odoo” et “Modules Supplémentaires Couverts” sont - définis dans le contrat "Odoo Enterprise Subscription Agreement" entre ODOO et le client + définis dans le contrat "Odoo Enterprise Subscription Agreement" entre ODOO et le client. 5 Frais diff --git a/legal/terms/partnership.rst b/legal/terms/partnership.rst index ac12ddc92..c431e9c79 100644 --- a/legal/terms/partnership.rst +++ b/legal/terms/partnership.rst @@ -11,8 +11,9 @@ Odoo Partnership Agreement .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits .. v8a: minor clarifications and simplifications .. v9: added maintenance commission + obligations +.. v9a: minor clarification to allow OE commission even without maintenance -.. note:: Version 9 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 | BETWEEN: | Odoo S.A., having its registered office at Chaussée de Namur, 40, 1367 Grand-Rosière, @@ -207,8 +208,7 @@ Success Pack, for an extra fee. 4.5 Commissions on Odoo Services sold by PARTNER ------------------------------------------------- For ODOO services purchased by a customer through PARTNER, and as long as PARTNER maintains a -contractual relationship with the corresponding customer, and as long as the Customer does not -notify ODOO that they want to stop using PARTNER’s services, PARTNER shall receive a commission +contractual relationship with the corresponding customer, PARTNER shall receive a commission according to the table of section :ref:`benefits` and their Partnership level at the date of the customer invoice. @@ -216,13 +216,17 @@ Once a month, PARTNER will receive a purchase order with the commission due for Based on this purchase order, PARTNER shall invoice ODOO, and will be paid within 15 days upon receipt of the invoice. -PARTNER acknowledges and agrees that when a customer decides to Work with PARTNER, ODOO will -delegate services related to Covered Extra Modules [#pcom1]_ to PARTNER, who becomes the main point -of contact of the customer. PARTNER may contact ODOO on behalf of the customer for second level -assistance. +**Maintenance of Covered Extra Modules** + +PARTNER acknowledges and agrees that when a customer decides to Work with PARTNER [#pcom1]_ , +ODOO will delegate the Maintenance of Covered Extra Modules to PARTNER, who becomes the main point +of contact of the customer. + +PARTNER shall only receive the commission for the Maintenance of Covered Extra Modules +as long as the customer does not notify ODOO that they want to stop Working with PARTNER. .. [#pcom1] “Working with an Odoo Partner” and “Covered Extra Modules” are defined in the Odoo - Enterprise Subscription Agreement between ODOO and customers + Enterprise Subscription Agreement between ODOO and customers. 5 Fees ====== From 29424279f456c06ad6064ae731267d4f09a23773 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 10 Jun 2020 11:15:12 +0200 Subject: [PATCH 08/17] [FIX] legal/terms: minor clarifications in v9 contracts (> v9a) --- legal/terms/enterprise.rst | 6 ++++-- legal/terms/i18n/enterprise_fr.rst | 5 +++-- legal/terms/i18n/partnership_fr.rst | 20 +++++++++++++------- legal/terms/partnership.rst | 20 ++++++++++++-------- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index 09f616b9a..2cde78478 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,7 +6,7 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9.0 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -14,6 +14,7 @@ Odoo Enterprise Subscription Agreement .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v8a: minor wording changes, tuned User definition, + copyright guarantee .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications +.. v9a: clarification wrt second-level assistance for standard features By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -252,7 +253,8 @@ as the main point of contact, or work with Odoo SA directly. If the Customer decides to work with an Odoo Partner, Odoo SA will subcontract services related to the Covered Extra Modules to the Odoo Partner, who becomes the main point of contact of the -customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second level assistance. +customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second-level assistance +with regard to standard features of the Software. If the Customer decides to work with Odoo SA directly, services related to Covered Extra Modules are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index cfa673c95..db2cc4c91 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,7 +13,7 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9.0 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -21,6 +21,7 @@ Odoo Enterprise Subscription Agreement (FR) .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v8a: minor wording changes, tuned User definition, + copyright guarantee .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications +.. v9a: clarification wrt second-level assistance for standard features En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales (collectivement, "Odoo SA") en relation avec Odoo Enterprise Edition ou Odoo Community Edition @@ -274,7 +275,7 @@ Odoo SA. Si le Client choisit un Partenaire Odoo, Odoo SA sous-traitera les services liés au Modules Supplémentaires Couverts à ce partenaire, qui deviendra le point de contact principal du client. Le Partenaire Odoo peut obtenir de l'assistance de second niveau auprès d'Odoo SA pour le compte -du Client. +du Client, concernant les fonctions standard du Logiciel. Si le Client décide de collaborer directement avec Odoo SA, les services liés aux Modules Supplémentaires Couverts ne seront fournis que *si et seulement si* le Client est hébergé sur diff --git a/legal/terms/i18n/partnership_fr.rst b/legal/terms/i18n/partnership_fr.rst index 5446fa560..588f11217 100644 --- a/legal/terms/i18n/partnership_fr.rst +++ b/legal/terms/i18n/partnership_fr.rst @@ -16,8 +16,9 @@ Odoo Partnership Agreement (FR) .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits .. v8a: minor clarifications and simplifications .. v9: added maintenance commission + obligations +.. v9a: minor clarification to allow OE commission even without maintenance -.. note:: Version 9 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 | ENTRE: | Odoo S.A., une entreprise dont le siège social se situe Chaussée de Namur, 40, @@ -215,8 +216,7 @@ souscrivant à un Odoo Success Pack, moyennant un supplément. 4.5 Commissions sur les Services Odoo vendus par le PARTENAIRE -------------------------------------------------------------- Pour les services ODOO achetés par un client par le biais du PARTENAIRE, et pour autant que -le PARTENAIRE maintienne une relation contractuelle avec ce client, et tant que le client ne -signale pas à ODOO sa volonté de cesser d'utiliser les service du PARTENAIRE, le PARTENAIRE +le PARTENAIRE maintienne une relation contractuelle avec ce client, le PARTENAIRE recevra une commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de partenariat à la date de la facture client correspondante. @@ -224,13 +224,19 @@ Une fois pas mois, le PARTENAIRE recevra un bon de commande pour la commission d précédent. Sur base de ce bon de commande, le PARTENAIRE facturera ODOO, et sera payé dans un délai de 15 jours suivant la réception de cette facture. +**Maintenance of Covered Extra Modules** + Le PARTENAIRE comprend et accepte que lorsqu'un client choisit de Collaborer avec le PARTENAIRE, -ODOO lui déléguera la mise en oeuvre des services liés aux Modules Supplémentaires Couverts [#pcom_fr1]_, -et il deviendra le point de contact principal du client. Le PARTENAIRE pourra contacter ODOO pour -le compte du client pour une assistance de deuxième niveau. +ODOO lui déléguera la Maintenance des Modules Supplémentaires Couverts [#pcom_fr1]_, +et qu'il deviendra le point de contact principal du client. + +Le PARTENAIRE ne recevra de commission pour la Maintenance des Modules Supplémentaires Couverts +que pour autant que le client ne signale pas à ODOO sa volonté d'arrêter de Collaborer avec le +PARTENAIRE. + .. [#pcom_fr1] “Collaborer avec un Partenaire Odoo” et “Modules Supplémentaires Couverts” sont - définis dans le contrat "Odoo Enterprise Subscription Agreement" entre ODOO et le client + définis dans le contrat "Odoo Enterprise Subscription Agreement" entre ODOO et le client. 5 Frais diff --git a/legal/terms/partnership.rst b/legal/terms/partnership.rst index ac12ddc92..c431e9c79 100644 --- a/legal/terms/partnership.rst +++ b/legal/terms/partnership.rst @@ -11,8 +11,9 @@ Odoo Partnership Agreement .. v8: simplified parts, clarified others, added trademark use restrictions, updated benefits .. v8a: minor clarifications and simplifications .. v9: added maintenance commission + obligations +.. v9a: minor clarification to allow OE commission even without maintenance -.. note:: Version 9 - 2020-06-08 +.. note:: Version 9a - 2020-06-10 | BETWEEN: | Odoo S.A., having its registered office at Chaussée de Namur, 40, 1367 Grand-Rosière, @@ -207,8 +208,7 @@ Success Pack, for an extra fee. 4.5 Commissions on Odoo Services sold by PARTNER ------------------------------------------------- For ODOO services purchased by a customer through PARTNER, and as long as PARTNER maintains a -contractual relationship with the corresponding customer, and as long as the Customer does not -notify ODOO that they want to stop using PARTNER’s services, PARTNER shall receive a commission +contractual relationship with the corresponding customer, PARTNER shall receive a commission according to the table of section :ref:`benefits` and their Partnership level at the date of the customer invoice. @@ -216,13 +216,17 @@ Once a month, PARTNER will receive a purchase order with the commission due for Based on this purchase order, PARTNER shall invoice ODOO, and will be paid within 15 days upon receipt of the invoice. -PARTNER acknowledges and agrees that when a customer decides to Work with PARTNER, ODOO will -delegate services related to Covered Extra Modules [#pcom1]_ to PARTNER, who becomes the main point -of contact of the customer. PARTNER may contact ODOO on behalf of the customer for second level -assistance. +**Maintenance of Covered Extra Modules** + +PARTNER acknowledges and agrees that when a customer decides to Work with PARTNER [#pcom1]_ , +ODOO will delegate the Maintenance of Covered Extra Modules to PARTNER, who becomes the main point +of contact of the customer. + +PARTNER shall only receive the commission for the Maintenance of Covered Extra Modules +as long as the customer does not notify ODOO that they want to stop Working with PARTNER. .. [#pcom1] “Working with an Odoo Partner” and “Covered Extra Modules” are defined in the Odoo - Enterprise Subscription Agreement between ODOO and customers + Enterprise Subscription Agreement between ODOO and customers. 5 Fees ====== From eae02bfe38d5b0b1ecd39efe234b525ba638ccad Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 10 Jun 2020 11:20:10 +0200 Subject: [PATCH 09/17] [FIX] legal/terms: correct typo in FR translation --- legal/terms/i18n/partnership_fr.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legal/terms/i18n/partnership_fr.rst b/legal/terms/i18n/partnership_fr.rst index 588f11217..bf865b9b7 100644 --- a/legal/terms/i18n/partnership_fr.rst +++ b/legal/terms/i18n/partnership_fr.rst @@ -220,7 +220,7 @@ le PARTENAIRE maintienne une relation contractuelle avec ce client, le PARTENAIR recevra une commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de partenariat à la date de la facture client correspondante. -Une fois pas mois, le PARTENAIRE recevra un bon de commande pour la commission due pour le mois +Une fois par mois, le PARTENAIRE recevra un bon de commande pour la commission due pour le mois précédent. Sur base de ce bon de commande, le PARTENAIRE facturera ODOO, et sera payé dans un délai de 15 jours suivant la réception de cette facture. From b8209b87681ed51666ca7eddd47ead7756a3a87c Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 10 Jun 2020 11:20:10 +0200 Subject: [PATCH 10/17] [FIX] legal/terms: correct typo in FR translation --- legal/terms/i18n/partnership_fr.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legal/terms/i18n/partnership_fr.rst b/legal/terms/i18n/partnership_fr.rst index 588f11217..bf865b9b7 100644 --- a/legal/terms/i18n/partnership_fr.rst +++ b/legal/terms/i18n/partnership_fr.rst @@ -220,7 +220,7 @@ le PARTENAIRE maintienne une relation contractuelle avec ce client, le PARTENAIR recevra une commission en fonction du tableau de la section :ref:`benefits_fr` et du niveau de partenariat à la date de la facture client correspondante. -Une fois pas mois, le PARTENAIRE recevra un bon de commande pour la commission due pour le mois +Une fois par mois, le PARTENAIRE recevra un bon de commande pour la commission due pour le mois précédent. Sur base de ce bon de commande, le PARTENAIRE facturera ODOO, et sera payé dans un délai de 15 jours suivant la réception de cette facture. From 8c27e0372cf7b39cb496690f71950c1c803e54e1 Mon Sep 17 00:00:00 2001 From: KBR <57449423+kbr-odoo@users.noreply.github.com> Date: Thu, 11 Jun 2020 17:09:45 +0200 Subject: [PATCH 11/17] [ADD] website: document about link tracker (#685) --- website/optimize.rst | 1 + website/optimize/link_tracker.rst | 56 ++++++++++++++++++ .../optimize/media/enable_link_tracker.png | Bin 0 -> 28702 bytes .../optimize/media/link_tracker_fields.png | Bin 0 -> 15084 bytes website/optimize/media/links_statistics.png | Bin 0 -> 29434 bytes 5 files changed, 57 insertions(+) create mode 100644 website/optimize/link_tracker.rst create mode 100644 website/optimize/media/enable_link_tracker.png create mode 100644 website/optimize/media/link_tracker_fields.png create mode 100644 website/optimize/media/links_statistics.png diff --git a/website/optimize.rst b/website/optimize.rst index 102f50f24..cb26a5186 100644 --- a/website/optimize.rst +++ b/website/optimize.rst @@ -8,6 +8,7 @@ Optimize optimize/seo optimize/google_analytics optimize/google_analytics_dashboard + optimize/link_tracker diff --git a/website/optimize/link_tracker.rst b/website/optimize/link_tracker.rst new file mode 100644 index 000000000..006b8ec8b --- /dev/null +++ b/website/optimize/link_tracker.rst @@ -0,0 +1,56 @@ +============================================= +Track clicks and visitors using Link Trackers +============================================= + +Link Trackers allow you to track your marketing campaigns (emails, banner ads, blog posts, social +media posts, affiliate links, etc.). This way, you are able to identify your best traffic sources +and make informed decisions about the distribution of your marketing budget. + +Configuration +============= + +Go to :menuselection:`Website --> Configuration --> Settings` and activate *Link Trackers*. + +.. image:: media/enable_link_tracker.png + :align: center + :alt: View of Website settings page emphasizing the link trackers field in Odoo Website + +Set up traceable URLs +--------------------- + +Go to :menuselection:`Website --> Go to website --> Promote --> Track this page`. Here, you are able +to get a specific tracked URL based on the campaign, medium, and source being used. + +.. image:: media/link_tracker_fields.png + :align: center + :alt: View of the link traker fields for Odoo Website + +- **URL**: url of the page you want to track (e.g. the home page or a product's page). +- **Campaign**: context of your link (e.g. a special promotion). +- **Medium**: channel used to share (deliver) your link (e.g. an email or a Facebook ad). +- **Source**: platform where the traffic originates (e.g. Google or Twitter). + +Now, click on *Get tracked link* to generate a URL that you can post or send by the source you have +decided on. + +Follow-up on tracked links +========================== + +To look at statistics of your links, go to :menuselection:`Website --> Go to website --> Promote +--> Track this page`. Besides being able to see the *Most Clicked* and *Recently Used* links, click +on *Stats* to see complete statistics about the number of clicks and the country of origin of those +clicks. + +.. image:: media/links_statistics.png + :align: center + :alt: View of the tracked list emphasizing the statistics buttons in Odoo Website + +.. tip:: + + #. You can also access the link tracker by typing *odoo.com/r* on your browser. + #. Activate the developer mode (:menuselection:`Settings --> Activate the developer mode`) and + get access to the *Link Tracker* module and its back-end functionalities. + #. Integrated with :doc:`Google Analytics `, those trackers allow you to see + the number of clicks and visitors to keep you on top of your marketing campaigns. + #. The integration with the :doc:`CRM <../../crm/track_leads/prospect_visits>` application allows + you to understand where your leads and opportunities are coming from. \ No newline at end of file diff --git a/website/optimize/media/enable_link_tracker.png b/website/optimize/media/enable_link_tracker.png new file mode 100644 index 0000000000000000000000000000000000000000..e03f57dbe4055abb7cb28ae45b375a67a3eb9ed6 GIT binary patch literal 28702 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 literal 0 HcmV?d00001 diff --git a/website/optimize/media/link_tracker_fields.png b/website/optimize/media/link_tracker_fields.png new file mode 100644 index 0000000000000000000000000000000000000000..f6da9dc9aecb8706dd9725f5e84476faa524e883 GIT binary patch literal 15084 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%0A04w_EF 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 literal 0 HcmV?d00001 From 3ebf1728f6cdeceb1150292530b0af3c230095fe Mon Sep 17 00:00:00 2001 From: KBR <57449423+kbr-odoo@users.noreply.github.com> Date: Thu, 11 Jun 2020 17:26:54 +0200 Subject: [PATCH 12/17] [ADD] crm: document about gamification (#687) --- crm/optimize.rst | 1 + crm/optimize/gamification.rst | 86 ++++++++++++++++++ crm/optimize/media/badges.png | Bin 0 -> 15255 bytes crm/optimize/media/challenges.png | Bin 0 -> 19478 bytes .../media/gamification_module_install.png | Bin 0 -> 27665 bytes .../media/gamification_tools_menu.png | Bin 0 -> 44944 bytes crm/optimize/media/goal_definitions.png | Bin 0 -> 15525 bytes 7 files changed, 87 insertions(+) create mode 100644 crm/optimize/gamification.rst create mode 100644 crm/optimize/media/badges.png create mode 100644 crm/optimize/media/challenges.png create mode 100644 crm/optimize/media/gamification_module_install.png create mode 100644 crm/optimize/media/gamification_tools_menu.png create mode 100644 crm/optimize/media/goal_definitions.png diff --git a/crm/optimize.rst b/crm/optimize.rst index f9e24f585..f7f8c952c 100644 --- a/crm/optimize.rst +++ b/crm/optimize.rst @@ -8,3 +8,4 @@ Optimize your Day-to-Day work optimize/google_calendar_credentials optimize/onsip optimize/setup + optimize/gamification diff --git a/crm/optimize/gamification.rst b/crm/optimize/gamification.rst new file mode 100644 index 000000000..245f11bc6 --- /dev/null +++ b/crm/optimize/gamification.rst @@ -0,0 +1,86 @@ +========================================== +How to motivate and reward my salespeople? +========================================== + +Challenging your employees to reach specific targets with goals and rewards is an excellent way to +reinforce good habits and improve your salespeople productivity. The Gamification module gives you +simple and creative ways to motivate and evaluate your employees with real-time recognition and +badges inspired by game mechanics. + +Configuration +============= + +Install the *Gamification* module, or the *CRM gamification* one, which adds some useful data +(goals and challenges) that can be used on *CRM/Sale*. + +.. image:: media/gamification_module_install.png + :align: center + :alt: View of the gamification module being installed in Odoo + +Create a challenge +================== + +Now, create your first challenge by going to :menuselection:`Settings --> Gamification Tools +--> Challenges`. + +.. note:: + As the gamification tool is a one-time technical setup, you need to activate the technical + features in order to access the configuration. To do so, go to *Settings* and *Activate the + developer mode*. + +.. image:: media/gamification_tools_menu.png + :align: center + :alt: View if the gamification tools menu in Odoo Settings + +A challenge is a mission that you send to your sales team. It can include one or several goals, set +for a specific period of time. Configure your challenge as follows: + +#. Assign the salespeople to be challenged; +#. Assign a responsible; +#. Set up the periodicity along with the start and the end date; +#. Select your goals; +#. Set up your rewards (badges). + +.. note:: + Badges are granted when a challenge is finished. This is either at the end of a running period + (eg: end of the month for a monthly challenge), at the end date of a challenge (if no periodicity + is set), or when the challenge is manually closed. + +In the example below, 2 employees are being challenged with a *Monthly Sales Target*. The challenge +is based on 2 goals: the total amount invoiced and number of new leads generated. At the end of the +month, the winner will be granted with a badge. + +.. image:: media/challenges.png + :align: center + :alt: View of the challenge form and a challenge being created for Odoo Sales + +Set up goals +------------ + +| The users can be evaluated using goals and numerical objectives to reach. +| **Goals** are assigned through *challenges* that evaluate (see image above) and compare members of + a team throughout time. +| You can create a new goal on the fly from a *Challenge* by clicking on *Add new item*, under + *Goals*. Select the business object according to your company's needs. Examples: number of new + leads, time to qualify a lead, total amount invoiced in a specific week, month or any other time + frame based on your management preferences, etc. + +.. image:: media/goal_definitions.png + :align: center + :alt: View of the goal definition form and a goal definition being created for Odoo Sales + +.. note:: + Goals may include your database setup as well (e.g. set your company data and a timezone, + create new users, etc.). + +Set up rewards +-------------- + +For non-numerical achievements, **Badges** can be granted to users. From a simple thank you to an +exceptional achievement, a badge is an easy way to express gratitude to a user for their good work. +To create and grant badges to your employees based on their performance, go to +:menuselection:`Settings --> Gamification Tools --> Badges`. + +.. image:: media/badges.png + :align: center + :alt: View of the badges page in Odoo diff --git a/crm/optimize/media/badges.png b/crm/optimize/media/badges.png new file mode 100644 index 0000000000000000000000000000000000000000..e22aa786bbe719c746674fc2ffb1e67b249368f3 GIT binary patch literal 15255 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 Gz58#-2r6m- literal 0 HcmV?d00001 diff --git a/crm/optimize/media/gamification_module_install.png b/crm/optimize/media/gamification_module_install.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a785ffc15de878ade2a9afe498d2e4f1b3aecc GIT binary patch literal 27665 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 literal 0 HcmV?d00001 diff --git a/crm/optimize/media/gamification_tools_menu.png b/crm/optimize/media/gamification_tools_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..d578d70e9083ace6362cfc5069f6c3655fd1e443 GIT binary patch literal 44944 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 z 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 nUoXKK{a@^&r(0uDlsBN+nc2!A)90u; literal 0 HcmV?d00001 diff --git a/crm/optimize/media/goal_definitions.png b/crm/optimize/media/goal_definitions.png new file mode 100644 index 0000000000000000000000000000000000000000..ab008b13e7cd94e5c128389fc66d45caff298011 GIT binary patch literal 15525 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 literal 0 HcmV?d00001 From 0fe45eead92e77b74a6121911bf03955a937bfbc Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 12 Jun 2020 17:49:47 +0200 Subject: [PATCH 13/17] [FIX] legal/terms: more clarifications in v9 contracts (> v9b) --- legal/terms/enterprise.rst | 21 ++++++++++----------- legal/terms/i18n/enterprise_fr.rst | 27 ++++++++++++++++++--------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index e86a2391a..9d9a4a8a5 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,7 +6,7 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9a - 2020-06-10 +.. note:: Version 9b - 2020-06-12 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -14,6 +14,7 @@ Odoo Enterprise Subscription Agreement .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features +.. v9b: clarification that maintenance is opt-out + name of `cloc` command By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -58,9 +59,8 @@ Extra Module Partner on behalf of the Customer, or by third parties. Covered Extra Module - A Covered Extra Module is an Extra Module for which the Customer pays a maintenance fee - in order to get support, upgrade and bug fixing services, provided that the Customer works - with an Odoo Partner or is hosted on the Odoo Cloud Platform. + A Covered Extra Module is an Extra Module for which the Customer chooses to pay a maintenance + fee in order to get support, upgrade and bug fixing services. Bug Is considered a Bug any failure of the Software or of a Covered Extra Module that results in @@ -259,7 +259,6 @@ If the Customer decides to work with Odoo SA directly, services related to Cover are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. - .. _charges: 5 Charges and Fees @@ -279,12 +278,12 @@ of conclusion of this Agreement, the Customer agrees to pay an extra fee equival list price (at the beginning of the Term) for the additional Users or Apps, for the remainder of the Term. In addition, services for Covered Extra Modules are charged based on the number of lines of code -in these Covered Extra Modules. Unless otherwise specified in writing at the conclusion of the -Agreement, the charge is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred). -Lines of code will be counted with the tool provided by Odoo SA, and include all text lines in the -source code of those modules, regardless of the programming language (Python, Javascript, XML, etc.), -excluding blank lines, comment lines and files that are not loaded when installing or executing -the Software. +in these modules. When the Customer opts for the maintenance of Covered Extra Modules, the charge +is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred), unless otherwise +specified in writing at the conclusion of the Agreement. Lines of code will be counted with `cloc` +command of the Software, and include all text lines in the source code of those modules, regardless +of the programming language (Python, Javascript, XML, etc.), excluding blank lines, comment lines +and files that are not loaded when installing or executing the Software. When the Customer requests an upgrade, for each Covered Extra Module that has not been covered by a maintenance fee for the last 12 months, Odoo SA may charge a one-time extra fee of 16€ per 100 diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index 68e74987e..f2090ada0 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,7 +13,7 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9a - 2020-06-10 +.. note:: Version 9b - 2020-06-12 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -21,6 +21,7 @@ Odoo Enterprise Subscription Agreement (FR) .. v8.0: adapt for "Self-Hosting" + "Data Protection" for GDPR .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features +.. v9b: clarification that maintenance is opt-out + name of `cloc` command (+ paragraph 5.1 was partially outdated in FR) En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales @@ -68,9 +69,9 @@ Module Supplémentaire par des tiers. Module Supplémentaire Couvert - Un Module Supplémentaire pour lequel le Client paie un abonnement de maintenance pour obtenir - de l'assistance, des corrections de bug ou des migrations, à condition que le Client travaille - avec un Partenaire Odoo ou soit hébergé sur la Plate-forme Cloud. + Un Module Supplémentaire Couvert est un Module Supplémentaire pour lequel le Client choisit de + payer un abonnement de maintenance afin d'obtenir de l'assistance, des corrections de bug et + des migrations. Bug Désigne toute défaillance du Logiciel ou d'un Module Supplémentaire Couvert, qui se traduit par @@ -293,17 +294,25 @@ la Plate-forme Cloud d'Odoo. -------------------- Les tarifs standards pour le contrat d'abonnement à Odoo Enterprise et les Services sont basés sur le nombre -d'Utilisateurs et les Apps installées, et précisés par -écrit à la conclusion du contrat. +d'Utilisateurs et les Apps installées, et précisés par écrit à la conclusion du contrat. Pendant la durée du contrat, si le Client a plus d'Utilisateurs ou d'Apps que spécifié au moment de la conclusion du présent Contrat, le Client accepte de payer un supplément équivalent au tarif en vigueur applicable (au début du Contrat) pour les utilisateurs supplémentaires, pour le reste de la durée. -Si, au moment de la conclusion du présent Contrat, le Client utilise une Version Couverte qui -n'est pas la plus récente, les tarifs standards peuvent être augmentés de 50% pour la -première Durée du contrat, à la discrétion d'Odoo SA, pour couvrir les coûts de maintenance. +Par ailleurs, les services concernant les Modules Supplémentaires Couverts sont facturés sur base +du nombre de lignes de code dans ces modules. Lorsque le client opte pour l'abonnement de maintenance +des Modules Supplémentaires Couverts, le coût mensuel est de 16€ par 100 lignes de code (arrondi à la +centaine supérieure), sauf si spécifié par écrit à la conclusion du Contrat. Les lignes de code +sont comptées avec la commande `cloc` du Logiciel, et comprennent toutes les lignes de texte du code +source de ces modules, peu importe le langage de programmation (Python, Javascript, XML, etc.), +à l'exclusion des lignes vides, des lignes de commentaires et des fichiers qui ne sont pas chargés +à l'installation ou à l'exécution du Logiciel. + +Lorsque le Client demande une migration, pour chaque Module Supplémentaire Couvert qui n'a pas fait +l'objet de frais de maintenance pour les 12 derniers mois, Odoo SA peut facturer des frais +supplémentaires unique de 16€ par 100 lignes de code, pour chaque mois de maintenance manquant. .. _charges_renewal_fr: From 4501fdd18666cfe49d2478174f63beb505470274 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 12 Jun 2020 17:49:47 +0200 Subject: [PATCH 14/17] [FIX] legal/terms: more clarifications in v9 contracts (> v9b) --- legal/terms/enterprise.rst | 21 ++++++++++----------- legal/terms/i18n/enterprise_fr.rst | 27 ++++++++++++++++++--------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index 2cde78478..f02b49fe8 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,7 +6,7 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9a - 2020-06-10 +.. note:: Version 9b - 2020-06-12 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -15,6 +15,7 @@ Odoo Enterprise Subscription Agreement .. v8a: minor wording changes, tuned User definition, + copyright guarantee .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features +.. v9b: clarification that maintenance is opt-out + name of `cloc` command By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -59,9 +60,8 @@ Extra Module Partner on behalf of the Customer, or by third parties. Covered Extra Module - A Covered Extra Module is an Extra Module for which the Customer pays a maintenance fee - in order to get support, upgrade and bug fixing services, provided that the Customer works - with an Odoo Partner or is hosted on the Odoo Cloud Platform. + A Covered Extra Module is an Extra Module for which the Customer chooses to pay a maintenance + fee in order to get support, upgrade and bug fixing services. Bug Is considered a Bug any failure of the Software or of a Covered Extra Module that results in @@ -260,7 +260,6 @@ If the Customer decides to work with Odoo SA directly, services related to Cover are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. - .. _charges: 5 Charges and Fees @@ -280,12 +279,12 @@ of conclusion of this Agreement, the Customer agrees to pay an extra fee equival list price (at the beginning of the Term) for the additional Users or Apps, for the remainder of the Term. In addition, services for Covered Extra Modules are charged based on the number of lines of code -in these Covered Extra Modules. Unless otherwise specified in writing at the conclusion of the -Agreement, the charge is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred). -Lines of code will be counted with the tool provided by Odoo SA, and include all text lines in the -source code of those modules, regardless of the programming language (Python, Javascript, XML, etc.), -excluding blank lines, comment lines and files that are not loaded when installing or executing -the Software. +in these modules. When the Customer opts for the maintenance of Covered Extra Modules, the charge +is a monthly fee of 16€ per 100 lines of code (rounded up to the next hundred), unless otherwise +specified in writing at the conclusion of the Agreement. Lines of code will be counted with `cloc` +command of the Software, and include all text lines in the source code of those modules, regardless +of the programming language (Python, Javascript, XML, etc.), excluding blank lines, comment lines +and files that are not loaded when installing or executing the Software. When the Customer requests an upgrade, for each Covered Extra Module that has not been covered by a maintenance fee for the last 12 months, Odoo SA may charge a one-time extra fee of 16€ per 100 diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index db2cc4c91..354afd0bb 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,7 +13,7 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9a - 2020-06-10 +.. note:: Version 9b - 2020-06-12 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -22,6 +22,7 @@ Odoo Enterprise Subscription Agreement (FR) .. v8a: minor wording changes, tuned User definition, + copyright guarantee .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features +.. v9b: clarification that maintenance is opt-out + name of `cloc` command (+ paragraph 5.1 was partially outdated in FR) En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales (collectivement, "Odoo SA") en relation avec Odoo Enterprise Edition ou Odoo Community Edition @@ -68,9 +69,9 @@ Module Supplémentaire par des tiers. Module Supplémentaire Couvert - Un Module Supplémentaire pour lequel le Client paie un abonnement de maintenance pour obtenir - de l'assistance, des corrections de bug ou des migrations, à condition que le Client travaille - avec un Partenaire Odoo ou soit hébergé sur la Plate-forme Cloud. + Un Module Supplémentaire Couvert est un Module Supplémentaire pour lequel le Client choisit de + payer un abonnement de maintenance afin d'obtenir de l'assistance, des corrections de bug et + des migrations. Bug Désigne toute défaillance du Logiciel ou d'un Module Supplémentaire Couvert, qui se traduit par @@ -293,17 +294,25 @@ la Plate-forme Cloud d'Odoo. -------------------- Les tarifs standards pour le contrat d'abonnement à Odoo Enterprise et les Services sont basés sur le nombre -d'Utilisateurs et les Apps installées, et précisés par -écrit à la conclusion du contrat. +d'Utilisateurs et les Apps installées, et précisés par écrit à la conclusion du contrat. Pendant la durée du contrat, si le Client a plus d'Utilisateurs ou d'Apps que spécifié au moment de la conclusion du présent Contrat, le Client accepte de payer un supplément équivalent au tarif en vigueur applicable (au début du Contrat) pour les utilisateurs supplémentaires, pour le reste de la durée. -Si, au moment de la conclusion du présent Contrat, le Client utilise une Version Couverte qui -n'est pas la plus récente, les tarifs standards peuvent être augmentés de 50% pour la -première Durée du contrat, à la discrétion d'Odoo SA, pour couvrir les coûts de maintenance. +Par ailleurs, les services concernant les Modules Supplémentaires Couverts sont facturés sur base +du nombre de lignes de code dans ces modules. Lorsque le client opte pour l'abonnement de maintenance +des Modules Supplémentaires Couverts, le coût mensuel est de 16€ par 100 lignes de code (arrondi à la +centaine supérieure), sauf si spécifié par écrit à la conclusion du Contrat. Les lignes de code +sont comptées avec la commande `cloc` du Logiciel, et comprennent toutes les lignes de texte du code +source de ces modules, peu importe le langage de programmation (Python, Javascript, XML, etc.), +à l'exclusion des lignes vides, des lignes de commentaires et des fichiers qui ne sont pas chargés +à l'installation ou à l'exécution du Logiciel. + +Lorsque le Client demande une migration, pour chaque Module Supplémentaire Couvert qui n'a pas fait +l'objet de frais de maintenance pour les 12 derniers mois, Odoo SA peut facturer des frais +supplémentaires unique de 16€ par 100 lignes de code, pour chaque mois de maintenance manquant. .. _charges_renewal_fr: From c094ba8bee5316b0b09c526946c27d94e8d7ef65 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 15 Jun 2020 15:26:42 +0200 Subject: [PATCH 15/17] [FIX] legal/terms: re-apply minor changes from v8a to all branches --- legal/terms/enterprise.rst | 16 +++++++++------- legal/terms/i18n/enterprise_fr.rst | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index f02b49fe8..2cc227403 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,7 +6,7 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9b - 2020-06-12 +.. note:: Version 9c - 2020-06-15 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -16,6 +16,8 @@ Odoo Enterprise Subscription Agreement .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features .. v9b: clarification that maintenance is opt-out + name of `cloc` command +.. v9c: minor wording changes, tuned User definition, + copyright guarantee (re-application of v8a changes + on all branches) By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -215,7 +217,7 @@ Odoo SA commits to providing at least the following services: - Disaster Recovery Plan, tested regularly The details of the Cloud Hosting Services are described on the Service Level Agreement page at - https://www.odoo.com/cloud-sla. +https://www.odoo.com/cloud-sla. .. _support_service: @@ -489,9 +491,9 @@ Surviving Provisions: .. industry-standard warranties regarding our Services while Agreement in effect -Odoo SA owns the copyright or an equivalent[#g1]_ on 100% of the code of the Software, and confirms -that all the librairies required to use the Software are available under a licence compatible with -the licence of the Software. +Odoo SA owns the copyright or an equivalent [#cla1]_ on 100% of the code of the Software, and confirms +that all the software libraries required to use the Software are available under a licence compatible +with the licence of the Software. For the duration of this Agreement, Odoo SA commits to using commercially reasonable efforts to execute the Services in accordance with the generally accepted industry standards provided that: @@ -506,8 +508,8 @@ The Customer's sole and exclusive remedy and Odoo SA's only obligation for any b is for Odoo SA to resume the execution of the Services at no additional charge. -.. [#f1] External contributions are covered by a `CLA `_ + that provides a permanent, free and irrevocable, copyright and patent licence to Odoo SA. .. _disclaimers: diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index 354afd0bb..664638eef 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,7 +13,7 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9b - 2020-06-12 +.. note:: Version 9c - 2020-06-15 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -23,6 +23,8 @@ Odoo Enterprise Subscription Agreement (FR) .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features .. v9b: clarification that maintenance is opt-out + name of `cloc` command (+ paragraph 5.1 was partially outdated in FR) +.. v9c: minor wording changes, tuned User definition, + copyright guarantee (re-application of v8a changes + on all branches) En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales (collectivement, "Odoo SA") en relation avec Odoo Enterprise Edition ou Odoo Community Edition @@ -46,7 +48,7 @@ reconduit pour une même durée, à moins que l'une des parties n’envoie à l' ============= Utilisateur - Tout compte utilisateur actif donnant accès au Logiciel en mode création et/ou édition. + Tout compte utilisateur indiqué comme actif dans le Logiciel et donnant accès au mode création et/ou édition. Les comptes désactivés ainsi que ceux utilisés par des personnes ou systèmes extérieur(e)s n'ayant qu'un accès limité au Logiciel via le portail ("Utilisateurs Portail") ne sont pas comptés comme Utilisateurs. @@ -234,7 +236,7 @@ Odoo SA s'engage à fournir au minimum le service suivant: - Plan de Reprise d'Activité, testé régulièrement Les détails du Service d'Hébergement Cloud sont décrits sur la page du Service Level Agreement: - https://www.odoo.com/cloud-sla. +https://www.odoo.com/cloud-sla. .. _support_service_fr: @@ -519,8 +521,8 @@ Durée de l'applicabilité des dispositions: 7.1 Garantie ------------ -Odoo SA détient le copyright ou équivalent[#g1]_ sur 100% du code du Logiciel, et confirme que -toutes les librairies nécessaires au fonctionnement du Logiciel sont disponibles sous une +Odoo SA détient le copyright ou un équivalent [#cla_fr1]_ sur 100% du code du Logiciel, et confirme que +toutes les librairies logicielles nécessaires au fonctionnement du Logiciel sont disponibles sous une licence compatible avec la licence du Logiciel. Pendant la durée du présent contrat, Odoo SA s'engage à déployer les efforts @@ -538,8 +540,8 @@ La reprise de l'exécution des Services par Odoo SA sans frais supplémentaires unique réparation pour le Client et la seule obligation d'Odoo SA pour tout manquement à cette garantie. -.. [#f1] Les contributions externes sont couvertes par un `CLA `_ + fournissant une licence de copyright et de brevet permanente, gratuite et irrévocable à Odoo SA. .. _disclaimers_fr: From 47606228eae554487362a97f4141d69329bd885f Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 15 Jun 2020 16:04:46 +0200 Subject: [PATCH 16/17] [FIX] legal/terms: v9c : re-apply minor changes from v8a to all branches + fix duplicate block caused by fwd-port in 3682b19a0459239f52aa9cab2d9ef2109ed05fd1 --- legal/terms/enterprise.rst | 32 +++++++++--------------------- legal/terms/i18n/enterprise_fr.rst | 17 +++++++++------- 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/legal/terms/enterprise.rst b/legal/terms/enterprise.rst index 82514994f..2cc227403 100644 --- a/legal/terms/enterprise.rst +++ b/legal/terms/enterprise.rst @@ -6,7 +6,7 @@ Odoo Enterprise Subscription Agreement ====================================== -.. note:: Version 9b - 2020-06-12 +.. note:: Version 9c - 2020-06-15 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -16,6 +16,8 @@ Odoo Enterprise Subscription Agreement .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features .. v9b: clarification that maintenance is opt-out + name of `cloc` command +.. v9c: minor wording changes, tuned User definition, + copyright guarantee (re-application of v8a changes + on all branches) By subscribing to the Odoo Enterprise services (the "Services") provided by Odoo SA and its affiliates (collectively, "Odoo SA") in relation with Odoo Enterprise Edition or Odoo Community @@ -215,7 +217,7 @@ Odoo SA commits to providing at least the following services: - Disaster Recovery Plan, tested regularly The details of the Cloud Hosting Services are described on the Service Level Agreement page at - https://www.odoo.com/cloud-sla. +https://www.odoo.com/cloud-sla. .. _support_service: @@ -243,22 +245,6 @@ or when working with an Odoo Partner, the channel provided by the partner, subje opening hours. -.. _maintenance_partner: - -4.6 Working with an Odoo Partner --------------------------------- - -For bug fixes, support and upgrade services, the Customer may either work with an Odoo Partner -as the main point of contact, or work with Odoo SA directly. - -If the Customer decides to work with an Odoo Partner, Odoo SA will subcontract services related -to the Covered Extra Modules to the Odoo Partner, who becomes the main point of contact of the -customer. The Odoo Partner may contact Odoo SA on behalf of the customer for second-level assistance -with regard to standard features of the Software. - -If the Customer decides to work with Odoo SA directly, services related to Covered Extra Modules -are provided *if and only if* the Customer is hosted on the Odoo Cloud Platform. - .. _maintenance_partner: 4.6 Working with an Odoo Partner @@ -505,9 +491,9 @@ Surviving Provisions: .. industry-standard warranties regarding our Services while Agreement in effect -Odoo SA owns the copyright or an equivalent[#g1]_ on 100% of the code of the Software, and confirms -that all the librairies required to use the Software are available under a licence compatible with -the licence of the Software. +Odoo SA owns the copyright or an equivalent [#cla1]_ on 100% of the code of the Software, and confirms +that all the software libraries required to use the Software are available under a licence compatible +with the licence of the Software. For the duration of this Agreement, Odoo SA commits to using commercially reasonable efforts to execute the Services in accordance with the generally accepted industry standards provided that: @@ -522,8 +508,8 @@ The Customer's sole and exclusive remedy and Odoo SA's only obligation for any b is for Odoo SA to resume the execution of the Services at no additional charge. -.. [#f1] External contributions are covered by a `CLA `_ + that provides a permanent, free and irrevocable, copyright and patent licence to Odoo SA. .. _disclaimers: diff --git a/legal/terms/i18n/enterprise_fr.rst b/legal/terms/i18n/enterprise_fr.rst index dc99dcc19..664638eef 100644 --- a/legal/terms/i18n/enterprise_fr.rst +++ b/legal/terms/i18n/enterprise_fr.rst @@ -13,7 +13,7 @@ Odoo Enterprise Subscription Agreement (FR) La seule référence officielle des termes du contrat “Odoo Enterprise Subscription Agreement” est la :ref:`version originale en anglais `. -.. note:: Version 9b - 2020-06-12 +.. note:: Version 9c - 2020-06-15 .. v6: add "App" definition + update pricing per-App .. v7: remove possibility of price change at renewal after prior notice @@ -23,6 +23,8 @@ Odoo Enterprise Subscription Agreement (FR) .. v9.0: add "Working with an Odoo Partner" + Maintenance of [Covered] Extra Modules + simplifications .. v9a: clarification wrt second-level assistance for standard features .. v9b: clarification that maintenance is opt-out + name of `cloc` command (+ paragraph 5.1 was partially outdated in FR) +.. v9c: minor wording changes, tuned User definition, + copyright guarantee (re-application of v8a changes + on all branches) En vous abonnant aux services de Odoo Enterprise (les "Services") fournis par Odoo SA et ses filiales (collectivement, "Odoo SA") en relation avec Odoo Enterprise Edition ou Odoo Community Edition @@ -46,7 +48,7 @@ reconduit pour une même durée, à moins que l'une des parties n’envoie à l' ============= Utilisateur - Tout compte utilisateur actif donnant accès au Logiciel en mode création et/ou édition. + Tout compte utilisateur indiqué comme actif dans le Logiciel et donnant accès au mode création et/ou édition. Les comptes désactivés ainsi que ceux utilisés par des personnes ou systèmes extérieur(e)s n'ayant qu'un accès limité au Logiciel via le portail ("Utilisateurs Portail") ne sont pas comptés comme Utilisateurs. @@ -234,7 +236,7 @@ Odoo SA s'engage à fournir au minimum le service suivant: - Plan de Reprise d'Activité, testé régulièrement Les détails du Service d'Hébergement Cloud sont décrits sur la page du Service Level Agreement: - https://www.odoo.com/cloud-sla. +https://www.odoo.com/cloud-sla. .. _support_service_fr: @@ -325,6 +327,7 @@ Lors de la reconduction telle que décrite à la section :ref:`term_fr`, si les qui ont été appliqués pendant la Durée précédente sont inférieurs aux tarifs par Utilisateur en vigueur les plus récents, les tarifs par Utilisateur augmenteront automatiquement de maximum 7% par reconduction, sans dépasser les tarifs en vigueur les plus récents. + .. _taxes_fr: 5.3 Taxes et impôts @@ -518,8 +521,8 @@ Durée de l'applicabilité des dispositions: 7.1 Garantie ------------ -Odoo SA détient le copyright ou équivalent[#g1]_ sur 100% du code du Logiciel, et confirme que -toutes les librairies nécessaires au fonctionnement du Logiciel sont disponibles sous une +Odoo SA détient le copyright ou un équivalent [#cla_fr1]_ sur 100% du code du Logiciel, et confirme que +toutes les librairies logicielles nécessaires au fonctionnement du Logiciel sont disponibles sous une licence compatible avec la licence du Logiciel. Pendant la durée du présent contrat, Odoo SA s'engage à déployer les efforts @@ -537,8 +540,8 @@ La reprise de l'exécution des Services par Odoo SA sans frais supplémentaires unique réparation pour le Client et la seule obligation d'Odoo SA pour tout manquement à cette garantie. -.. [#f1] Les contributions externes sont couvertes par un `CLA `_ + fournissant une licence de copyright et de brevet permanente, gratuite et irrévocable à Odoo SA. .. _disclaimers_fr: From e20a4e42b7e1d35eb7e08a3451cb67d13c53d50f Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 15 Jun 2020 18:40:36 +0200 Subject: [PATCH 17/17] [IMP] odoo.sty: shorten PDF docs by moving title up on first page --- _static/latex/odoo.sty | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_static/latex/odoo.sty b/_static/latex/odoo.sty index 42431a5a6..41f4eb2e2 100644 --- a/_static/latex/odoo.sty +++ b/_static/latex/odoo.sty @@ -82,7 +82,7 @@ \renewcommand{\footrulewidth}{0.1pt} \renewcommand{\maketitle}{% - \noindent\rule{\textwidth}{1pt}\par + \vspace*{-2.5cm} \begin{flushright} \sphinxlogo \py@HeaderFamily @@ -99,7 +99,7 @@ % layout is slightly different on the titlepage \providecommand\sphinxmaketitle{} \renewcommand{\sphinxmaketitle}{% - \noindent\rule{\textwidth}{1pt}\par + \vspace*{-2.5cm} \begin{flushright} \sphinxlogo \py@HeaderFamily