diff --git a/.tx/config b/.tx/config
index e7aea81b02..7646ab4c4d 100644
--- a/.tx/config
+++ b/.tx/config
@@ -406,6 +406,15 @@ resource_name = marketing_agency
replace_edited_strings = false
keep_translations = false
+[o:odoo:p:odoo-s18-4:r:marketplace]
+file_filter = marketplace/i18n/.po
+source_file = marketplace/i18n/marketplace.pot
+type = PO
+minimum_perc = 0
+resource_name = marketplace
+replace_edited_strings = false
+keep_translations = false
+
[o:odoo:p:odoo-s18-4:r:micro_brewery]
file_filter = micro_brewery/i18n/.po
source_file = micro_brewery/i18n/micro_brewery.pot
diff --git a/marketplace/__manifest__.py b/marketplace/__manifest__.py
new file mode 100644
index 0000000000..925adc06f3
--- /dev/null
+++ b/marketplace/__manifest__.py
@@ -0,0 +1,45 @@
+{
+ 'name': 'Marketplace',
+ 'version': '1.0',
+ 'category': 'Services',
+ 'depends': [
+ 'contacts',
+ 'crm',
+ 'hr',
+ 'knowledge',
+ 'project',
+ 'sale_purchase',
+ 'stock',
+ 'web_studio',
+ 'website',
+ 'website_sale',
+ ],
+ 'data': [
+ 'data/knowledge_article.xml',
+ 'data/knowledge_article_favorite.xml',
+ 'data/mail_message.xml',
+ 'data/ir_model_fields.xml',
+ 'data/res_config_settings.xml',
+ 'data/res_config_settings_views.xml',
+ 'data/products_portal_templates.xml',
+ 'data/project_task_type.xml',
+ 'data/project_project.xml',
+ 'data/website_view.xml',
+ 'data/ir_actions_server.xml',
+ ],
+ 'demo': [
+ 'demo/res_config_settings.xml',
+ 'demo/res_partner.xml',
+ 'demo/res_users.xml',
+ 'demo/product_template.xml',
+ 'demo/product_product.xml',
+ ],
+ 'license': 'OPL-1',
+ 'author': 'Odoo S.A.',
+ "cloc_exclude": [
+ "data/knowledge_article.xml",
+ "data/products_portal_templates.xml",
+ "data/website_view.xml",
+ ],
+ 'images': ['images/main.png'],
+}
diff --git a/marketplace/data/ir_actions_server.xml b/marketplace/data/ir_actions_server.xml
new file mode 100644
index 0000000000..a2d7a87527
--- /dev/null
+++ b/marketplace/data/ir_actions_server.xml
@@ -0,0 +1,77 @@
+
+
+
+ Request from "+request.params.get('email_from')+" / "+request.params.get('phone')+"
Company: "\
+ +request.params.get('company')+"
"+request.params.get('question')+"
",
+})
+response = request.make_json_response({'id': new_project_task.id}, status=200)]]>
+
+ code
+ True
+ new_change_request
+ Create change request task
+
+
+
+
+ code
+ True
+ create_product
+ Create product
+
+
+ Route displaying products
+
+ code
+ True
+ products
+
+
+
+ Route displaying new product form
+
+ code
+ True
+ new_product
+
+
+
+ Route displaying Request a change form
+
+ code
+ True
+ change_request
+
+
+
diff --git a/marketplace/data/ir_model_fields.xml b/marketplace/data/ir_model_fields.xml
new file mode 100644
index 0000000000..ffff332eb4
--- /dev/null
+++ b/marketplace/data/ir_model_fields.xml
@@ -0,0 +1,18 @@
+
+
+
+ x_products_manager
+
+ Products manager
+ res.users
+ many2one
+
+
+
+ x_vendor
+ many2one
+ Vendor of the Product
+
+ res.users
+
+
diff --git a/marketplace/data/knowledge_article.xml b/marketplace/data/knowledge_article.xml
new file mode 100644
index 0000000000..612d124243
--- /dev/null
+++ b/marketplace/data/knowledge_article.xml
@@ -0,0 +1,18 @@
+
+
+
+ Marketplace
+
+
+
+ Marketplace
+
+ write
+
+
+
+
+
+
+
+
diff --git a/marketplace/data/knowledge_article_favorite.xml b/marketplace/data/knowledge_article_favorite.xml
new file mode 100644
index 0000000000..3d5b6471e4
--- /dev/null
+++ b/marketplace/data/knowledge_article_favorite.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/marketplace/data/mail_message.xml b/marketplace/data/mail_message.xml
new file mode 100644
index 0000000000..473a6f6198
--- /dev/null
+++ b/marketplace/data/mail_message.xml
@@ -0,0 +1,15 @@
+
+
+
+ discuss.channel
+
+ email
+
+
+ 🚀 Get started with Odoo Marketplace
+
+
+
diff --git a/marketplace/data/products_portal_templates.xml b/marketplace/data/products_portal_templates.xml
new file mode 100644
index 0000000000..c64c6f7018
--- /dev/null
+++ b/marketplace/data/products_portal_templates.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+ Your Products
+ Manage you products and stock
+
+
+
+
+
+
+
+
+
+
+
+
+ Products
+
+ New product
+ Request change
+
+ There are currently no products for your account.
+
+
+
+
+
+ | Products |
+
+
+
+
+ |
+ Name:
+ |
+
+
+
+
+
+
+
diff --git a/marketplace/data/project_project.xml b/marketplace/data/project_project.xml
new file mode 100644
index 0000000000..dc92c167b8
--- /dev/null
+++ b/marketplace/data/project_project.xml
@@ -0,0 +1,9 @@
+
+
+
+ Product Management
+
+
+
+
+
diff --git a/marketplace/data/project_task_type.xml b/marketplace/data/project_task_type.xml
new file mode 100644
index 0000000000..fcef2fdc07
--- /dev/null
+++ b/marketplace/data/project_task_type.xml
@@ -0,0 +1,25 @@
+
+
+
+ 1
+ New
+
+
+ 5
+ Planned
+
+
+ 10
+ In Progress
+
+
+ 20
+ Done
+
+
+
+ 25
+ Cancelled
+
+
+
diff --git a/marketplace/data/res_config_settings.xml b/marketplace/data/res_config_settings.xml
new file mode 100644
index 0000000000..030d6d98c5
--- /dev/null
+++ b/marketplace/data/res_config_settings.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/marketplace/data/res_config_settings_views.xml b/marketplace/data/res_config_settings_views.xml
new file mode 100644
index 0000000000..50572c6a55
--- /dev/null
+++ b/marketplace/data/res_config_settings_views.xml
@@ -0,0 +1,22 @@
+
+
+
+ res.config.settings.view.form.inherit.website
+ res.config.settings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/marketplace/data/website_view.xml b/marketplace/data/website_view.xml
new file mode 100644
index 0000000000..3bdf292a84
--- /dev/null
+++ b/marketplace/data/website_view.xml
@@ -0,0 +1,238 @@
+
+
+
+ marketplace.new_product_page
+ New Product
+ qweb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Suggest a new product
+
+
+
+
+
+
+
+
+
+ marketplace.request_change_page
+ Request a change
+ qweb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Request a change
+
+
+
+
+
+
+
+
+
diff --git a/marketplace/demo/product_product.xml b/marketplace/demo/product_product.xml
new file mode 100644
index 0000000000..be23dd28ff
--- /dev/null
+++ b/marketplace/demo/product_product.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ 15.0
+
+
+
+ 15.0
+
+
+
+ 10.0
+
+
diff --git a/marketplace/demo/product_template.xml b/marketplace/demo/product_template.xml
new file mode 100644
index 0000000000..85fd63d689
--- /dev/null
+++ b/marketplace/demo/product_template.xml
@@ -0,0 +1,28 @@
+
+
+
+ Black Leather Wide Leg trouser
+ manual
+ order
+ 30.0
+
+
+
+
+ Black Top
+ manual
+ order
+ 20.0
+
+
+
+
+ Blue Solid Pants
+ manual
+ order
+ 15.0
+
+
+
+
+
diff --git a/marketplace/demo/res_config_settings.xml b/marketplace/demo/res_config_settings.xml
new file mode 100644
index 0000000000..cb2ab2511b
--- /dev/null
+++ b/marketplace/demo/res_config_settings.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/marketplace/demo/res_partner.xml b/marketplace/demo/res_partner.xml
new file mode 100644
index 0000000000..d83fabf6b6
--- /dev/null
+++ b/marketplace/demo/res_partner.xml
@@ -0,0 +1,6 @@
+
+
+
+ User Website 1
+
+
diff --git a/marketplace/demo/res_users.xml b/marketplace/demo/res_users.xml
new file mode 100644
index 0000000000..4843a1218b
--- /dev/null
+++ b/marketplace/demo/res_users.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ user1
+ 1111
+
+ User Website 1
+
+
diff --git a/marketplace/images/main.png b/marketplace/images/main.png
new file mode 100644
index 0000000000..6619f04e11
Binary files /dev/null and b/marketplace/images/main.png differ
diff --git a/marketplace/static/src/binary/product_template/10-image_1920 b/marketplace/static/src/binary/product_template/10-image_1920
new file mode 100644
index 0000000000..01377090a1
Binary files /dev/null and b/marketplace/static/src/binary/product_template/10-image_1920 differ
diff --git a/marketplace/static/src/binary/product_template/11-image_1920 b/marketplace/static/src/binary/product_template/11-image_1920
new file mode 100644
index 0000000000..9047d12641
Binary files /dev/null and b/marketplace/static/src/binary/product_template/11-image_1920 differ
diff --git a/marketplace/static/src/binary/product_template/12-image_1920 b/marketplace/static/src/binary/product_template/12-image_1920
new file mode 100644
index 0000000000..3e23a61dcc
Binary files /dev/null and b/marketplace/static/src/binary/product_template/12-image_1920 differ
diff --git a/marketplace/static/src/description/index.html b/marketplace/static/src/description/index.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/marketplace/static/src/img/bag.svg b/marketplace/static/src/img/bag.svg
new file mode 100644
index 0000000000..148d08a226
--- /dev/null
+++ b/marketplace/static/src/img/bag.svg
@@ -0,0 +1,9 @@
+