diff --git a/service_charges_pos/README.rst b/service_charges_pos/README.rst new file mode 100755 index 000000000..8aad5dd46 --- /dev/null +++ b/service_charges_pos/README.rst @@ -0,0 +1,49 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Service Charges POS +======================= +This module allows you to set service charges for an order by globally and session wise. + +Configuration +============= +- www.odoo.com/documentation/18.0/setup/install.html +- Install our custom addon + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developers: (V18) Nivedhya T + +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://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 +========== +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +.. image:: https://cybrosys.com/images/logo.png + :target: https://www.cybrosys.com" + +Further information +=================== +HTML Description: ``__ diff --git a/service_charges_pos/__init__.py b/service_charges_pos/__init__.py new file mode 100644 index 000000000..4dcd2d3d0 --- /dev/null +++ b/service_charges_pos/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import models diff --git a/service_charges_pos/__manifest__.py b/service_charges_pos/__manifest__.py new file mode 100644 index 000000000..84715f0e2 --- /dev/null +++ b/service_charges_pos/__manifest__.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': 'Service Charges POS', + 'version': '18.0.1.0.0', + 'category': 'Point Of Sale', + 'summary': 'Allows you to set service charges.', + 'description': 'Allows you to set service charges for an order by globally' + ' and session wise.', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['point_of_sale'], + 'data': [ + 'views/res_config_settings_views.xml', + 'views/pos_config_views.xml', + ], + 'assets': { + 'point_of_sale._assets_pos': [ + 'service_charges_pos/static/src/js/service_charge_button.js', + 'service_charges_pos/static/src/xml/service_charge_button.xml', + ], + }, + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/service_charges_pos/doc/RELEASE_NOTES.md b/service_charges_pos/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..265221cec --- /dev/null +++ b/service_charges_pos/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module +#### 17.07.2025 +#### Version 18.0.1.0.0 +#### FIX +#### ADD +- Initial commit for Service Charges POS diff --git a/service_charges_pos/models/__init__.py b/service_charges_pos/models/__init__.py new file mode 100644 index 000000000..effaa4e21 --- /dev/null +++ b/service_charges_pos/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import pos_config +from . import pos_session +from . import res_config_settings diff --git a/service_charges_pos/models/pos_config.py b/service_charges_pos/models/pos_config.py new file mode 100644 index 000000000..fe9eb53ba --- /dev/null +++ b/service_charges_pos/models/pos_config.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.osv.expression import OR + + +class PosConfig(models.Model): + """ + To inherit model pos.config + """ + _inherit = 'pos.config' + + is_service_charges = fields.Boolean("Service Charges", help="Enable Service Charges") + visibility_type = fields.Selection([ + ('global', 'Global'), + ('session', 'Session')], + string='Visibility', default='global', + help="Can choose visibility of service charges.") + service_charge = fields.Float(string='Service Charge', + help="Charge need to apply", + default=10.0) + service_product_id = fields.Many2one('product.product', + string='Service Product', + domain="[('sale_ok', '=', True)]", + help="Service Product") + service_charge_type = fields.Selection([ + ('amount', 'Amount'), + ('percentage', 'Percentage')], + string='Type', default='amount', + help="Can choose charge percentage or amount") + + @api.model + def _default_service_charge_on_module_install(self): + """ + Set default service product on module installation""" + configs = self.env['pos.config'].search([]) + open_configs = ( + self.env['pos.session'] + .search(['|', ('state', '!=', 'closed'), ('rescue', '=', True)]) + .mapped('config_id') + ) + # Do not modify configs where an opened session exists. + product = self.env.ref("point_of_sale.product_product_consumable", + raise_if_not_found=False) + for conf in (configs - open_configs): + conf.service_product_id = product if ( + conf.is_service_charges + ) and product and ( + not product.company_id or product.company_id == conf.company_id + ) else False + + def open_ui(self): + """ + Overridden to check if service product is set when service charge is enabled""" + for config in self: + if not self.current_session_id and ( + config.is_service_charges + ) and not config.service_product_id: + raise UserError(_( + 'A discount product is needed to use the Service Charge ' + 'feature. Go to Point of Sale > Configuration > Settings ' + 'to set it.')) + return super().open_ui() + + def _get_special_products(self): + """ Overridden to add service product to the list of special products""" + res = super()._get_special_products() + return res | self.env['pos.config'].search( + []).mapped('service_product_id') + + def _get_available_product_domain(self): + """ Overridden to include service product in the available products""" + domain = super()._get_available_product_domain() + return OR([domain, [('id', '=', self.service_product_id.id)]]) diff --git a/service_charges_pos/models/pos_session.py b/service_charges_pos/models/pos_session.py new file mode 100644 index 000000000..bf096b41e --- /dev/null +++ b/service_charges_pos/models/pos_session.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import models + + +class PosSession(models.Model): + ''' Inherit pos.session to add service product to the product list''' + _inherit = 'pos.session' + + def _get_pos_ui_product_product(self, params): + """Add service product to the product list if service charges is""" + result = super()._get_pos_ui_product_product(params) + service_product_id = self.config_id.service_product_id.id + product_ids_set = {product['id'] for product in result} + + if self.config_id.is_service_charges and ( + service_product_id) not in product_ids_set: + product_model = self.env['product.product'].with_context( + **params['context']) + product = product_model.search_read([( + 'id', '=', service_product_id + )], fields=params['search_params']['fields']) + self._process_pos_ui_product_product(product) + result.extend(product) + return result diff --git a/service_charges_pos/models/res_config_settings.py b/service_charges_pos/models/res_config_settings.py new file mode 100644 index 000000000..f2c89a0ac --- /dev/null +++ b/service_charges_pos/models/res_config_settings.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions(odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + ''' Inherit res.config.settings to add service charges fields ''' + _inherit = 'res.config.settings' + + # pos.config fields + pos_is_service_charges = fields.Boolean( + related='pos_config_id.is_service_charges', readonly=False, + string="Service Charges", help="Enable Service Charges") + pos_visibility_type = fields.Selection([ + ('global', 'Global'), + ('session', 'Session')], + related='pos_config_id.visibility_type', + readonly=False, help="Can choose visibility of service charges.") + pos_service_charge = fields.Float(related='pos_config_id.service_charge', + readonly=False, help="Charge need to apply") + pos_service_product_id = fields.Many2one( + 'product.product', + compute='_compute_pos_service_product_id', store=True, readonly=False, + domain="[('type', '=', 'service')]") + pos_service_charge_type = fields.Selection([ + ('amount', 'Amount'), + ('percentage', 'Percentage')], + related='pos_config_id.service_charge_type', + readonly=False) + + @api.depends('company_id', 'pos_is_service_charges', 'pos_config_id') + def _compute_pos_service_product_id(self): + """Compute service product based on the company and other fields""" + default_product = self.env.ref( + "point_of_sale.product_product_consumable", + raise_if_not_found=False) or self.env['product.product'] + for res_config in self: + service_product = res_config.pos_config_id.service_product_id or ( + default_product) + if (res_config.pos_is_service_charges) and ( + not service_product.company_id or ( + service_product.company_id) == res_config.company_id): + res_config.pos_service_product_id = service_product + else: + res_config.pos_service_product_id = False diff --git a/service_charges_pos/static/description/assets/cybro-icon.png b/service_charges_pos/static/description/assets/cybro-icon.png new file mode 100644 index 000000000..06e73e11d Binary files /dev/null and b/service_charges_pos/static/description/assets/cybro-icon.png differ diff --git a/service_charges_pos/static/description/assets/cybro-odoo.png b/service_charges_pos/static/description/assets/cybro-odoo.png new file mode 100644 index 000000000..ed02e07a4 Binary files /dev/null and b/service_charges_pos/static/description/assets/cybro-odoo.png differ diff --git a/service_charges_pos/static/description/assets/icons/arrows-repeat.svg b/service_charges_pos/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-1.png b/service_charges_pos/static/description/assets/icons/banner-1.png new file mode 100644 index 000000000..c180db172 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/banner-1.png differ diff --git a/service_charges_pos/static/description/assets/icons/banner-2.svg b/service_charges_pos/static/description/assets/icons/banner-2.svg new file mode 100644 index 000000000..e606d97d9 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-bg.png b/service_charges_pos/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/banner-bg.png differ diff --git a/service_charges_pos/static/description/assets/icons/banner-bg.svg b/service_charges_pos/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-call.svg b/service_charges_pos/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-mail.svg b/service_charges_pos/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-pattern.svg b/service_charges_pos/static/description/assets/icons/banner-pattern.svg new file mode 100644 index 000000000..9c1c7e101 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/banner-promo.svg b/service_charges_pos/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/brand-pair.svg b/service_charges_pos/static/description/assets/icons/brand-pair.svg new file mode 100644 index 000000000..d8db7fc1e --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/check.png b/service_charges_pos/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/check.png differ diff --git a/service_charges_pos/static/description/assets/icons/chevron.png b/service_charges_pos/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/chevron.png differ diff --git a/service_charges_pos/static/description/assets/icons/close-icon.svg b/service_charges_pos/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/service_charges_pos/static/description/assets/icons/cogs.png b/service_charges_pos/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/cogs.png differ diff --git a/service_charges_pos/static/description/assets/icons/collabarate-icon.svg b/service_charges_pos/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/service_charges_pos/static/description/assets/icons/consultation.png b/service_charges_pos/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/consultation.png differ diff --git a/service_charges_pos/static/description/assets/icons/cybro-logo.png b/service_charges_pos/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/cybro-logo.png differ diff --git a/service_charges_pos/static/description/assets/icons/down.svg b/service_charges_pos/static/description/assets/icons/down.svg new file mode 100644 index 000000000..f21c36271 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/service_charges_pos/static/description/assets/icons/ecom-black.png b/service_charges_pos/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/ecom-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/education-black.png b/service_charges_pos/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/education-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/faq.png b/service_charges_pos/static/description/assets/icons/faq.png new file mode 100644 index 000000000..4250b5b81 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/faq.png differ diff --git a/service_charges_pos/static/description/assets/icons/feature-icon.svg b/service_charges_pos/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/feature.png b/service_charges_pos/static/description/assets/icons/feature.png new file mode 100644 index 000000000..ac7a785c0 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/feature.png differ diff --git a/service_charges_pos/static/description/assets/icons/gear.svg b/service_charges_pos/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/hero.gif b/service_charges_pos/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..f3679a457 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/hero.gif differ diff --git a/service_charges_pos/static/description/assets/icons/hire-odoo.svg b/service_charges_pos/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/hotel-black.png b/service_charges_pos/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/hotel-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/license.png b/service_charges_pos/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/license.png differ diff --git a/service_charges_pos/static/description/assets/icons/life-ring-icon.svg b/service_charges_pos/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/lifebuoy.png b/service_charges_pos/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/lifebuoy.png differ diff --git a/service_charges_pos/static/description/assets/icons/mail.svg b/service_charges_pos/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/service_charges_pos/static/description/assets/icons/manufacturing-black.png b/service_charges_pos/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/manufacturing-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/notes.png b/service_charges_pos/static/description/assets/icons/notes.png new file mode 100644 index 000000000..ee5e95404 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/notes.png differ diff --git a/service_charges_pos/static/description/assets/icons/notification icon.svg b/service_charges_pos/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/odoo-consultancy.svg b/service_charges_pos/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/service_charges_pos/static/description/assets/icons/odoo-licencing.svg b/service_charges_pos/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/service_charges_pos/static/description/assets/icons/odoo-logo.png b/service_charges_pos/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/odoo-logo.png differ diff --git a/service_charges_pos/static/description/assets/icons/patter.svg b/service_charges_pos/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/pattern1.png b/service_charges_pos/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/pattern1.png differ diff --git a/service_charges_pos/static/description/assets/icons/pos-black.png b/service_charges_pos/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/pos-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/puzzle-piece-icon.svg b/service_charges_pos/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/puzzle.png b/service_charges_pos/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/puzzle.png differ diff --git a/service_charges_pos/static/description/assets/icons/replace-icon.svg b/service_charges_pos/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/restaurant-black.png b/service_charges_pos/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/restaurant-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/screenshot-main.png b/service_charges_pos/static/description/assets/icons/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/screenshot-main.png differ diff --git a/service_charges_pos/static/description/assets/icons/screenshot.png b/service_charges_pos/static/description/assets/icons/screenshot.png new file mode 100644 index 000000000..cef272529 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/screenshot.png differ diff --git a/service_charges_pos/static/description/assets/icons/service-black.png b/service_charges_pos/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/service-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/skype-fill.svg b/service_charges_pos/static/description/assets/icons/skype-fill.svg new file mode 100644 index 000000000..c17423639 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/skype.png b/service_charges_pos/static/description/assets/icons/skype.png new file mode 100644 index 000000000..51b409fb3 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/skype.png differ diff --git a/service_charges_pos/static/description/assets/icons/skype.svg b/service_charges_pos/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/service_charges_pos/static/description/assets/icons/star-1.svg b/service_charges_pos/static/description/assets/icons/star-1.svg new file mode 100644 index 000000000..7e55ab162 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/star-2.svg b/service_charges_pos/static/description/assets/icons/star-2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/support.png b/service_charges_pos/static/description/assets/icons/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/support.png differ diff --git a/service_charges_pos/static/description/assets/icons/test-1 - Copy.png b/service_charges_pos/static/description/assets/icons/test-1 - Copy.png new file mode 100644 index 000000000..f6a902663 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/test-1 - Copy.png differ diff --git a/service_charges_pos/static/description/assets/icons/test-1.png b/service_charges_pos/static/description/assets/icons/test-1.png new file mode 100644 index 000000000..0908add2b Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/test-1.png differ diff --git a/service_charges_pos/static/description/assets/icons/test-2.png b/service_charges_pos/static/description/assets/icons/test-2.png new file mode 100644 index 000000000..4671fe91e Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/test-2.png differ diff --git a/service_charges_pos/static/description/assets/icons/trading-black.png b/service_charges_pos/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/trading-black.png differ diff --git a/service_charges_pos/static/description/assets/icons/training.png b/service_charges_pos/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/training.png differ diff --git a/service_charges_pos/static/description/assets/icons/translate.svg b/service_charges_pos/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/update.png b/service_charges_pos/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/update.png differ diff --git a/service_charges_pos/static/description/assets/icons/user.png b/service_charges_pos/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/user.png differ diff --git a/service_charges_pos/static/description/assets/icons/video.png b/service_charges_pos/static/description/assets/icons/video.png new file mode 100644 index 000000000..576705b17 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/video.png differ diff --git a/service_charges_pos/static/description/assets/icons/whatsapp.png b/service_charges_pos/static/description/assets/icons/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/whatsapp.png differ diff --git a/service_charges_pos/static/description/assets/icons/wrench-icon.svg b/service_charges_pos/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/service_charges_pos/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/service_charges_pos/static/description/assets/icons/wrench.png b/service_charges_pos/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/service_charges_pos/static/description/assets/icons/wrench.png differ diff --git a/service_charges_pos/static/description/assets/modules/b1.png b/service_charges_pos/static/description/assets/modules/b1.png new file mode 100644 index 000000000..73845cfbf Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b1.png differ diff --git a/service_charges_pos/static/description/assets/modules/b2.png b/service_charges_pos/static/description/assets/modules/b2.png new file mode 100644 index 000000000..0cd7e58c2 Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b2.png differ diff --git a/service_charges_pos/static/description/assets/modules/b3.png b/service_charges_pos/static/description/assets/modules/b3.png new file mode 100644 index 000000000..12d8c74fb Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b3.png differ diff --git a/service_charges_pos/static/description/assets/modules/b4.png b/service_charges_pos/static/description/assets/modules/b4.png new file mode 100644 index 000000000..127f51e0b Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b4.png differ diff --git a/service_charges_pos/static/description/assets/modules/b5.png b/service_charges_pos/static/description/assets/modules/b5.png new file mode 100644 index 000000000..c46f05f78 Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b5.png differ diff --git a/service_charges_pos/static/description/assets/modules/b6.png b/service_charges_pos/static/description/assets/modules/b6.png new file mode 100644 index 000000000..a48b400df Binary files /dev/null and b/service_charges_pos/static/description/assets/modules/b6.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot1.png b/service_charges_pos/static/description/assets/screenshots/screenshot1.png new file mode 100644 index 000000000..22a00c589 Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot1.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot10.png b/service_charges_pos/static/description/assets/screenshots/screenshot10.png new file mode 100644 index 000000000..e838dccdb Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot10.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot2.png b/service_charges_pos/static/description/assets/screenshots/screenshot2.png new file mode 100644 index 000000000..4610bfb3a Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot2.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot3.png b/service_charges_pos/static/description/assets/screenshots/screenshot3.png new file mode 100644 index 000000000..7687d46cf Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot3.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot4.png b/service_charges_pos/static/description/assets/screenshots/screenshot4.png new file mode 100644 index 000000000..356b86109 Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot4.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot5.png b/service_charges_pos/static/description/assets/screenshots/screenshot5.png new file mode 100644 index 000000000..2a8304caf Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot5.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot6.png b/service_charges_pos/static/description/assets/screenshots/screenshot6.png new file mode 100644 index 000000000..5a355ab1c Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot6.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot7.png b/service_charges_pos/static/description/assets/screenshots/screenshot7.png new file mode 100644 index 000000000..087135192 Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot7.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot8.png b/service_charges_pos/static/description/assets/screenshots/screenshot8.png new file mode 100644 index 000000000..114fd8b60 Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot8.png differ diff --git a/service_charges_pos/static/description/assets/screenshots/screenshot9.png b/service_charges_pos/static/description/assets/screenshots/screenshot9.png new file mode 100644 index 000000000..d6878219d Binary files /dev/null and b/service_charges_pos/static/description/assets/screenshots/screenshot9.png differ diff --git a/service_charges_pos/static/description/banner.jpg b/service_charges_pos/static/description/banner.jpg new file mode 100644 index 000000000..756be2f87 Binary files /dev/null and b/service_charges_pos/static/description/banner.jpg differ diff --git a/service_charges_pos/static/description/icon.png b/service_charges_pos/static/description/icon.png new file mode 100644 index 000000000..2fee3b06d Binary files /dev/null and b/service_charges_pos/static/description/icon.png differ diff --git a/service_charges_pos/static/description/images/arrows-transparent.png b/service_charges_pos/static/description/images/arrows-transparent.png new file mode 100644 index 000000000..f2973bb02 Binary files /dev/null and b/service_charges_pos/static/description/images/arrows-transparent.png differ diff --git a/service_charges_pos/static/description/images/cybro_logo.png b/service_charges_pos/static/description/images/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/service_charges_pos/static/description/images/cybro_logo.png differ diff --git a/service_charges_pos/static/description/images/icons/ecom.png b/service_charges_pos/static/description/images/icons/ecom.png new file mode 100644 index 000000000..6e720d50e Binary files /dev/null and b/service_charges_pos/static/description/images/icons/ecom.png differ diff --git a/service_charges_pos/static/description/images/icons/education.png b/service_charges_pos/static/description/images/icons/education.png new file mode 100644 index 000000000..f0de98eb0 Binary files /dev/null and b/service_charges_pos/static/description/images/icons/education.png differ diff --git a/service_charges_pos/static/description/images/icons/hotel.png b/service_charges_pos/static/description/images/icons/hotel.png new file mode 100644 index 000000000..917c6a63e Binary files /dev/null and b/service_charges_pos/static/description/images/icons/hotel.png differ diff --git a/service_charges_pos/static/description/images/icons/manufacturing.png b/service_charges_pos/static/description/images/icons/manufacturing.png new file mode 100644 index 000000000..68c3722f8 Binary files /dev/null and b/service_charges_pos/static/description/images/icons/manufacturing.png differ diff --git a/service_charges_pos/static/description/images/icons/pos.png b/service_charges_pos/static/description/images/icons/pos.png new file mode 100644 index 000000000..600bfe4f9 Binary files /dev/null and b/service_charges_pos/static/description/images/icons/pos.png differ diff --git a/service_charges_pos/static/description/images/icons/restaurant.png b/service_charges_pos/static/description/images/icons/restaurant.png new file mode 100644 index 000000000..680acf29e Binary files /dev/null and b/service_charges_pos/static/description/images/icons/restaurant.png differ diff --git a/service_charges_pos/static/description/images/icons/service.png b/service_charges_pos/static/description/images/icons/service.png new file mode 100644 index 000000000..bfbe7a6d2 Binary files /dev/null and b/service_charges_pos/static/description/images/icons/service.png differ diff --git a/service_charges_pos/static/description/images/icons/trading.png b/service_charges_pos/static/description/images/icons/trading.png new file mode 100644 index 000000000..a741219b5 Binary files /dev/null and b/service_charges_pos/static/description/images/icons/trading.png differ diff --git a/service_charges_pos/static/description/index.html b/service_charges_pos/static/description/index.html new file mode 100644 index 000000000..e2a3babf2 --- /dev/null +++ b/service_charges_pos/static/description/index.html @@ -0,0 +1,1050 @@ + + + + + + Service Charges POS + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ This module allows you to set service charges for an order by globally and session wise. +

