diff --git a/approval_connector/README.rst b/approval_connector/README.rst
new file mode 100644
index 000000000..8036e3cf1
--- /dev/null
+++ b/approval_connector/README.rst
@@ -0,0 +1,41 @@
+.. image:: https://img.shields.io/badge/license-OPL--1-red.svg
+ :target: https://www.odoo.com/documentation/16.0/legal/licenses.html#odoo-apps
+ :alt: License: OPL-1
+
+Sale Approval Connector
+=======================
+Helps to Setting up a Approval system for sale orders
+
+Configuration
+=============
+* No additional configurations needed.
+
+License
+=======
+Odoo Proprietary License v1.0 (OPL-1)
+(http://www.gnu.org/licenses/opl.html)
+
+Company
+-------
+* `Cybrosys Techno Solutions `__
+
+Credits
+-------
+Developer: (V15) Swaraj R, Contact : odoo@cybrosys.com
+
+Bug Tracker
+-----------
+Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
+
+Maintainer
+==========
+.. image:: https://cybrosys.com/images/logo.png
+ :target: https://cybrosys.com
+
+This module is maintained by Cybrosys Technologies.
+
+For support and more information, please visit `Our Website `__
+
+Further information
+===================
+HTML Description: ``__
diff --git a/approval_connector/__init__.py b/approval_connector/__init__.py
new file mode 100644
index 000000000..3491a6423
--- /dev/null
+++ b/approval_connector/__init__.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+from . import models
diff --git a/approval_connector/__manifest__.py b/approval_connector/__manifest__.py
new file mode 100644
index 000000000..5b23b072c
--- /dev/null
+++ b/approval_connector/__manifest__.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+{
+ 'name': "Sale Approval Connector",
+ 'version': "15.0.1.0.0",
+ 'category': 'Sales',
+ 'summary': """Setting up a system where all sale orders must be approved at
+ a higher level before they can be processed or fulfilled.""",
+ 'description': """This process ensures that orders are reviewed and
+approved by designated users before they are confirmed and processed.""",
+ 'author': "Cybrosys Techno Solutions",
+ 'company': "Cybrosys Techno Solutions",
+ 'maintainer': "Cybrosys Techno Solutions",
+ 'website': "https://www.cybrosys.com",
+ 'depends': ['base', 'sale_management', 'approvals'],
+ 'data': ['data/approval_connector_data.xml',
+ 'views/approval_category_views.xml',
+ 'views/sale_order_views.xml',
+ ],
+ 'images': ['static/description/banner.png'],
+ 'license': 'OPL-1',
+ 'installable': True,
+ 'auto_install': False,
+ 'application': False,
+}
diff --git a/approval_connector/data/approval_connector_data.xml b/approval_connector/data/approval_connector_data.xml
new file mode 100644
index 000000000..7fbddac59
--- /dev/null
+++ b/approval_connector/data/approval_connector_data.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Create Sale Request
+ sale
+ 90
+ required
+ required
+
+ SAL
+
+
+
diff --git a/approval_connector/doc/RELEASE_NOTES.md b/approval_connector/doc/RELEASE_NOTES.md
new file mode 100644
index 000000000..70932e6ec
--- /dev/null
+++ b/approval_connector/doc/RELEASE_NOTES.md
@@ -0,0 +1,6 @@
+## Module
+#### 19.08.2024
+#### Version 15.0.1.0.0
+##### ADD
+
+- Initial Commit for Sale Approval Connector
diff --git a/approval_connector/models/__init__.py b/approval_connector/models/__init__.py
new file mode 100644
index 000000000..1e9373a56
--- /dev/null
+++ b/approval_connector/models/__init__.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+from . import approval_category
+from . import approval_request
+from . import sale_order
diff --git a/approval_connector/models/approval_category.py b/approval_connector/models/approval_category.py
new file mode 100644
index 000000000..490082002
--- /dev/null
+++ b/approval_connector/models/approval_category.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+from odoo import fields, models
+
+
+class ApprovalCategory(models.Model):
+ """Class inherited for the category associated with approval category
+ also add some additional fields"""
+ _inherit = 'approval.category'
+
+ approval_type = fields.Selection(selection_add=[
+ ('sale', 'Sale')],
+ string="Approval Type",
+ ondelete={'sale': 'cascade'},
+ help="Approval type to identify the model")
diff --git a/approval_connector/models/approval_request.py b/approval_connector/models/approval_request.py
new file mode 100644
index 000000000..66c410e2f
--- /dev/null
+++ b/approval_connector/models/approval_request.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+from odoo import fields, models, _
+
+
+class ApprovalRequest(models.Model):
+ """Class inherit for the approval request button in the form"""
+ _inherit = 'approval.request'
+
+ order_id = fields.Many2one('sale.order', string='Document',
+ help="Connection id for the sale order")
+
+ def action_approve(self, approver=None):
+ """This method is used to confirm the order Approval"""
+ res = super().action_approve(approver=None)
+ for order in [self.order_id]:
+ approve_status = self.approver_ids.mapped('status')
+ if all(status == 'approved' for status in approve_status) and order:
+ order.write({'state': 'approved', 'is_approved': True})
+ order.message_post(
+ body=_('Requested approval is Confirmed'),
+ message_type='comment')
+ return res
+
+ def action_refuse(self):
+ """This method is used to reject the approval request"""
+ res = super().action_refuse()
+ if self.order_id:
+ self.order_id._action_cancel()
+ return res
+
+ def action_withdraw(self):
+ """This method set the sale order back to to approve state"""
+ res = super().action_withdraw()
+ for order in self.order_id:
+ order.write({'state': 'approve', 'is_approved': False})
+ order.message_post(
+ body=_('Approval Request is withdrawn'),
+ message_type='comment')
+ return res
\ No newline at end of file
diff --git a/approval_connector/models/sale_order.py b/approval_connector/models/sale_order.py
new file mode 100644
index 000000000..502611313
--- /dev/null
+++ b/approval_connector/models/sale_order.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+######################################################################################
+#
+# Copyright (C) 2024-TODAY Cybrosys Technologies().
+# Author: Swaraj R (odoo@cybrosys.com)
+#
+# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
+# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+# or modified copies of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+########################################################################################
+from odoo import fields, models, _
+
+
+class SaleOrder(models.Model):
+ """Class inherited for adding extra fields and over writing methods"""
+ _inherit = 'sale.order'
+ state = fields.Selection(
+ selection_add=[('approve', 'To Approve'), ('approved', 'Approved'),
+ ('sale',)], string='State', help='Represent the '
+ 'current state of the'
+ ' record')
+ is_approved = fields.Boolean(string='Approved', help='Is record approved', copy=False)
+
+ def _can_be_confirmed(self):
+ """This function is used to check the state of the order"""
+ self.ensure_one()
+ return self.state in {'draft', 'sent', 'approved'}
+
+ def action_confirm(self):
+ """Method is used to confirm the order"""
+ approval = self.env['approval.category'].search(
+ [('approval_type', '=', 'sale')], limit=1)
+ if approval and not self.is_approved:
+ self.env['approval.request'].create({
+ 'name': self.name,
+ 'request_owner_id': self.user_id.id,
+ 'category_id': approval.id,
+ 'date_start': fields.Datetime.now(),
+ 'date_end': fields.Datetime.now(),
+ 'order_id': self.id,
+ }).action_confirm()
+ self.message_post(body=self.env.user.name + _(
+ ' Created a request for approval for ') + self.name,
+ message_type='comment')
+ self.write({'state': 'approve'})
+ else:
+ return super().action_confirm()
diff --git a/approval_connector/static/description/assets/icons/capture (1).png b/approval_connector/static/description/assets/icons/capture (1).png
new file mode 100644
index 000000000..8824deafc
Binary files /dev/null and b/approval_connector/static/description/assets/icons/capture (1).png differ
diff --git a/approval_connector/static/description/assets/icons/check.png b/approval_connector/static/description/assets/icons/check.png
new file mode 100644
index 000000000..c8e85f51d
Binary files /dev/null and b/approval_connector/static/description/assets/icons/check.png differ
diff --git a/approval_connector/static/description/assets/icons/chevron.png b/approval_connector/static/description/assets/icons/chevron.png
new file mode 100644
index 000000000..2089293d6
Binary files /dev/null and b/approval_connector/static/description/assets/icons/chevron.png differ
diff --git a/approval_connector/static/description/assets/icons/cogs.png b/approval_connector/static/description/assets/icons/cogs.png
new file mode 100644
index 000000000..95d0bad62
Binary files /dev/null and b/approval_connector/static/description/assets/icons/cogs.png differ
diff --git a/approval_connector/static/description/assets/icons/consultation.png b/approval_connector/static/description/assets/icons/consultation.png
new file mode 100644
index 000000000..8319d4baa
Binary files /dev/null and b/approval_connector/static/description/assets/icons/consultation.png differ
diff --git a/approval_connector/static/description/assets/icons/ecom-black.png b/approval_connector/static/description/assets/icons/ecom-black.png
new file mode 100644
index 000000000..a9385ff13
Binary files /dev/null and b/approval_connector/static/description/assets/icons/ecom-black.png differ
diff --git a/approval_connector/static/description/assets/icons/education-black.png b/approval_connector/static/description/assets/icons/education-black.png
new file mode 100644
index 000000000..3eb09b27b
Binary files /dev/null and b/approval_connector/static/description/assets/icons/education-black.png differ
diff --git a/approval_connector/static/description/assets/icons/hotel-black.png b/approval_connector/static/description/assets/icons/hotel-black.png
new file mode 100644
index 000000000..130f613be
Binary files /dev/null and b/approval_connector/static/description/assets/icons/hotel-black.png differ
diff --git a/approval_connector/static/description/assets/icons/img.png b/approval_connector/static/description/assets/icons/img.png
new file mode 100644
index 000000000..70197f477
Binary files /dev/null and b/approval_connector/static/description/assets/icons/img.png differ
diff --git a/approval_connector/static/description/assets/icons/license.png b/approval_connector/static/description/assets/icons/license.png
new file mode 100644
index 000000000..a5869797e
Binary files /dev/null and b/approval_connector/static/description/assets/icons/license.png differ
diff --git a/approval_connector/static/description/assets/icons/lifebuoy.png b/approval_connector/static/description/assets/icons/lifebuoy.png
new file mode 100644
index 000000000..658d56ccc
Binary files /dev/null and b/approval_connector/static/description/assets/icons/lifebuoy.png differ
diff --git a/approval_connector/static/description/assets/icons/logo.png b/approval_connector/static/description/assets/icons/logo.png
new file mode 100644
index 000000000..478462d3e
Binary files /dev/null and b/approval_connector/static/description/assets/icons/logo.png differ
diff --git a/approval_connector/static/description/assets/icons/manufacturing-black.png b/approval_connector/static/description/assets/icons/manufacturing-black.png
new file mode 100644
index 000000000..697eb0e9f
Binary files /dev/null and b/approval_connector/static/description/assets/icons/manufacturing-black.png differ
diff --git a/approval_connector/static/description/assets/icons/photo-capture.png b/approval_connector/static/description/assets/icons/photo-capture.png
new file mode 100644
index 000000000..06c111758
Binary files /dev/null and b/approval_connector/static/description/assets/icons/photo-capture.png differ
diff --git a/approval_connector/static/description/assets/icons/pos-black.png b/approval_connector/static/description/assets/icons/pos-black.png
new file mode 100644
index 000000000..97c0f90c1
Binary files /dev/null and b/approval_connector/static/description/assets/icons/pos-black.png differ
diff --git a/approval_connector/static/description/assets/icons/puzzle.png b/approval_connector/static/description/assets/icons/puzzle.png
new file mode 100644
index 000000000..65cf854e7
Binary files /dev/null and b/approval_connector/static/description/assets/icons/puzzle.png differ
diff --git a/approval_connector/static/description/assets/icons/restaurant-black.png b/approval_connector/static/description/assets/icons/restaurant-black.png
new file mode 100644
index 000000000..4a35eb939
Binary files /dev/null and b/approval_connector/static/description/assets/icons/restaurant-black.png differ
diff --git a/approval_connector/static/description/assets/icons/service-black.png b/approval_connector/static/description/assets/icons/service-black.png
new file mode 100644
index 000000000..301ab51cb
Binary files /dev/null and b/approval_connector/static/description/assets/icons/service-black.png differ
diff --git a/approval_connector/static/description/assets/icons/trading-black.png b/approval_connector/static/description/assets/icons/trading-black.png
new file mode 100644
index 000000000..9398ba2f1
Binary files /dev/null and b/approval_connector/static/description/assets/icons/trading-black.png differ
diff --git a/approval_connector/static/description/assets/icons/training.png b/approval_connector/static/description/assets/icons/training.png
new file mode 100644
index 000000000..884ca024d
Binary files /dev/null and b/approval_connector/static/description/assets/icons/training.png differ
diff --git a/approval_connector/static/description/assets/icons/update.png b/approval_connector/static/description/assets/icons/update.png
new file mode 100644
index 000000000..ecbc5a01a
Binary files /dev/null and b/approval_connector/static/description/assets/icons/update.png differ
diff --git a/approval_connector/static/description/assets/icons/user.png b/approval_connector/static/description/assets/icons/user.png
new file mode 100644
index 000000000..6ffb23d9f
Binary files /dev/null and b/approval_connector/static/description/assets/icons/user.png differ
diff --git a/approval_connector/static/description/assets/icons/wrench.png b/approval_connector/static/description/assets/icons/wrench.png
new file mode 100644
index 000000000..6c04dea0f
Binary files /dev/null and b/approval_connector/static/description/assets/icons/wrench.png differ
diff --git a/approval_connector/static/description/assets/misc/Cybrosys R.png b/approval_connector/static/description/assets/misc/Cybrosys R.png
new file mode 100644
index 000000000..da4058087
Binary files /dev/null and b/approval_connector/static/description/assets/misc/Cybrosys R.png differ
diff --git a/approval_connector/static/description/assets/misc/email.svg b/approval_connector/static/description/assets/misc/email.svg
new file mode 100644
index 000000000..15291cdc3
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/email.svg
@@ -0,0 +1,33 @@
+
diff --git a/approval_connector/static/description/assets/misc/phone.svg b/approval_connector/static/description/assets/misc/phone.svg
new file mode 100644
index 000000000..b7bd7f251
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/phone.svg
@@ -0,0 +1,3 @@
+
diff --git a/approval_connector/static/description/assets/misc/star (1) 2.svg b/approval_connector/static/description/assets/misc/star (1) 2.svg
new file mode 100644
index 000000000..5ae9f507a
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/star (1) 2.svg
@@ -0,0 +1,9 @@
+
diff --git a/approval_connector/static/description/assets/misc/support (1) 1.svg b/approval_connector/static/description/assets/misc/support (1) 1.svg
new file mode 100644
index 000000000..7d37a8f30
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/support (1) 1.svg
@@ -0,0 +1,9 @@
+
diff --git a/approval_connector/static/description/assets/misc/support-email.svg b/approval_connector/static/description/assets/misc/support-email.svg
new file mode 100644
index 000000000..eb70370d6
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/support-email.svg
@@ -0,0 +1,6 @@
+
diff --git a/approval_connector/static/description/assets/misc/tick-mark.svg b/approval_connector/static/description/assets/misc/tick-mark.svg
new file mode 100644
index 000000000..2dbb40187
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/tick-mark.svg
@@ -0,0 +1,17 @@
+
diff --git a/approval_connector/static/description/assets/misc/whatsapp 1.svg b/approval_connector/static/description/assets/misc/whatsapp 1.svg
new file mode 100644
index 000000000..0bfaf8fc6
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/whatsapp 1.svg
@@ -0,0 +1,9 @@
+
diff --git a/approval_connector/static/description/assets/misc/whatsapp.svg b/approval_connector/static/description/assets/misc/whatsapp.svg
new file mode 100644
index 000000000..b618aea1d
--- /dev/null
+++ b/approval_connector/static/description/assets/misc/whatsapp.svg
@@ -0,0 +1,33 @@
+
diff --git a/approval_connector/static/description/assets/modules/budget_image.png b/approval_connector/static/description/assets/modules/budget_image.png
new file mode 100644
index 000000000..b50130c7d
Binary files /dev/null and b/approval_connector/static/description/assets/modules/budget_image.png differ
diff --git a/approval_connector/static/description/assets/modules/credit_image.png b/approval_connector/static/description/assets/modules/credit_image.png
new file mode 100644
index 000000000..3ad04ecfd
Binary files /dev/null and b/approval_connector/static/description/assets/modules/credit_image.png differ
diff --git a/approval_connector/static/description/assets/modules/employee_image.png b/approval_connector/static/description/assets/modules/employee_image.png
new file mode 100644
index 000000000..30ad58232
Binary files /dev/null and b/approval_connector/static/description/assets/modules/employee_image.png differ
diff --git a/approval_connector/static/description/assets/modules/export_image.png b/approval_connector/static/description/assets/modules/export_image.png
new file mode 100644
index 000000000..492980ad0
Binary files /dev/null and b/approval_connector/static/description/assets/modules/export_image.png differ
diff --git a/approval_connector/static/description/assets/modules/gantt_image.png b/approval_connector/static/description/assets/modules/gantt_image.png
new file mode 100644
index 000000000..1ae7cfe3b
Binary files /dev/null and b/approval_connector/static/description/assets/modules/gantt_image.png differ
diff --git a/approval_connector/static/description/assets/modules/quotation_image.png b/approval_connector/static/description/assets/modules/quotation_image.png
new file mode 100644
index 000000000..499b1a72f
Binary files /dev/null and b/approval_connector/static/description/assets/modules/quotation_image.png differ
diff --git a/approval_connector/static/description/assets/screenshots/1.png b/approval_connector/static/description/assets/screenshots/1.png
new file mode 100644
index 000000000..ef99d7cb0
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/1.png differ
diff --git a/approval_connector/static/description/assets/screenshots/2.png b/approval_connector/static/description/assets/screenshots/2.png
new file mode 100644
index 000000000..95241b7c8
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/2.png differ
diff --git a/approval_connector/static/description/assets/screenshots/3.png b/approval_connector/static/description/assets/screenshots/3.png
new file mode 100644
index 000000000..363f48085
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/3.png differ
diff --git a/approval_connector/static/description/assets/screenshots/4.png b/approval_connector/static/description/assets/screenshots/4.png
new file mode 100644
index 000000000..eb06c331f
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/4.png differ
diff --git a/approval_connector/static/description/assets/screenshots/5.png b/approval_connector/static/description/assets/screenshots/5.png
new file mode 100644
index 000000000..2e437be98
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/5.png differ
diff --git a/approval_connector/static/description/assets/screenshots/6.png b/approval_connector/static/description/assets/screenshots/6.png
new file mode 100644
index 000000000..022b00437
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/6.png differ
diff --git a/approval_connector/static/description/assets/screenshots/7.png b/approval_connector/static/description/assets/screenshots/7.png
new file mode 100644
index 000000000..b4eedf977
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/7.png differ
diff --git a/approval_connector/static/description/assets/screenshots/hero.gif b/approval_connector/static/description/assets/screenshots/hero.gif
new file mode 100644
index 000000000..bddd44616
Binary files /dev/null and b/approval_connector/static/description/assets/screenshots/hero.gif differ
diff --git a/approval_connector/static/description/banner.png b/approval_connector/static/description/banner.png
new file mode 100644
index 000000000..b8f2c1584
Binary files /dev/null and b/approval_connector/static/description/banner.png differ
diff --git a/approval_connector/static/description/icon.png b/approval_connector/static/description/icon.png
new file mode 100644
index 000000000..35f5463ca
Binary files /dev/null and b/approval_connector/static/description/icon.png differ
diff --git a/approval_connector/static/description/index.html b/approval_connector/static/description/index.html
new file mode 100644
index 000000000..0d02341b4
--- /dev/null
+++ b/approval_connector/static/description/index.html
@@ -0,0 +1,733 @@
+
+
+
+
+
+
+
+
+ Enterprise
+
+
+ Odoo SH
+
+
+
+
+
+
+
+
+
+
+ Sale Approval Connector
+
+
+
+
+
+
+
+
+ Facilitate The Approval
+ Process For Sales Orders.
+
+ The Sale Approval Connector module facilitates the approval process for sales orders. The additional approval state allows the user to identify whether the order is approved or not, ensuring a streamlined workflow and clear visibility into the approval status of each order.
+
+
+
+
+
+
+ Features
+
+
+
+
+
+
+
+
+
+ Controlled sale orders.
+
+
+
+
+
+
+
+
+
+
+ Only permission ranted orders can confirm.
+
+
+
+
+
+
+
+
+
+ Odoo 15 Enterprise edition support.
+
+
+
+
+
+
+
+
+ Grand permission for order confirmation.
+
+
+
+
+
+
+
+
+ Additional Approval stage.
+
+
+
+
+
+
+ Screenshots
+
+
+
+
+ Approve Type
+
+
+ In the Approval Module Create Sale Approval type.
+
+
+
+
+
+
+ Approve state
+
+
+ Clicking the confirm button will direct the sale order to
+ the approval stage.
+
+
+
+
+
+ Approve the Request
+
+
+
+
+
+ Request Approved
+
+
+ After approving the request the sale order stage will be
+ changed to APPROVED.
+
+
+
+
+
+
+
+ Create another order
+
+
+
+
+
+ Refuse the request
+
+
+ Here we're refusing the request.
+
+
+
+
+
+ Sale order Cancelled
+
+
+ After refusing the request the Sale order stage will be changed to CANCELLED
+
+