diff --git a/README.md b/README.md
index bd4b436e0b..1f8d92dea0 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
-[contract](contract/) | 17.0.1.5.4 | | Recurring - Contracts Management
+[contract](contract/) | 17.0.1.5.5 | | Recurring - Contracts Management
[contract_analytic_tag](contract_analytic_tag/) | 17.0.1.0.0 |
| Contract Analytic Tag
[contract_invoice_auto_validate](contract_invoice_auto_validate/) | 17.0.1.0.0 |
| This addon auto-validate invoices after its creation from a contract
[contract_invoice_start_end_dates](contract_invoice_start_end_dates/) | 17.0.1.0.0 |
| Contract Invoice Start End Dates
diff --git a/contract/README.rst b/contract/README.rst
index 1c2dc198eb..46f32d2afc 100644
--- a/contract/README.rst
+++ b/contract/README.rst
@@ -11,7 +11,7 @@ Recurring - Contracts Management
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:ca0e30699a36292fd87dcaf6095f1bbf7b7c370e27f9710334eb999511fed762
+ !! source digest: sha256:7383f450335d5de5254107c0be5c5baa2a7e2a491f5b2faa7de9a8f282f6a893
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
diff --git a/contract/__manifest__.py b/contract/__manifest__.py
index 4314f6d011..a3fb914bba 100644
--- a/contract/__manifest__.py
+++ b/contract/__manifest__.py
@@ -11,7 +11,7 @@
{
"name": "Recurring - Contracts Management",
- "version": "17.0.1.5.4",
+ "version": "17.0.1.5.5",
"category": "Contract Management",
"license": "AGPL-3",
"author": "Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)",
diff --git a/contract/i18n/am.po b/contract/i18n/am.po
index c085e6926b..589adb9e52 100644
--- a/contract/i18n/am.po
+++ b/contract/i18n/am.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ar.po b/contract/i18n/ar.po
index 9da3cc5f12..5f0cda2ea5 100644
--- a/contract/i18n/ar.po
+++ b/contract/i18n/ar.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/bg.po b/contract/i18n/bg.po
index 74df94eb3c..e3f19ab8bb 100644
--- a/contract/i18n/bg.po
+++ b/contract/i18n/bg.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/bs.po b/contract/i18n/bs.po
index 99f502ecf8..940984af6d 100644
--- a/contract/i18n/bs.po
+++ b/contract/i18n/bs.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ca.po b/contract/i18n/ca.po
index fa1a23e8c9..7a45388eda 100644
--- a/contract/i18n/ca.po
+++ b/contract/i18n/ca.po
@@ -2552,6 +2552,15 @@ msgstr ""
"No es pot tenir la data d'inici posterior a la data de la darrera factura "
"per la línia de factura '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ca_ES.po b/contract/i18n/ca_ES.po
index f870d44493..7d6c459100 100644
--- a/contract/i18n/ca_ES.po
+++ b/contract/i18n/ca_ES.po
@@ -2379,6 +2379,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/contract.pot b/contract/i18n/contract.pot
index 56c63e7936..1eb9fd61e9 100644
--- a/contract/i18n/contract.pot
+++ b/contract/i18n/contract.pot
@@ -2348,6 +2348,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/cs.po b/contract/i18n/cs.po
index e3d29900d5..9b0e143c12 100644
--- a/contract/i18n/cs.po
+++ b/contract/i18n/cs.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/da.po b/contract/i18n/da.po
index d0aabf1618..3494f3311f 100644
--- a/contract/i18n/da.po
+++ b/contract/i18n/da.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/de.po b/contract/i18n/de.po
index 6ccd44cfb1..053f07abb9 100644
--- a/contract/i18n/de.po
+++ b/contract/i18n/de.po
@@ -2550,6 +2550,15 @@ msgstr ""
"Das Startdatum darf nicht vor dem Datum der letzten Rechnung der "
"Vertragsposition '%s' liegen."
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/el_GR.po b/contract/i18n/el_GR.po
index 2930dcfb11..808d198845 100644
--- a/contract/i18n/el_GR.po
+++ b/contract/i18n/el_GR.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/en_GB.po b/contract/i18n/en_GB.po
index 701726401d..dffb83a253 100644
--- a/contract/i18n/en_GB.po
+++ b/contract/i18n/en_GB.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es.po b/contract/i18n/es.po
index 417b253bd0..2e4b7b7295 100644
--- a/contract/i18n/es.po
+++ b/contract/i18n/es.po
@@ -2556,6 +2556,15 @@ msgstr ""
"No puede tener la fecha de inicio posterior a la fecha de la última factura "
"para la línea del contrato '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_AR.po b/contract/i18n/es_AR.po
index ca9991b09a..9fefc52d25 100644
--- a/contract/i18n/es_AR.po
+++ b/contract/i18n/es_AR.po
@@ -2473,6 +2473,15 @@ msgstr ""
"No puede tener la fecha de inicio posterior a la fecha de la última factura "
"para la línea de contrato '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_CL.po b/contract/i18n/es_CL.po
index 6fa1181944..d4e0ab52f1 100644
--- a/contract/i18n/es_CL.po
+++ b/contract/i18n/es_CL.po
@@ -2381,6 +2381,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_CO.po b/contract/i18n/es_CO.po
index 1a574d5ed2..c48f9661e9 100644
--- a/contract/i18n/es_CO.po
+++ b/contract/i18n/es_CO.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_CR.po b/contract/i18n/es_CR.po
index ff9dc73af7..7a76c239bc 100644
--- a/contract/i18n/es_CR.po
+++ b/contract/i18n/es_CR.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_DO.po b/contract/i18n/es_DO.po
index 1e8b7d7d88..371a39e95c 100644
--- a/contract/i18n/es_DO.po
+++ b/contract/i18n/es_DO.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_EC.po b/contract/i18n/es_EC.po
index c40e3dda3c..362dcd2a4a 100644
--- a/contract/i18n/es_EC.po
+++ b/contract/i18n/es_EC.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_MX.po b/contract/i18n/es_MX.po
index 858d2dfbbe..f62fbe188c 100644
--- a/contract/i18n/es_MX.po
+++ b/contract/i18n/es_MX.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_PY.po b/contract/i18n/es_PY.po
index 5487ddb2ce..0ce36b3bb0 100644
--- a/contract/i18n/es_PY.po
+++ b/contract/i18n/es_PY.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/es_VE.po b/contract/i18n/es_VE.po
index 048fdd5061..36b70b600c 100644
--- a/contract/i18n/es_VE.po
+++ b/contract/i18n/es_VE.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/et.po b/contract/i18n/et.po
index f57455d6de..0825aea148 100644
--- a/contract/i18n/et.po
+++ b/contract/i18n/et.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/eu.po b/contract/i18n/eu.po
index 1706c52f00..4d25ece71b 100644
--- a/contract/i18n/eu.po
+++ b/contract/i18n/eu.po
@@ -2383,6 +2383,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fa.po b/contract/i18n/fa.po
index 9e8f34670f..125f0bfed4 100644
--- a/contract/i18n/fa.po
+++ b/contract/i18n/fa.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fi.po b/contract/i18n/fi.po
index 64d709282b..2b07d182c8 100644
--- a/contract/i18n/fi.po
+++ b/contract/i18n/fi.po
@@ -2426,6 +2426,15 @@ msgid ""
"contract line '%s'"
msgstr "Sopimusrivin '%s' alkupäivä ei voi olla päättymispäivän jälkeen"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fr.po b/contract/i18n/fr.po
index ed159dd422..a32a6c0fbf 100644
--- a/contract/i18n/fr.po
+++ b/contract/i18n/fr.po
@@ -2546,6 +2546,15 @@ msgstr ""
"Il n'est pas permis d'avoir une date de début postérieure à une date de "
"facture pour la ligne '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fr_CA.po b/contract/i18n/fr_CA.po
index 8e4d68ad7d..1abaf33154 100644
--- a/contract/i18n/fr_CA.po
+++ b/contract/i18n/fr_CA.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fr_CH.po b/contract/i18n/fr_CH.po
index 857222bbf0..7e94a149e3 100644
--- a/contract/i18n/fr_CH.po
+++ b/contract/i18n/fr_CH.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/fr_FR.po b/contract/i18n/fr_FR.po
index 01dab120aa..05b805fa45 100644
--- a/contract/i18n/fr_FR.po
+++ b/contract/i18n/fr_FR.po
@@ -2433,6 +2433,15 @@ msgstr ""
"Il n'est pas permis d'avoir une date de début postérieure à une date de "
"facture pour la ligne '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/gl.po b/contract/i18n/gl.po
index 98a81b80c5..2d16f8ee09 100644
--- a/contract/i18n/gl.po
+++ b/contract/i18n/gl.po
@@ -2445,6 +2445,15 @@ msgstr ""
"Non pode ter unha data para a seguinte factura anterior á data de inicio do "
"contrato '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/gl_ES.po b/contract/i18n/gl_ES.po
index dbaa9b6510..8858bbf2b0 100644
--- a/contract/i18n/gl_ES.po
+++ b/contract/i18n/gl_ES.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/he.po b/contract/i18n/he.po
index 1f1165ba70..181c73b7af 100644
--- a/contract/i18n/he.po
+++ b/contract/i18n/he.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/hi_IN.po b/contract/i18n/hi_IN.po
index cab01ed255..5aad6a11c4 100644
--- a/contract/i18n/hi_IN.po
+++ b/contract/i18n/hi_IN.po
@@ -2420,6 +2420,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/hr.po b/contract/i18n/hr.po
index 7de92bf76b..386b62316c 100644
--- a/contract/i18n/hr.po
+++ b/contract/i18n/hr.po
@@ -2431,6 +2431,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/hr_HR.po b/contract/i18n/hr_HR.po
index 0c123ad939..6af4e904b0 100644
--- a/contract/i18n/hr_HR.po
+++ b/contract/i18n/hr_HR.po
@@ -2432,6 +2432,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/hu.po b/contract/i18n/hu.po
index b755fa3fbb..e9d31a9a36 100644
--- a/contract/i18n/hu.po
+++ b/contract/i18n/hu.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/id.po b/contract/i18n/id.po
index 0a13947b54..a9ab83a3b7 100644
--- a/contract/i18n/id.po
+++ b/contract/i18n/id.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/it.po b/contract/i18n/it.po
index b675d6904b..11fb639c0a 100644
--- a/contract/i18n/it.po
+++ b/contract/i18n/it.po
@@ -2558,6 +2558,15 @@ msgstr ""
"Non è possibile avere la data di inizio successiva alla data dell'ultima "
"fattura per la riga contratto '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ja.po b/contract/i18n/ja.po
index b1e44808b7..795d54e2d7 100644
--- a/contract/i18n/ja.po
+++ b/contract/i18n/ja.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ko.po b/contract/i18n/ko.po
index 9223e564d9..a3630b5cb1 100644
--- a/contract/i18n/ko.po
+++ b/contract/i18n/ko.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/lt.po b/contract/i18n/lt.po
index c5c4f8f2f0..aa66b25778 100644
--- a/contract/i18n/lt.po
+++ b/contract/i18n/lt.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/lt_LT.po b/contract/i18n/lt_LT.po
index 86c458e038..4077fff979 100644
--- a/contract/i18n/lt_LT.po
+++ b/contract/i18n/lt_LT.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/lv.po b/contract/i18n/lv.po
index ed7caad367..7100e26246 100644
--- a/contract/i18n/lv.po
+++ b/contract/i18n/lv.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/mk.po b/contract/i18n/mk.po
index 2cef880b1a..e7b9bc01a2 100644
--- a/contract/i18n/mk.po
+++ b/contract/i18n/mk.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/mn.po b/contract/i18n/mn.po
index 1d6f77ca06..040d822c68 100644
--- a/contract/i18n/mn.po
+++ b/contract/i18n/mn.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/nb.po b/contract/i18n/nb.po
index 502f0de01e..edc244f664 100644
--- a/contract/i18n/nb.po
+++ b/contract/i18n/nb.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/nb_NO.po b/contract/i18n/nb_NO.po
index d24dc098e4..1b5be65761 100644
--- a/contract/i18n/nb_NO.po
+++ b/contract/i18n/nb_NO.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/nl.po b/contract/i18n/nl.po
index ea9683780d..4228cb0b56 100644
--- a/contract/i18n/nl.po
+++ b/contract/i18n/nl.po
@@ -2543,6 +2543,15 @@ msgstr ""
"U kunt geen startdatum hebben na de datum van de laatste factuur voor de "
"contractregel '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/nl_BE.po b/contract/i18n/nl_BE.po
index dfe0e27e95..cfa9fcde36 100644
--- a/contract/i18n/nl_BE.po
+++ b/contract/i18n/nl_BE.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/nl_NL.po b/contract/i18n/nl_NL.po
index bfcc7c1a04..690229a687 100644
--- a/contract/i18n/nl_NL.po
+++ b/contract/i18n/nl_NL.po
@@ -2419,6 +2419,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/pl.po b/contract/i18n/pl.po
index 65528ef4c7..8488d1841e 100644
--- a/contract/i18n/pl.po
+++ b/contract/i18n/pl.po
@@ -2387,6 +2387,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/pt.po b/contract/i18n/pt.po
index a706f363a8..eb4f08007a 100644
--- a/contract/i18n/pt.po
+++ b/contract/i18n/pt.po
@@ -2414,6 +2414,15 @@ msgstr ""
"Não pode ter uma data de início posterior à da última fatura para a linha de "
"contrato '%s'"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/pt_BR.po b/contract/i18n/pt_BR.po
index c3f1e303c8..2a54177780 100644
--- a/contract/i18n/pt_BR.po
+++ b/contract/i18n/pt_BR.po
@@ -2539,6 +2539,15 @@ msgstr ""
"Você não pode ter uma data inicial após a data da última fatura para a linha "
"do contrato '%s\""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/pt_PT.po b/contract/i18n/pt_PT.po
index 386745e456..7bb08c1076 100644
--- a/contract/i18n/pt_PT.po
+++ b/contract/i18n/pt_PT.po
@@ -2389,6 +2389,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ro.po b/contract/i18n/ro.po
index 0f7754757d..85cf4d1935 100644
--- a/contract/i18n/ro.po
+++ b/contract/i18n/ro.po
@@ -2388,6 +2388,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/ru.po b/contract/i18n/ru.po
index 5efc8db143..61f140b9a9 100644
--- a/contract/i18n/ru.po
+++ b/contract/i18n/ru.po
@@ -2421,6 +2421,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sk.po b/contract/i18n/sk.po
index 1de3fa4138..fb5987690c 100644
--- a/contract/i18n/sk.po
+++ b/contract/i18n/sk.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sk_SK.po b/contract/i18n/sk_SK.po
index bd54ba8809..001eb64193 100644
--- a/contract/i18n/sk_SK.po
+++ b/contract/i18n/sk_SK.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sl.po b/contract/i18n/sl.po
index 0990344367..844732039e 100644
--- a/contract/i18n/sl.po
+++ b/contract/i18n/sl.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sr.po b/contract/i18n/sr.po
index 47e1b8202f..d82eee1adc 100644
--- a/contract/i18n/sr.po
+++ b/contract/i18n/sr.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sr@latin.po b/contract/i18n/sr@latin.po
index 28ce8238b8..acfbea411c 100644
--- a/contract/i18n/sr@latin.po
+++ b/contract/i18n/sr@latin.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/sv.po b/contract/i18n/sv.po
index c866ccc129..e2b76d57de 100644
--- a/contract/i18n/sv.po
+++ b/contract/i18n/sv.po
@@ -2547,6 +2547,15 @@ msgstr ""
"Du kan inte ha startdatumet efter datumet för den senaste fakturan för "
"avtalsraden \"%s"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/th.po b/contract/i18n/th.po
index dcc0e8ecbb..576ed5df97 100644
--- a/contract/i18n/th.po
+++ b/contract/i18n/th.po
@@ -2385,6 +2385,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/tr.po b/contract/i18n/tr.po
index 6e13866844..24635c9e66 100644
--- a/contract/i18n/tr.po
+++ b/contract/i18n/tr.po
@@ -2478,6 +2478,15 @@ msgstr ""
"'%s' abonelik satırı için son fatura tarihinden sonra bir başlangıç tarihi "
"olamaz"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/tr_TR.po b/contract/i18n/tr_TR.po
index b37f2f293d..475bcbe249 100644
--- a/contract/i18n/tr_TR.po
+++ b/contract/i18n/tr_TR.po
@@ -2430,6 +2430,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/uk.po b/contract/i18n/uk.po
index 526b90bb2b..54d6c16d96 100644
--- a/contract/i18n/uk.po
+++ b/contract/i18n/uk.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/vi.po b/contract/i18n/vi.po
index f8ea53370d..4eb4d2d3f1 100644
--- a/contract/i18n/vi.po
+++ b/contract/i18n/vi.po
@@ -2384,6 +2384,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/vi_VN.po b/contract/i18n/vi_VN.po
index 160319fe9c..c829e815ab 100644
--- a/contract/i18n/vi_VN.po
+++ b/contract/i18n/vi_VN.po
@@ -2386,6 +2386,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/zh_CN.po b/contract/i18n/zh_CN.po
index 61610b5823..74aa1dfdb8 100644
--- a/contract/i18n/zh_CN.po
+++ b/contract/i18n/zh_CN.po
@@ -2418,6 +2418,15 @@ msgid ""
"contract line '%s'"
msgstr "在合同行'%s'的最后一张发票日期之后,您不能拥有开始日期"
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/i18n/zh_TW.po b/contract/i18n/zh_TW.po
index 47ffc3fae7..e0e32eda92 100644
--- a/contract/i18n/zh_TW.po
+++ b/contract/i18n/zh_TW.po
@@ -2389,6 +2389,15 @@ msgid ""
"contract line '%s'"
msgstr ""
+#. module: contract
+#. odoo-python
+#: code:addons/contract/models/contract.py:0
+#, python-format
+msgid ""
+"You cannot disable the 'Recurrence at line level' option if there are "
+"already invoices generated for this contract."
+msgstr ""
+
#. module: contract
#. odoo-python
#: code:addons/contract/models/contract_line.py:0
diff --git a/contract/models/contract.py b/contract/models/contract.py
index 0057e833fe..d07fb773ff 100644
--- a/contract/models/contract.py
+++ b/contract/models/contract.py
@@ -180,6 +180,17 @@ def create(self, vals_list):
records._set_start_contract_modification()
return records
+ @api.constrains("line_recurrence")
+ def _check_line_recurrence(self):
+ for record in self:
+ if not record.line_recurrence and record.invoice_count > 0:
+ raise UserError(
+ _(
+ "You cannot disable the 'Recurrence at line level' option "
+ "if there are already invoices generated for this contract."
+ )
+ )
+
def write(self, vals):
if "modification_ids" in vals:
res = super(
diff --git a/contract/static/description/index.html b/contract/static/description/index.html
index 1aae071dcd..117756e1f5 100644
--- a/contract/static/description/index.html
+++ b/contract/static/description/index.html
@@ -372,7 +372,7 @@
This module enables contracts management with recurring invoicing
diff --git a/contract/tests/test_contract.py b/contract/tests/test_contract.py
index 0559e30a2b..9e9f6779a4 100644
--- a/contract/tests/test_contract.py
+++ b/contract/tests/test_contract.py
@@ -2395,6 +2395,8 @@ def test_recurring_create_invoice(self):
self.assertEqual(len(self.contract._get_related_invoices()), 4)
self.contract.recurring_create_invoice()
self.assertEqual(len(self.contract._get_related_invoices()), 4)
+ with self.assertRaises(UserError):
+ self.contract.line_recurrence = False
@freeze_time("2023-05-01")
def test_check_month_name_marker(self):
diff --git a/contract/views/contract.xml b/contract/views/contract.xml
index 0cac09f3c6..374c70b660 100644
--- a/contract/views/contract.xml
+++ b/contract/views/contract.xml
@@ -142,6 +142,7 @@
name="line_recurrence"
class="oe_inline"
readonly="line_recurrence and invoice_count != 0"
+ force_save="1"
/>