+

Service Charges POS +

+
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+

Key + Highlights

+
+
+
+
+ +
+
+ Global or session. +
+

+ When enable the service charge in configuration settings of POS you can choose either Global or session. +

+
+
+
+
+
+ +
+
+ Percentage or amount. +
+

+ We can set the service charge as percentage or amount. +

+
+
+
+
+ +
+
+
+ Service Charges POS +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Configuration Settings for + + Service charge(Globally). +

+
+
+

+ In the general settings of POS, you can see + the option Service charge.Enable the option and under + that you can see the option 'Global' and 'Session'. + Service Product: You can choose a service product there. + The service charge can be add on the order as amount or percentage of the total amount. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Service charge + + Button. +

+
+
+

+ You can see the Service charge button.Clicking the button will + leads to a NumberPopup with the default service charge that we set before. +

+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+

+ Dynamical + + service charge. +

+
+
+

+ Set the required amount of service charge. +

+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+

+ Percentage + + +

+
+
+

+ You can also add the percentage of total amount as service charge by enable the field percentage in settings. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + + +

+
+
+

+ 10% of the total amount is added as service charge on order. +

+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+

+ Configuration Settings for + + Service charge(Session). +

+
+
+

+ Enable the selection field 'session'.If enable it the service charge will appear on every session. +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ + + +

