diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG
index a051ed631f..4f731134a3 100644
--- a/trytond/CHANGELOG
+++ b/trytond/CHANGELOG
@@ -1,3 +1,4 @@
+* Allow configuring TinyMCE license key
* Add tools to apply types to SQLite select queries
* Compress RPC responses
* Change _changed_values and _save_values properties to method
diff --git a/trytond/doc/topics/configuration.rst b/trytond/doc/topics/configuration.rst
index 6ffb7d020c..f88ffc68eb 100644
--- a/trytond/doc/topics/configuration.rst
+++ b/trytond/doc/topics/configuration.rst
@@ -828,6 +828,15 @@ The URL pointing to `TinyMCE `_ editor.
Default: ``https://cloud.tinymce.com/stable/tinymce.min.js``
+.. _config-html.license_key:
+
+license_key
+~~~~~~~~~~~
+
+The license key for TinyMCE.
+
+Default: ``gpl``
+
.. _config-html.plugins:
plugins
diff --git a/trytond/trytond/ir/routes.py b/trytond/trytond/ir/routes.py
index 4f596b4868..d2957e7006 100644
--- a/trytond/trytond/ir/routes.py
+++ b/trytond/trytond/ir/routes.py
@@ -18,6 +18,7 @@ from trytond.wsgi import app
SOURCE = config.get(
'html', 'src',
default='https://cdn.tiny.cloud/1/no-api-key/tinymce/7/tinymce.min.js')
+LICENSE_KEY = config.get('html', 'license_key', default='gpl')
AVATAR_TIMEOUT = config.getint(
'web', 'avatar_timeout', default=7 * 24 * 60 * 60)
_request_timeout = config.getint('request', 'timeout', default=0)
@@ -86,6 +87,7 @@ def html_editor(request, pool, model, record, field):
return Response(TEMPLATE % {
'source': SOURCE,
+ 'license_key': LICENSE_KEY,
'plugins': get_config(
['plugins', model, field.name], default=''),
'css': get_config(
@@ -108,6 +110,7 @@ TEMPLATE = '''