+
+
+

+ In every session you can see the option.Then you can set service charge percentage or amount as like global. +

+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+

+ This module allows you to set service charges for an order by globally and session wise.

+
+ +
+
+
+
+
+
+ +
+

+ Possible to set the service charge dynamically for an order.

+
+ +
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+

+ This feature allows you to + automatically apply a predefined + service charge to each order in the POS. + You can set this either globally (across all sessions) or per session. +

+
+
+ +
+ +
+

+ Go to Point of Sale > Configuration > Settings, + then select your POS and scroll to the Service + Charge section to enable and configure global or + session-wise settings. +

+
+
+ +
+ +
+

+ The service charge appears as + a separate line item on both + the POS screen and printed receipts for clarity. +

+
+
+
+ +
+
+
+
+
+
+ +
+
+

+ Latest Release 18.0.1.0.0 +

+ + 17th July 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/service_charges_pos/static/src/js/service_charge_button.js b/service_charges_pos/static/src/js/service_charge_button.js new file mode 100644 index 000000000..5a2c2c205 --- /dev/null +++ b/service_charges_pos/static/src/js/service_charge_button.js @@ -0,0 +1,62 @@ +/** @odoo-module */ + +import { ControlButtons } from "@point_of_sale/app/screens/product_screen/control_buttons/control_buttons"; +import { _t } from "@web/core/l10n/translation"; +import { patch } from "@web/core/utils/patch"; +import { useService } from "@web/core/utils/hooks"; +import { AlertDialog } from "@web/core/confirmation_dialog/confirmation_dialog"; +import { NumberPopup } from "@point_of_sale/app/utils/input_popups/number_popup"; +import { reactive } from "@odoo/owl"; + +patch(ControlButtons.prototype, { + setup() { + super.setup(); + this.orm = useService("orm"); + }, + + async onClick() { + await this.dialog.add(NumberPopup, { + title: _t("Service Charge"), + startingValue: this.pos.config.service_charge, + getPayload: (num) => { + const val = Math.max( + 0, + Math.min(100, this.env.utils.parseValidFloat(num.toString())) + ); + if (val > 0) { + this.apply_service_charge(val); + } + }, + }); + }, + + async apply_service_charge(val) { + const order = this.pos.get_order(); + const lines = order.get_orderlines(); + const product = this.pos.config.service_product_id; + + if (!product) { + this.dialog.add(AlertDialog, { + title: _t("Missing Product"), + body: _t("Service product is not configured in POS settings."), + }); + return; + } + lines + .filter((line) => line.get_product() === product) + .forEach((line) => order.removeOrderline(line)); + + // Calculate service charge amount + const sc_price = + this.pos.config.service_charge_type === "amount" + ? val + : (order.get_total_with_tax() * val) / 100; + + // Add service charge line + await reactive(this.env.services.pos).addLineToCurrentOrder({ + product_id: product.id, + price_unit: sc_price, + tax_ids: [], + }); + }, +}); diff --git a/service_charges_pos/static/src/xml/service_charge_button.xml b/service_charges_pos/static/src/xml/service_charge_button.xml new file mode 100644 index 000000000..60457cd71 --- /dev/null +++ b/service_charges_pos/static/src/xml/service_charge_button.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/service_charges_pos/views/pos_config_views.xml b/service_charges_pos/views/pos_config_views.xml new file mode 100644 index 000000000..e4008372b --- /dev/null +++ b/service_charges_pos/views/pos_config_views.xml @@ -0,0 +1,44 @@ + + + + + pos.config.view.form.inherit.service.charges.pos + pos.config + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/service_charges_pos/views/res_config_settings_views.xml b/service_charges_pos/views/res_config_settings_views.xml new file mode 100644 index 000000000..d79f8035a --- /dev/null +++ b/service_charges_pos/views/res_config_settings_views.xml @@ -0,0 +1,48 @@ + + + + + res.config.settings.view.form.inherit.service.charges.pos + res.config.settings + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+